Modelos de dados O que são • Coleção de ferramentas conceituais para descrição, relacionamento, semântica e restrições dos dados Modelos de dados • Define um conjunto de conceitos para a representação de dados – exemplos: entidade, tabela, atributo, ... – existem modelos para diferentes níveis de abstração de representação de dados • Modelos existentes : – modelos conceituais – modelos lógicos – modelos físicos • organização dos arquivos de dados em disco (organização seqüencial, uso de índices hashing (Estrutura que permite acesso a subconjuntos) ou Btrees(estrutura em grupo de árvores) ) • não são manipulados por usuários ou aplicações que acessam o BD » decisões de implementação de cada SGBD Modelos Conceituais • Representação com alto nível de abstração – modela de forma mais natural os fatos do mundo real, suas propriedades e seus relacionamentos – independente de BD – preocupação com a semântica da aplicação – exemplo: modelo entidade-relacionamento Modelos Lógicos • Representa os dados em alguma estrutura (lógica) de armazenamento de dados – também chamados de modelos de BD – dependente de BD – exemplos • modelo relacional (tabelas) • modelos hierárquico e XML (árvore) • modelo orientado a objetos (classes – objetos complexos) Modelos Físicos • Modelagem física do modelo de banco de dados • Leva-se em conta as limitações impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de modelagem de dados produzidos no item anterior, modelo lógico • O modelo físico se refere as representações dos dados a nível de máquina e sistema operacional. • É importante salientar que os detalhes internos de armazenamento, por exemplo, não são descritos no modelo lógico, pois estas informações fazem parte do modelo físico, que nada mais é que a tradução do modelo lógico para a linguagem do software escolhido para implementar o sistema. Grupo de Modelos • MODELOS LÓGICOS BASEADOS EM OBJETOS: • MODELOS DE DADOS BASEADOS EM REGISTROS • MODELOS DE DADOS FÍSICOS Lógicos – baseados em objetos • • • • • Modelo Entidade-Relacionamento Modelo Binário Modelo Semântico de Dados Modelo Infológico E vários outros. . . Baseado em registros • Modelo Relacional • Modelo de Rede • Modelo Hierárquico DADOS FÍSICOS • Modelo unificador • Memória em "Frames" INDEPENDÊNCIA DE DADOS • INDEPENDÊNCIA FÍSICA: – Capacidade de se modificar o esquema físico sem alterar os programas de aplicação – A independência física verifica-se quando a organização física dos dados pode ser alterada sem que isso acarrete uma modificação global na estrutura lógica dos dados e nos programas. Por exemplo: adicionar uma nova chave a uma tabela, ou distribuir a base de dados por dois ou mais computadores. • INDEPENDÊNCIA LÓGICA: – Capacidade de se modificar o esquema conceitual sem alterar os programas de aplicação – A independência lógica significa que a estrutura lógica dos dados pode ser alterada sem consequências a nível de todos os programas. Por exemplo: adicionar novos campos a uma tabela, ou criar uma nova tabela. Funcionamento de um b.dados Aplicação Lógico Acesso direto ou via OBDC BANCO DE DADOS Físico Analistas de Sistemas Banco de Banco de Dados Banco de Dados Dados Usuários DBA Construção de um banco de dados 1. Projeto de Banco de dados lógico 1.1.Levantamento de dados ( Levantar todos os documentos do local , fichas, formulários, informações) para desenvolver a estrutura lógica Construção de um banco de dados 2.Montagem do projeto lógico 2.1. Escolha de um modelo de dados Relacional Hierarquico Objeto Rede 2.2.Desenvolvimento de todos os dicionário de dados e os relacionamentos 2.3.Estudo dos relacionamentos Construção de um banco de dados 3. Escolha do local de armazenamento do banco 3.1. Seleção Cliente servidor Distribuição Replicação –Implementação de técnicas de acessibilidade aos dados (Distribuição, replicacação. Datawarehouse) Construção de um banco de dados 4.Criação e implementação do banco de dados Físico 4.1.Escolha de um banco de dados 4.2. Implementação e criação do banco de dados Construção de um banco de dados 4.3.Desenvolvimento das tabelas 4.4.Criação dos índices 4.5.Criação dos relacionamentos Construção de um banco de dados 5. Escolha da linguagem Aplicação 5.1.Criação de um apelido lógico ou de que ferramentas de interação são necessárias para uso do banco de dados 5.2. Desenvolvimento do programa de acesso (linguagem ) ao banco de dados Banco de dados Construção de um banco de dados 5. Escolha da linguagem Aplicação Usuários – 5.3.Estrutura e visualização das políticas de segurança dos dados – 5.4.Planejamento da estrutura de acesso e copias de segurança do banco de dados Banco de dados