![Page 1: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/1.jpg)
Bancos de Dados
Multimídia
Ticianne G.R. Darin
![Page 2: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/2.jpg)
Construindo Modelos ER
![Page 3: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/3.jpg)
Propriedades de Modelos ER
• Modelo ER é um modelo formal
• Tem poder de expressão limitado
• Diferentes modelos podem ser equivalentes
![Page 4: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/4.jpg)
Exemplo: poder de expressão limitado
![Page 5: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/5.jpg)
Exemplo: diagramas equivalentes
![Page 6: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/6.jpg)
Identificando Construções
• Não há regras definitivas...
• Atributo ou entidade?
![Page 7: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/7.jpg)
Identificando Construções
• Atributo ou especialização/generalização?
![Page 8: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/8.jpg)
Identificando Construções
• Atributos opcionais?
![Page 9: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/9.jpg)
Identificando Construções
• Atributo multivalorados?
![Page 10: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/10.jpg)
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
![Page 11: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/11.jpg)
Verificação do Modelo ER
• Modelo deve ser completo
– Todas propriedades expressáveis com modelos ER apareçam no modelo.
![Page 12: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/12.jpg)
Verificação do Modelo ER
• Modelo deve ser livre de redundâncias
![Page 13: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/13.jpg)
Verificação do Modelo ER
• Modelo deve refletir aspecto atemporal
– Atributos cujos valores modificam ao longo do tempo
![Page 14: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/14.jpg)
Verificação do Modelo ER
• Modelo deve refletir aspecto atemporal
– Relacionamentos que modificam ao longo do tempo
![Page 15: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/15.jpg)
Mapeamento ER - Relacional
![Page 16: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/16.jpg)
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
![Page 17: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/17.jpg)
![Page 18: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/18.jpg)
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
![Page 19: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/19.jpg)
![Page 20: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/20.jpg)
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
![Page 21: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/21.jpg)
![Page 22: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/22.jpg)
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
![Page 23: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/23.jpg)
![Page 24: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/24.jpg)
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
![Page 25: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/25.jpg)
![Page 26: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/26.jpg)
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
![Page 27: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/27.jpg)
![Page 28: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/28.jpg)
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
![Page 29: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/29.jpg)
![Page 30: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/30.jpg)
Modelo Relacional Correspondente
Dependente
Departamento
Empregado
Locais
Trabalha_em
Projeto
![Page 31: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/31.jpg)
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.
![Page 32: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/32.jpg)
Regra 7 – Relacionamento n-ário
CAC Cliente 1
N
Conta
Agencia N
CAC
![Page 33: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/33.jpg)
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).
![Page 34: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/34.jpg)
Regra 8: Autorelacionamento
gerencia
EMPREGADO
1 N
Gerencia É gerenciado
Empregado
![Page 35: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/35.jpg)
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.
![Page 36: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/36.jpg)
Regra 9: Generalização e Especialização
CLIENTE
PESSOA JURIDICA PESSOA FISICA
Pessoa_Fisica
Cliente
Pessoa_Juridica
![Page 37: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/37.jpg)
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
![Page 38: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/38.jpg)
Regra 10: Atributo composto
Pessoa
Pessoa
nome
primeiro último
do meio
cod
sexo
telefone
cod nome primeiro sexo fone do meio último
![Page 39: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/39.jpg)
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
![Page 40: Bdm aula 5 - construindo modelos er e mapeamento er-relacional](https://reader036.vdocuments.net/reader036/viewer/2022062319/558614bdd8b42a7d428b46d6/html5/thumbnails/40.jpg)
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