23
Projeto de BD Relacional Vitor Valerio de Souza Campos Projeto de BD Relacional Objetivos Mostrar um conjunto de regras para transformar um Diagrama Entidade- Relacionamento em um Diagrama Relacional

Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

  • Upload
    ngokhue

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD Relacional

Vitor Valerio de Souza Campos

Projeto de BD RelacionalObjetivos

� Mostrar um conjunto de regras paratransformar um Diagrama Entidade-Relacionamento em um Diagrama Relacional

Page 2: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD RelacionalSumário

� Transformação do DER para o DR � 1- Implementação inicial de entidades

� Regra 1: Entidade Regular� Regra 2: Entidade Dependente ou fraca

� 2- Implementação de relacionamentos� Regra 3: Relacionamento binário 1:1� Regra 4: Relacionamento binário 1:n� Regra 5: Relacionamento binário n:n

Projeto de BD Relacional

� 1- Implementaçao inicial de entidades� É a transformação de cada entidade do diagrama

ER em uma tabela no modelo relacional.� Neste processo para cada atributo da entidade do

diagrama ER define uma coluna desta tabela.� Os atributos identificadores da entidade

correspondem às coluna que compõem a chaveprimária da tabela.

Page 3: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� Regra 1: Entidades Regulares� 1.1. Para cada entidade regular no DER,

criamos uma relação (tabela) que inclui osatributos simples da entidade regular.

� 1.2. Para cada atributo composto da entidaderegular incluímos somente os seus atributossimples.

� 1.3. Escolhemos um dos atributos chaves daentidade regular para ser a chave primária darelação (tabela).

Transformação do DER para o DR

Empregado (NEmp, NomeEmp, Salário)

� Regra 1: Entidade Regular� Aplicação da regra 1 para mapear a entidade

Empregado sem atributos multivaloradospara uma relação (tabela) Empregado.

NEmp é chave primária de Empregado

Page 4: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� Regra 2: Entidade Fraca� Aplica-se esta regra quando o identificador de

uma entidade, é composto não somente poratributos da própria entidade mas também porrelacionamentos das quais a entidade participa(relacionamento identificador).

Transformação do DER para o DR

� Regra 2: Entidade Fraca� Cada dependente está relacionado a

exatamente um empregado. Um dependente éidentificado pelo empregado ao qual ele estárelacionado e por um nome que distingue osdiferentes dependentes de um mesmoempregado.

Page 5: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� Regra 2: Entidade Fraca� Passo 2.1 - Para cada entidade fraca no DER,

criamos uma tabela e incluímos todos osatributos da entidade fraca como atributos databela.

Dependente (NomeDep, DataNasc)

Empregado (NEmp,...)

Transformação do DER para o DR

� Regra 2: Entidade Fraca� Passo 2.2 – Aplicando a regra 2 Adicionamos

como atributo da tabela Dependente a chaveprimária da tabela Empregado

Empregado (NEmp,...)

Dependente (NEmp, NomeDep, DataNasc)

NEmp é chave primária de Empregado e chave estrangeira de Dependente

Page 6: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� Regra 2: Entidade Fraca� Passo 2.3 – Aplicando a regra 2 que diz

identificador de uma entidade fraca, écomposto não somente por atributos da própriaentidade mas também por relacionamentos dasquais a entidade participa tem-se:

Dependente (NEmp, NomeDep, DataNasc)

NEmp e NomeDep é chave primária de Dependente

Transformação do DER para o DR

� 2 - Implementação de relacionamentos� O fator determinante para a tradução a

adotar no caso do relacionamento é acardinalidade mínima e máxima dasentidades que participam dorelacionamento.

� Há três formas básicas para tradução derelacionamentos para o modelo relacionalapresentadas a seguir.

Page 7: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� 2.1 - Tabela própria� Dado o relacionamento entre entidades

� O relacionamento é implementado através deuma tabela própria. Esta tabela contém asseguinte colunas:� Colunas correspondem aos identificadores das

entidades relacionadas.� Colunas correspondem aos atributos do

relacionamento.

Transformação do DER para o DR

� 2.1- Tabela própria� A chave primária desta tabela é o conjunto

das colunas correspondentes aosidentificadores das entidade relacionadas.

� Esquema relacional correspondente:� Engenheiro (CodEng, Nome)� Projeto (CodProj, Título)� Atuação (CodEng, CodProj, Função)

� CodEng referencia Engenheiro

� CodProj referencia Projeto

� A tabela Atuação implementa o relacionamentoAtuação

Page 8: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� 2.2 - Colunas adicionais dentro da tabelade entidade� Inserção de colunas em uma tabela

correspondente a uma das entidades queparticipam do relacionamento.

� Este tipo de tradução somente é possívelquando uma das entidades que participa dorelacionamento tem cardinalidade máxima 1.

Transformação do DER para o DR

� 2.2 - Colunas adicionais dentro da tabelade entidade� Dado o relacionamento entre entidades

� Neste relacionamento a entidade Empregadopossui cardinalidade máxima 1, sendo ela aescolhida para adicionar as colunas dorelacionamento Lotação.

Page 9: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� 2.2 - Colunas adicionais dentro da tabelade entidade� Na tabela correspondente a cardinalidade

máxima 1 são adicionadas as seguintescolunas.� Colunas correspondentes ao identificador da

entidade relacionada, no caso o identificador daentidade Departamento, que é uma chaveestrangeira em relação a tabela Empregado

� Colunas correspondentes aos atributos dorelacionamento – no caso do exemplo a colunaDataLota.

Transformação do DER para o DR

� 2.2 - Colunas adicionais dentro da tabelade entidade

� Esquema relacional correspondente� Departamento (CodDept, Nome)� Empregado (CodEmp, Nome, CodDept,

DataLota)

� CodDept referencia Departamento

Page 10: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� 2.3 - Fusão de tabelas de entidades� Relacionamento que é implementado através

da fusão das tabelas referentes às entidadesenvolvidas no relacionamento.

� Esta tradução somente é aplicada quando orelacionamento é de tipo 1:1.

� A tradução consta de implementar todosatributos de ambas as entidades, bem comoos atributos do relacionamento em um únicaentidade.

Transformação do DER para o DR

� 2.3 - Fusão de tabelas de entidades� Dado o relacionamento entre entidades

� Esquema relacional correspondente� Conferência (CodConf, Nome, DataInstComOrg,

EnderComOrg)

Page 11: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� Regra 3: Relacionamento binário 1:1� Passo 3.1 - Para cada entidade no DER,

criamos uma tabela e incluímos todos osatributos da entidade como atributos databela

Empregado (Nemp, NomeEmp, Salário)

Departamento (Ndept, NomeDept)

Transformação do DER para o DR

� Regra 3: Relacionamento binário 1:1� Passo 3.2 – Em cada uma das tabelas,

identificar e sublinhar o(s) atributo(s) dachave primária.

Empregado (Nemp, NomeEmp, Salário)

Departamento (Ndept, NomeDept)

Page 12: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Transformação do DER para o DR

� Regra 3: Relacionamento Binário 1:1� Passo 3.3 – Aplicando a implementação de

relacionamentos através de colunas adicionaisdentro da tabela de entidade, temos:Departamento (Ndept, NomeDept, Nemp)

Nemp é chave estrangeira de Empregado

� Regra 4: Relacionamento binário de 1:N� Passo 4.1 - Para cada entidade no DER,

criamos uma tabela e incluímos todos osatributos da entidade como atributos da tabela.

Transformação do DER para o DR

Empregado (Nemp, NomeEmp, Salário)

Departamento (Ndept, NomeDept)

Page 13: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

� Regra 4: Relacionamento binário de 1:N� Passo 4.2 - Em cada uma das tabelas,

identificar e sublinhar o(s) atributo(s) da chaveprimária.

Transformação do DER para o DR

Empregado (Nemp, NomeEmp, Salário)

Departamento (Ndept, NomeDept)

� Regra 4: Relacionamento binário 1:N� Passo 4.3 - Adicionamos a entidade

Empregado que participa do lado “n” dorelacionamento a chave primária da relaçãoDepartamento.

Transformação do DER para o DR

Empregado (Nemp, NomeEmp, Salário, NDept)

Departamento (Ndept, NomeDept)

NDept é chave estrangeira de Empregado

Ndept referencia Departamento

Page 14: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

� Regra 4: Relacionamento binário 1:N� Passo 4.4 – Caso o relacionamento tenha

atributos, adicionamos eles à entidadeDepartamento que participa do lado “1” dorelacionamento.

Transformação do DER para o DR

� Regra 5: Relacionamento binário n:n� Passo 5.1 - Para cada entidade no DER,

criamos uma tabela e incluímos todos osatributos da entidade como atributos databela.

Transformação do DER para o DR

Empregado (Nemp, NomeEmp, Salário)

Projeto (NProj, NomeProj, Local)

Page 15: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

� Regra 5: Relacionamento binário n:n� Passo 5.2 - Em cada uma das tabelas,

identificar e sublinhar o(s) atributo(s) dachave primária.

Transformação do DER para o DR

Empregado (Nemp, NomeEmp, Salário)

Projeto (NProj, NomeProj, Local)

� Regra 5: Relacionamento binário n:n� Passo 5.3 - Criar uma nova relação

Participa-de para representar orelacionamento Participa-de entre asentidades.

Transformação do DER para o DR

Participa-de (HsTrab)

Page 16: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

� Regra 5: Relacionamento binário n:n� Passo 5.4 - Incluímos como chave estrangeira

em Participa-de as chaves primárias das relaçõesque participam do relacionamento.

Transformação do DER para o DR

Participa-de (Nemp, Nproj, HsTrab)

� Regra 5: Relacionamento binário n:n� Passo 5.5 - A combinação destas chaves formará

a chave primária da relação Participa-de, quedeve ser sublinhada.

� A cardinalidade entre Empregado e Participa-dee entre Projeto e Participa-de será de 1:n.

Transformação do DER para o DR

Participa-de (Nemp, Nproj, HsTrab)

Page 17: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD Relacional

Exemplo de Diagrama ER (DER)

Projeto de BD RelacionalModelo lógico do DER

� Mapear entidades para tabelas.

� Entidade Empregado

� Empregado (Nemp, NomeEmp, Salário)

� Entidade Dependente

� Dependente (NomeDep, DataNasc)

� Entidade Departamento

� Departamento (Ndept, NomeDept)

� Entidade Projeto

� Projeto (NProj, NomeProj, Local)

Page 18: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD RelacionalModelo lógico do DER

� Entidade fraca Dependente.

� A entidade Dependente é uma entidade fraca,

assim, aplicando a regra 2 adicionamos como

atributo da tabela Dependente a chave primária da

tabela Empregado.

� NEmp e NomeDep forma chave primária de

Dependente

� Dependente (NEmp, NomeDep, DataNasc)

Projeto de BD RelacionalModelo lógico do DER

� Mapear os relacionamentos 1:1.

� Relacionamento Gerencia entre Empregado e

Departamento tem cardinalidade mínima e máxima

1.

� Aplica-se a regra 3, assim, a implementação de

relacionamento é feita através de coluna adicional

dentro da tabela Departamento.

� Departamento (Ndept, NomeDept, Nemp)

� Nemp referencia Empregado

Page 19: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD RelacionalModelo lógico do DER

� Mapear os relacionamentos 1:n.

� Relacionamento Trabalha para entre Empregado

e Departamento tem cardinalidade 1:n.

� Aplica-se a regra 4, assim, adicionamos a entidade

Empregado que participa do lado “n” do

relacionamento a chave primária da relação

Departamento.

� Empregado (Nemp, NomeEmp, Salário, NDept)

� Departamento (Ndept, NomeDept)

� Ndept referencia Departamento

Projeto de BD RelacionalModelo lógico do DER

� Mapear os relacionamentos 1:n.

� Relacionamento Controla entre Departamento e

Projeto tem cardinalidade 1:n.

� Aplica-se a regra 4, assim, adicionamos a entidade

Projeto que participa do lado “n” do

relacionamento a chave primária da relação

Departamento.

� Projeto (Nproj, NomeProj, Local, NDept)

� Departamento (Ndept, NomeDept)

� Ndept referencia Departamento

Page 20: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD RelacionalModelo lógico do DER

� Mapear os relacionamentos n:n.

� Relacionamento Participa-de entre Empregado e

Projetos tem cardinalidade n:n.

� Aplica-se a regra 5, assim, Cria-se uma nova

relação Participa-de e incluí-se como chave

estrangeira as chaves primárias das relações que

participam do relacionamento.

Projeto de BD RelacionalModelo lógico do DER

� Mapear os relacionamentos n:n.

� A combinação destas chaves formará a chave

primária da relação Participa-de.

� Participa-de (Nemp, Nproj, HsTrab)

� Nemp referencia Empregado

� Nproj referencia Projeto

Page 21: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD RelacionalModelo lógico do DER� Diagrama relacional do Diagrama ER.

� Dependente (NEmp, NomeDep, DataNasc)

� Empregado (Nemp, NomeEmp, Salário, NDept)

� Ndept referencia Departamento

� Departamento (Ndept, NomeDept, Nemp)

� Nemp referencia Empregado

� Projeto (NProj, NomeProj, Local, Ndept)

� Ndept referencia Departamento

� Participa-de (Nemp, Nproj, HsTrab)

� Nemp referencia Empregado

� Nproj referencia Projeto

Projeto de BD RelacionalModelo lógico do DER

� Para criar o esquema lógico do diagrama relacional deve primeiro criar as tabelas Empregado, Dependente, Departamento e Projeto.

� Neste processo deverão ser criadas a chaves primárias de cada tabela

� Não serão levadas em consideração os tipos dos atributos neste processo.

Page 22: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Projeto de BD RelacionalModelo lógico do DER

� Tabelas do esquema lógico

Projeto de BD RelacionalModelo lógico do DER

� Relacionamentos do esquema lógico

Page 23: Projeto de BD Relacional - uel.br Projeto de BD Relacional - 2 folhas.pdf · Transformação do DER para o DR 1- Implementação inicial de entidades ... 2.3 - Fusão de tabelas de

Fontes consultadas

� Sistemas de banco de dados, Elmasri –Navathe

� http://www.dsc.ufcg.edu.br/~baptista/cursos/BDadosI/