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

  1. 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;
  2. Inclua apenas os atributos mais simples de cada um dos atributos compostos da entidade como colunas da tabela. Não inclua o atributo composto;
  3. 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;
  4. Cada atributo derivado da entidade é colocado como uma coluna da tabela e sua respectiva fórmula de cálculo.

 

Passo 2: Entidades fracas

  1. 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;
  2. Inclua apenas os atributos mais simples de cada um dos atributos compostos da entidade como colunas da tabela. Não inclua o atributo composto;
  3. 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;
  4. 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;
  5. Cada atributo derivado da entidade é colocado como uma coluna da tabela e sua respectiva fórmula de cálculo.

 

Passo 3: Relacionamentos 1: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;
  2. Inclua todos os atributos simples (e demais atributos simples de cada atributo composto) da relação na tabela escolhida acima.
  3. 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

  1. 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.
  2. 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;
  3. Inclua todos os atributos simples (e demais atributos simples de cada atributo composto) da relação na tabela escolhida acima;
  4. 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

  1. Para cada relacionamento binário N:N (muitos-para-muitos) no MER, crie uma nova tabela para representar este relacionamento N:N;
  2. 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.
  3. Inclua todos os atributos simples (e demais atributos simples de cada atributo composto) da relação na tabela escolhida acima;
  4. 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

  1. 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.
  2. Caso o atributo multivalorado venha de uma relação, o procedimento é o mesmo.

 

Passo 7: Relacionamentos N-ários

  1. Para cada relacionamento n-ário (ternário, quaternário, etc.), onde n > 2 crie uma nova tabela para representar este relacionamento;
  2. Como chaves estrangeiras desta tabela, coloque todas as chaves primárias de cada entidade participante da relação;
  3. Inclua todos os atributos simples (e demais atributos simples de cada atributo composto) da relação na tabela escolhida acima;
  4. Cada atributo derivado da relação é colocado como uma coluna da tabela escolhida acima e sua respectiva fórmula de cálculo;
  5. A chave primária desta nova tabela será a combinação de chaves estrangeiras de cada entidade participante da relação.

Exercícios

  1. Porque devemos mapear o modelo ER para o modelo físico?
  2. Exemplo.
  3. 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