bdm aula 2 - modelo de dados e projeto de bancos de dados
TRANSCRIPT
Bancos de Dados
Multimídia
Ticianne Darin
Modelo de Dados e
Projeto de Bancos de Dados
Modelos de Dados
• Característica essencial de Bancos de Dados:
– Abstração de Dados
• Modelo de dados
– Coleção de conceitos que descrevem a estrutura de um banco de dados
– Conjunto de operações básicas
– Definição de aspectos dinâmicos
Tipos, relacionamentos e restrições dos dados
Categorias de Modelos de Dados
• Alto Nível ou Modelos Conceituais
• Lógico, Representativo ou de Implementação
• Baixo Nível ou Modelos Físicos
Modelos de Dados Conceituais
• Descrição do Banco de Dados de forma independente do SGBD
• Entidades, atributos e relacionamentos
• Modelo Entidade-Relacionamento
Objeto ou conceito do mundo real
Propriedade de interesse
que descreve uma entidade
Associação entre duas ou
mais entidades
Modelo de Dados Lógico
• Descrição no nível de abstração visto pelo usuário do SGBD (dependente do SGBD)
• Mais frequentes em SGBDs comerciais tradicionais
• Modelo de Dados Relacional e modelos legados
• Implementação em linguagem especifica
Modelo de Dados Físico
• Descreve armazenamento de dados como arquivo no computador
– Formato do registro, ordenações, caminho de acesso
Esquemas, instâncias e estado
• Descrição do banco ≠ próprio banco
• Descrição = esquema do banco de dados
– Especificado durante o projeto
– Não muda com frequência
– Diagrama de esquema
• Dados reais mudam
– Estado ou Instante do BD
– Ocorrências ou instâncias
• Esquema ≠ Estado
Esquemas, instâncias e estado
• Definir um novo BD = especificar esquema para SGBD
– Construtores
– Estado vazio
• Popular ou carregar o BD
– Estado inicial
• Atualização
– Novo estado do banco
Esquemas, instâncias e estado
• SGBD garante parcialmente um estado válido
• Metadados
– Descrições das construções e restrições do esquema
• Esquema -> intenção
• Estado -> extensão do esquema
• Evolução do esquema
Projeto de Banco de Dados
• Duas fases
– Modelagem conceitual
– Projeto lógico
• Construção de um novo BD
• Engenharia reversa
– Novo BD a partir de BD ou arquivos pré-existentes
Arquitetura de Três Esquemas
Os três esquemas são descrições!
Independência de Dados
• Capacidade de alterar o esquema em um nível do sistema de banco de dados, sem tem que alterar o esquema do nível mais alto.
– Independência lógica de dados
– Independência física de dados
Independência lógica de dados
• Alterar o esquema conceitual sem ter que alterar esquemas externos ou aplicações
– Expandir BD
– Reduzir BD
– Mudanças nas restrições
• Mais difícil de ser alcançada
Independência física de dados
• Alterar o esquema interno sem ter que alterar esquema conceitual
– Esquemas externos não precisam ser alterados
– Mudanças na estrutura para melhoria de desempenho na recuperação/atualização
Linguagens de SGBDs
• Para uma arquitetura de 3 camadas é necessário:
– DDL – Data Definition Language
• Esquema conceitual
– SDL – Storage Definition Language
• Esquema interno
– VDL – View Definition Language
• Esquema Externo
Linguagens de SGBDs
• DML – Data Manipulation Language
– Alto nível ou não procedural
– Operações complexas de forma concisa
– Linguagem declarativa
– Via terminal
– Embutida em linguagem de programação
– Muitos registros em uma instrução
– Linguagem de consulta!
Linguagens de SGBDs
• DML – Data Manipulation Language
– Baixo nível ou procedural
– Embutida em linguagem de programação
– Usa construções da linguagem de programação
– Registros individuais em uma instrução
– Processa separadamente
Linguagens de SGBDs
• SGBDs atuais: linguagens não são distintas
– Linguagem integrada e abrangente define
• Esquema conceitual
• Visões
• Manipulação de dados
– Ex.: linguagem relacional SQL
Linguagens de SGBDs
VDL
DDL
SDL
DML
SQL
Exercício
• Escolha uma aplicação com a qual você esteja acostumado. Crie um esquema e mostre um exemplo de banco de dados para essa aplicação. Liste quais seriam as restrições. Crie visões para os diferentes tipos de usuários.
• P.S.: Não vale de sistema acadêmico!
Exercício:
Exemplo
Até a próxima aula!
Pois que aproveita ao homem ganhar o mundo inteiro, se perder a sua alma? Ou que dará o homem em recompensa da sua alma?
Mateus 16.26