Disciplina: Fundamentos de Armazenamento e Manipulação de Dados
Professor: Andre Rodrigo Sanches
AULA: Modelo físico / Modelagem física
O modelo físico ou modelo relacional é o modelo utilizado para
mapear um esquema de modelo ER para um conjunto de tabelas inter-relacionadas
(esquema de banco de dados relacional).
Veremos aqui um passo a passo para fazer corretamente este mapeamento.
Passo 1: Entidades fortes
- Para cada entidade forte do MER, crie uma tabela contendo todos os atributos
simples da entidade como colunas da tabela. O nome da tabela pode seguir um
padrão de nomenclatura, pode ser o próprio nome da entidade
ou outro nome que identifique que nesta tabela serão armazenados os
registros da entidade do MER;
- Inclua apenas os atributos mais simples de cada um dos atributos compostos
da entidade como colunas da tabela. Não inclua o atributo composto;
- Escolha uma chave candidata (que é a menor das superchaves) para
ser a chave primária da tabela. Se a chave candidata da entidade possuir
dois atributos, então a tabela terá duas colunas como chave
primária. Podemos sublinhar as colunas da tabela que são chaves
primárias, a fim de diferenciá-las de colunas que não
são chaves primárias;
- Cada atributo derivado da entidade é colocado como uma coluna da
tabela e sua respectiva fórmula de cálculo.
Passo 2: Entidades fracas
- Para cada entidade fraca do MER, crie uma tabela contendo todos os atributos
simples da entidade como colunas da tabela. O nome da tabela pode seguir um
padrão de nomenclatura, pode ser o próprio nome da entidade
ou outro nome que identifique que nesta tabela serão armazenados os
registros da entidade do MER;
- Inclua apenas os atributos mais simples de cada um dos atributos compostos
da entidade como colunas da tabela. Não inclua o atributo composto;
- Escolha uma chave parcial para ser parte da chave primária da tabela.
Se a chave parcial da entidade possuir dois atributos, então a tabela
terá duas colunas como parte da chave primária. Podemos sublinhar
as colunas da tabela que são chaves primárias, a fim de diferenciá-las
de colunas que não são chaves primárias;
- Esta entidade fraca depende de uma entidade forte. Então pegamos
as chaves primárias da entidade forte e as exportamos como colunas
da tabela da entidade fraca, surgindo o conceito de chaves estrangeiras. A
chave estrangeira é uma coluna da tabela da entidade fraca que armazenará
os valores da chave primária da tabela da entidade forte. Devemos colocar
N colunas onde N é a quantidade de chaves primárias da tabela
da entidade forte;
- Cada atributo derivado da entidade é colocado como uma coluna da
tabela e sua respectiva fórmula de cálculo.
Passo 3: Relacionamentos 1:1
- Para cada relacionamento binário do tipo 1:1 (um-para-um) no MER,
identifique as duas entidades participantes. Escolha a entidade que não
tem participação total na relação. Crie uma coluna
na tabela desta entidade que será uma chave estrangeira. Esta chave
estrangeira será a chave primária da outra entidade, que tem
participação total na relação;
- Inclua todos os atributos simples (e demais atributos simples de cada atributo
composto) da relação na tabela escolhida acima.
- Cada atributo derivado da relação é colocado como uma
coluna da tabela escolhida acima e sua respectiva fórmula de cálculo.
Passo 4: Relacionamentos 1:N
- Para cada relacionamento binário 1:N (um -para-muitos) no MER, identifique
a entidade que representa a entidade participante do lado N da relação.
- Inclua como chave estrangeira na tabela desta entidade a chave primária
da tabela que armazena os valores da entidade do lado com cardinalidade 1.
Isso ocorre porque cada registro desta tabela estará relacionado a
no máximo um registro da tabela que contém
o lado 1 da relação;
- Inclua todos os atributos simples (e demais atributos simples de cada atributo
composto) da relação na tabela escolhida acima;
- Cada atributo derivado da relação é colocado como uma
coluna da tabela escolhida acima e sua respectiva fórmula de cálculo.
Passo 5: Relacionamentos M:N
- Para cada relacionamento binário N:N (muitos-para-muitos) no MER,
crie uma nova tabela para representar este relacionamento N:N;
- Inclua como chaves estrangeiras as chaves primárias das duas tabelas
que armazenam os registros das duas entidades participantes. A combinação
destas chaves estrangeiras será a chave primária desta nova
tabela.
- Inclua todos os atributos simples (e demais atributos simples de cada atributo
composto) da relação na tabela escolhida acima;
- Cada atributo derivado da relação é colocado como uma
coluna da tabela escolhida acima e sua respectiva fórmula de cálculo.
Passo 6: Atributos multivalorados
- Para cada atributo multivalorado A de uma entidade, crie uma nova tabela.
Esta tabela conterá uma coluna correspondente ao atributo A (o atributo
propriamente dito) e mais uma coluna que será uma chave estrangeira.
Esta chave estrangeira será proveniente da chave primária da
tabela onde guardamos os registros da entidade.
- Caso o atributo multivalorado venha de uma relação, o procedimento
é o mesmo.
Passo 7: Relacionamentos N-ários
- Para cada relacionamento n-ário (ternário, quaternário,
etc.), onde n > 2 crie uma nova tabela para representar este relacionamento;
- Como chaves estrangeiras desta tabela, coloque todas as chaves primárias
de cada entidade participante da relação;
- Inclua todos os atributos simples (e demais atributos simples de cada atributo
composto) da relação na tabela escolhida acima;
- Cada atributo derivado da relação é colocado como uma
coluna da tabela escolhida acima e sua respectiva fórmula de cálculo;
- A chave primária desta nova tabela será a combinação
de chaves estrangeiras de cada entidade participante da relação.
Exercícios
- Porque devemos mapear o modelo ER para o modelo físico?
- Exemplo.
- Fazer o modelo físico do diagrama ER da empresa que modelamos em
grupo. É para utilizar os mesmos grupos.
Última Atualização: 13/05/2005