aula 5 - mapeamento do modelo entidade relacionamento para o modelo relacional

2

Click here to load reader

Upload: joao-silva

Post on 24-Jul-2015

82 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 5 - Mapeamento Do Modelo Entidade Relacionamento Para o Modelo Relacional

© Marília Pinheiro, 2007

Mapeamento do Modelo Entidade Relacionamento para o Modelo Relacional Tópico 3 / Aula 5 Neste tópico veremos os passos para transformar um diagrama, feito a partir do Modelo Entidade Relacionamento MER, em um conjunto de tabelas segundo o Modelo Relacional MRel. O Objetivo desta aula é verificar o mapeamento dos relacionamentos unários ou auto-relacionamentos e fixar os passos para o mapeamento do MER para o MREL Vimos neste tópico como mapear os conjuntos de entidades e os relacionamentos do MER → MRel:

Veremos nesta aula um caso especial de relacionamento: os unários (ou relacionamentos recursivos ou auto-relacionamento). Seja o DER abaixo:

Neste diagrama, uma pessoa é casada com uma pessoa; e uma pessoa casada pode ser casada apenas com uma pessoa. O mapeamento deste tipo de relacionamento é feito de modo similar ao mapeamento dos relacionamentos binários de cardinalidade 1:1. O efeito é como se fosse feito um “desdobramento” do conjunto de entidades envolvido no relacionamento recursivo. Assim:

Vamos supor que PESSOA tenha os atributos CPF (chave primária) e NOME; e que o relacionamento É_CASADO_COM tenha como atributo DATA. Como os conjuntos de entidades são iguais, para cumprir o 1º. PASSO do mapeamento MER → MRel, criaríamos uma relação para PESSOA: PESSOA = {CPF, nome} Para cumprir o 2º. PASSO, nós acrescentaríamos à relação PESSOA os atributos do relacionamento, neste caso DATA, e a chave primária da relação PESSOA, ou seja, CPF. Assim, o mapeamento completo seria: PESSOA = {CPF, nome, CPF_cônjuge, data} Observe que o atributo CPF aparece duas vezes na relação PESSOA: uma vez como identificador das entidades “pessoas”, ou seja, como chave primária; e outra vez como chave estrangeira fazendo referência a outra pessoa do próprio conjunto de entidades PESSOA. Uma relação possível seria:

Com ela verificamos que a Ana Paula casou-se com o Jorge em 13/10/2001 e que José Roberto Filho é solteiro (ou não se sabe o CPF de seu cônjuge). Vejamos outro exemplo.

Neste caso, um empregado supervisor supervisiona diversos empregados e um empregado pode ser supervisionado por um só supervisor. Ou seja, o relacionamento tem razão de cardinalidade 1:N. Se “desdobrássemos” o relacionamento SUPERVISIONA, teríamos:

Se EMPREGADO tivesse os atributos CPF (chave primária) e NOME; e o relacionamento SUPERVISIONA contivesse o atributo TURNO; então o mapeamento resultaria na relação: EMPREGADO = {CPF, nome, CPF_supervisor, turno} Observe que a chave primária da relação que mapeia o conjunto de entidades que desempenha o papel de cardinalidade 1 – Empregado supervisor no caso – será a chave estrangeira na relação resultante – CPF_Supervisor. Exatamente como se procede no mapeamento de relacionamentos binários de razão de cardinalidade 1:N. Como exemplo, poderíamos ter:

Assim, a Ana Paula supervisiona o José Roberto e o Jorge Lucas no turno da tarde. Por fim, para o caso de relacionamentos N:M, teríamos:

Este diagrama indica que, para se cursar uma disciplina que possua pré-requisito, é preciso antes cursar a(s) disciplina(s) que é(são) seu(s) pré-requisito(s). Se desdobrássemos DISCIPLINA:

O 1º. PASSO para o mapeamento seria a criação da relação DISCIPLINA.Como não há relacionamentos 1:1, nem 1:N no diagrama acima, segue-se diretamente para o 4º. PASSO, quando se cria relação É_PREREQUISITO para mapeamento de relacionamento de cardinalidade N;M. Esta relação

Page 2: Aula 5 - Mapeamento Do Modelo Entidade Relacionamento Para o Modelo Relacional

© Marília Pinheiro, 2007

incorpora a chave primária da disciplina e a chave primária da disciplina que é pré_requisito. Assim, teríamos: Disciplina={nome, sigla} É_prerequisito = {sigla, sigla_prerequisito} Como exemplo:

Então, antes de cursar Tecnologia da Informação 2, é preciso cursar Tecnologia da Informação. Exercícios: 1. Faça o mapeamento MER → MRel dos diagramas abaixo: a.

b.

c.