segunda-feira, 29 de agosto de 2011

Mapeamento para esquema lógico

Esquema lógico

É a representação do esquema conceitual ER (Entidade-Relacionamento) do banco de dados em um modelo lógico de dados, que pode ser: relacional, orientado a objeto, objeto-relacional, etc.
Para isso, é realizado o mapeamento das relações existentes no esquema conceitual para o modelo lógico escolhido.

Em seguida, será abordado o mapeamento do esquema conceitual ER para o modelo relacional, que se baseia em tabelas (relações).

Mapeamento de relacionamento binário 1:1

Um carro possui um motor e um motor pertence somente a um carro.

Regras para mapeamento: cria uma única tabela que contenha o atributo de todas as entidades envolvidas.
Carros (PLACA, MODELO, NUM_SERIE, POTENCIA)

Observação: o(s) campo(s) que forma(m) a chave primária da entidade deve(m) ser sublinhado(s).

Mapeamento de relacionamento binário 1:N

Um cliente pode realizar várias compras.

Regras para mapeamento: criar uma tabela para cada entidade e inserir uma chave estrangeira na tabela que possui cardinalidade N que faz referência à chave primária da tabela que possui cardinalidade 1.
Clientes (CPF, NOME)
Compras (COD_COMPRA, DATAHORA, CPF)

Observação: o campo CPF é uma chave estrangeira que faz referência à chave primária CPF da tabela Clientes.

Mapeamento de relacionamento binário N:N

Um produto pode ser vendido em várias vendas e uma venda possui vários produtos.

Regras para mapeamento: criar uma tabela para cada entidade e uma nova tabela com chaves estrangeiras que referenciam as chaves primárias das entidades envolvidas no relacionamento.
Vendas (COD_VENDA, DATAHORA)
Produtos (COD_PRODUTO, DESCRICAO, PRECO)
ProdutosVendas (COD_VENDA, COD_PRODUTO)

Mapeamento de relacionamento com atributos da relação

Ainda utilizando o exemplo anterior de Produtos e Vendas, é necessário enfatizar que podem existir relações que possuam atributos. Caso isso ocorra, os atributos da relação deverão ser inseridos na mesma tabela em que for(em) inserida(s) a(s) chave(s) estrangeira(s).

Vendas (COD_VENDA, DATAHORA)
Produtos (COD_PRODUTO, DESCRICAO, PRECO)
ProdutosVendas (COD_VENDA, COD_PRODUTO, QTDE_VENDIDA, PRECO_VENDA)

Mapeamento de auto-relacionamento

Um usuário coordena outros usuários.

Regras para mapeamento: criar uma única tabela com os atributos da entidade e acrescentar um campo que referencie a própria chave primária da tabela.
Usuários (LOGIN, Senha, LOGIN_COORDENADOR)

Mapeamento de relacionamento N-Ário

Uma turma assiste aulas de várias disciplinas ministradas por vários professores.

Regras para mapeamento: criar uma tabela para cada entidade da relação e criar uma nova tabela que contenha chaves estrangeiras que referenciem as chaves primárias das entidades envolvidas no relacionamento.
PROFESSORES (CPF, NOME)
TURMAS (COD_TURMA, ANO, SEMESTRE)
DISCIPLINAS (SIGLA, NOME)
PROFTURMADISC (CPF, COD_TURMA, SIGLA)

Mapeamento de relacionamento N-Ário com auto-relacionamento

Um usuário escreve recados para outros usuários.

Regras para mapeamento: a mesma regra do mapeamento de relacionamento n-ário.
USUARIOS (LOGIN, SENHA)
RECADOS (COD_RECADO, TEXTO, DATAHORA)
USUARIOSRECADOS (LOGIN_REMETENTE, COD_RECADO, LOGIN_DESTINATARIO)

Mapeamento de generalização de entidades

Funcionários e Clientes são um tipo de Pessoa.

Regras para mapeamento: criar uma única tabela que contenha todos os atributos das entidades. Os atributos das entidades-filhas devem ser opcionais. Deve ser acrescentado um campo “tipo” para informar a qual entidade o registro se refere.
PESSOAS (CPF, NOME, SAUDACAO, DATAADMISSAO, TIPO)

1 comentários:

Joilson disse...

Muito Obrigado Ajudou bastante!

Postar um comentário