Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF Modelos Os objetivos dos modelos são: Comunicação com clientes pode-se mostrar ao cliente, através de um produto de demonstração, parte ou todo o comportamento externo de um sistema Modelos Os objetivos dos modelos são: Visualização: permite visualizar idéias antes de torná-las concretas Redução da complexidade: os modelos reduzem a complexidade dividindo-a em um pequeno número de coisas importantes a serem tratadas de cada vez ANALISTA Mini-mundo Realidade Modelo Conceitual Modelo Lógico Modelo Físico Banco de Dados 1
Objetivos da Modelagem Conceitual de Dados Representar um ambiente observado O significado da informação Servir de instrumento para comunicação Favorecer o processo de verificação e validação Objetivos da Modelagem Conceitual de Dados Capturar aspectos de relacionamento entre os objetos observados Servir de referencial para a geração de estruturas de dados Estabelecer conceitos únicos a partir de visões diversas Modelo Conceitual Modelo abstrato que descreve a estrutura de um BD de forma independente de um SGBD particular (restrições impostas por tecnologias, técnicas de implementação ou dispositivos físicos) Modelo Conceitual primeira etapa do projeto de um sistema de aplicação em banco de dados utilizado para entendimento, transmissão, validação de conceitos, mapeamento do ambiente, diálogo entre usuários e desenvolvedores 2
Exemplo de Modelo Conceitual N N AUTOR escreve LIVRO Modelo Lógico Os objetos, suas características e relacionamentos têm uma representação de acordo com as regras de implementação e limitações impostas por algum tipo de tecnologia INFANTIL ADULTO Relacional, Orientada a Objetos, Objeto- Relacional Modelo Lógico Resulta da aplicação de regras de derivação sobre um modelo conceitual Nível mais restrito aos desenvolvedores Modelo Lógico descreve as estruturas que estarão contidas no banco de dados, de acordo com as possibilidades permitidas pela abordagem, sem considerar características de armazenamento do SGBD 3
Modelo Lógico é dependente do TIPO/MODELO de dados particular do SGBD que será usado Exemplo: Tabela/Relação -> Modelo Relacional Identidade Nome Telefone 23470981 Flávio Câmara 21 23867543 10876457 Lúcio Maia 81 65439878 65438945 Ana Furtado 83 2256756 19876589 Joana Marques 83 2478976 Modelo Físico partirá do lógico e descreverá as estruturas físicas de armazenamento de dados (tamanho de campos, índices, métodos de acesso do SGBD, etc) Linguagens e Notações dependem do SGBD Pode ser necessário o conhecimento do modo físico de implementação das estruturas de dados Instâncias e Esquemas Instâncias conjunto de informações contidas em determinado banco de dados em um dado momento Esquema projeto geral do banco de dados. São alterados com pouca frequências Independência de Dados Define-se Independência de Dados como a imunidade das aplicações a mudanças na estrutura de armazenamento ou na estratégia de acesso Física Lógica 4
Independência de Dados Ex.: a forma como os dados estão organizados na memória secundária e a forma de se ter acesso a eles podem ser ditadas pelas necessidades da aplicação (arquivo armazenado no formato indexado sequencial) Independência de Dados Física modificação no esquema físico sem alteração da aplicação. Ex. Alterações para melhorar desempenho a forma como os dados estão organizados na memória secundária e a forma de se ter acesso a eles podem ser ditadas pelas necessidades da aplicação (arquivo armazenado no formato indexado sequencial) Independência de Dados Lógica modificação no esquema lógico sem alteração da aplicação. (Ex. Novo campo, ordem de campos, tamanho do campo). A independência lógica é mais difícil de ser alcançada. Aplicações normalmente mais dependentes da estrutura lógica dos dados do que de seu acesso) Porque manter a independência dos dados: Aplicações diferentes necessitarão visões diferentes do mesmo dado; O DBA tem que ter a liberdade para modificar a estrutura de armazenamento ou a estratégia de acesso (ou ambas) em resposta a mudanças de necessidades, sem ter que mudar as aplicações existente. 5
Porque manter a independência dos dados: Componentes SGBD O conceito de independência de dados é similar ao conceito de tipos abastratos de dados. Ambos escondem do usuário os detalhes de implementação, permitindo-lhes concentrarem-se na estrutura geral em vez de detalhes de implementação de nível mais baixo. Componentes SGBD Componentes SGBD 6
Componentes Metadados: informação sobre a estrutura dos dados Esses metadados encontram-se armazenados e organizados no catálogo do banco Num SGBD relacional: Nomes das relações (tabelas), atributos e tipos de dados Gerenciador de Armazenamento Faz a intermediação entre os pedidos solicitados (consultas ou alterações) e os dados armazenados Consiste em: Gerenc. de buffer: manipula memória principal Gerenc. de arquivos: localiza os arquivos no disco, alocando os blocos necessários Processador de Consultas Transforma uma consulta ou manipulação de alto nível em uma sequência de requisições a dados armazenados Traduz essa sentença em uma sequência de pedidos de maneira otimizada (melhor algoritmo) para o gerenciador de armazenamento Processador de Consultas Manipula pedidos de consultas ou alterações nos dados ou metadados Processa linguagens disponíveis para diferentes tipos de usuários Usuário final, programador, DBA 7
O que é uma Transação Grupo de operações a serem executadas de forma agrupada ou sequencialmente Unidade de execução Gerenciador de Transações Responsável pela integridade do sistema Deve garantir que as diversas consultas em execução não interfiram umas nas outras e que os dados não sejam perdidos em caso de falha do sistema Propriedades ACID Atomicity: tudo de uma transação é executado ou nada é. Consistency: após completar uma ou mais transações, o BD satisfaz condições de consistência Propriedades ACID Isolation: quando duas ou mais transações rodam, seus efeitos devem ser exclusivos Durability: se a transação foi completada, seu resultado não deve ser perdido em caso de falha de sistema 8