View
258
Download
10
Embed Size (px)
Citation preview
3
Abordagem Entidade-Relacionamento
• Técnica para construir modelos conceituais de bases de dados.
• Técnica de modelagem de dados mais difundida e utilizada.
• Criada em 1976, por Peter Chen.
©Carlos A. Heuser 3
4
Abordagem Entidade-Relacionamento
• Padrão de fato para modelagem conceitual.
• Não é única:
– NIAM/ORM (técnica européia da década de 70)
– UML (técnica para modelos orientados a objeto)
• Técnicas de modelagem orientada a objeto (UML) baseiam-se nos
conceitos da abordagem ER
©Carlos A. Heuser 4
5
Abordagem Entidade-Relacionamento
• Modelo de dados é representado através de um
– modelo entidade-relacionamento (modelo ER)
• Modelo ER é representado graficamente
– diagrama entidade-relacionamento (DER)
©Carlos A. Heuser
6
Conceitos centrais da abordagem ER
• Entidade
• Relacionamento
• Atributo
• Generalização/especialização
• Entidade associativa
©Carlos A. Heuser 6
7
Entidade
Entidade
Conjunto de objetos da realidade modelada
sobre os quais deseja-se manter
informações no banco de dados
©Carlos A. Heuser 7
8
Entidade – exemplos
• Sistema de informações industrial:– produtos– tipos de produtos– vendas– compras
• Sistema de contas correntes:– clientes– contas correntes– cheques– agências
©Carlos A. Heuser 8
9
Entidade representa
• Uma entidade pode representar:
– objetos concretos da realidade
(uma pessoa, um automóvel)
– objetos abstratos
(um departamento, um endereço)
©Carlos A. Heuser 9
10
Entidade – representação diagramática
• Representada através de um retângulo.
©Carlos A. Heuser 10
PESSOA
11
Entidade – representação diagramática
• Representada através de um retângulo.
©Carlos A. Heuser 11
PESSOA
Nome da entidade
12
Entidade e instância
• Para referir um objeto particular fala-se em:
– instância ou
– ocorrência de entidade.
©Carlos A. Heuser 12
13
Entidade e instância - terminologias
©Carlos A. Heuser 13
conjunto elemento do conjuntoentidade instância
conjunto de entidades entidadeclasse instância
• Há terminologias conflitantes na literatura
14
Entidade e instância - terminologias
©Carlos A. Heuser 14
conjunto elemento do conjuntoentidade instância
conjunto de entidades entidadeclasse instância
• Há terminologias conflitantes na literatura
terminologia adotada no livro
15
Entidade e instância - terminologias
©Carlos A. Heuser 15
conjunto elemento do conjuntoentidade instância
conjunto de entidades entidadeclasse instância
• Há terminologias conflitantes na literatura
terminologia adotada em textos acadêmicos
em Inglês
16
Entidade e instância - terminologias
©Carlos A. Heuser 16
conjunto elemento do conjuntoentidade instância
conjunto de entidades entidadeclasse instância
• Há terminologias conflitantes na literatura
terminologia de orientação a objetos
17
Propriedades de entidades
• Entidade isoladamente pouco informa.
• É necessário atribuir propriedades às entidades
• Em um modelo ER, propriedades são especificadas através de:
– Relacionamentos
– Atributos
– Generalizações/especializações
©Carlos A. Heuser 17
18
Relacionamento - conceito
Relacionamento
Conjunto de associações entre entidades sobre as quais deseja-se
manter informações na base de dados
©Carlos A. Heuser 18
20
Relacionamento e instância
• Relacionamento é um conjunto de associações entre instâncias de
entidades
• Uma instância (ocorrência) é uma associação específica entre
determinadas instâncias de entidade
• Exemplo (relacionamento LOTAÇÃO):
instância de LOTAÇÃO
=
par específico formado por uma ocorrência de PESSOA e uma
ocorrência de DEPARTAMENTO
©Carlos A. Heuser 20
21
Diagrama de ocorrências
©Carlos A. Heuser 21
p1 p8p7
p5p6p4
p3
p2
p1,d1 p2,d1 p4,d2 p5,d3
d1 d3d2
entidadeEMPREGADO
relacionamentoLOTAÇÃO
entidadeDEPARTAMENTO
23
Papel no relacionamento
• Função que uma ocorrência de uma entidade cumpre em uma
ocorrência de um relacionamento.
©Carlos A. Heuser 23
marido esposa
papel no relacionamento
PESSOA
CASAMENTO
24
Papel no relacionamento
• Relacionamentos entre entidades diferentes:
– não é usual indicar os papéis das entidades
©Carlos A. Heuser 24
DEPARTAMENTO LOTAÇÃO PESSOA
25
Auto-relacionamentodiagrama de ocorrências
©Carlos A. Heuser 25
p1 p8
p7
p5
p6
p4
p3
p2
p1,p3
p6,p8
maridoesposa
maridoesposa
PESSOA
CASAMENTO
marido esposa
26
Cardinalidade de relacionamentos
• Propriedade importante de um relacionamento:
– Número de ocorrências de uma entidade que podem estar associadas
a uma determinada ocorrência de entidade através do relacionamento
• Chamada de cardinalidade de uma entidade em um relacionamento.
• Há duas cardinalidades:
– máxima
– mínima
©Carlos A. Heuser 26
27
Cardinalidade máxima - valores
• Para projeto de BD relacional:
– não é necessário distinguir entre diferentes cardinalidades máximas
> 1
• Dois valores de cardinalidades máximas são usados:
– cardinalidade máxima: 1
– cardinalidade máxima não limitado (“muitos”),
referida pela letra n
©Carlos A. Heuser 27
29
Cardinalidade máxima - DER
©Carlos A. Heuser 29
expressa quea uma ocorrência de EMPREGADO (entidade do lado oposto da anotação) pode estar associada no máximo uma (“1”) ocorrência de DEPARTAMENTO
LOTAÇÃODEPARTAMENTO EMPREGADOn1
30
Cardinalidade máxima - DER
©Carlos A. Heuser 30
expressa que não há um limite superior
para o número de ocorrências de EMPREGADO associadas a uma ocorrência
de DEPARTAMENTO
LOTAÇÃODEPARTAMENTO EMPREGADOn1
31
Classificação de relacionamentos
• Cardinalidade máxima pode ser usada para classificar relacionamentos
binários.
• Relacionamento binário:
– é aquele cujas instâncias envolvem duas instâncias de entidades.
• Relacionamentos binários
– n:n (muitos-para-muitos)
– 1:n (um-para-muitos)
– 1:1 (um-para-um)
©Carlos A. Heuser 31
36
Relacionamentos 1:n
©Carlos A. Heuser 36
EMPREGADO DEPENDENTE1 n
Nomenclatura:• uso de verbos• entidades dão o nome
43
Cardinalidade de relacionamento ternário
©Carlos A. Heuser 43
1n
n
DISTRIBUIDORCIDADE
PRODUTO
DISTRIBUIÇÃO
44
Cardinalidade de relacionamento ternário
©Carlos A. Heuser 44
1n
n
DISTRIBUIDORCIDADE
PRODUTO
DISTRIBUIÇÃOa cardinalidade “1” refere-se a um par (cidade, fornecedor)
45
Cardinalidade mínima
©Carlos A. Heuser 45
Cardinalidade mínima
Número mínimo de ocorrências de entidade que são associadas a uma ocorrência de uma entidade através
de um relacionamento.
46
Cardinalidade mínima
• Para fins de projeto de BD relacional, são consideradas apenas duas
cardinalidades mínimas:
– cardinalidade mínima 0
– cardinalidade mínima 1
• Denominação alternativa:
– cardinalidade mínima 0 = “associação opcional”
– cardinalidade mínima 1 = “associação obrigatória”
©Carlos A. Heuser 46
47
Cardinalidade mínima - DER
©Carlos A. Heuser 47
EMPREGADO
ALOCAÇÃO
e1e4
e3
e2
e1,m1
e2,m2
(0,1)
(1,1)
MESA
e4,m4
m1 m6m4m3
m2 m5
e3,m6
48
Cardinalidade mínima - DER
©Carlos A. Heuser 48
EMPREGADO
ALOCAÇÃO
e1e4
e3
e2
e1,m1
e2,m2
(0,1)
(1,1)
MESA
e4,m4
m1 m6m4m3
m2 m5
e3,m6cardinalidademínima
49
Exemplo - entidades e relacionamentos
©Carlos A. Heuser 49
DEPARTAMENTO RESPONSÁVEL DISCIPLINA(1,1) (0,n)
ALUNO INSCRIÇÃO CURSO(1,1)(0,n)
DISC-CURSO
(0,n)
(0,n)
PRÉ-REQUIS
(0,n) (0,n)liberadoraliberada
50
Atributo
©Carlos A. Heuser 50
Atributo
Dado ou informação que é associado a cada ocorrência de uma entidade ou de um
relacionamento
51
Atributo
©Carlos A. Heuser 51
PROJETO
tipocódigo
nome
Atributo
Dado ou informação que é associado a cada ocorrência de uma entidade ou de um
relacionamento
52
Atributos com cardinalidade
• Cardinalidade mínima:
– atributo obrigatório (cardinalidade mínima “1”)
• cada entidade possui no mínimo um valor associado
– atributo opcional (cardinalidade mínima “0”)
• Cardinalidade máxima:
– atributo monovalorado (cardinalidade máxima “1”)
• cada entidade possui no máximo um valor associado
– atributo multivalorado (cardinalidade máxima “n”)
©Carlos A. Heuser 52
53
Atributo com cardinalidade
©Carlos A. Heuser 53
CLIENTE
telefone (0,n)código
nome
atributo obrigatórioe monovalorado
-(1,1) é o default
54
Atributo com cardinalidade
©Carlos A. Heuser 54
CLIENTE
telefone (0,n)código
nomeatributo opcionale multivalorado
55
Atributo em relacionamento
©Carlos A. Heuser 55
ENGENHEIRO ATUAÇÃO PROJETO(1,n) (0,n)
Código Nome TítuloFunção Código
56
Atributo em relacionamento 1:n
©Carlos A. Heuser 56
FINANCEIRA FINANCIAMENTO VENDA(0,1)
taxa de juros
(0,n)
nº de parcelas
57
Identificador de entidade
• Cada entidade deve possuir um identificador
©Carlos A. Heuser 57
Identificador de entidade=
conjunto propriedades (atributos, relacionamentos) de uma entidade
cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências
da mesma entidade
58
Atributo identificador
©Carlos A. Heuser 58
PESSOAendereço
códigonome
PRATELEIRAnúmero da prateleira
capacidadenúmero do corredor
59
Relacionamento identificador
©Carlos A. Heuser 59
EMPREGADO DEPENDENTE(1,1) (0,n)
nomesequênciacódigonúmero de
nome
entidade fraca
60
Relacionamento identificador
©Carlos A. Heuser 60
EMPREGADO DEPENDENTE(1,1) (0,n)
nomesequênciacódigonúmero de
nome
Observar a linha mais
densa
61
Relacionamento identificador (recursão)
©Carlos A. Heuser 61
(1,1)
(0,n)
GRUPO
EMPRESA
código
FILIAL
(1,1)
(0,n)
número da filial
número da empresa
62
Identificador de relacionamento
• Uma ocorrência de relacionamento diferencia-se das demais do
mesmo relacionamento pelas ocorrências de entidades que dela
participam.
©Carlos A. Heuser 62
ENGENHEIRO ALOCAÇÃO PROJETOn n
63
Relacionamento com atributo identificador
©Carlos A. Heuser 63
MÉDICO CONSULTA PACIENTE(1,n) (0,n)
data/hora
64
Generalização/especialização
• Conceito permite:
– atribuir propriedades particulares
a um subconjunto das ocorrências (especializadas)
de uma entidade genérica.
©Carlos A. Heuser 64
65
Generalização/especialização
©Carlos A. Heuser 65
CLIENTE
PESSOAJURÍDICA
nomecódigo
CIC CGC
FILIAL(1,1) (0,n)
sexo tipo deorganização
PESSOAFÍSICA
66
Generalização/especialização
©Carlos A. Heuser 66
nomecódigo
CIC CGC
FILIAL(1,1) (0,n)
sexo tipo deorganização
Símbolo da generalização-especialização
CLIENTE
PESSOAFÍSICA
PESSOAJURÍDICA
67
Generalização/especialização
©Carlos A. Heuser 67
nomecódigo
CIC CGC
FILIAL(1,1) (0,n)
sexo tipo deorganização
CLIENTE
Entidadegenérica
PESSOAFÍSICA
PESSOAJURÍDICA
68
Generalização/especialização
©Carlos A. Heuser 68
nomecódigo
CIC CGC
FILIAL(1,1) (0,n)
sexo tipo deorganização
CLIENTE
PESSOAFÍSICA
Entidadeespecializada
PESSOAJURÍDICA
69
Generalização/especialização
©Carlos A. Heuser 69
nomecódigo
CIC CGC
FILIAL(1,1) (0,n)
sexo tipo deorganização
CLIENTE
PESSOAFÍSICA
Herda aspropriedades da entidade
genérica PESSOAJURÍDICA
70
Generalização/especialização
©Carlos A. Heuser 70
PESSOAFÍSICA
nomecódigo
CIC CGC
FILIAL(1,1) (0,n)
sexo tipo deorganização
Identificador somente na
entidade genérica
CLIENTE
PESSOAJURÍDICA
71
Generalização/especialização (recursão)
©Carlos A. Heuser 71
BARCOVEÍCULO ANFÍBIO
VEÍCULO
AUTOMÓVEL
VEÍCULOAQUÁTICO
VEÍCULOTERRESTRE
72
Generalização/especialização (recursão)
©Carlos A. Heuser 72
BARCOVEÍCULO ANFÍBIO
VEÍCULO
AUTOMÓVEL
VEÍCULOAQUÁTICO
VEÍCULOTERRESTRE
Herançamúltipla
73
Generalização/especialização (recursão)
©Carlos A. Heuser 73
BARCOVEÍCULO ANFÍBIO
VEÍCULO
AUTOMÓVEL
VEÍCULOAQUÁTICO
VEÍCULOTERRESTRE
A árvore de herança deve ter uma única entidade raiz, que define o identificador.
74
Generalização/especialização (recursão)
©Carlos A. Heuser 74
BARCOVEÍCULO ANFÍBIO
VEÍCULO
AUTOMÓVEL
VEÍCULOAQUÁTICO
VEÍCULOTERRESTRE
A árvore de herança deve ter uma única entidade, que define o identificador.
Identificador de veículo definido
aqui
75
Generalização/especialização (recursão)
©Carlos A. Heuser 75
BARCOVEÍCULO ANFÍBIOAUTOMÓVEL
VEÍCULOAQUÁTICO
VEÍCULOTERRESTRE
Caso proibido: • Herança de múltiplos identificadores.
76
Generalização/especialização (recursão)
©Carlos A. Heuser 76
BARCOVEÍCULO ANFÍBIOAUTOMÓVEL
VEÍCULOAQUÁTICO
VEÍCULOTERRESTRE
Caso proibido: • Herança de múltiplos identificadores.
Qual seria oidentificador
desta entidade?
77
Especialização total
©Carlos A. Heuser 77
nomecódigo
CIC CGCsexo tipo deorganização
CLIENTE
PESSOAFÍSICA
PESSOAJURÍDICA
t indica que todo CLIENTE éou PESSOA FÍSICAou PESSOA JURíDICA
78
Especialização parcial
©Carlos A. Heuser 78
FUNCIONÁRIO
MOTORISTA SECRETÁRIA
ptipo defuncionário indica que nem todo
FUNCIONÁRIO éMOTORISTA ouSECRETÁRIA
79
Especialização parcial
©Carlos A. Heuser 79
FUNCIONÁRIO
MOTORISTA SECRETÁRIA
ptipo defuncionário
necessário em especialização
parcial
80
Especialização não exclusiva (compartilhada)
©Carlos A. Heuser 80
ALUNOFUNCIONÁRIO
PESSOA
PROFESSOR
c
Uma instância de PESSOApode aparecer em mais deuma de suas especializações
82
Entidade associativa
• Modificar modelo:
– Adicionar a informação de que medicamentos foram prescritos em
uma consulta.
©Carlos A. Heuser 82
MÉDICO CONSULTA PACIENTEn n
83
Incluindo o relacionamento de PRESCRIÇÃO
©Carlos A. Heuser 83
MEDICAMENTO
PRESCRIÇÃO
n
n
MÉDICO PACIENTECONSULTAn n
PRESCRIÇÃO liga com?
84
Substituindo relacionamento por entidade
©Carlos A. Heuser 84
MEDICAMENTO
PRESCRIÇÃO
CONSULTA
(1,1)
n n
(1,1)
n
n
MÉDICO PACIENTE