Buscar

ibd-parte2

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

Continue navegando