90
Mapeamento Modelo Conceitual Lógico Banco de Dados: Teoria e Prática André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 Picture by http://www.flickr.com/photos/morganmorgan/ 2010

Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

MapeamentoModelo Conceitual Lógico→

Banco de Dados: Teoria e PráticaAndré Santanchè e Patrícia CavotoInstituto de Computação – UNICAMP

Agosto 2015

Pic

ture

by

htt

p:/

/ww

w.f

lickr

.co

m/p

ho

tos/

mo

rgan

mo

rgan

/ 201

0

Page 2: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Modelo/Esquema Conceitual

▪ Descreve estrutura do Banco de Dados

▫ entidades, tipos de dados, relações, restrições etc.

▪ Independente de implementação em SGBD

▫ oculta detalhes de armazenamento físico

Modelo Conceitual

Banco de Dados

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

Usuários Finais

Modelo Lógico

Modelo Físico

esquema conceitual

esquema lógico

esquema físico

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 3: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Modelo/Esquema Lógico

▪ Dependente de um SGBD particular

▪ Associado a um “modelo de dados de implementação” (Elmasri, 2005)

Modelo Conceitual

Banco de Dados

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

Usuários Finais

Modelo Lógico

Modelo Físico

esquema conceitual

esquema lógico

esquema físico

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 4: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 5: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento E-R Relacional→

Lógico

Conceitual Entidade-Relacionamento

Relacional

Banco de DadosRelacional

mapeamento

Page 6: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento Objeto Relacional→

Lógico

Conceitual Orientado aObjetos

Relacional

Banco de DadosRelacional

mapeamento

Page 7: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento Objeto Objeto→

Banco de DadosOrientado a

Objetos

Lógico

Conceitual Orientado aObjetos

Orientado aObjetos

mapeamento

Page 8: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento ER Objeto→

Banco de DadosOrientado a

Objetos

Lógico

Conceitual

Orientado aObjetos

mapeamento

Entidade-Relacionamento

Page 9: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamentos

ER Relacional→Objeto Relacional→

Page 10: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 1Entidade Regular

Page 11: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Entidade Regular

L IVRO

ISBN

título

autor

ano categoria

?

Page 12: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 13: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 14: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Classe

-isbn: String-titulo: String-autor: String-ano: int-categoria: String

Livro

?

Page 15: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Classe como Entidade?

LIVRO

ISBN

título

autor

ano categoria

?-isbn: String-titulo: String-autor: String-ano: int-categoria: String

Livro

Page 16: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 1

Classe

▪ Classe traduzida em relação (tabela)

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

▪ Chave primária – opções:

▫ definida a partir dos atributos relacionais

▫ atributo novo de identificador único que emula o dos objetos

Page 17: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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

-isbn: String-titulo: String-autor: String-ano: int-categoria: String

Livro

Page 18: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Caso dos Marcadores

Page 19: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores de Sites na WebModelo ER

título

endereço

acessos

Marcador

Page 20: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores de Sites na WebModelo UML

Marcador-titulo: String-endereco: String-acessos: int

Page 21: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores e CategoriasModelo Relacional

Marcador(Titulo, Endereco, Acessos)

Titulo AcessosTerra 295

2SBC 26Correios 45

296Google 1590Yahoo 134Orkut 45

3Submarino 320

Endereco http://www.terra.com.br

POVRay http://www.povray.org http://www.sbc.org.br http://www.correios.com.br

GMail http://www.gmail.com http://www.google.com http://www.yahoo.com http://www.orkut.com

iBahia http://www.ibahia.com http://www.submarino.com.br

Page 22: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 2Relacionamento 1:1

Page 23: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Relacionamento 1:1

ARMÁRIOOCUPA1 1

código

nome

telefone

PESSOA

código tamanho

?

Page 24: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Relacionamento 1:1

?

Pessoa Armárioocupa

0..1 0..1

Page 25: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Relacionamento 1:1

ARMÁRIOOCUPA1 1

código

nome

telefone

PESSOA

código tamanho

?

Pessoa Armárioocupa

0..1 0..1

Page 26: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 27: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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

Etapa 2

Relacionamento 1:1

▪ Exemplo:

▪ Três alternativas:

a) Chave estrangeira (Adição de coluna)

b) Relacionamento incorporado (Fusão de tabelas)

c) Relação de relacionamento (Tabela própria)

Page 28: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 29: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Relacionamento 1:1 (Opção A)

Quem deve apontar para quem?

ARMÁRIOOCUPA1 1

código

nome

telefone

PESSOA

código tamanho

?

Pessoa Armárioocupa

0..1 0..1

Page 30: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

UML navegabilidade→

Pessoa Armárioocupa

0..1 0..1

Pessoa Armárioocupado

0..1 0..1

Page 31: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 32: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 33: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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)

Pessoa Armárioocupado

0..1 0..1

Page 34: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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)

Pessoa Armárioocupado

0..1 0..1

Page 35: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 36: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 37: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 38: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 39: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Exercício 1

▪ Mapeie o seguinte modelo ER para relacional:

Vírus

nome identificador data

possui Genoma(0,1) (1,1)

Page 40: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 3Relacionamento 1:n

Page 41: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Relacionamento 1:n

Estante LivroGuarda1 n

?

(1,1)(0,n)Estante LivroGuarda

Page 42: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 43: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Relacionamento 1:N

Chave Estrangeira

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

Estante LivroGuarda1 n

(1,1)(0,n)Estante LivroGuarda

Page 44: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Chave Estrangeira

?

ESTANTE

código estante capacidade

(1,1)(0,n)GUARDA LIVRO

ISBN

título

autor

ano categoria

Page 45: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Chave Estrangeira

ESTANTE(código_estante, capacidade)

LIVRO(isbn, título, autor, ano, categoria, ref_estante)

- ref_estante: chave estrangeira para ESTANTE

ESTANTE

código estante capacidade

(1,1)(0,n)GUARDA LIVRO

ISBN

título

autor

ano categoria

Page 46: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Categorias de MarcadoresModelo ER

Serviços

Vendas

Superior

subcategoria

super-categoria

Categoria

Superior

super-categoriasubcategorian 1

título

Page 47: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Categorias de MarcadoresModelo ER

Categoria

Superior

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

título

Categoria

Superior

super-categoriasubcategorian 1

título

Page 48: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Serviços

Vendas

Superior

subcategoria

super-categoria

subordinada

+super-categoria

+subcategoria0..1

0..*

Categoria-titulo: String

Categorias de MarcadoresModelo UML

Page 49: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores e CategoriasModelo ER

Pertencen 1

Categoria

Superior

super-categoriasubcategorian 1

títulotítulo

endereço

acessos

Marcador

Page 50: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores e CategoriasModelo ER

Pertence(1,1) (0,n)

Categoria

Superior

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

títulotítulo

endereço

acessos

Marcador

Page 51: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores e CategoriasModelo UML

subordinada

+super-categoria

+subcategoria0..1

0..*

Categoria-titulo: String

Marcador-titulo: String-endereco: String-acessos: int

pertence

0..* 1..1

Page 52: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores e CategoriasModelo Relacional

Marcador(Titulo, Endereco, Acessos, Categoria)

Titulo Acessos CategoriaTerra 295 Portal

2 CGSBC 26 SociedadeCorreios 45 Serviços

296Google 1590 BuscaYahoo 134 ServiçosOrkut 45 Serviços

3 PortalSubmarino 320 Serviços

Endereco http://www.terra.com.br

POVRay http://www.povray.org http://www.sbc.org.br http://www.correios.com.br

GMail http://www.gmail.com Mail http://www.google.com http://www.yahoo.com http://www.orkut.com

iBahia http://www.ibahia.com http://www.submarino.com.br

Page 53: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Tabela TaxonomiaModelo Relacional

Geral

Serviços AcadêmicoRelacionamento

Busca Portal Mail Vendas Universidade CG Sociedade

Categoria SuperiorGeralServiços GeralAcadêmico GeralRelacionamento GeralBusca ServiçosPortal Serviços

ServiçosVendas ServiçosUniversidade AcadêmicoCG AcadêmicoSociedade Acadêmico

Mail

Page 54: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Tabela TaxonomiaModelo Relacional

Geral

Serviços AcadêmicoRelacionamento

Busca Portal Mail Vendas Universidade CG Sociedade

Categoria SuperiorGeralServiços GeralAcadêmico GeralRelacionamento GeralBusca ServiçosPortal Serviços

ServiçosVendas ServiçosUniversidade AcadêmicoCG AcadêmicoSociedade Acadêmico

Mail

superior

Page 55: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores e CategoriasModelo Relacional

Marcador(Titulo, Acessos, Endereco, Categoria)

- Categoria: chave estrangeira para TAXONOMIA

Taxonomia(Categoria, Superior)

- Superior: chave estrangeira para TAXONOMIA

Page 56: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Marcadores e CategoriasDiagrama Relacional (notação pé de galinha)

Marcador(Titulo, Acessos, Endereco, Categoria)

- Categoria: chave estrangeira

para Taxonomia

Taxonomia(Categoria, Superior)

Page 57: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Exercício 2▪ Mapeie o seguinte modelo ER para relacional:

nome

trataCoquetel(0,N)

nome

Retrovírus(1,1)

nome

trataCoquetel1

nome

RetrovírusN

Page 58: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 4Relacionamento n:m

Page 59: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Relacionamento n:m

?

PESSOA LIVROESCREVE(0,n) (1,n)

Page 60: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 61: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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

ESCREVE(0,n) (1,n)

código

nome

telefone

PESSOA LIVRO

ISBN

título

autor

ano categoria

Page 62: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Relacionamento M:N

Relação de Relacionamento

PESSOA(código, nome, telefone)

LIVRO(isbn, título, autor, ano, categoria)

ESCREVE(código_autor, isbn_livro)

- código_autor: chave estrangeira para PESSOA

- isbn_livro: chave estrangeira para LIVRO

ESCREVE(0,n) (1,n)

código

nome

telefone

PESSOA LIVRO

ISBN

título

autor

ano categoria

Page 63: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Exercício 3

▪ Mapeie o seguinte modelo ER para relacional:

identificador data

contémGenoma(0,N)

código

Gene(0,N)

Page 64: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 5Entidade Fraca

Page 65: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Entidade Fraca

?

(0,n) (1,1)LIVRO

ISBN

título

autor

ano categoria

sequência

data aquisição

TEM EXEMPLAR

Page 66: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 5

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 67: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 5

Entidade Fraca

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

(0,n) (1,1)LIVRO

ISBN

título

autor

ano categoria

sequência

data aquisição

TEM EXEMPLAR

Page 68: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 6Atributos Multivalorados

Page 69: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 6

Atributos Multivalorados

▪ Modelo Relacional não permite atributos multivalorados

?Autores

Page 70: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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

Page 71: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 6

Atributos Multivalorados

▪ Se atributo for composto, componentes viram colunas de M

Endereço

Rua Número Cidade Estado

Page 72: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 7Relacionamento n-ário

Page 73: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Relacionamento n-ário

n

1Distribuidor

Cidade

Livro

Distribuição

n

?

Page 74: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Exercício 4▪ Mapeie o seguinte modelo ER para relacional:

nome

trataCoquetelN

nome_científico

Retrovírus1

id descrição

TipoPaciente

N

dosagem

Page 75: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 8Herança (OO)

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

Page 76: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Generalização / Especialização

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

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

ct?

Page 77: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

UML: HerançaPessoa

-código: String-nome: String-telefone: int

Funcionário-admissão: Date-função: String

Associado-associação: Date

Page 78: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Mapeamento

Generalização / Especialização

especialização total x classe abstrata

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

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

ct ?

Pessoa-código: String-nome: String-telefone: int

Funcionário-admissão: Date-função: String

Associado-associação: Date

Page 79: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

xp

Mapeamento

Generalização / Especialização

?

Page 80: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

UML: HerançaMídia

-código: String-título: String-ano: int-categoria: String

Livro-ISBN: String-autor: String

DVD-diretor: String-produtor: String

Page 81: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

xp

Mapeamento

Generalização / Especialização

?Mídia

-código: String-título: String-ano: int-categoria: String

Livro-ISBN: String-autor: String

DVD-diretor: String-produtor: String

Page 82: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Etapa 8

Generalização / Especialização

▪ Uma tabela por hierarquia

▪ Uma tabela por entidade especializada

▫ Subdivisão da entidade genérica

Page 83: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Exercício 5▪ Mapeie o seguinte modelo ER para relacional:

nome

trataCoquetel(0,N)

Retrovírus(1,1)

nome_científico

Vírus

VírusDNA

tipo_cadeia

Page 84: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

ER Biblioteca

PERTENCE(1,n) (0,n)

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

EMPRÉSTIMO

(0,n)

(0,1)

CATEGORIA

SUBORDINADA

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

ESTANTE

GUARDA

(1,1)

(0,n)

LIVRO

Page 85: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 86: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 87: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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 88: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

Agradecimentos

▪ Luiz Celso Gomes Jr (professor desta disciplina em 2014) pela contribuição na disciplina e nos slides.

Page 89: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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

Page 90: Mapeamento Modelo Conceitual Lógicosantanch/teaching/db/2015-2/slides/bd0… · Modelo/Esquema Lógico Dependente de um SGBD particular Associado a um “modelo de dados de implementação”

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/