Post on 08-Aug-2015
Mapeamento Entidade-relacionamento p/
Modelo lógico
1
Prof. Halley Wesley Gondimhalley@engenhariadesoftware.inf.br
2
Tipos de Atributos
Atributos Simples (Exemplo: ID)Atributos Compostos (Exemplo: Nome)Atributos Derivados (Exemplo: Tempo_atividade)
•Estes atributos devem ser identificados na análise, mas nãodevem fazer parte da entidade pois podem ser calculados
Atributos Multivalor (Exemplo: Localizações)•Para cada atributo multivalor cria-se uma nova entidadeExemplo(Loc_Dep: Número, Localização)
3
Que atributos considerar na descrição de uma entidade ?
Entidades CÃO e DONO_DO CÃO vistas pelo veterinário:
Entidades CÃO e DONO_DO CÃO vistas pela administração
municipal
4
Chave primária e chaves candidatas
Chave ou Identificador de uma entidade: Atributo ou conjunto de
atributos que permitem identificar univocamente uma instância de uma
entidade.
Chave primária: Corresponde a uma das chaves possíveis e possui
as seguinte características:
unívoca - os atributos da chave primária têm um valor unívoco
par qualquer instância;
não redundante - se algum dos atributos que formam a chave
primária for retirado, os restantes atributos deixam de ser unívocos
não nula - nenhum dos atributos que formam a chave primária
poderá ter um valor nulo.
Instância: Ocorrência particular de uma entidade.
Cada instância tem de ser identificadas univocamente
5
Chave candidata: Atributo ou conjunto de atributos que podem ser
usados como chave primária de uma entidade
Exemplo: Chaves candidatas:
N_ID
N_Eleitor, Freguesia
Nome N_eleitor N_ID Freguesia Rua
Chave primária e chaves candidatas
6
A chave forasteira permite estabelecer uma ligação (relacionamento)
entre as entidades representadas. Uma entidade pode conter tantas
chaves forasteiras quantas as necessárias.
Chave forasteira ou chave externa: Atributo ou
conjunto de atributos que aparecem como chave
primária numa outra entidade relacionada.
O atributo nome_do_dono :
• na entidade CÃO é uma chave estrangeira
• na entidade DONO_DO_CÃO é a chave primária
Chave estrangeira
7
Relacionamento
Relacionamento: Associação entre entidades
Relacionamento binário: Associação entre duas entidades
Tipos de relacionamentos binários entre entidades:
O número de ocorrências de uma entidade, que podem estar associadas
com uma ocorrência de outra entidade permitem distinguir 3 tipos de
relacionamentos:
As entidades não estão isoladas, estão relacionadas com
outras entidades. É necessário identificar relacionamentos
para ser possível representar corretamente o mundo real.
8
Relacionamento
9
Modelo de dados relacional
Cada tabela (entidade) tem um nome único pelo qual é referenciada;
Cada coluna da tabela (atributo) tem um nome e refere-se a um
dado aspecto do objeto representado;
Cada coluna contém valores atômicos pertencentes ao domínio do
atributo;
Cada linha da tabela (tupla) representa uma única instância ou um
relacionamento entre entidades;
Cada relação contém zero ou mais tuplas.
Todos os dados bem como os relacionamento existentes
entre estes são representados por um conjunto de tabelas
(relações) relacionadas entre si:
10
Integridade
Existem três tipos de integridade:
Integridade de domínio: os valores de cada coluna devem ser
atômicos e pertencentes ao domínio do atributo;
Integridade de entidade: os valores dos atributos que
correspondem à chave primária não podem ser nulos nem iguais a
outros já existentes na tabela. Notar que, como as tuplas são
diferenciados pela chave primária, se os valores dos atributos
correspondentes à chave primária fossem nulos não seria possível
distinguir entre tuplas.
Integridade referencial: a chave estrangeira numa tabela deve
referenciar sempre uma chave primária existente numa outra
tabela(respeitando os domínios).
11
Estratégias de concepção do modelo de dados
12
Top-down
Estratégias de concepção do modelo de dados
13
Top-down - Etapas
Estratégias de concepção do modelo de dados
14
Top-down
Estratégias de concepção do modelo de dados
15
Top-down – Análise de Requisitos Exemplo
Estratégias de concepção do modelo de dados
16
Top-down
Estratégias de concepção do modelo de dados
17
Top-down – Projeto Conceitual ex.
Estratégias de concepção do modelo de dados
18
Top-down – Vantagens Proj. Conceitural
Estratégias de concepção do modelo de dados
19
Top-down
Estratégias de concepção do modelo de dados
20
Top-down – Ex. Projeto Lógico
Estratégias de concepção do modelo de dados
21
Top-down
Estratégias de concepção do modelo de dados
22
Top-down – Ex. Projeto Físico
Estratégias de concepção do modelo de dados
23
Top-down - Objetivos
Estratégias de concepção do modelo de dados
24
Bottom Up
Estratégias de concepção do modelo de dados
25
Bottom Up - Etapas
Estratégias de concepção do modelo de dados
26
Bottom Up - Etapas
Estratégias de concepção do modelo de dados
27
Bottom Up – Ex. Fonte de Dados
Estratégias de concepção do modelo de dados
28
Bottom Up
Estratégias de concepção do modelo de dados
29
Bottom Up – Ex. Tabela Aninhada
Estratégias de concepção do modelo de dados
30
Bottom Up
Estratégias de concepção do modelo de dados
31
Bottom Up - Ex. Normalização
Estratégias de concepção do modelo de dados
32
Bottom Up
Estratégias de concepção do modelo de dados
33
Bottom Up – Ex. Integração
Estratégias de concepção do modelo de dados
34
Bottom Up – Ex. Integração
Estratégias de concepção do modelo de dados
35
Bottom Up – Engenharia Reversa
Estratégias de concepção do modelo de dados
36
Top-Down x Bottom-Up
Estratégias de concepção do modelo de dados
37
Relacionamento binário de grau 1:1
Caso 1 (1:1) - participação obrigatória das duas entidades:
• Todos os docentes têm de lecionar uma só disciplina;
• Cada disciplina tem de ser assegurada por um docente.
É apenas necessário uma entidade;
• A chave primária dessa relação pode ser a chave primária de qualquer das
entidades.
38
•São necessárias duas entidades;
•A chave primária de cada entidade serve de chave primária na entidade correspondente;
•A chave primária da entidade com participação não obrigatória tem de ser usada como
atributo na entidade correspondente à entidade cuja participação é obrigatória.
Caso 2 (1:1) - participação obrigatória de apenas uma das entidades:
• Todos os docentes têm de lecionar uma só disciplina.
Relacionamento binário de grau 1:1
39
Caso 3 (1:1) - sem participação obrigatória em ambas as entidades:
• Os docentes lecionam uma só disciplina, se não estiverem dispensados do serviço docente;
• Cada disciplina é assegurada por um docente, exceto se for opcional e se o número de
inscrições for inferior a 15 alunos.
Com a utilização de uma só entidade, surgem valores nulos quer para as disciplinas que
ainda não têm docente, quer para os docentes que não lecionam nenhuma disciplina.
Relacionamento binário de grau 1:1
40
A subdivisão da entidade em duas, segundo solução análoga à
regra 2, também origina valores nulos.
Obs.: A chave da entidade Lecionar pode ser NDoc ou #Disc.
Relacionamento binário de grau 1:1
41
São necessárias três entidades, uma para cada entidade e a
terceira para o relacionamento;
A chave primária de cada entidade serve de chave primária na
entidade correspondente;
A entidade correspondente ao relacionamento terá entre os seus
atributos as chaves primárias das duas entidades.
Relacionamento binário de grau 1:1
42
Caso 4 (1:N) - participação obrigatória do lado N:
(a participação obrigatória no lado 1 não afeta resultado)
• Os docentes podem lecionar várias disciplinas;
• Cada disciplina têm de ser assegurada por um só docente.
Relacionamento binário de grau 1:N
43
São necessárias duas entidades;
A chave primária de cada entidade serve de chave primária na
entidade correspondente;
A chave primária da entidade do lado 1 tem de ser usada como
atributo na entidade correspondente à entidade do lado N.
Relacionamento binário de grau 1:N
44
Caso 5 (1:N) - participação não obrigatória do lado N.
Relacionamento binário de grau 1:N
45
São necessárias três entidades, uma para cada entidade e a terceira para
o relacionamento;
A chave primária de cada entidade serve de chave primária na entidade
correspondente;
A entidade relativa ao relacionamento terá de ter entre os seus atributos as
chaves primárias de cada uma das entidades.
Relacionamento binário de grau 1:N
46
Caso 6 (N:M) - Quando o grau de relacionamento binário é N:M,
independentemente do tipo de participação, são sempre necessárias 3 entidades.
• Um docente pode lecionar várias disciplinas
• Uma disciplina pode ser lecionada por vários docentes
Com a utilização de uma só
entidade, surgem valores nulos
quer para as disciplinas que
ainda não têm docente, quer
para os docentes que não
lecionam nenhuma disciplina.
Relacionamento binário de grau N:M
47
São sempre necessárias três entidades, uma para cada entidade
e uma terceira para o relacionamento;
A chave primária de cada entidade serve de chave primária na
entidade correspondente;
A entidade relativa ao relacionamento terá de ter entre os seus
atributos as chaves primárias de cada uma das entidades.
Relacionamento binário de grau N:M
48
Relacionamentos binários múltiplos
Na maioria dos casos, uma entidade pode ter relacionamentos
binários com diversas entidades, ou seja, relacionamentos
binários múltiplos.
Exemplo:
• Um aluno pode inscrever-se em vários seminários;
• Um seminário é dirigido por vários instrutores;
• Um instrutor dirige vários seminários.
49
Supondo que um aluno tem de ser orientado por um instrutor
nos vários seminários (a intervenção do aluno é sempre a
mesma, mas ocorre em vários seminários), seria necessário
acrescentar outro relacionamento, obtendo-se:
Relacionamentos binários múltiplos
50
Supondo ainda, que o mesmo aluno pode ter vários instrutores,
que poderão ser diferentes, o seminário (intervenções diferentes
em cada seminário ), o relacionamento “orientado” passaria a ser
do tipo N:M.
Relacionamentos binários múltiplos
51
Relacionamento ternário
São sempre necessárias quatro entidades, uma para cada
entidade e uma quarta para o relacionamento;
A chave primária de cada entidade serve de chave primária na
entidade correspondente;
A entidade relativa ao relacionamento terá de ter entre os seus
atributos as chaves primárias de cada uma das entidades;
Num relacionamento de grau n são necessárias n+1 relações,
de modo inteiramente idêntico.
52
Obs.: Se cada aluno tiver um só instrutor num dado seminário, a
chave primária da entidade seria somente N_Aluno, N_seminário.
Relacionamento ternário
53
54
Especialização/Generalização
Entidade superior possui atributos que são comuns as entidades
inferiores.
Não podemos incluir os atributos da hierarquia inferior para a
hierarquia superior, pois os estudantes e professores se diferem
em dois atributos (nível e categoria.)
55
Modelo conceitual
Modelo lógico
Nível inferior
recebe a chave
da entidade
superior.
Especialização/Generalização
56
Nível inferior possui chave primária diferente
da chave superior.
Especialização/Generalização
57
Entidades
inferiores
terão chave
composta.
Especialização/Generalização
58
Agregação
59
A tabela para o conjunto de relacionamentos agente_empréstimo
inclui uma coluna para cada atributo, uma para chave primária do conjunto
de entidades empregado e uma para o conjunto de relacionamentos
devedor.
Poderia também incluir uma coluna para cada um dos atributos
descritivos do conjunto de relacionamentos agente_empréstimo, se eles
existirem.
Assim:
cliente, com os atributos nome_cliente, seguro_cliente, rua,
cidade;
empréstimo, com os atributos número_empréstimo, total;
devedor, com os atributos seguro_cliente, número_empréstimo;
empregado, com os atributos seguro_empregado,
nome_empregado, número_telefone;
agente_empréstimo, com os atributos seguro_empregado,
número empréstimo e seguro_cliente.
Agregação
60
Relações Reflexiva (auto-relacionamentos)
As relações reflexivas caracterizam-se por relacionar uma
única entidade com ela mesma.
61
Neste caso, a entidade cria relação com as suas propriedades como
atributos. A associação, por sua vez, cria uma relação que tem por chave
primária e por atributo a chave primária da relação criada a partir da
entidade.
Relações Reflexiva (auto-relacionamentos)
62
Neste caso, a entidade cria relação e a associação cria relação
tendo como chave primária a concatenação de duas chaves
primárias (renomeadas) da relação criada a partir da entidade.
Relações Reflexiva (auto-relacionamentos)
63
Relações Reflexiva (auto-relacionamentos)
64
Relações Reflexiva (auto-relacionamentos)
65
Exemplo:
66
67
68
69
70
71
72
73
74
Exercício
75
Exercício