mapeamento e-r modelo relacionalsantanch/teaching/db/2013-1/...atributos identificadores da entidade...

90
Mapeamento E-R Modelo Relacional Banco de Dados: Teoria e Prática André Santanchè Instituto de Computação – UNICAMP Agosto 2011 Picture by http://www.flickr.com/photos/morganmorgan/ 2010

Upload: others

Post on 06-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento E-R →Modelo Relacional

Banco de Dados: Teoria e PráticaAndré Santanchè

Instituto de Computação – UNICAMPAgosto 2011

Pic

ture

by

htt

p:/

/ww

w.f

lickr

.co

m/p

ho

tos/

mo

rgan

mo

rgan

/ 201

0

Page 2: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Modelo Lógico

esquema conceitual

esquema lógico

Banco de Dados

Modelo Físico

esquema físico

Modelo Conceitual

Visão Externa 1 Visão Externa 2 Visão Externa n

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 3: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 1Entidade Regular

Page 4: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Entidade Regular

L IVRO

ISBN

título

autor

ano categoria

?

Page 5: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 1

Entidade Regular

▪ Entidade regular traduzida em relação (tabela)

▪ Atributos da entidade traduzidos em atributos (colunas) da relação

▫ Atributos identificadores convertidos em chave primária

Page 6: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 1

Entidade Regular

LIVRO

ISBN

título

autor

ano categoria

LIVRO(ISBN, Título, Autor, Ano, Categoria)

LIVRO

ISBN Título Autor Ano Categoria

9580471444 Vidas Secas Graciliano Ramos 1938 Romance

958047950X Agosto Rubem Fonseca 1990 Romance

0554253216 Micrographia Robert Hooke 1665 Ciências

Page 7: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 2Entidade Fraca

Page 8: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Entidade Fraca

(1,1) (0,n)LIVRO

ISBN

título

autor

ano categoria

sequência

data aquisição

TEM EXEMPLAR

?

Page 9: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 2

Entidade Fraca

▪ Entidade fraca traduzida em tabela

▪ Atributos da entidade traduzidos em colunas da relação

▪ Chave estrangeira na tabela/entidade fraca = chave primária da entidade proprietária

▪ Chave primária da tabela/entidade fraca

▫ Atributos identificadores da entidade fraca

+

▫ Chave primária da entidade proprietária

Page 10: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 2

Entidade Fraca

(1,1) (0,n)LIVRO

ISBN

título

autor

ano categoria

sequência

data aquisição

TEM EXEMPLAR

LIVRO(ISBN, Título, Autor, Ano, Categoria)EXEMPLAR(ISBN, Sequência, DataAquisicao)

Page 11: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 3Relacionamento 1:1

Page 12: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamento 1:1

ARMÁRIOOCUPA1 1

código

nome

telefone

PESSOA

código tamanho

?

Page 13: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamentos 1:1

Tipo de Relacionamento

Regra de Implementação

Tabela Própria

Adição Coluna

Fusão Tabelas

(0,1 ) (0,1 )

(0,1 ) (1 ,1 )

(1 ,1 ) (1 ,1 )

(Heuser, 2004)

Page 14: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

PESSOA ARMÁRIOOCUPA(0,1) (0,1)

Etapa 2

Relacionamento 1:1

▪ Exemplo:

▪ Três alternativas:

a) Chave estrangeira

b) Relacionamento incorporado

c) Relação de relacionamento

Page 15: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:1 (Opção A)

Chave Estrangeira

▪ Opção mais usada

▫ deve ser seguida a não ser em casos excepcionais

▪ Chave primária de uma das relações torna-se chave estrangeira da outra

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanho

Page 16: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanho

ARMÁRIO(Código, Tamanho)

Código Tamanho

1A simples

2A duplo

1B simples

2B duplo

ARMÁRIOCódigo Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

PESSOA(Código, Nome, Telefone)

Page 17: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanho

ARMÁRIO(Código, Tamanho, Ocupante)

Código Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

Código Tamanho Ocupante

1A simples 1637

2A duplo (nulo)

1B simples (nulo)

2B duplo 2111

ARMÁRIO

PESSOA(Código, Nome, Telefone)

Page 18: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanhodata hora

PESSOA(Código, Nome, Telefone)

ARMÁRIO(Código, Tamanho, Ocupante, Data, Hora)

Código Tamanho Ocupante Data Hora

1A simples 1637 03/08 10:20

2A duplo (nulo) (nulo) (nulo)

1B simples (nulo) (nulo) (nulo)

2B duplo 2111 03/08 11:45

ARMÁRIOCódigo Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

Page 19: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:1 (Opção B)

Relacionamento Incorporado

▪ Fusão das duas relações em uma única

▪ Recomendação: ambas devem ter participação total na relação

Page 20: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:1 (Opção C)

Relação de Relacionamento

▪ Relacionamento se transforma em terceira relação

▪ Terceira relação – referência cruzada

▫ mantém chave de ambas as relações envolvidas no relacionamento

Page 21: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIO(Código, Tamanho)

Código Tamanho

1A simples

2A duplo

1B simples

2B duplo

ARMÁRIOCódigo Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

PESSOA(Código, Nome, Telefone)

OCUPA(CodPessoa, CodArmário, Data, Hora)

CodPessoa CodArmário Data Hora

1637 1A 03/08 10:20

2111 2B 03/08 11:45

OCUPA

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanhodata hora

Page 22: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 4Relacionamento 1:n

Page 23: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Chave Estrangeira

Estante LivroGuarda1 n

?

Page 24: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamentos 1:n

(Heuser, 2004)

Tipo de Relacionamento

Regra de Implementação

Tabela Própria

Adição Coluna

Fusão Tabelas

(0,1 ) (0,n)

(0,1 ) (1 ,n)

(1 ,1 ) (0,n)

(1 ,1 ) (1 ,n)

Page 25: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:N

Chave Estrangeira

▪ Chave primária de uma das relações torna-se chave estrangeira da outra

Estante LivroGuarda1 n

Page 26: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 5Relacionamento n:m

Page 27: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamento n:m

Pessoa LivroEscreven n

?

Page 28: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamentos n:m

(Heuser, 2004)

Tipo de Relacionamento

Regra de Implementação

Tabela Própria

Adição Coluna

Fusão Tabelas

(0,n) (0,n)

(0,n) (1 ,n)

(1 ,n) (1 ,n)

Page 29: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento M:N

Relação de Relacionamento

▪ Relacionamento se transforma em terceira relação

▪ Terceira relação – referência cruzada

▫ mantém chave de ambas as relações envolvidas no relacionamento

Pessoa LivroEscreven n

Page 30: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento M:N

Relação de Relacionamento

▪ Relacionamento se transforma em terceira relação

▪ Terceira relação – referência cruzada

▫ mantém chave de ambas as relações envolvidas no relacionamento

Pessoa LivroEscreven n

Page 31: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 6Atributos Multivalorados

Page 32: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 6

Atributos Multivalorados

▪ Modelo Relacional não permite atributos multivalorados

?

Page 33: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 6

Atributos Multivalorados

▪ Atributo vira tabela M

▪ Chave primária da entidade vira chave estrangeira de M

▪ Chave primária de M:

▫ Chave primária da entidade

+

▫ Atributo multivalorado

▪ Se atributo for composto, componentes viram colunas de M

Page 34: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 7Relacionamento n-ário

Page 35: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamento n-ário

n

1Distribuidor

Cidade

Livro

Distribuição

n

?

Page 36: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 8Generalização/Especialização (EER)

Page 37: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Generalização / Especialização

data associaçãodata admissão função

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

ct?

Page 38: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

xp

Mapeamento

Generalização / Especialização

?

Page 39: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 8

Generalização / Especialização

▪ Uma tabela por hierarquia

▪ Uma tabela por entidade especializada

▫ Subdivisão da entidade genérica

Page 40: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

PERTENCE(0,n) (1,n)

PESSOA ARMÁRIOOCUPA(0,1) (0,1)

EMPRÉSTIMO

(0,1)

(0,n)

CATEGORIA

SUBORDINADA

super-categoriasubcategoria(0,n) (0,1)

ESTANTE

GUARDA

(0,n)

(1,1)

LIVRO

ER Biblioteca

Page 41: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

LimiteDe

1

N

End-Deixar

EndereçoResidencial

Até

End-Apanhar

1

N

@

1

1

1

Zona

Zona

Fila

DataHoraIn*KMIn*

CorridaAgendada

Data PedidoData Hora Corrida

1

N

1

1

Logradouro

LogIdNomeCidadeEstado

Numeração

Número

[Complemento][Bairro][CEP]

Cliente

CliIdNome[CPF][CGC]

1

N

N0

1

1

N

N

N

Legenda:[ ] - atributo opcional* - informação preenchida após inclusão inicial@ - um táxi só pode aparecer uma vez na fila

CorridaEfetivada

Hora Início Fila

Hora DeixouKm Final

Hora Apanhou

1

1

N

1

Motorista

CNHNome

CNHValid

Taxi

PlacaMarca

ModeloAnoFabLicença

MT

Endereço

1

1

1

N

1

1

1 1N N

por prof. Geovane Cayres Magalhães

Page 42: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Referências

▪ Codd, Edgar Frank (1970) A relational model of data for large shared data banks. Communications ACM 13(6), 377-387.

▪ Elmasri, Ramez; Navathe, Shamkant B. (2010) Sistemas de Banco de Dados. Pearson, 6a edição em português.

▪ Guimarães, Célio (2003) Fundamentos de Bancos de Dados: Modelagem, Projeto e Linguagem SQL. Editora UNICAMP, 1a edição.

Page 43: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Referências▪ Heuser, Carlos Alberto (2004) Projeto de Banco de

Dados. Editora Sagra Luzzato, 5a edição.

▪ Ramakrishnan, Raghu; Gehrke, Johannes (2003) Database Management Systems. McGraw-Hill, 3rd edition.

Page 44: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

André Santanchèhttp://www.ic.unicamp.br/~santanche

Page 45: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

License▪ These slides are shared under a Creative Commons License.

Under the following conditions: Attribution, Noncommercial and Share Alike.

▪ See further details about this Creative Commons license at:http://creativecommons.org/licenses/by-nc-sa/3.0/

Page 46: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento E-R →Modelo Relacional

Banco de Dados: Teoria e PráticaAndré Santanchè

Instituto de Computação – UNICAMPAgosto 2011

Pic

ture

by

htt

p:/

/ww

w.f

lickr

.co

m/p

ho

tos/

mo

rgan

mo

rgan

/ 20

10

Page 47: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Modelo Lógico

esquema conceitual

esquema lógico

Banco de Dados

Modelo Físico

esquema físico

Modelo Conceitual

Visão Externa 1 Visão Externa 2 Visão Externa n

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 48: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 1Entidade Regular

Page 49: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Entidade Regular

L IVRO

ISBN

título

autor

ano categoria

?

Page 50: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 1

Entidade Regular

▪ Entidade regular traduzida em relação (tabela)

▪ Atributos da entidade traduzidos em atributos (colunas) da relação

▫ Atributos identificadores convertidos em chave primária

“Esse passo é razoavelmente óbvio: cada entidade é traduzida para uma tabela. Neste processo, cada atributo da entidade define uma coluna desta tabela. Os atributos identificadores da entidade definem as colunas que compõem a chave primária da tabela.” (Heuser, 2004, p. 105)

==========

Step 1: Mapping of Regular Entity Types.– For each regular (strong) entity type E in the ER schema, create a

relation R that includes all the simple attributes of E.– Choose one of the key attributes of E as the primary key for R. If the

chosen key of E is composite, the set of simple attributes that form it will together form the primary key of R.

Example: We create the relations EMPLOYEE, DEPARTMENT, and PROJECT in the relational schema corresponding to the regular entities in the ER diagram. SSN, DNUMBER, and PNUMBER are the primary keys for the relations EMPLOYEE, DEPARTMENT, and PROJECT as shown.

__________(Elmasri, 2007, s. 7-3)

Page 51: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 1

Entidade Regular

LIVRO

ISBN

título

autor

ano categoria

LIVRO(ISBN, Título, Autor, Ano, Categoria)

LIVRO

ISBN Título Autor Ano Categoria

9580471444 Vidas Secas Graciliano Ramos 1938 Romance

958047950X Agosto Rubem Fonseca 1990 Romance

0554253216 Micrographia Robert Hooke 1665 Ciências

Page 52: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 2Entidade Fraca

Page 53: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Entidade Fraca

(1,1) (0,n)LIVRO

ISBN

título

autor

ano categoria

sequência

data aquisição

TEM EXEMPLAR

?

Page 54: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 2

Entidade Fraca

▪ Entidade fraca traduzida em tabela

▪ Atributos da entidade traduzidos em colunas da relação

▪ Chave estrangeira na tabela/entidade fraca = chave primária da entidade proprietária

▪ Chave primária da tabela/entidade fraca

▫ Atributos identificadores da entidade fraca

+

▫ Chave primária da entidade proprietária

“Step 2: Mapping of Weak Entity TypesFor each weak entity type, create a relation R and

include all simple attributes of the entity type as attributes of R

Include primary key attribute of owner as foreign key attributes of R” (Elmasri, 2010b)

Page 55: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 2

Entidade Fraca

(1,1) (0,n)LIVRO

ISBN

título

autor

ano categoria

sequência

data aquisição

TEM EXEMPLAR

LIVRO(ISBN, Título, Autor, Ano, Categoria)EXEMPLAR(ISBN, Sequência, DataAquisicao)

Page 56: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 3Relacionamento 1:1

Page 57: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamento 1:1

ARMÁRIOOCUPA1 1

código

nome

telefone

PESSOA

código tamanho

?

Page 58: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamentos 1:1

Tipo de Relacionamento

Regra de Implementação

Tabela Própria

Adição Coluna

Fusão Tabelas

(0,1 ) (0,1 )

(0,1 ) (1 ,1 )

(1 ,1 ) (1 ,1 )

(Heuser, 2004)

Page 59: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

PESSOA ARMÁRIOOCUPA(0,1) (0,1)

Etapa 2

Relacionamento 1:1

▪ Exemplo:

▪ Três alternativas:

a) Chave estrangeira

b) Relacionamento incorporado

c) Relação de relacionamento

n Step 3: Mapping of Binary 1:1 Relation Typesn For each binary 1:1 relationship type R in the ER schema, identify the

relations S and T that correspond to the entity types participating in R.n There are three possible approaches:

Foreign Key approach: Choose one of the relations-say S-and include a foreign key in S the primary key of T. It is better to choose an entity type with total participation in R in the role of S.

n Example: 1:1 relation MANAGES is mapped by choosing the participating entity type DEPARTMENT to serve in the role of S, because its participation in the MANAGES relationship type is total.

Merged relation option: An alternate mapping of a 1:1 relationship type is possible by merging the two entity types and the relationship into a single relation. This may be appropriate when both participations are total.

Cross-reference or relationship relation option: The third alternative is to set up a third relation R for the purpose of cross-referencing the primary keys of the two relations S and T representing the entity types.

__________(Elmasri, 2007, s. 7-9)

Page 60: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:1 (Opção A)

Chave Estrangeira

▪ Opção mais usada

▫ deve ser seguida a não ser em casos excepcionais

▪ Chave primária de uma das relações torna-se chave estrangeira da outra

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanho

Page 61: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanho

ARMÁRIO(Código, Tamanho)

Código Tamanho

1A simples

2A duplo

1B simples

2B duplo

ARMÁRIO

Código Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

PESSOA(Código, Nome, Telefone)

Page 62: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanho

ARMÁRIO(Código, Tamanho, Ocupante)

Código Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

Código Tamanho Ocupante

1A simples 1637

2A duplo (nulo)

1B simples (nulo)

2B duplo 2111

ARMÁRIO

PESSOA(Código, Nome, Telefone)

Page 63: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanhodata hora

PESSOA(Código, Nome, Telefone)

ARMÁRIO(Código, Tamanho, Ocupante, Data, Hora)

Código Tamanho Ocupante Data Hora

1A simples 1637 03/08 10:20

2A duplo (nulo) (nulo) (nulo)

1B simples (nulo) (nulo) (nulo)

2B duplo 2111 03/08 11:45

ARMÁRIOCódigo Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

Page 64: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:1 (Opção B)

Relacionamento Incorporado

▪ Fusão das duas relações em uma única

▪ Recomendação: ambas devem ter participação total na relação

Criar um exemplo aqui

Page 65: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:1 (Opção C)

Relação de Relacionamento

▪ Relacionamento se transforma em terceira relação

▪ Terceira relação – referência cruzada

▫ mantém chave de ambas as relações envolvidas no relacionamento

Page 66: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

ARMÁRIO(Código, Tamanho)

Código Tamanho

1A simples

2A duplo

1B simples

2B duplo

ARMÁRIOCódigo Nome Telefone

1525 Asdrúbal 5432-1098

1637 Doriana 9876-5432

1701 Quincas 8765-4321

2042 Melissa 7654-3210

2111 Horácio 6543-2109

PESSOA

PESSOA(Código, Nome, Telefone)

OCUPA(CodPessoa, CodArmário, Data, Hora)

CodPessoa CodArmário Data Hora

1637 1A 03/08 10:20

2111 2B 03/08 11:45

OCUPA

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanhodata hora

Page 67: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 4Relacionamento 1:n

Page 68: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Chave Estrangeira

Estante LivroGuarda1 n

?

Page 69: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamentos 1:n

(Heuser, 2004)

Tipo de Relacionamento

Regra de Implementação

Tabela Própria

Adição Coluna

Fusão Tabelas

(0,1 ) (0,n)

(0,1 ) (1 ,n)

(1 ,1 ) (0,n)

(1 ,1 ) (1 ,n)

Page 70: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento 1:N

Chave Estrangeira

▪ Chave primária de uma das relações torna-se chave estrangeira da outra

Estante LivroGuarda1 n

Page 71: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 5Relacionamento n:m

Page 72: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamento n:m

Pessoa LivroEscreven n

?

Page 73: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamentos n:m

(Heuser, 2004)

Tipo de Relacionamento

Regra de Implementação

Tabela Própria

Adição Coluna

Fusão Tabelas

(0,n) (0,n)

(0,n) (1 ,n)

(1 ,n) (1 ,n)

Page 74: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento M:N

Relação de Relacionamento

▪ Relacionamento se transforma em terceira relação

▪ Terceira relação – referência cruzada

▫ mantém chave de ambas as relações envolvidas no relacionamento

Pessoa LivroEscreven n

Page 75: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Relacionamento M:N

Relação de Relacionamento

▪ Relacionamento se transforma em terceira relação

▪ Terceira relação – referência cruzada

▫ mantém chave de ambas as relações envolvidas no relacionamento

Pessoa LivroEscreven n

Page 76: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 6Atributos Multivalorados

Page 77: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 6

Atributos Multivalorados

▪ Modelo Relacional não permite atributos multivalorados

?

Page 78: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 6

Atributos Multivalorados

▪ Atributo vira tabela M

▪ Chave primária da entidade vira chave estrangeira de M

▪ Chave primária de M:

▫ Chave primária da entidade

+

▫ Atributo multivalorado

▪ Se atributo for composto, componentes viram colunas de M

“Step 6: Mapping of Multivalued Attributes

For each multivalued attribute

Create a new relation

Primary key of R is the combination of A and K

If the multivalued attribute is composite, include its simple components” (Elmasri, 2010)

Page 79: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 7Relacionamento n-ário

Page 80: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Relacionamento n-ário

n

1Distribuidor

Cidade

Livro

Distribuição

n

?

Page 81: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 8Generalização/Especialização (EER)

Page 82: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Mapeamento

Generalização / Especialização

data associaçãodata admissão função

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

ct?

Page 83: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

xp

Mapeamento

Generalização / Especialização

?

Page 84: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Etapa 8

Generalização / Especialização

▪ Uma tabela por hierarquia

▪ Uma tabela por entidade especializada

▫ Subdivisão da entidade genérica

Page 85: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

PERTENCE(0,n) (1,n)

PESSOA ARMÁRIOOCUPA(0,1) (0,1)

EMPRÉSTIMO

(0,1)

(0,n)

CATEGORIA

SUBORDINADA

super-categoriasubcategoria(0,n) (0,1)

ESTANTE

GUARDA

(0,n)

(1,1)

LIVRO

ER Biblioteca

Page 86: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

LimiteDe

1

N

End-Deixar

EndereçoResidencial

Até

End-Apanhar

1

N

@

1

1

1

Zona

Zona

Fila

DataHoraIn*KMIn*

CorridaAgendada

Data PedidoData Hora Corrida

1

N

1

1

Logradouro

LogIdNomeCidadeEstado

Numeração

Número

[Complemento][Bairro][CEP]

Cliente

CliIdNome[CPF][CGC]

1

N

N0

1

1

N

N

N

Legenda:[ ] - atributo opcional* - informação preenchida após inclusão inicial@ - um táxi só pode aparecer uma vez na fila

CorridaEfetivada

Hora Início Fila

Hora DeixouKm Final

Hora Apanhou

1

1

N

1

Motorista

CNHNome

CNHValid

Taxi

PlacaMarca

ModeloAnoFabLicença

MT

Endereço

1

1

1

N

1

1

1 1N N

por prof. Geovane Cayres Magalhães

Page 87: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Referências

▪ Codd, Edgar Frank (1970) A relational model of data for large shared data banks. Communications ACM 13(6), 377-387.

▪ Elmasri, Ramez; Navathe, Shamkant B. (2010) Sistemas de Banco de Dados. Pearson, 6a edição em português.

▪ Guimarães, Célio (2003) Fundamentos de Bancos de Dados: Modelagem, Projeto e Linguagem SQL. Editora UNICAMP, 1a edição.

Elmasri, Ramez; Navathe, Shamkant B. (2007) Fundamentals of Database Systems. Addison-Wesley, 5th edition (companion slides).

Ramakrishnan, Raghu; Gehrke, Johannes (2003b) Database Management Systems. McGraw-Hill, 3rd edition (companion slides).

Page 88: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

Referências▪ Heuser, Carlos Alberto (2004) Projeto de Banco de

Dados. Editora Sagra Luzzato, 5a edição.

▪ Ramakrishnan, Raghu; Gehrke, Johannes (2003) Database Management Systems. McGraw-Hill, 3rd edition.

Page 89: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

André Santanchèhttp://www.ic.unicamp.br/~santanche

Page 90: Mapeamento E-R Modelo Relacionalsantanch/teaching/db/2013-1/...Atributos identificadores da entidade fraca + Chave primária da entidade proprietária “Step 2: Mapping of Weak Entity

License▪ These slides are shared under a Creative Commons License.

Under the following conditions: Attribution, Noncommercial and Share Alike.

▪ See further details about this Creative Commons license at:http://creativecommons.org/licenses/by-nc-sa/3.0/