Mapeamento ER-Relacional
Prof. Daniel Callegari
Material elaborado pela Profa. Karin Becker
Mapeamento ER-Relacional

Técnica:
1.
2.
Redefinição de nomes
Mapeamento de Entidades
•
•
•
•
3.
Mapeamento de Relacionamentos
•
•
•
4.
5.
Definição de identificações
Atributos compostos
Atributos multivalorados
Resolução de identificação externa (entidade fraca)
Tabela Própria
Colunas Adicionais
Fusão
Hierarquias Generalização/Especialização
Revisão do modelo resultante
Mapeamento: Redefinição de nomes

Redefinir, quando conveniente, os nomes dos
diversos elementos notacionais para que passem a
ser mais adequados operacionalmente:



nomes mais curtos
eliminação de espaços em branco e caracteres especiais
adoção de padrões da organização para definição de nomes
Mapeamento: Entidade

Entidade : transformar em tabela

identificação




atributos




a chave primária é o identificador primário da Entidade
trocar identificador do UdD por código, quando inadequado
do ponto de vista computacional (longo, composto, muito
complexo e/ou muito referenciado)
podem ser definidas restrições UNIQUE para identificações
alternativas
obrigatórios: use a cláusula NOT NULL
opcionais: não use a cláusula NOT NULL
mantenha nomes de atributos curtos e padronizados
indexe atributos muito consultados
Mapeamento: Entidade
CLIENTE
CIC
nome
(1-N)
é-de
POSSE
sexo (0-1)
(0-N)
tem
CONTA
nro
data
saldo
Create table cliente
(cic char(11) not null primary key,
nome varchar(60) not null,
sexo char(1));
Create table conta
(nro number(5) not null primary key,
Saldo number(10,2) not null);
CLIENTE
CIC
nome
sexo
CONTA
Nro
Saldo
Mapeamento: Entidade

Requerem tratamento especial:



Atributo composto
Atributo multi-valorado
Identificador externo (entidade fraca)
Mapeamento: Entidade

Eliminação de atributos compostos
endereço
CLIENTE

Alternativas :

esquecer de agregações lógicas (“aplainar”)
CLIENTE
rua

nro
ap (0-1)
esquecer da composição (“combinar”)
CLIENTE
endereço
rua
nro
ap (0-1)
Mapeamento: Entidade

Eliminação de atributos multivalorados

Alternativas

substituir por n atributos fixos


desde que se saiba e possa limitar o valor de “n”
criar uma nova Entidade, relacionada à Entidade original

identificação da nova Entidade pode ser o próprio atributo, ou
um identificador externo
Eliminação de Atributo Repetitivo : Exemplo
LIVRO
isbn
titulo
autor (1-n)
LIVRO
isbn
titulo
autor (1-n)
pal-chave(1-3)
pc1
pc2 (0-1)
pc3 (0-1)
Eliminação de Atributo Repetitivo : Exemplo
LIVRO
isbn
LIVRO
isbn
escreveu
(1-1)
titulo
LIVRO
isbn
titulo
titulo
Autoria
ou
escreveu
(1-n)
Autoria
autor (1-n)
escrito-por
(1-n)
AUTOR
nome
escrito-por
(1-n)
nome
AUTOR
Mapeamento: Entidades Fracas

Eliminação de identificadores externos



Na tabela correspondente à entidade fraca, incluir um
campo correspondente à chave primária da tabela
correspondente à entidade forte
Definir este campo como chave estrangeira
Criar uma chave primária para a entidade fraca composta
do identificador da entidade fraca mais a chave estrangeira
Eliminação de Identificador Externo : Exemplo
é-de
(1-1)
Sócio
matr
DEP
nome
parentesco
Dependente
nome
SOCIO
matr
Dependente
nome
Sócio
matr
tem
(0-n)
nome
nome
Chave estrangeira
matr
DEPENDENTE
nome
matr
parentesco
parentesco
Eliminação de Identificador Externo :
propagação de identificadores
Grupo
1-1
1-n
GE
codg
Grupo
codg
Grupo
codg
Empresa
1-1
1-n
EE
code
Empresa
codg
codg
codemp
1-1
EE
1-n
code
Empregado
codemp
code
Empresa
Empregado
Empregado
codg
code
codemp
Mapeamento: Relacionamento

Relacionamentos são implementados usando
chaves estrangeiras


Chaves primárias representando as entidades
participantes.
Três Técnicas

Tabela Própria


Colunas Adicionais em Tabela de Entidade


Aconselhado para cardinalidades máximas N:M
Aconselhado para cardinalidades máximas 1:1 e 1:N
Fusão de Tabelas de Entidades

Aconselhado para alguns casos de cardinalidades máximas
1:1
Mapeamento: Relacionamento

Mapeamento de Relacionamento por tabela própria

Transformar o relacionamento em tabela contendo



Atributos identificadores das Entidades participantes da
relação.
 Defini-las como chaves estrangeiras.
Atributos do relacionamento, se existirem.
Identificação


Relacionamento é identificado por entidades participantes?
 Composição dos identificadores das Entidades .
Relacionamento é identificado por composição das entidades
participantes e atributos do relacionamento?
 Composição dos identificadores das entidades e destes
atributos.
Mapeamento de relacionamento por Tabela
Própria: Exemplo
(1-N)
CLIENTE
é-de
nome
CIC
(0-N)
POSSE
CONTA
nro
data
CLIENTE
CIC
tem
saldo
CONTA
Nome
Nro
Saldo
Chave estrangeira
Chave estrangeira
POSSE
CIC
Nro
Data
Tabela Própria: Exemplo
CLIENTE
CIC
CONTA
Nome
Nro
Saldo
Chave estrangeira
Chave estrangeira
POSSE
CIC
Create table cliente
(cic char(11) not null primary key,
nome varchar(60) not null);
Nro
Data
Create table Posse
(cic char(11) not null,
Nro number(5) not null,
Data date not null,
Create table conta
Primary key(cic, nro),
(nro number(5) not null primary key, Foreign key cic references cliente,
Saldo number(10,2) not null);
Foreign key nro references conta);
Mapeamento de relacionamento por Tabela
Própria: Exemplo
(1-N)
CLIENTE
CIC
loc-por
(0-N)
LOCAÇÂO
locou
valor (0-1)
nome
VIDEO
codv
título
data
CLIENTE
CIC
VIDEO
Codv
Nome
LOCACAO
CIC
Codv
Data
Titulo
valor
Mapeamento de relacionamento por Tabela
Própria: Exemplo
CLIENTE
CIC
VIDEO
Codv
Nome
LOCACAO
CIC
Codv
Create table cliente
(cic char(11) not null primary key,
nome varchar(60) not null);
Create table video
(codv number(3) not null primary key,
titulo varchar(100) not null);
Data
Titulo
valor
Create table locacao
(cic char(11) not null,
codv number(3) not null,
data date not null,
valor number(4,2),
Primary key(cic, nro, data),
Foreign key cic references cliente,
Foreign key codv references video);
Download

mapeamento generalizacao