Você está na página 1de 24
1
1
1

1

Relembrando ...

Nas aulas anteriores, vimos duas formas de

modelagem de dados:

Abordagem Entidade-Relacionamento;

Abordagem Relacional.

2
2

Transformando um modelo ER em

Modelo Relacional

Essa transformação possui os seguintes

passos:

Conversão inicial de entidades e respectivos atributos;

Conversão de relacionamentos e respectivos atributos;

Conversão de generalizações/especializações.

3
3
Transformando um modelo ER em Modelo Relacional Essa transformação possui os seguintes passos: • Conversão inicial

Implementação inicial de entidades

Este passo inicial é razoavelmente óbvio: Cada entidade é convertida para uma tabela:

Neste processo, cada atributo de uma

entidade, define uma coluna na tabela!

Implementação inicial de entidades • Este passo inicial é razoavelmente óbvio: Cada entidade é convertida para
Implementação inicial de entidades • Este passo inicial é razoavelmente óbvio: Cada entidade é convertida para
Implementação inicial de entidades • Este passo inicial é razoavelmente óbvio: Cada entidade é convertida para

Nome de Atributos = Nome de Colunas?

Não é aconselhável simplesmente transcrever o nome do atributo para o nome da coluna.

Em um SGBD Relacional, o nome da coluna não pode conter brancos!

Devo incluir o nome da tabela no nome da coluna? Ex: nomePessoa

5
5

Nome de Atributos = Nome de Colunas?

As consultas em um SGBD Relacional podem utilizar o formato

nomedatabela.nomedacoluna.

Exceção: Chave primária. (podem aparecer em outras tabelas, na forma de chave estrangeira)

Mapeamento de entidade com

relacionamento identificador

Regra: Para cada identificador externo é

criada uma coluna que fará parte da

chave primária da tabela.

Mapeamento de entidade com relacionamento identificador • Regra: Para cada identificador externo é criada uma coluna
Mapeamento de entidade com relacionamento identificador • Regra: Para cada identificador externo é criada uma coluna
Mapeamento de entidade com relacionamento identificador • Regra: Para cada identificador externo é criada uma coluna

7

Mapeamento de relacionamentos

O fator determinante para o mapeamento é a cardinalidade mínima e máxima das entidades

que participam do relacionamento.

Mapeamento de relacionamentos • O fator determinante para o mapeamento é a cardinalidade mínima e máxima
Mapeamento de relacionamentos • O fator determinante para o mapeamento é a cardinalidade mínima e máxima
Mapeamento de relacionamentos • O fator determinante para o mapeamento é a cardinalidade mínima e máxima

3 formas básicas de mapeamento de relacionamentos

Tabela própria (n,n)

Neste mapeamento, o relacionamento é implementado através de uma tabela própria que deverá ter:

Colunas correspondentes aos identificadores das tabelas relacionadas;

Colunas correspondentes aos atributos do relacionamento.

3 formas básicas de mapeamento de relacionamentos

Tabela própria (n,n)

3 formas básicas de mapeamento de relacionamentos Tabela própria (n,n) 10

10

3 formas básicas de mapeamento de relacionamentos

Coluna adicional dentro da tabela

Neste mapeamento, o relacionamento é implementado através da inserção de coluna(s) em uma das entidades.

Somente é possível quando uma das entidades possui cardinalidade máxima 1.

3 formas básicas de mapeamento de relacionamentos

Coluna adicional dentro da tabela

3 formas básicas de mapeamento de relacionamentos Coluna adicional dentro da tabela 12
3 formas básicas de mapeamento de relacionamentos Coluna adicional dentro da tabela 12

3 formas básicas de mapeamento de relacionamentos

Fusão de tabelas

Neste mapeamento, o relacionamento é implementado através da fusão das entidades envolvidas, gerando uma tabela.

Somente é possível quando o relacionamento é (1,1)

13
13

3 formas básicas de mapeamento de relacionamentos

Fusão de tabelas

3 formas básicas de mapeamento de relacionamentos Fusão de tabelas 14
Qual mapeamento devo utilizar?
Qual mapeamento devo utilizar?

15

Mapeamento de

generalização\especialização

Para o mapeamento da

generalização\especialização para o Modelo

Relacional, existem 2 opções:

Uso de uma tabela para cada entidade especializada;

Uso de uma única tabela para toda hierarquia de especialização\generalização

Mapeamento de especialização com uma única tabela para toda

a hierarquia

Mapeamento de especialização com uma única tabela para toda a hierarquia 17

Mapeamento de especialização com uma única tabela para toda

a hierarquia

Mapeamento de especialização com uma única tabela para toda a hierarquia 18

Mapeamento de especialização com uma tabela para entidade

especializada

Mapeamento de especialização com uma tabela para entidade especializada 19

19

Comparação entre as 2 alternativas:

Vantagens de implementar em uma única

tabela:

Todos os dados estão em uma única linha, não sendo necessário efetuar junções.

A chave primária é armazenada uma única vez.

Comparação entre as 2 alternativas:

Vantagens de implementar com uma tabela

para cada entidade especializada:

As colunas opcionais são realmente “opcionais”.

Qual mapeamento adotar?

A prioridade deve ser a adequação ao negócio do cliente!

Qual mapeamento adotar? A prioridade deve ser a adequação ao negócio do cliente! 22

Referência Bibliográfica

Korth, H. & Silberschatz, A. Sistemas de Bancos de Dados. 2ª edição,Makron Books,

1994

Heuser, Carlos Alberto. Projeto de Banco de Dados 5ª edição, Sagra Luzatto, 2004

CREATE TABLE

PRIMARY KEY

FORENGHT KEY

FORENGHT KEY

CONSTRAINTS