Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Introdução a Bancos de Dados – DCC 011 Modelagem de Dados Usando o Modelo Entidade-Relacionamento Introdução a Bancos de Dados – DCC 011 Sumário � Fases do Projeto de BD � Conceitos Básicos do Modelo ER � Tipos de entidade, atributos e chaves � Tipos de relacionamento � Restrições estruturais � Tipos de entidade fraca � Notação Diagramática � Generalização, Especialização e Agregação 2 Introdução a Bancos de Dados – DCC 011 Processo de Projeto de Bancos de Dados Mini-Mundo Análise de Requisitos Requisitos do BD Projeto Conceitual Esquema Conceitual (em um modelo de dados de alto nível) Projeto Lógico Esquema Lógico (em um modelo de dados lógico) Projeto Físico Esquema Físico (para um SGBD específico) Requisitos Funcionais Análise Funcional Especificação das Transações (em alto nível) Projeto das Aplicações Implementação Programas Independente de SGBD Específico para um SGBD Introdução a Bancos de Dados – DCC 011 Esquema conceitual 3 Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Entidades: � Objetos do mundo real que são de interesse para alguma aplicação � Atributos: � Propriedades utilizadas para descrever uma entidade Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Tipos (classes) de atributo: � Simples ou compostos � Monovalorados ou multivalorados � Armazenados ou derivados � Tipo de entidade: � Define um conjunto de entidades que têm os mesmos atributos (propriedades) � Exemplos: � EMPREGADO, EMPRESA 4 Introdução a Bancos de Dados – DCC 011 Tipos de entidade e suas instâncias Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Chave de um tipo de entidade: � Atributo que possui valor único para cada entidade (instância) � Chave pode ser formada por vários atributos: chave composta � Domínio de um atributo: � Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente � A: E � P(V) 5 Introdução a Bancos de Dados – DCC 011 Chaves Registro e IDVeiculo são chaves to tipo de entidade CARRO Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Relacionamentos: � Associações entre duas ou mais entidades distintas (instâncias) com um significado � Exemplo: � O empregado John Smith preside a empresa Sunco Oil 6 Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Tipo de Relacionamento: � Define um conjunto de associações entre n tipos de entidade E1, E2,...,En � Exemplo: � Trabalha-para entre Empregado e Departamento Empregado Trabalha- para Departamento Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Tipo de Relacionamento: � Matematicamente, um tipo de relacionamento R é um conjunto de (instâncias de) relacionamentos ri, onde cada ri associa n (instâncias de) entidades (e1,...,en) e cada ej pertence a um tipo de entidade Ej � R ⊆⊆⊆⊆ E1 x E2 x ... x En � Grau de um Tipo de Relacionamento � Número de tipos de entidade participantes de um tipo de relacionamento 7 Introdução a Bancos de Dados – DCC 011 Instâncias de um tipo de relacionamento binário Introdução a Bancos de Dados – DCC 011 Instâncias de um tipo de relacionamento ternário 8 Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Restrições sobre tipos de relacionamento: � Cardinalidade: Especifica o número de instâncias de um tipo de relacionamento do qual uma entidade pode participar � Participação: Especifica se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento � parcial ou total � Cardinalidade + Participação � Restrições Estruturais Introdução a Bancos de Dados – DCC 011 Cardinalidade 1:1 9 Introdução a Bancos de Dados – DCC 011 Cardinalidade M:N Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Papéis e relacionamentos recursivos � Entidades atuam com um determinado papel � Significado do papel é dado por um nome, atribuído a cada tipo de entidade � Nomes só são necessários em tipos de relacionamento que envolvam mais de uma vez o mesmo tipo de entidade � relacionamentos recursivos � Exemplo: Supervisão, onde Empregado tem os papéis de Supervisor e Supervisionado 10 Introdução a Bancos de Dados – DCC 011 Relacionamento recursivo SUPERVISAO: 1 = supervisor, 2 = supervisionado Introdução a Bancos de Dados – DCC 011 Modelo ER - Conceitos � Tipos de Entidade Fraca � Tipos de entidade que não têm chave própria � As instâncias são identificadas através do relacionamento com entidades de outro tipo, chamado de dono ou identificador, juntamente com os valores de alguns atributos (chave parcial) � Exemplo: DEPENDENTE 11 Introdução a Bancos de Dados – DCC 011 Notação ER (Resumo) Introdução a Bancos de Dados – DCC 011 Exemplo de um diagrama ER com a notação (min,max) 12 Introdução a Bancos de Dados – DCC 011 Notação UML Introdução a Bancos de Dados – DCC 011 Especialização e Generalização Subclasses e Superclasses � Especialização: � Processo de definição de um conjunto de sub- classes (sub-tipos) de um tipo de entidade � Generalização: � Processo de definição de um tipo de entidade genérico (super-classe ou super-tipo) a partir de um conjunto de tipos de entidade � Exemplo: {SECRETARIA, ENGENHEIRO, TECNICO} é uma especialização de EMPREGADO ou EMPREGADO é uma generalização de {SECRETARIA, ENGENHEIRO, TECNICO} 13 Introdução a Bancos de Dados – DCC 011 Especialização e Generalização � Toda instância de uma sub-classe (ou sub- tipo) é também uma instância de sua super- classe (ou super-tipo) � Ex.: “John Smith” é um engenheiro e também um empregado � Herança de atributos e relacionamentos: � Uma entidade de uma sub-classe possui todos os atributos e relacionamentos de sua super-classe, ou seja, ela herda todos os atributos e relacionamentos da super-classe � Além disso, uma entidade de uma sub-classe pode possuir seus próprios atributos e relacionamentos locais ou específicos Introdução a Bancos de Dados – DCC 011 Instâncias das subclasses de EMPREGADO 14 Introdução a Bancos de Dados – DCC 011 Especialização � O processo de especialização permite: � Definir um conjunto de sub-classes (sub- tipos) de um determinado tipo de entidade � Estabelecer atributos específicos adicionais para cada sub-classe (sub-tipo) � Estabelecer tipos de relacionamento específicos adicionais entre cada sub-classe (sub-tipo) e outros tipos de entidade ou sub-classes (sub-tipos) Introdução a Bancos de Dados – DCC 011 Exemplos de especializações 15 Introdução a Bancos de Dados – DCC 011 Especialização definida por atributo Introdução a Bancos de Dados – DCC 011 Generalização � O processo de generalização permite: � Definir um determinado tipo de entidade como uma generalização de um conjunto de sub-classes (sub-tipos) � Simplificar a representação de cada sub- classe (sub-tipo) “fatorando-se” seus atributos e tipos de relacionamento 16 Introdução a Bancos de Dados – DCC 011 Exemplo de generalização Introdução a Bancos de Dados – DCC 011 Restrições sobre Hierarquias de Especialização/Generalização � Disjução: � Sub-classes podem ser disjuntas ou sobrepostas � Completude: � A completude da super-classe em relação às sub- classes pode ser total ou parcial � Restrições possíveis: � Disjunta/Total � Disjunta/Parcial � Sobreposta/Total � Sobreposta/Parcial 17 Introdução a Bancos de Dados – DCC 011 Hierarquia disjunta e total Introdução a Bancos de Dados – DCC 011 Hierarquia sobreposta e total 18Introdução a Bancos de Dados – DCC 011 Hierarquia de especialização com subclasse compartilhada (reticulado) Introdução a Bancos de Dados – DCC 011 Hierarquia de especialização com herança múltipla 19 Introdução a Bancos de Dados – DCC 011 Relacionamentos Ternários ou Binários M N P PECA NumPeca NumPeca PECA X Introdução a Bancos de Dados – DCC 011 Relacionamentos Ternários Representação usando Entidade Fraca PECA NumPeca 1 1 1 20 Introdução a Bancos de Dados – DCC 011 Relacionamentos Ternários Outro Exemplo de Não Equivalência Introdução a Bancos de Dados – DCC 011 Relacionamentos Ternários Tipo de Entidade Fraca 1 1 N 1N 21 Introdução a Bancos de Dados – DCC 011 Agregação M N N 1 Permite que entidades de determinados tipos relacionadas entre si por meio de um relacionamento possam ser tratadas como um objeto agregado de mais alto nível. Introdução a Bancos de Dados – DCC 011 Como Realizar uma Agregação? (1) (2) (3) (4) ? X 22 Introdução a Bancos de Dados – DCC 011 Resumo � Modelo ER: usado na fase de projeto conceitual � Conceitos básicos: entidades, atributos, relacionamentos � Entidades e relacionamentos organizados em tipos � Relacionamentos binários e n-ários � Notação diagramática � Restrições de integridade: cardinalidade e participação � Conceitos adicionais: generalização, especialização e agregação Introdução a Bancos de Dados – DCC 011 Questões e Exercícios Sugeridos � Capítulo 3: � 3.4, 3.6, 3.8, 3.13, 3.16, 3.23 � Capítulo 4: � 4.1, 4.3, 4.6, 4.8, 4.17, 4.21
Compartilhar