Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados – Parte 1 Diego Farias EETEPA 2018 Conteúdo Programático Definições Banco de Dados X Sistemas de Arquivos; Sistemas Gerenciadores de Banco de Dados (SGBD); Usuários de um SGBD; Operadores Matemáticos, Lógicos e Relacionais Linguagem de Definição de Dados; Linguagem de Manipulação de Dados; Linguagem de Controle de Dados; Linguagem de Consulta de Dados; Modelagem de dados e Projeto de Banco de Dados; Níveis de Abstração de Dados, Níveis de Modelagem e Normalização; Modelo Conceitual e Físico; EETEPA – CACAU 2018 2 1° Avaliação • Prova teórica – 4,0 pts – Toda a disciplina ministrada em sala de aula. (material de aula, exercícios e material de apoio disponibilizado na plataforma) • Atividade prática – 3,0 pts – Realizada no laboratório e proposta pelo professor • Lista de exercícios e outras atividades – 3,0 pts EETEPA – CACAU 2018 3 Banco de Dados - Definições Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito. Representa algum aspecto do mundo real. Coleção logicamente coerente de dados com algum significado inerente. Construído para uma finalidade específica. EETEPA – CACAU 2018 4 Exemplo EETEPA – CACAU 2018 5 Cada linha em uma tabela representa um registro diferente. Por causa do formato tabular, todas elas têm os mesmos atributos Cada coluna na tabela tem um nome único e contém dados diferentes. Cada coluna tem um tipo de dados associados. Banco de Dados - Definições Um sistema de banco de dados pode ser esquematizado como o conjunto de quatro componentes básicos: dados, hardware, software e usuários. Date conceituou que “sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrônica” Componentes de um sistema de banco de dados. EETEPA – CACAU 2018 6 Banco de Dados - Definições Em outras palavras, um banco de dados possui alguma fonte de onde os dados são obtidos, um grau de interação com eventos do mundo real e um grupo de pessoas interessadas no seu conteúdo. EETEPA – CACAU 2018 7 BD + SGBD = sistema de banco de dados. Diagrama de um ambiente simplificado de um sistema de Banco de Dados EETEPA – CACAU 2018 8 Banco de Dados - Objetivos • Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados (promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independente da aplicação, a estratégia de acesso e a forma de armazenamento. EETEPA – CACAU 2018 9 Banco de Dados - Aplicações • Aplicações de banco de dados tradicionais – Armazena informações textuais ou numéricas. • Bancos de dados de multimídia – Armazena imagens, clipes de áudio e streams de vídeo digitalmente. (SQL Server, Oracle e MySQL) • Sistemas de informações geográficas (GIS) – Armazena e analisa mapas, dados sobre o clima e imagens de satélite. • Tecnologia de tempo real e banco de dados ativo – Controla processos industriais e de manufatura EETEPA – CACAU 2018 10 Banco de Dados x Sistema de Arquivo • Um sistema de arquivos é um conjunto de estruturas lógicas que permite o sistema operacional controlar o acesso a um dispositivo de armazenamento como disco rígido, pen drive, CD-ROM, etc. Diferentes sistemas operacionais podem usar diferentes sistemas de arquivos. • Atualmente, o NTFS (New Technology File System) é o sistema de arquivos padrão do Windows. Enquanto o ext4 é o do Linux. EETEPA – CACAU 2018 11 Banco de Dados x Sistema de Arquivo • Alguns Sistemas de Arquivos: – FAT32, NTFS, Ext2, Ext3, Ext4, ReiserFS.... • Alguns Bancos de Dados: – MySQL, SQL Server, Firebird, PostgreSQL, DB2, Oracle... • Ambos tem um objetivo em comum: – Armazenar e manipular dados em sistemas de computação. EETEPA – CACAU 2018 12 EETEPA – CACAU 2018 13 Sistema de Arquivos A manutenção é prejudicada pois a estrutura de arquivos é definida e padronizada no próprio código do aplicativo; O compartilhamento de um arquivo por vários programas apresenta dificuldades para gerenciar o acesso a esses arquivos e seu controle; O desenvolvimento de arquivos e programas de um mesmo SO é realizado isoladamente por programadores e linguagens diferentes, causando incompatibilidades no sistema; A falta de gerenciamento de acessos concorrentes aos dados e recuperação de dados. EETEPA – CACAU 2018 14 Banco de Dados Rapidez no acesso às informações presentes no Banco de Dados; Redução de problemas de integridade e redundância; Diminuição do esforço humano no desenvolvimento; Utilização dos dados e controle integrado de informações distribuídas fisicamente. Descreve uma coleção lógica e coerente de dados com algum significado inerente. Uma organização randômica de dados não pode ser considerada um Banco de Dados; Constrói em atendimento a uma proposta específica. EETEPA – CACAU 2018 15 SGBD – Sistema Gerenciador de Banco de Dados Coleção de programas que permitem a criação e manutenção de qualquer base de dados, independente da aplicação pretendida. Administrar usuários e permissões; Criar/alterar tabelas e banco de dados; Backup e restauração de dados; Otimizar a performance do banco. EETEPA – CACAU 2018 16 SGBD Sistema Gerenciador de banco de Dados • Propriedades desejáveis das transações (ACID): • Atomicidade - uma transação é um unidade atômica de processamento; ou ela será executada em sua totalidade ou não será de modo algum; • Consistência - a execução da transação fará o banco sair de um estado consistente para outro; • Isolamento - uma transação deve ser executada como se estivesse isolada das demais. Uma transação não deve interferir na execução de outra; • Durabilidade - as mudanças aplicadas ao banco de dados por uma transação efetivada devem persistir no banco de dados. Essas mudanças não devem ser perdidas em razão de uma falha. EETEPA – CACAU 2018 17 Classificação dos SGBDs • Quanto ao modelo de dados adotado De rede Hierárquicos Relacionais Orientados a objetos Objeto‐relacionais • Quanto ao número de usuários suportados Monousuários Multiusuário • Quanto à localização dos dados Centralizados Distribuído EETEPA – CACAU 2018 18 Exemplos de SGBD 19 www.sybase.com.br/ www.oracle.com www-01.ibm.com/software/data/db2/ www.firebirdsql.org/ www.postgresql.org/www.microsoft.com/sqlserver/en/us/default.aspx www.mysql.com/ Vantagens de utilização do SGBD • Controlando a redundância – Normalização de dados • Restringindo o acesso não autorizado – Subsistema de segurança e autorização – Software privilegiado • Oferecendo estruturas de armazenamento e técnicas de pesquisa para o processamento eficiente de consulta – Índices. – Buffering ou caching. – Processamento e otimização de consulta. EETEPA – CACAU 2018 20 Vantagens de utilização do SGBD • Oferecendo backup e recuperação – Subsistema de backup e recuperação de SGBD é responsável pela recuperação. • Oferecendo múltiplas interfaces do usuário – Interfaces gráficas do usuário (GUIs). • Representando relacionamentos complexos entre dados – Pode incluir muitas variedades de dados que estão inter- relacionados de diversas maneiras. EETEPA – CACAU 2018 21 Usuários de um SGBD Administrador de banco de dados (DBA) – Coordenar e monitorar seu uso – Autorizar o acesso ao banco de dados – Adquirir recursos de software e hardware Projetistas de banco de dados – Identificar os dados a serem armazenados– Escolher estruturas apropriadas para representar e armazenar esses dados. EETEPA – CACAU 2018 22 Usuários de um SGBD Analistas de sistemas – Identificam as necessidades dos usuários finais. Programadores de aplicações – Implementam essas especificações como programas. Usuários finais – Pessoas cujas funções exigem acesso ao banco de dados. EETEPA – CACAU 2018 23 Arquiteturas de SGBD Centralizadas: – Um computador de grande porte que é o hospedeiro do SGBD e o emulador para os aplicativos. – Possui alto custo, e alto poder de processamento. EETEPA – CACAU 2018 24 Arquiteturas de SGBD Local: – O computador pessoal é o hospedeiro do SGBD e o cliente ao mesmo tempo. EETEPA – CACAU 2018 25 Arquiteturas de SGBD Cliente-Servidor: – O cliente executa as tarefas do aplicativo (interface gráfica), e o servidor executa o SGBD. EETEPA – CACAU 2018 26 Arquiteturas de SGBD Distribuídos: – A informação está distribuída em diversos servidores espalhados em locais diferentes. EETEPA – CACAU 2018 27 Quando não usar um SGBD • Mais desejável usar arquivos comuns sob as seguintes circunstâncias: – Aplicações de banco de dados simples e bem definidas, para as quais não se espera muitas mudanças. – Requisitos rigorosos, de tempo real, que podem não ser atendidos devido as operações extras executadas pelo SGBD (programas CAD, etc.). – Sistemas embarcados com capacidade de armazenamento limitada. – Nenhum acesso de múltiplos usuários aos dados. EETEPA – CACAU 2018 28 Operadores Lógicos, Aritméticos e Relacionais • Operadores aritméticos, lógicos e relacionais são usados em consultas SQL para realizar tarefas como somar ou agrupar valores, comparar valores do banco de dados com constantes e variáveis, entre outras. • Esses operadores nos auxiliam na construções de consultas a fim ajudar na comparação de valores e estabelecer diferenças entre um resultado e outro. • São amplamente usados nos principais banco de dados relacionais, como o SQL Server, MySQL, Access ou Oracle EETEPA – CACAU 2018 29 Operadores Lógicos, Aritméticos e Relacionais ARITMETICOS: • Para criar expressões aritméticas em uma consulta SQL usamos os operadores abaixo: + (somar) - (subtrair) * (multiplicar) / (dividir) % (Módulo – resto de uma operação de divisão) • Os operadores acima podem ser usados apenas em colunas do tipo numérico. • Você poderá usar operadores aritméticos em qualquer cláusula, exceto na cláusula FROM. • Ex: SELECT nome, salario, salario*12 As salario_anual FROM empregados EETEPA – CACAU 2018 30 Operadores Lógicos, Aritméticos e Relacionais • Quando houver mais de um operador aritmético em uma expressão, as operações de multiplicação, de divisão e de módulo serão realizadas em primeiro lugar, seguidas das operações de subtração e adição. • Quando todos os operadores aritméticos em uma expressão tiverem o mesmo nível de precedência, a ordem de execução será da esquerda para a direita. • Expressões entre parênteses têm precedência sobre todas as outras operações EETEPA – CACAU 2018 31 Operadores Lógicos, Aritméticos e Relacionais • Veja alguns exemplos de operadores aritméticos simples: EETEPA – CACAU 2018 32 Operadores Lógicos, Aritméticos e Relacionais • É possível também utilizar funções matemáticas nos valores de uma coluna e retornar resultados em uma coluna calculada. • Abaixo vemos algumas funções matemáticas mais comuns: – CEILING() Arredondar para cima – FLOOR() Arredondar para baixo – PI() Retorna o valor de Pi – POW(x,y) Retorna x elevado a y – SQRT() Raiz quadrada de um argumento – SIN() Retorna o seno de um número dado em radianos – HEX() Retorna a representação hexadecimal de um valor decimal. EETEPA – CACAU 2018 33 Operadores Lógicos, Aritméticos e Relacionais • Exemplos de funções matemáticas: EETEPA – CACAU 2018 34 Operadores Lógicos, Aritméticos e Relacionais RELACIONAIS: • Os operadores de Relacionais (comparação) são usados em condições que comparam uma expressão a outro valor ou expressão. • SELECT nome, salario FROM empregados WHERE codigo_empregado=8 EETEPA – CACAU 2018 35 Operadores Lógicos, Aritméticos e Relacionais LÓGICOS: • O uso de um operador lógico faz com que duas condições tenham de produzir um resultado único. Uma linha só poderá ser retornada se o resultado global da condição for verdadeiro. – AND Retorna TRUE se ambas as condições forem verdadeiras – OR Retorna TRUE se uma das condições for verdadeira – NOT Retorna TRUE se a condição seguinte for falsa • SELECT nome, salário, cidade, estado FROM empregados WHERE estado=***SP*** and salario > 2200 EETEPA – CACAU 2018 36
Compartilhar