Programa DCC011 Introdução a Banco de Dados Modelo Entidade Relacionamento Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos, características da abordagem de banco de dados, modelos de dados, esquemas e instâncias, arquitetura de um sistema de banco de dados, componentes de um sistema de gerência de banco de dados. Modelos de dados e linguagens Modeloentidade relacionamento d l i t (ER), modelorelacional, dl l l álgebra relacional, SQL. Projeto de bancos de dados Fases do projeto de bancos de dados, projeto lógico de bancos de dados relacionais, normalização. Novas Tecnologias e Aplicações de Banco de Dados 2 Processo de Projeto de Bancos de Dados Dd Independente de SGBD PONTO DE PARTIDA Requisitos de Dados USANDO O MODELO OER Esquema Conceitual Modelo de dados de alto nível Revisão Hierarquia Relacionamentos Ternários 3 4 Relacionamentos Ternários X 5 Figura 4.7 Um reticulado de especialização, com herança múltipla, para um banco de dados UNIVERSIDADE. 6
Relacionamentos Ternários RepresentaçãousandoTipo de EntidadeFraca Relacionamentos Ternários Outro exemplo de não equivalência Figura 4.11 Tipos de relacionamentos ternários. (a) O relacionamento FORNECE. (b) Três relacionamentos binários não equivalentes a FORNECE. (c) FORNECE representado como um tipo entidade fraca. 7 Figura 412 4.12 Outro exemplo de tipos relacionamento ternário versus binário. i 8 1. Modelo de Dados, Esquema e Instância Modelo de Dados Esquema Instância Modelo Entidade Relacionamento 1. Modelo de Dados, Esquemas e Instância 2. Entidade Fraca 3. Outras Modelagens 4. Conceitos de Abstração Regras para estruturação dos dados Regras para verificação das instâncias 9 10 Modelo de Dados, Esquema e Instância Modelo de dados: Conjunto de conceitos descrevem a estrutura de um BD Abstração de dados Estrutura = tipos de dados + relacionamentos + restrições (+operações recuperação e atualização) Esquema: Descrição (textualou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados Instância: Conjunto de dados armazenados em um BD em um determinado instante de tempo Modelo vs. Esquema vs. Instância SILBERSCHATZ Modelo: coleção de ferramentas conceituais para descrever dados, relações de dados, semântica de dados e restrições de consistência Esquema: é o projeto do banco de dados Instância: é a coleção das informações armazenadas Fazendo um paralelo com linguagens de programação: Modelo: corresponde às regras sintáticas e semânticas Esquema: à declaração de variáveis (mais tipos de dados) em um programa Instância: aos valores das variáveis 11 12
Modelo vs. Esquema vs. Instância 2. Entidade Fraca ELMASRI Modelo de dados: coleção de conceitos que podem ser usados para descrever a estrutura do BD Estrutura do BD Operações básicas (insert, update, delete...) Comportamento (vindo da Eng. Sw.) Esquema: descrição de um banco de dados de acordo com um modelo dl Instância: dados em um BD em um momento específico GARCIA MOLINA Chave de um entidade é composta por atributos de outra entidade EF! Duas origens principais: Entidade que é parte de outra mas não cabe em uma hierarquia (pois não herda) Conexão entre duas entidades para evitar N:M 13 14 Entidade Fraca Entidade Fraca Entidade que é parte de outra mas não cabe em uma hierarquia (pois não herda) Equipe de filmagem (e1, e2, e3): precisa da informação do Estúdio de filmagem e não é herança Espécie e Gênero: Homo sapiens; espécie sapiens presente em outros gêneros; espécie é EF identificada pelo gênero Conexão entre duas entidades para evitar N:M Cria se uma entidade artificial que relaciona as chaves primárias de ambas entidades. A entidade é fraca quando a sua chave consiste de: Zero ou mais de seus atributos, E Atributos chave de outras entidades alcançados através de relacionamento 1:N. 1N 15 16 3. Outras Modelagens: UML Classes: Associações: 17 18
Associações (especializacao/generalizacao): ili Associações (agregação): Polygon 1 contains 3..* Point 19 20 Hierarquia de Especialização/Generalização Associações (qualificador): 21 Figura 4.10 Um diagrama de classe correspondente ao diagrama EER da Figura DCC011 profa. 4.7 Mirella ilustrando M. Moro as notações UML para 22 especialização/generalização. 4. Conceitos de Abstração Conceitos abstratos do Modelo Conceitual aplicam se a outras áreas Exemplo: Representação de Conhecimento (KR Knowledge Representation) KR Conceitos para modelar algum domínio de discurso, criando uma ontologia Ontologia: descreve os conceitos do domínio 23 24
Knowledge Representation Modelagem Conceitual LEITURA Comum Processo de abstração para identificar propriedades comuns e aspectos importantes de objetos no minimundo Conceitos, restrições, operaçõesee linguagensparadefinir dados e representar conhecimento Diferente KR = mais ampla regras (inferência, dedução e pesquisa), conhecimento incompleto, temporal e espacial KR = inclui mecanismos de raciocínio (dedução, inferência) KR = mistura esquemas e instâncias Elmasri/Navathe 3a edição: 4.8 (5a edição: 4.7) Classificação e Instanciação Identificação Especialização e Generalização Agregação e Associação 25 26