Projeto de Banco de Dados Relacional

 

 

1. Transformação de Diagramas MER em Diagramas DR

 

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.

 

Exemplo: Funcionário chefia setor

 

 

 


 

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

 
 


Fluxograma: Decisão: Conta_agência

1

 
Elipse: fundosElipse: cidadeElipse: Nome_
agência

Conta

 
EX.|:

Elipse: Num_conta
Elipse: saldo
 

 

 

 

 

 

 

 

 

 

 

 


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.


EX.

cliente

 

empréstimo

 
 

Elipse: cidade
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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.:

    


 

Elipse: SaldoElipse: Num_contaEx.: 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)


 

Regra 8:

8.1. Auto –Relacionamento 1:N

 

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)

 

 

8.2. Auto –Relacionamento N:M

 

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)

 

 

 

 


Questão 1 – Exercício de Modelagem

 

 

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