UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Roteiro 5: Mapeamento para Relacional
Objetivos:
•
•
Detalhar os passos para a realização do mapeamento do ER e EER para relacional;
Realizar prática de mapeamento de campos multivalorados, relacionamentos 1xn e nxn;
Ferramentas necessárias
Navegador, Dia, Workbench, Bibliografias de livros da faculdade.
Introdução
Este roteiro tem como objetivo detalhar e executar os passos para que seja possível implementar um banco de dados
modelado em formato conceitual para o formato a ser utilizado realmente em implementações físicas.
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Muitas ferramentas utilizam diagramas ER ou variações para desenvolver um esquema graficamente, e depois convertem de
maneira automática em um esquema de banco de dados relacional na DDL de um SGBD relacional específico. Existem
algumas etapas a serem seguidas para a realização do mapeamento do esquema conceitual para o Relacional que serão
descritos utilizando o esquema relacional empresa descrito a seguir:
Figura 12 - Modelagem conceitual de empresa
P á g | 31
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
ETAPA 1: mapeamento de tipos de entidade regular: para cada tipo de entidade forte (ou regular) no esquema ER, deve ser
criada uma tabela que inclua todos os atributos simples. Nos caso de um atributo ser composto, devem ser incluídos
apenas os atributos simples. Deve ser escolhido um dos atributos-chave como chave primária, e se a chave escolhida for
composta todo o conjunto de atributos simples que a compõem formarão a chave primária da tabela gerada.
o
No exemplo serão criadas as tabelas FUNCIONÁRIO, DEPARTAMENTO E PROJETO. Atributos de chave
estrangeira ainda não serão incluídos, pois serão acrescentados em etapas seguintes. Estes incluem os
atributos Cpf_supervisor, Dnr de FUNCIONARIO, Cpf_gerentee Data_inicio_gerente de DEPARTAMENTO e
Dnum de PROJETO.
o
Neste exemplo foram escolhidos Cpf, Dnumero e Projnumero como chaves primárias para as relações
FUNCIONARIO, DEPARTAMENTO e PROJETO, respectivamente. O resultado da aplicação desta etapa é
demonstrado nas tabelas a seguir:
FUNCIONÁRIO
Pnome
Minicial
Unome
Cpf
Datanasc
Endereco
Sexo
Salario
DEPARTAMENTO
Dnome
Dnumero
Projnome
Projnumero
Projlocal
Figura 13 - Mapeamento das tabelas funcionario, departamento e projeto
ETAPA 2: Mapeamento dos tipos de entidade fraca: semelhante ao mapeamento de entidades fortes, para cada tipo de
entidade fraca no esquema ER é criada uma tabela e são incluídos todos os atributos simples (ou componentes simples dos
atributos compostos). Além disso, devem ser incluídos como atributos de chave estrangeira os atributos de chave
primária das relações que correspondem aos tipos de entidade proprietária. Isto consegue mapear o tipo de relacionamento
de identificação representado na modelagem.
o
A chave primária da tabela é a combinação das chaves primárias dos proprietários e a chave parcial do
tipo de entidade fraca, se houver.
ƒ
Neste exemplo foi criada a tabela DEPENDENTE, para corresponder ao tipo de entidade fraca DEPENDENTE.
Foi incluída a chave primária Cpf da relação FUNCIONÁRIO – que corresponde ao tipo de entidade proprietária
– como um atributo de chave estrangeira de DEPENDENTE, renomeado para Fcpf.
ƒ
A chave primária da relação DEPENDENTE é a combinação {Fcpf, Nome_dependente}, pois Nome_dependente
é a chave parcial de DEPENDENTE.
DEPENDENTE
Fcpf
Nome_depen
dente
Sexo
Datansc
Parentesco
Figura 14 - Mapeamento de entidades fracas
ETAPA 3: mapeamento dos tipos de relacionamento binários 1:1: Para cada tipo de relacionamento binário 1:1 no
esquema ER, identifique as relações que correspondem aos tipos de entidade participantes. Para realizar o mapeamento
existem 3 técnicas possíveis:
o
Técnica de chave estrangeira: onde é selecionada uma das relações e incluída como chave estrangeira em
uma entidade a chave primária de outra.
P á g | 32
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
PROJETO
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
ƒ
É melhor escolher um tipo de entidade com participação total na relação. No exemplo foi mapeado o tipo de
relacionamento 1:1 GERENCIA ao escolher o tipo de entidade de participação DEPARTAMENTO pois sua
participação no tipo de relacionamento GERENCIA é total (cada departamento tem um gerente).
ƒ
A chave primária de FUNCIONARIO foi incluída como chave estrangeira em DEPARTAMENTO e renomeada
como Cpf_gerente Foram incluídos os atributos Data_inicio do tipo de relacionamento GERENCIA na relação
DEPARTAMENTO e foi renomeado como Data_inicio_gerente.
o
Técnica de relacionamento mesclado: Outra alternativa é mesclar os dois tipos de entidade e o
relacionamento em uma única relação, e geralmente acontece quando ambas as participações são totais.
o
Técnica de relação de referência cruzada ou relacionamento: onde é criada uma terceira relação para a
finalidade de criar uma referência cruzada das chaves primárias das duas relações representando os tipos de
entidade.
ƒ
•
ETAPA 4: mapeamento dos tipos de relacionamentos 1:N: para cada tipo de relacionamento binário 1:N deve ser
identificada a relação que representa o tipo de entidade participante no lado N do tipo de relacionamento. Deve ser
incluído como chave estrangeira a chave primária da relação que representa o outro tipo de entidade participante da
relação.
o
No exemplo foram mapeados os tipos de relacionamento 1:N – TRABALHA_PARA, CONTROLA e SUPERVISAO.
o
TRABALHA_PARA: foi incluída a chave primária Dnumero da relação DEPARTAMENTO como chave estrangeira na
relação FUNCIONARIO com o nome de Dnr.
o
SUPERVISAO: foi incluída a chave primária da relação FUNCIONARIO como chave estrangeira na própria relação
FUNCIONARIO com o nome de Cpf_supervisor, pelo fato do relacionamento ser recursivo.
o
CONTROLA: é mapeado para o atributo de chave estrangeira Dnum de PROJETO, que referencia a chave primária
Dnumero da relação DEPARTAMENTO.
ETAPA 5: mapeamento de tipos de relacionamento binário N:N: Para cada relacionamento M:N deve ser criada
uma tabela para representar a relação. Devem ser incluídos como atributos de chave estrangeira as chaves primárias
das relações que representam os tipos de entidades participantes e a sua combinação formará a chave primária da
tabela gerada.
o
No exemplo foram mapeados os tipos de relacionamentos TRABALHA_EM criando a tabela (relação) TRABALHA_EM.
Foram incluídas as chaves primárias das relações PROJETO e FUNCIONARIO como chaves estrangeiras em
TRABALHA_EM e foram renomeadas como Pnr e Fcpf, respectivamente. Também foi incluído um atributo Horas para
representar o atributo Horas do tipo de relacionamento. A chave primária de TRABALHA_EM será a combinação dos
atributos de chave estrangeira {Fcpf, Pnr}.
TRABALHA_EM
Fcpf
Pnr
Horas
Figura 15 - Mapeamento da relação NxN trabalha_em
•
ETAPA 6: mapeamento de atributos multivalorados: Para cada atributo multivalorado A, deve ser criada uma
relação R incluindo um atributo correspondente a A, mais o atributo de chave primária Ch – como uma chave
estrangeira em R – da relação que representa o tipo de entidade ou tipo de relacionamento que tem A como atributo
multivalorado. A chave primária de R é a combinação de A e Ch. Se o atributo multivalorado for composto, serão
incluídos os seus atributos simples.
o
Para o exemplo foi criada uma relação LOCALIZACAO_DEP. O atributo Dlocalizacao representa o atributo multivalorado
LOCALIZACOES de DEPARTAMENTO, enquanto Dnumero – como chave estrangeira – representa a chave primária da
relação DEPARTAMENTO. A chave primária de LOCALICACAO_DEP é a combinação de {Dnumero,Dlocalizacao}
P á g | 33
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
•
A desvantagem deste modo é que sempre existirá uma relação extra e exigir uma operação de junção extra ao
combinar tuplas relacionadas das tabelas.
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
LOCALIZACAP_DEP
Dnumero
Dlocal
Tarefas
Prática de Mapeamento de modelagem Conceitual para Relacional
A Figura 16 ilustra um diagrama ER para um banco de dados que pode ser usado para registrar navios de transporte e
seus locais para autoridades marítimas. Mapeie esse esquema para um esquema relacional especificando as chaves
primárias e estrangeiras, as tabelas que serão geradas juntamente com os seus atributos do mapeamento. Para o
exercício, especifique as seguintes informações da modelagem:
a.
Que tabelas deverão ser geradas;
b.
Chaves primárias e estrangeiras;
c.
Quais os campos que estão contidos em quais tabelas. Nos campos, observar as seguintes situações:
i. Campos multivalorados;
ii. Campos derivados;
iii. Relacionamento 1x1;
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
1)
iv. Relacionamentos 1xN;
v. Relacionamentos NxN;
P á g | 34
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
Figura 16 - Modelagem conceitual de portos e de rotas de navios
d.
Gerar o modelo físico do banco no WorkBench com o nome bdNavios e executar o forward engineer .
e.
Gerar os insert’s para efetuar as seguintes listagens:
i. Listar o histórico de portos percorrido por um navio;
ii. Listar todos os navios de um tipo;
iii. Listar os nomes de todos os navios, o nome do porto de origem e o pais de origem;
Referências
•
Capítulo 7: Elmasri, Navathe – Sistemas de banco de dados 6ª Edição;
•
“Introdução a Banco de dados”, Osvaldo Kataro Tokai, disponível em http://pt.scribd.com/doc/50780287/BD;
•
Material disponibilizado em aula;
P á g | 35
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
4º sem– Análise e Desenvolvimento de Sistemas
Download

UC –Projeto de Banco de Dados