Está en la página 1de 34

Derivao do Modelo Lgico

Aplicao de regras sobre o Modelo Conceitual.

Age sobre dois grupos distintos:

As entidades e seus atributos; As estruturas de relacionamento , agregao e especializao.


Objetivo:

Obteno do Modelo Lgico baseado na abordagem conceitual.

Conceitos de Banco de Dados

1.1

Alosio de Meneses Maciel

Passos para a Obter o Modelo Lgico


Para obter o Modelo Lgico a partir do Modelo

Conceitual deve-se seguir os seguintes passos:

Obter o Modelo Conceitual; Definir o tipo de implementao (Relacional); Aplicar as regras de derivao; Adaptar o Modelo s necessidades.

Conceitos de Banco de Dados

1.2

Alosio de Meneses Maciel

Derivao de Entidades
No geral, uma entidade deriva uma tabela.

Conceitos de Banco de Dados

1.3

Alosio de Meneses Maciel

Derivao de Relacionamentos
a representao de regras de integridade a partir

dos relacionamentos do Modelo Conceitual.


Nesta abordagem deve-se preocupar apenas com o

grau mximo do relacionamento. O grau mnimo deve ser ignorado.

Conceitos de Banco de Dados

1.4

Alosio de Meneses Maciel

Derivao de Relacionamentos
Podem ser:
Relacionamentos 1:1 sem Atributos; Relacionamentos 1:1 com Atributos; Relacionamentos 1:N sem Atributos; Relacionamentos 1:N com Atributos;

Relacionamentos M:N com ou sem Atributos;


Auto-relacionamento 1:1 Auto-relacionamento 1:N Auto-relacionamento M:N

Conceitos de Banco de Dados

1.5

Alosio de Meneses Maciel

Relacionamentos 1:1 sem Atributos


o caso mais elementar de relacionamento; Possui quatro alternativas possveis de derivao.

Conceitos de Banco de Dados

1.6

Alosio de Meneses Maciel

Relacionamentos 1:1 sem Atributos


SOLUO 1: acrescentar a chave da TABELA A como chave

estrangeira na TABELA B. A
1 1

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ... coluna A1 (FK)

Conceitos de Banco de Dados

1.7

Alosio de Meneses Maciel

Relacionamentos 1:1 sem Atributos


SOLUO 2: acrescentar a chave da TABELA B como chave

estrangeira na TABELA A. A
1 1

TABELA A coluna A1 (PK) coluna A2 coluna A3 ... coluna B1 (FK)

TABELA B coluna B1 (PK) coluna B2 coluna B3 ...

Conceitos de Banco de Dados

1.8

Alosio de Meneses Maciel

Relacionamentos 1:1 sem Atributos


SOLUO 3: Migrar os atributos e relacionamentos da TABELA

A para a TABELA B excluindo a TABELA A definitivamente. A


1 1

TABELA B coluna B1 (PK) coluna B2 coluna B3 ... coluna A1 coluna A2 coluna A3 ...

B
Conceitos de Banco de Dados 1.9 Alosio de Meneses Maciel

Relacionamentos 1:1 sem Atributos


SOLUO 4: Migrar os atributos e relacionamentos da TABELA

B para a TABELA A excluindo a TABELA B definitivamente. A


1 1

TABELA A coluna A1 (PK) coluna A2 coluna A3 ... coluna B1 coluna B2 coluna B3 ...

A
Conceitos de Banco de Dados 1.10 Alosio de Meneses Maciel

Relacionamentos 1:1 com Atributos


No algo muito comum;

Do ponto de vista conceitual poder existir.

Conceitos de Banco de Dados

1.11

Alosio de Meneses Maciel

Relacionamentos 1:1 com Atributos


SOLUO 1: Criar uma TABELA C para conter as associaes

entre A e B, agregando as chaves estrangeiras de A e B para dar origem chave de C, e alocando os atributos do relacionamento na TABELA C. A
1 1

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA C coluna A1 (PK) (FK) coluna B1 (PK) (FK) coluna C1 coluna C2 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ...

A
Conceitos de Banco de Dados

C
1.12

B
Alosio de Meneses Maciel

Relacionamentos 1:1 com Atributos


SOLUO 2: Migrar os atributos do relacionamento R para a

TABELA A.

TABELA A coluna A1 (PK) coluna A2 coluna A3 ... coluna R1 coluna R2 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ...

Conceitos de Banco de Dados

1.13

Alosio de Meneses Maciel

Relacionamentos 1:1 com Atributos


SOLUO 3: Migrar os atributos do relacionamento R para a

TABELA B.

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ... coluna R1 coluna R2 ...

Conceitos de Banco de Dados

1.14

Alosio de Meneses Maciel

Exemplo
Suponha que temos um modelo na qual uma PESSOA pode

indicar um, e somente um, DEPENDENTE para receber benefcios de um seguro de vida em seu nome (um beneficirio). Neste caso, deveramos migrar o atributo DATA DE INDICAO ou para a entidade DEPENDENTE, ou para a entidade PESSOA.

1,1

0,1

PESSOA

indica

DEPENDENTE

data de indicao

Conceitos de Banco de Dados

1.15

Alosio de Meneses Maciel

Relacionamentos 1:N sem Atributos


Representam a grande maioria dos relacionamentos existentes

no modelo;
A regra de derivao nica e bastante simples.

Conceitos de Banco de Dados

1.16

Alosio de Meneses Maciel

Relacionamentos 1:N sem Atributos


Acrescentar a chave primria da TABELA A como chave

estrangeira na TABELA B. A
1 N

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ... coluna A1 (FK)

Conceitos de Banco de Dados

1.17

Alosio de Meneses Maciel

Relacionamentos 1:N com Atributos


SOLUO 1: Migrar os atributos do relacionamento R para a

ENTIDADE B. A
1 N

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ... coluna A1 (FK) coluna R1 ...

Conceitos de Banco de Dados

1.18

Alosio de Meneses Maciel

Relacionamentos 1:N com Atributos


SOLUO 2: Criar a TABELA C para conter as associaes

entre as tabelas A e B e alocar os atributos do relacionamento nessa nova tabela. A


1
N

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA C coluna A1 (PK) (FK) coluna B1 (PK) (FK) coluna C1 coluna C2 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ...

Conceitos de Banco de Dados

1.19

Alosio de Meneses Maciel

Relacionamentos 1:N com Atributos


A
1 N

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA C coluna A1 (PK) (FK) coluna B1 (PK) (FK) (UK) coluna C1 coluna C2 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ...

Observao Importante: no Modelo Lgico final, os

relacionamentos entre A e C (1:N) e entre C e B (1:1). Devese adicionar mecanismos adicionais para implementar esta restrio. Ex. ndice nico para a coluna B1 na tabela C.
Conceitos de Banco de Dados 1.20 Alosio de Meneses Maciel

Relacionamentos M:N com ou sem Atributos


Deve-se criar a TABELA C, agregando as chaves estrangeiras

de A e B para formar a chave primria da TABELA C. Caso existam atributos no relacionamento, estes iro passar a fazer parte da TABELA C como simples colunas (no participantes da chave).

Conceitos de Banco de Dados

1.21

Alosio de Meneses Maciel

Relacionamentos M:N com ou sem Atributos

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA C coluna A1 (PK) (FK) coluna B1 (PK) (FK) coluna C1 coluna C2 ...

TABELA B coluna B1 (PK) coluna B2 coluna B3 ...

Conceitos de Banco de Dados

1.22

Alosio de Meneses Maciel

Auto-relacionamento 1:1
1

A
1

No se deve tratar este relacionamento diferente dos demais


Imagine que o relacionamento seja entre duas entidades

distintas A e A.

Conceitos de Banco de Dados

1.23

Alosio de Meneses Maciel

Auto-relacionamento 1:1
SOLUO: migrar os atributos chave de A para A.

R
1

TABELA A coluna A1 (PK) coluna A2 coluna A3 coluna A1 (UK) (FK) ...

Deve ser tratado como uma coluna de valor nico para garantir a cardinalidade de 1:1

Conceitos de Banco de Dados

1.24

Alosio de Meneses Maciel

Exemplo
Suponha um modelo onde temos um relacionamento

1:1 entre PESSOA e PESSOA. Este relacionamento pode significar, por exemplo, pessoa representa outra pessoa, como no caso de uma procurao. Estamos assumindo, em nosso exemplo, que se uma pessoa procuradora de uma outra, no ser de mais ningum e que se uma pessoa d procurao a outra pessoa tambm no d a mais ningum. Neste caso, estamos criando, em nosso modelo, um relacionamento de 1:1 para a entidade PESSOA.

Conceitos de Banco de Dados

1.25

Alosio de Meneses Maciel

Exemplo
PESSOA
1 1

representa

PESSOA CPF (PK) Nome Data nascimento CPF do representante (UK) (FK) ...

Conceitos de Banco de Dados

1.26

Alosio de Meneses Maciel

Auto-relacionamento 1:N
1

A
N

No se deve tratar este relacionamento diferente dos demais Imagine que o relacionamento seja entre duas entidades

distintas A e A.

Conceitos de Banco de Dados

1.27

Alosio de Meneses Maciel

Auto-relacionamento 1:N
SOLUO: migrar os atributos chave de A para A.

R
N

TABELA A coluna A1 (PK) coluna A2 coluna A3 coluna A1 (FK) ...

Conceitos de Banco de Dados

1.28

Alosio de Meneses Maciel

Exemplo
Suponha o mesmo modelo tratado anteriormente.

Passaremos, entretanto, a ter um relacionamento 1:N entre PESSOA e PESSOA. Este relacionamento ter o mesmo significado anterior, mas mudaremos a regra de negcio associada a ele. Agora, uma pessoa poder autorizar para que vrias pessoas sejam seus representantes. Porm, caso uma pessoa seja representante de algum, no poder ser de outra pessoa.

Conceitos de Banco de Dados

1.29

Alosio de Meneses Maciel

Exemplo
PESSOA
1 N

representa

PESSOA CPF (PK) Nome Data nascimento CPF do representante (FK) ...

Conceitos de Banco de Dados

1.30

Alosio de Meneses Maciel

Auto-relacionamento M:N
M

A
N

No se deve tratar este relacionamento diferente dos demais


Imagine que o relacionamento seja entre duas entidades

distintas A e A.

Conceitos de Banco de Dados

1.31

Alosio de Meneses Maciel

Auto-relacionamento M:N
SOLUO: Criar uma nova TABELA C e agregar as chaves de

primrias de A e A para formar a chave primria de C. A


M

R
N

TABELA A coluna A1 (PK) coluna A2 coluna A3 ...

TABELA C coluna A1 (PK) (FK) coluna A1 (PK) (FK) ...

Conceitos de Banco de Dados

1.32

Alosio de Meneses Maciel

Exemplo
Continuando o exemplo anterior, vamos admitir que

uma pessoa possa ser representada por diversas outras e que um representante, por sua vez, possa representar diversas outras pessoas. Com isso teremos um relacionamento M:N.

Conceitos de Banco de Dados

1.33

Alosio de Meneses Maciel

Exemplo
PESSOA
M N

representa

PESSOA CPF (PK) Nome Data nascimento ...

REPRESENTA CPF Representante (PK) (FK) CPF Representado (PK) (FK)

PESSOA

representa

REPRESENTA

representada
Conceitos de Banco de Dados 1.34 Alosio de Meneses Maciel

También podría gustarte