derivação do modelo lógico

34
Aloísio de Meneses Maciel 1.1 Conceitos de Banco de Dados Aplicação de regras sobre o Modelo Conceitual. Age sobre dois grupos distintos: As entidades e seus atributos; As estruturas de relacionamento , agregação e especialização. Objetivo: Obtenção do Modelo Lógico baseado na abordagem conceitual. Derivação do Modelo Lógico Derivação do Modelo Lógico

Upload: gildel-romualdo

Post on 30-Oct-2014

180 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Derivação do modelo lógico

Aloísio de Meneses Maciel1.1Conceitos de Banco de Dados

Aplicação de regras sobre o Modelo Conceitual.

Age sobre dois grupos distintos:

As entidades e seus atributos;

As estruturas de relacionamento , agregação e especialização.

Objetivo:

Obtenção do Modelo Lógico baseado na abordagem conceitual.

Derivação do Modelo LógicoDerivação do Modelo Lógico

Page 2: Derivação do modelo lógico

Aloísio de Meneses Maciel1.2Conceitos de Banco de Dados

Passos para a Obter o Modelo LógicoPassos para a Obter o Modelo Lógico

Para obter o Modelo Lógico a partir do Modelo Conceitual deve-se seguir os seguintes passos:

Obter o Modelo Conceitual;

Definir o tipo de implementação (Relacional);

Aplicar as regras de derivação;

Adaptar o Modelo às necessidades.

Page 3: Derivação do modelo lógico

Aloísio de Meneses Maciel1.3Conceitos de Banco de Dados

Derivação de EntidadesDerivação de Entidades

No geral, uma entidade deriva uma tabela.

Page 4: Derivação do modelo lógico

Aloísio de Meneses Maciel1.4Conceitos de Banco de Dados

É a representação de regras de integridade a partir dos relacionamentos do Modelo Conceitual.

Nesta abordagem deve-se preocupar apenas com o grau máximo do relacionamento. O grau mínimo deve ser ignorado.

Derivação de RelacionamentosDerivação de Relacionamentos

Page 5: Derivação do modelo lógico

Aloísio de Meneses Maciel1.5Conceitos de Banco de Dados

Derivação de RelacionamentosDerivação 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

Page 6: Derivação do modelo lógico

Aloísio de Meneses Maciel1.6Conceitos de Banco de Dados

Relacionamentos 1:1 sem AtributosRelacionamentos 1:1 sem Atributos

É o caso mais elementar de relacionamento;

Possui quatro alternativas possíveis de derivação.

A1

R B1

Page 7: Derivação do modelo lógico

Aloísio de Meneses Maciel1.7Conceitos de Banco de Dados

Relacionamentos 1:1 sem AtributosRelacionamentos 1:1 sem Atributos

SOLUÇÃO 1: acrescentar a chave da TABELA A como chave estrangeira na TABELA B.

A1

R1

B

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3

...

coluna A1 (FK)

A B

Page 8: Derivação do modelo lógico

Aloísio de Meneses Maciel1.8Conceitos de Banco de Dados

Relacionamentos 1:1 sem AtributosRelacionamentos 1:1 sem Atributos

SOLUÇÃO 2: acrescentar a chave da TABELA B como chave estrangeira na TABELA A.

A1

R1

B

TABELA A

coluna A1 (PK)coluna A2coluna A3

...

coluna B1 (FK)

TABELA B

coluna B1 (PK)coluna B2coluna B3

...

A B

Page 9: Derivação do modelo lógico

Aloísio de Meneses Maciel1.9Conceitos de Banco de Dados

Relacionamentos 1:1 sem AtributosRelacionamentos 1:1 sem Atributos

SOLUÇÃO 3: Migrar os atributos e relacionamentos da TABELA A para a TABELA B excluindo a TABELA A definitivamente.

A1

R1

B

TABELA B

coluna B1 (PK)coluna B2coluna B3 ...coluna A1coluna A2coluna A3 ...

B

Page 10: Derivação do modelo lógico

Aloísio de Meneses Maciel1.10Conceitos de Banco de Dados

Relacionamentos 1:1 sem AtributosRelacionamentos 1:1 sem Atributos

SOLUÇÃO 4: Migrar os atributos e relacionamentos da TABELA B para a TABELA A excluindo a TABELA B definitivamente.

A1

R1

B

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...coluna B1coluna B2coluna B3 ...

A

Page 11: Derivação do modelo lógico

Aloísio de Meneses Maciel1.11Conceitos de Banco de Dados

Relacionamentos 1:1 com AtributosRelacionamentos 1:1 com Atributos

Não é algo muito comum;

Do ponto de vista conceitual poderá existir.

A1

R B1

Page 12: Derivação do modelo lógico

Aloísio de Meneses Maciel1.12Conceitos de Banco de Dados

Relacionamentos 1:1 com AtributosRelacionamentos 1:1 com Atributos

SOLUÇÃO 1: Criar uma TABELA C para conter as associações 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.

A1

R B1

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3 ...

TABELA C

coluna A1 (PK) (FK)coluna B1 (PK) (FK)coluna C1coluna C2 ...

A BC

Page 13: Derivação do modelo lógico

Aloísio de Meneses Maciel1.13Conceitos de Banco de Dados

Relacionamentos 1:1 com AtributosRelacionamentos 1:1 com Atributos

SOLUÇÃO 2: Migrar os atributos do relacionamento R para a TABELA A.

A1

R B1

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...coluna R1coluna R2 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3

...

A B

Page 14: Derivação do modelo lógico

Aloísio de Meneses Maciel1.14Conceitos de Banco de Dados

Relacionamentos 1:1 com AtributosRelacionamentos 1:1 com Atributos

SOLUÇÃO 3: Migrar os atributos do relacionamento R para a TABELA B.

A1

R B1

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3 ...coluna R1coluna R2 ...

A B

Page 15: Derivação do modelo lógico

Aloísio de Meneses Maciel1.15Conceitos de Banco de Dados

ExemploExemplo

Suponha que temos um modelo na qual uma PESSOA pode indicar um, e somente um, DEPENDENTE para receber benefícios de um seguro de vida em seu nome (um beneficiário). Neste caso, deveríamos migrar o atributo DATA DE INDICAÇÃO ou para a entidade DEPENDENTE, ou para a entidade PESSOA.

PESSOA1,1

indica DEPENDENTE

0,1

data de indicação

Page 16: Derivação do modelo lógico

Aloísio de Meneses Maciel1.16Conceitos de Banco de Dados

Relacionamentos 1:N sem AtributosRelacionamentos 1:N sem Atributos

Representam a grande maioria dos relacionamentos existentes no modelo;

A regra de derivação é única e bastante simples.

A1

R BN

Page 17: Derivação do modelo lógico

Aloísio de Meneses Maciel1.17Conceitos de Banco de Dados

Relacionamentos 1:N sem AtributosRelacionamentos 1:N sem Atributos

Acrescentar a chave primária da TABELA A como chave estrangeira na TABELA B.

A1

RN

B

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3

...

coluna A1 (FK)

A B

Page 18: Derivação do modelo lógico

Aloísio de Meneses Maciel1.18Conceitos de Banco de Dados

Relacionamentos 1:N com AtributosRelacionamentos 1:N com Atributos

SOLUÇÃO 1: Migrar os atributos do relacionamento R para a ENTIDADE B.

A1

RN

B

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3 ...coluna A1 (FK)coluna R1 ...

A B

Page 19: Derivação do modelo lógico

Aloísio de Meneses Maciel1.19Conceitos de Banco de Dados

Relacionamentos 1:N com AtributosRelacionamentos 1:N com Atributos

SOLUÇÃO 2: Criar a TABELA C para conter as associações entre as tabelas A e B e alocar os atributos do relacionamento nessa nova tabela.

A1

R BN

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3 ...

TABELA C

coluna A1 (PK) (FK)coluna B1 (PK) (FK)coluna C1coluna C2 ...

A BC

Page 20: Derivação do modelo lógico

Aloísio de Meneses Maciel1.20Conceitos de Banco de Dados

Relacionamentos 1:N com AtributosRelacionamentos 1:N com Atributos

Observação Importante: no Modelo Lógico final, os relacionamentos entre A e C é (1:N) e entre C e B é (1:1). Deve-se adicionar mecanismos adicionais para implementar esta restrição. Ex. índice único para a coluna B1 na tabela C.

A1

R BN

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3 ...

TABELA C

coluna A1 (PK) (FK)coluna B1 (PK) (FK) (UK)coluna C1coluna C2 ...

A BC

Page 21: Derivação do modelo lógico

Aloísio de Meneses Maciel1.21Conceitos de Banco de Dados

Relacionamentos M:N com ou sem Relacionamentos M:N com ou sem AtributosAtributos

Deve-se criar a TABELA C, agregando as chaves estrangeiras de A e B para formar a chave primária da TABELA C. Caso existam atributos no relacionamento, estes irão passar a fazer parte da TABELA C como simples colunas (não participantes da chave).

AM

R BN

Page 22: Derivação do modelo lógico

Aloísio de Meneses Maciel1.22Conceitos de Banco de Dados

Relacionamentos M:N com ou sem Relacionamentos M:N com ou sem AtributosAtributos

AM

R BN

TABELA A

coluna A1 (PK)coluna A2coluna A3 ...

TABELA B

coluna B1 (PK)coluna B2coluna B3 ...

TABELA C

coluna A1 (PK) (FK)coluna B1 (PK) (FK)coluna C1coluna C2 ...

A BC

Page 23: Derivação do modelo lógico

Aloísio de Meneses Maciel1.23Conceitos de Banco de Dados

Auto-relacionamento 1:1Auto-relacionamento 1:1

Não se deve tratar este relacionamento diferente dos demais

Imagine que o relacionamento seja entre duas entidades distintas A e A´.

A1

R

1

Page 24: Derivação do modelo lógico

Aloísio de Meneses Maciel1.24Conceitos de Banco de Dados

Auto-relacionamento 1:1Auto-relacionamento 1:1

SOLUÇÃO: migrar os atributos chave de A para A´.

A1

R

1

TABELA A

coluna A1 (PK)coluna A2coluna A3coluna A1´ (UK) (FK)

...

A

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

Page 25: Derivação do modelo lógico

Aloísio de Meneses Maciel1.25Conceitos de Banco de Dados

ExemploExemplo

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 procuração. Estamos assumindo, em nosso exemplo, que se uma pessoa é procuradora de uma outra, não será de mais ninguém e que se uma pessoa dá procuração a outra pessoa também não dá a mais ninguém. Neste caso, estamos criando, em nosso modelo, um relacionamento de 1:1 para a entidade PESSOA.

Page 26: Derivação do modelo lógico

Aloísio de Meneses Maciel1.26Conceitos de Banco de Dados

ExemploExemplo

PESSOA1

representa

1

PESSOA

CPF (PK)NomeData nascimentoCPF do representante (UK) (FK)

...

A

Page 27: Derivação do modelo lógico

Aloísio de Meneses Maciel1.27Conceitos de Banco de Dados

Auto-relacionamento 1:NAuto-relacionamento 1:N

Não se deve tratar este relacionamento diferente dos demais

Imagine que o relacionamento seja entre duas entidades distintas A e A´.

A1

R

N

Page 28: Derivação do modelo lógico

Aloísio de Meneses Maciel1.28Conceitos de Banco de Dados

Auto-relacionamento 1:NAuto-relacionamento 1:N

SOLUÇÃO: migrar os atributos chave de A para A´.

A1

R

N

TABELA A

coluna A1 (PK)coluna A2coluna A3coluna A1´ (FK)

...

A

Page 29: Derivação do modelo lógico

Aloísio de Meneses Maciel1.29Conceitos de Banco de Dados

ExemploExemplo

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 negócio associada a ele. Agora, uma pessoa poderá autorizar para que várias pessoas sejam seus representantes. Porém, caso uma pessoa seja representante de alguém, não poderá ser de outra pessoa.

Page 30: Derivação do modelo lógico

Aloísio de Meneses Maciel1.30Conceitos de Banco de Dados

ExemploExemplo

PESSOA1

representa

N

PESSOA

CPF (PK)NomeData nascimentoCPF do representante (FK)

...

A

Page 31: Derivação do modelo lógico

Aloísio de Meneses Maciel1.31Conceitos de Banco de Dados

Auto-relacionamento M:NAuto-relacionamento M:N

Não se deve tratar este relacionamento diferente dos demais

Imagine que o relacionamento seja entre duas entidades distintas A e A´.

AM

R

N

Page 32: Derivação do modelo lógico

Aloísio de Meneses Maciel1.32Conceitos de Banco de Dados

Auto-relacionamento M:NAuto-relacionamento M:N

SOLUÇÃO: Criar uma nova TABELA C e agregar as chaves de primárias de A e A´ para formar a chave primária de C.

AM

R

N

TABELA A

coluna A1 (PK)coluna A2coluna A3

...

TABELA C

coluna A1 (PK) (FK)coluna A1´ (PK) (FK)

...

A C

Page 33: Derivação do modelo lógico

Aloísio de Meneses Maciel1.33Conceitos de Banco de Dados

ExemploExemplo

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.

Page 34: Derivação do modelo lógico

Aloísio de Meneses Maciel1.34Conceitos de Banco de Dados

ExemploExemplo

PESSOAM

representa

N

PESSOA

CPF (PK)NomeData nascimento

...

PESSOA

REPRESENTA

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

REPRESENTArepresenta

é representada