Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo Graduação 1 Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação e isolamento de dados (ilhas de informações) Aplicações eram escritas para um determinado arquivo Para cada nova aplicação criava-se um novo arquivo (redundância descontrolada) Arquivos possuíam formatos diferentes Sexo = M ou F e Sexo = 0 ou 1 Nome CHAR (50) e Nome CHAR (40) 2 Sistemas de Gerenciamento de Banco de Dados (SGBD) Consistem em uma coleção de dados interrelacionados e em um conjunto de programas para acessá-los Contém informações sobre um empreendimento particular Coleção de Dados Banco de Dados Graduação 3 Banco de Dados Coleção de dados inter-relacionados Conjunto de dados estruturados que são confiáveis, coerentes e compartilhados por usuários que têm necessidade de informações diferentes Graduação 4 Estrutura de um BD Instância => Os dados Coleção de dados armazenados no Banco de Dados em um determinado instante Esquema => Estrutura dos dados É o projeto geral do BD DEPARTAMENTO COD NOME 1 2 Informática Matemática Graduação GERENTE José João Esquema Instâncias 5 SGBD Conjunto de Programas Descrever Armazenar Restringir o Acesso Tratar Manipular Consultar Graduação 6 SGBD Objetivo dos SGBD Prover um ambiente que seja conveniente e eficiente para recuperar e armazenar informações de Bancos de Dados Eliminar ou Reduzir Redundância e inconsistência de dados Dificuldade no acesso aos dados (consultas) Graduação 7 SGBD Eliminar ou reduzir (Cont.) Anomalias de acesso concorrente Problemas de segurança Abstração de dados Simplifica a interação do usuário com o Sistema Modelo Modelo de de Dados Dados Graduação 8 Vantagens do uso de SGBDs Controle de redundância Controle de acesso Processamento eficiente de consultas Backup e restauração Relações complexas entre dados Restrições de integridade http://www.misa.com.vn/Uploads/Images/Metal_Money_Box_Safe_Bank.jpg Graduação 9 Modelo de Dados • Coleção de ferramentas conceituais para descrição de dados, seus relacionamentos, sua semântica e restrições de consistência Conceituais Especialista no domínio, usuário “padrão” Lógico Projetista do BD, usuário especialista Físicos Desenvolvedor do SGBD Graduação 10 SGBD Modelos Conceituais Entidades, Atributos e Relacionamentos Entidades: Funcionário, Estudante Atributos: Nome, CPF Relacionamentos: DisciplinasCursadas Não são implementados em SGBD Entidade-Relacionamento (E-R) UML Graduação 11 SGBD Modelos lógicos São implementados em SGBD Baseados em registros Hierárquico Em Rede Relacional Baseados em objetos Graduação 12 Linguagens para SGBDs Linguagem de definição de dados Especifica o esquema do BD Linguagem de manipulação de dados Manipulação dos dados organizados pelo modelo de dados Graduação 13 Linguagens para SGBDs Linguagem de consulta Porção da linguagem de manipulação que envolve o resgate de informações Ex. select * from alunos where nota = 10 Linguagem de 4a geração: combina estruturas de controle de linguagens de programação com estruturas para manipulação de elementos de um Banco de Dados Graduação 14 Interfaces para Bancos de Dados Graduação 15 Independência de Dados Habilidade de modificar a definição de um esquema em um nível sem afetar a definição do esquema em um nível mais alto (programa aplicativo) Independência física de dados Independência lógica de dados Ex. Adição do RG do aluno ao modelo conceitual Graduação 16 Arquitetura dos SGBD Usuários Interfaces dos Aplic. Prog. de Aplicações Especialistas Programa de Aplic. Consultas Pré-Compilador ABD Esquema de BD Processador de Consulta Compilador Sistema Gerenciador de BD Gerenciador de BD Gerenciador de Arquivos Disco de Armazenamento Graduação Arquivos de dados Dicionário de Dados 17 Arquitetura Cliente-Servidor Rede Local Clientes (aplicação que usa o BD) SGBD (processamento de consultas e transações) Graduação 18 Arquitetura Cliente-Servidor na Web Internet Servidor WEB Clientes web (Safari, Firefox, IE, etc.) Rede Local SGBD Graduação 19 Evolução dos SGBD Sistemas de Arquivos ... SGBD Hierárquicos SGBD em Rede SGBD Orientados a Objetos SGBD Objeto-Relacional Graduação SGBD Relacionais 20 Evolução dos SGBD Sistemas de Arquivos (Inicialmente) Replicação Isolamento Utilização de linguagens de programação Graduação 21 Evolução dos SGBD Sis. de Produção Sis. de Vendas Sis. de Compras Arq . de Produção Arq . de Vendas Arq . de Compras Produto ... Produto ... ... Sistemas de Arquivos X Sis. de Produção Produto Sis. de Vendas Sis. de Compras Banco de dados Produto ... SGBD 22 Evolução dos SGBD Sistemas baseados no Modelo Hierárquico Representar hierarquias Graduação 23 Evolução dos SGBD Modelo Hierárquico Departamento Pai Hierarquia Funcionário Graduação Filho 24 Evolução dos SGBD Modelo Hierárquico Mário Av. S.Carlos Rui Silvia Av.D.Pedro S.P. Rua XV 1234 55,00 Itu S.Carlos 7556 3.000,00 1333 600,00 7556 3.000,00 5512 350,00 Graduação 25 Evolução dos SGBD Sistemas baseados no Modelo em Rede Reconhece a natureza geral de dados como não-hierárquica Construídos a partir de uma modelagem dos dados Graduação 26 Evolução dos SGBD Sistemas baseados no modelo em Rede Departamento Funcionário Graduação Proprietário Membro 27 Evolução dos SGBD Sistemas baseados no modelo em Rede Mário Av. S.Carlos S.P. 1234 55,00 1333 600,00 Rui Rua XV S.Carlos 7556 3.000,00 Silvia Av.D.Pedro Itu 5512 350,00 Graduação 28 Evolução dos SGBD Sistemas Relacionais Dados representados segundo tabelas Modelo formal apoiado na teoria dos conjuntos Exemplos: ORACLE, MySQL, MS SQL Server Graduação 29 Evolução dos SGBD Sistemas Relacionais COD NOME GERENTE DEPARTAMENTO Graduação 30 Evolução dos SGBD Sistemas Relacionais nome rua cidade nro-conta Mário Av. S.Carlos S.P. 1234 Rui Rui Silvia Silvia Rua XV Rua XV Av.D.Pedro Av.D.Pedro S.Carlos S.Carlos Itu Itu nro-conta saldo 1234 55,00 1333 600,00 5512 350,00 7556 3.000,00 1333 7556 5512 7556 Graduação 31 Evolução dos SGBD Sistemas Orientados a Objetos Conceito mais especializado de detalhamento da realidade (Herança) Melhor ligação analista X usuário Dão suporte mais flexível a alterações na realidade Possuem maior continuidade em todas as fases do ciclo de vida do projeto Eficiência Forte acomplamento com a LP empregada Graduação 32 Evolução dos SGBD SGBD Orientado a Objetos EX: O2, OBJECTSTORE, IRIS M2 M1 Cliente A1,A2,...An Mn M1 Troca de Mensagens ... Mário, Av. S.Carlos, SP, [1234] Rui, Rua XV, S.Carlos, [1333, 7556] Silvia, Av. D. Pedro, Itu, [5512, 7556] M2 Conta A1,A2,...An Mn ... 1234, 55,00 1333, 600,00 5512, 350,00 7556, 3.000,00 33 Evolução dos SGBD Sistema Objeto-Relacional Extensão de tipo básico Objetos complexos Herança Graduação em contexto SQL 34 Evolução dos SGBD Sistema Objeto-Relacional (Cont.) Aplicações Gerenciamento de acervos gráficos e de vídeo na indústria do entretenimento Problemas de análise de séries de tempo no mercado financeiro Bancos de dados científicos Sistemas de informações geográficas Graduação 35 Evolução dos SGBD Aplicações (Cont.) Dados multimídia freqüentemente acessados pela WWW Exemplos PostgreSQL ORACLE 8i / 9i/10g/11g Graduação 36 Evolução dos SGBD SGBD Relacional-Objeto (ou Objeto-Relacional) Usa de conceitos OO sobre estruturas relacionais M1 Cliente M2 A1,A2,...An Mn ... Conceitos de OO M1 Conta M2 A1,A2,...An Mn ... 37 Evolução dos SGBD Classificação Primeira geração (Fim dos anos 60) Hierárquico Rede Segunda geração (Fim dos anos 70) Relacional Graduação 38 Evolução dos SGBD BD Relacional Características • Dados bem estruturados • Tipos de dados simples (Inteiros, Reais, Caracteres,...) • Transações simples e curtas • Acesso através de chaves Exemplos de aplicações • Folha de pagamento • Controle de estoque • Contas a pagar Graduação 39 Evolução dos SGBD Classificação (Cont.) Terceira geração (A partir do meio da década de 80) • Orientação a objetos • Objeto-relacionais Graduação 40 Evolução dos SGBD • Características – Tipos de dados complexos (Textos, Gráficos, Imagens, Sons) – Transações longas – Controle de versões – Nível de abstração mais alto Graduação 41