Post on 11-Nov-2018
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
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.
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
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.
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
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.
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
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.
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
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)
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)
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)
� 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
� 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)
� 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)
� 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)
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)
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
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
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
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.
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
Fontes consultadas
� Sistemas de banco de dados, Elmasri –Navathe
� http://www.dsc.ufcg.edu.br/~baptista/cursos/BDadosI/