1. Transformação de Diagramas MER
O modelo E-R e o Modelo Relacional
são abstratos, ou seja, representações lógicas de empresas reais.
Como eles dois empregam princípios
de projetos similares, podemos converter o projeto E-R em projeto relacional.
Principais conceitos do MER:
Tipos de entidades
(regular, fraca)
Graus de relacionamentos
(binário, n-ário)
Atributos (simples,
compostos, multivalorados)
Restrições (chave,
cardinalidade, etc.)
Regras para efetuarmos o mapeamento:
Regra 1: Entidades Regulares
1.1. Para cada entidade regular E no esquema
E-R, criamos uma relação R que inclui os atributos simples de E.
1.2. Para cada atributo composto de E
incluímos somente os seus atributos simples.
1.3. Escolhemos um dos atributos chaves de E
para ser a chave primária de R.
Regra 2: Entidades Fracas
2.1. Para cada entidade fraca W, com entidade forte
E, no esquema E-R, criamos uma relação R
e incluímos todos os atributos simples de W como atributos de R.
2.2. Incluímos como atributos da chave estrangeira de R os
atributos que compõem a chave primária da entidade forte E.
2.3. A chave primária de R é a
combinação da chave primária da entidade forte E e a chave da entidade fraca W.
Exemplo: MER do Banco
Pagamento(número_empréstimo,número_pagamento,data_pagamento,total_pagamento)
Regra 3: Relacionamentos 1:1 com atributos no relacionamento
3.1. Identificamos as relações S e
T que correspondem às entidades que participam do relacionamento.
3.2. Escolhemos uma das relações,
digamos S, e incluímos como chave estrangeira em S a chave primária de T. É
melhor escolher para desempenhar o papel de S, a entidade que tenha
participação total no relacionamento.
3.3. Incluímos todos os atributos
simples do relacionamento 1:1 como atributos de S.
![]() |
SETOR(cód_setor,nome_setor,mat_funcionário,gratificação, data_nomeação)
Regra 4: Relacionamentos 1:N que não envolvem entidades fracas
4.1. Identificamos a relação S que representa a entidade que participa do lado N do
relacionamento.
4.2. Incluímos como chave
estrangeira em S, a chave primária da relação T que representa a outra entidade
(lado 1) que participa do relacionamento.
4.3. Incluímos qualquer atributo
simples do relacionamento 1:N em S.
1..N
1 Conta
EX.|:
CONTA(Num_conta,saldo, Nome_agência)
AGÊNCIA(Nome_agência, cidade,
fundos)
Regra 5: Relacionamento N:M
5.1. Criamos uma nova relação S para representar
o relacionamento.
5.2. Incluímos como chave estrangeira em S as
chaves primárias das relações que participam do relacionamento. A combinação
destas chaves formará a chave primária da relação S.
5.3. Incluímos qualquer atributo do relacionamento N:M
em S.
Podemos mapear o
relacionamento 1:1 ou 1:N de maneira similar ao M:N.
Isto é usado quando poucas instâncias do relacionamento existe, evitando
valores nulos nas chaves estrangeiras.
cliente empréstimoEX.
EMPRESTIMO(num_empréstimo,total)
CLIENTE(seguro, nome_cliente,cidade)
DEVEDOR(num_empréstimo, seguro)
Regra 6: Atributos Multivalorados
6.1. Criamos uma nova relação R
que inclui o atributo multivalorado A mais a chave primária K da relação que
representa a entidade (ou relacionamento) que tem A como atributo.
6.2. A chave primária de R é a
combinação de A e K.
6.3. Se o atributo multivalorado é
composto => incluir seus componentes atômicos.
Regra 7: Especialização/Generalização
7.1.
Converta cada especialização com m subclasses {S1,S2,...,Sm}
e superclasse C, cujos atributos são {k, a1,..., an}
onde k é a chave primária, em esquemas de relações usando uma das seguintes
opções:
A) Criar
uma relação L para C com os atributos Atrib(L) = {k,a1, ... , an} e chave
primária k. Criar também uma relação Li para cada subclasse Si, 1 i m, com os seguintes
atributos:
Atrib(Li) = {k} { atributos de Si}, k será
a chave primária.
Ex. Empregado(Matrícula, nome, salário, endereço,TipoTrabalho)
Técnico(Matrícula,Especialidade)
Engenheiro(Matrícula, Tipo, CREA)
Secretário(Matrícula, VelocidadeDigitação)
B) Se a generalização é mutuamente
exclusiva e total
Criar uma relação Li para cada
subclasse Si, 1 i m, com os atributos Atrib(Li)
= {atributos de Si} {k,a1,...,an} e chave primária (Li) = k.
Ex.:
Ex.:
Contas bancárias
CONTA(número_conta,saldo)
CONTA_POUPANÇA(num_conta, saldo, taxa_juros)
CONTA_MOVIMENTO(num_conta, saldo, limite_cheque_especial)
EX.:
CARRO ( Identificação,
Licença, Preço, VelMax, NumPassag)
CAMINHÃO(Identificação, Licença,
Preço, NumEixos, Tonelag)
Cria-se um novo campo cujo conteúdo será sempre igual a um
valor já existente na chave primária da própria tabela.
FUNCIONÁRIO(código, nome,
chefe)
Cria-se uma nova tabela R contendo a chave primária de A
como chave estrangeira em R e mais um campo cujo conteúdo será igual a um valor já existente na
chave primária de A.
Esses dois campos formarão a chave primária da tabela R.
DISCIPLINA(código,nome)
PRÉ-REQUISITO(cód_disciplina,pré-requisito)
Construa um Modelo de Entidades e
Relacionamento para um banco que é organizado em agências.
ü
Cada agência é localizada em uma cidade e é identificada por um nome único. O
banco controla os fundos de cada uma dessas agências
ü
Os clientes do banco são identificados
pelo número do seu seguro social. O banco mantém dados
como nome, CPF, telefone, rua, cidade e estado do cliente.
ü
Os clientes podem possuir contas e
contrair empréstimos. O cliente pode estar associado a um bancário específico que
cuida de seus negócios ou atua como gerente.
ü
Os empregados do banco também são
identificados por meio do número de seu seguro social. A administração do banco
mantém o nome e o número do telefone de seus empregados, dos dependentes. O
banco também possui a
data de contratação do empregado e com isto, seu tempo de trabalho.
ü
O banco oferece dois tipos de contas:
conta poupança e conta movimento. Um
correntista pode possuir mais de uma conta. Cada conta possui um único número.
O banco controla
o saldo de cada conta, assim como a data mais recente de acesso a esta conta.
Por outro lado, cada conta poupança possui a taxa de juros associada, assim
como são também registrados os excessos nos limites da conta movimento.
ü
Um empréstimo originado em uma agência
pode ter sido obtido por um cliente. Um empréstimo é identificado por um número
único. Para cada empréstimo o banco mantém o montante emprestado assim como os
pagamentos das parcelas
Transforme o Diagrama ER em projeto relacional
Questão 2
Deseja-se modelar um banco de
dados de futebol. Neste banco temos clubes que possuem torcida, técnico,
presidente e jogadores. Um time tem um nome e data de fundação. Registram-se os
campeonatos ganhos por um time (título, ano, nível (local,
regional ou nacional). Registram-se os jogos que um time realizou com
informação sobre placar, renda, data,
público pagante.
Um jogo acontece num estádio. Cada estádio possui localização, capacidade e
nome. Um time realiza seus treinos num estádio numa determinada data.
Registra-se informações
(nome, idade,sexo) dos torcedores técnicos, jogadores e
presidentes. Cada um
destes têm seus
relacionamentos com os times.
Pede-se:
1) Faça o diagrama conceitual
entidades-relacionamento do banco de dados descrito.
2) Transforme o Diagrama ER em
projeto relacional
Questão 3
Construa o diagrama E-R para a
secretaria de uma universidade. A universidade mantém todos os dados sobre cada
turma, inclusive do professor (que pode ter Mestrado, Doutorado e PHD), horário
e sala de aula. Também devem ser mantidos dados sobre disciplinas, com nome e
número da disciplina; sala com número da sala, capacidade e prédio; além de
notas dos alunos.
Pede-se:
1) Faça o diagrama
entidades-relacionamento do banco de dados descrito.
2) Transforme o Diagrama ER em
projeto relacional