Bancos de Dados
Multimídia
Ticianne G.R. Darin
Construindo Modelos ER
Propriedades de Modelos ER
• Modelo ER é um modelo formal
• Tem poder de expressão limitado
• Diferentes modelos podem ser equivalentes
Exemplo: poder de expressão limitado
Exemplo: diagramas equivalentes
Identificando Construções
• Não há regras definitivas...
• Atributo ou entidade?
Identificando Construções
• Atributo ou especialização/generalização?
Identificando Construções
• Atributos opcionais?
Identificando Construções
• Atributo multivalorados?
Verificação do Modelo ER
• Modelo deve ser correto
– Erros sintáticos
– Erros semânticos
• Estabelecer associações incorretas.
• Usar uma entidade do modelo como atributo de outra entidade
• Usar o número incorreto de entidades em um relacionamento
Verificação do Modelo ER
• Modelo deve ser completo
– Todas propriedades expressáveis com modelos ER apareçam no modelo.
Verificação do Modelo ER
• Modelo deve ser livre de redundâncias
Verificação do Modelo ER
• Modelo deve refletir aspecto atemporal
– Atributos cujos valores modificam ao longo do tempo
Verificação do Modelo ER
• Modelo deve refletir aspecto atemporal
– Relacionamentos que modificam ao longo do tempo
Mapeamento ER - Relacional
Mapeamento ER-Relacional
• Um modelo relacional pode ser facilmente derivado de um modelo conceitual desenvolvido usando o modelo ER
• Seja o exemplo de modelagem ER a seguir
Regra 1 - Entidade forte
• Para cada Entidade Forte E no diagrama ER, criar uma tabela T que inclui todos os atributos de T
• O atributo chave de E será a chave primária da tabela T, recém criada.
Empregado
Regra 2 - Entidade fraca
• Para cada Entidade Fraca W no diagrama ER que tenha como entidade proprietária E:
– criar uma tabela T
– incluir todos os atributos simples de W como atributos de T
– incluir o atributo chave da entidade proprietária E
• A chave primária de T é a combinação do atributo chave de E, e da chave parcial de W
Dependente
Regra 3 - Relacionamento 1:1
• Para cada Relacionamento R de cardinalidade 1:1 no diagrama ER,
– identificar as relações das entidades participando do relacionamento R,
– escolher uma das relações e incluir como chave estrangeira, a chave primária da outra relação,
– incluir todos os atributos do relacionamento na relação escolhida, se por ventura, houver (atributos).
Departamento
Regra 4 - Relacionamento 1:N
• Para cada Relacionamento R de cardinalidade 1:N no diagrama ER,
– identificar a tabela S que representa a entidade do lado N,
– incluir como chave estrangeira a chave primária da tabela que representa a entidade do lado 1,
– incluir os atributos do relacionamento em S, se houve atributo(s) no relacionamento.
Empregado
Regra 5 - Relacionamento N:M
• Para cada Relacionamento R de N:M no diagrama ER:
– criar uma nova tabela para representar R,
– incluir como chave estrangeira as chaves primárias das tabelas que participam em R, estas chaves combinadas formarão a chave primária da relação,
– incluir eventuais atributos de R, se houver.
Trabalha_em
Regra 6 – Atributos Multivalorados
• Para cada Atributo Multivalorado A:
– criar uma nova tabela T, incluindo um atributo correspondendo a A, mais a chave primária K da tabela que tem A como atributo.
• A chave primária de T é a combinação de A e K.
Locais
Modelo Relacional Correspondente
Dependente
Departamento
Empregado
Locais
Trabalha_em
Projeto
Regra 7 – Relacionamento n-ário
• Para cada Relacionamento n-ário R (n > 2),
– criar uma nova tabela S para representar R,
– incluir como chaves estrangeiras as chaves primárias das tabelas que representam as entidades participantes,
– incluir os eventuais atributos de R, se houver.
• A chave primária de S é normalmente a combinação das chaves estrangeiras.
Regra 7 – Relacionamento n-ário
CAC Cliente 1
N
Conta
Agencia N
CAC
Regra 8: Autorelacionamento
• Para cada Auto-Relacionamento no diagrama E-R, deve-se usar as mesmas regras de mapeamento dos relacionamentos binários (1:1, 1:N, N:N).
Regra 8: Autorelacionamento
gerencia
EMPREGADO
1 N
Gerencia É gerenciado
Empregado
Regra 9: Generalização e Especialização
• Para cada Entidade Regular G de nível superior que inclui Generalização no diagrama ER
– criar uma tabela T que inclui todos os atributos de T.
• Para cada Entidade Regular E de nível inferior que inclui Especialização no diagrama ER
– criar uma nova tabela S para representar E,
– incluir os atributos de S
• A chave primária da entidade de nível superior se torna atributo de chave primária de cada entidade de nível inferior.
• A chave primária da entidade de nível superior se torna atributo de chave estrangeira de cada entidade de nível inferior.
Regra 9: Generalização e Especialização
CLIENTE
PESSOA JURIDICA PESSOA FISICA
Pessoa_Fisica
Cliente
Pessoa_Juridica
Regra 10: Atributo composto
• Para cada Atributo Composto C no diagrama E-R que tenha como entidade proprietária E,
– Incluir todos atributos pertencentes a C como atributos da tabela T, criada para representar E
Regra 10: Atributo composto
Pessoa
Pessoa
nome
primeiro último
do meio
cod
sexo
telefone
cod nome primeiro sexo fone do meio último
Atividade 2
• Refaça o diagrama ER do Trabalho 1 na ferramenta ERWIN
• Faça o mapeamento do modelo ER para o modelo relacional, fazendo a representação visual no MySQL Workbench
Até a próxima aula!
Não erreis: Deus não se deixa escarnecer; porque tudo o que o homem semear, isso também ceifará. Gálatas 6:7