Você está na página 1de 132

Captulo 3

O Modelo Relacional
CLIENTE PEDIDO ITENS PRODUTO CIDADE FUNCIONRIO FUNO TIPO

PAS

SETOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

O Modelo Relacional
um modelo de dados utilizado em nvel lgico para a modelagem de dados de um sistema de informaes. Foi criado por Edgard F. Codd na dcada de 70, baseado nas regras da teoria dos conjuntos, onde: ?Os dados so representados como tabelas. ?As operaes so feitas por linguagens no procedurais que manipulam conjuntos de uma s vez. ?No relevante para o usurio saber fisicamente onde e como os dados esto. Os dados so representados em forma de tabelas (relaes), atravs de linhas (tuplas ) e colunas (atributos), com os possveis valores (domnio ) definido.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 2

O Modelo Relacional
nome do campo nome do atributo tabela relao

coluna, atributo, campo

Cdigo Nome Fone Estado 001 PE Jos 222.1234 002 Antonio 224.1212 PB 003 Ana 235.4859 RN

linha, tupla , registro

valor do campo valor do atributo

domnio

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

Componentes do Modelo Relacional


Coluna, Atributo, Campo Dado que se deseja armazenar sobre um objeto. Deve possuir um nome, um tipo de acordo com a natureza do dado e um tamanho especfico. Linha, Tupla, Registro Conjunto de campos que representa uma ocorrncia especfica de um objeto. Deve ser identificado de forma nica dentro da tabela. Tabela, Relao Conjunto de linhas, tuplas ou registros que contm os dados sobre um objeto especfico. Deve possuir um nome nico dentro do banco de dados.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 4

Componentes do Modelo Relacional


Domnio Conjunto de valores distintos que podem ser atribudos a um atributo. Domnio Discreto Conjunto de valores permitidos, definidos previamente. Domnio Contnuo Conjunto de valores permitidos dentro de um intervalo. Domnio Aberto Conjunto de valores permitidos, sem restries. Domnio Nulo um valor nulo, diferente de zero ou branco.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 5

Chave Primria
Atributo ou conjunto de atributos que identifica cada linha em uma tabela de forma nica . Cada tabela dever possuir uma nica chave primria. A chave primria no admite repetio de valores. utilizada como referncia para outras tabelas. Pode ser formada por um nico atributo ou pela concatenao de dois ou mais atributos. Uma chave primria concatenada deve ser mnima , ou seja, todos os seus atributos so necessrios para garantir a unicidade de valores da chave.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 6

Chave Primria
Cdigo 001 002 003 Pedido 001 001 002 002 002 003 Nome Jos Antonio Ana Produto A53 C47 N74 A53 G05 N74 Fone 222.1234 224.1212 235.4859 Preo 12,00 15,00 27,00 15,00 51,00 29,00 Estado PE PB RN Quant 27 5 12 7 2 8

Tabela CLIENTE

Tabela ITENS DE PEDIDO

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

Chave Candidata
Atributo ou conjunto de atributos que identifica , opcionalmente, cada linha em uma tabela de forma nica . tambm chamada de chave alternativa. Uma tabela pode possuir vrias chaves candidatas.
Cdigo 001 002 003 Nome Jos CPF 123456789-12 RG Fone Estado 123456 222.1234 PE 897645 224.1212 937612 235.4859 PB RN

Antonio 987654321-98 Ana 987123098-75

Chave Primria
Copyright 2001 - Nilton Freire Santos

Chaves Candidatas
O Modelo Relacional 8

Chave Estrangeira
Chave primria ou candidata de uma tabela presente em uma outra para estabelecer uma conexo entre as duas. Permite a implementao de relacionamentos em um banco de dados relacional. Uma tabela pode possuir vrias chaves estrangeiras, uma para cada relacionamento. Faz sempre referncia chave primria ou candidata de uma tabela. Impe restries de integridade referencial que devem ser garantidas na alterao do banco de dados.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 9

Chave Estrangeira
Cdigo Nome Fone Setor Funo 001 Jos 222.1234 S1 F1 002 Antonio 224.1212 S2 F2 003 Ana 235.4859 S1 F2 004 Bruna 247.9806 S3 F3 Cdigo Descrio S1 Compras S2 Vendas S3 Pessoal Setor
Copyright 2001 - Nilton Freire Santos

Funcionrio

Cdigo Descrio F1 S1 Gerente F2 S2 Tcnico S3 F3 Assessor Funo


O Modelo Relacional 10

Chave Estrangeira
Cdigo Nome Fone Setor Funo 001 Jos 222.1234 S1 F1 002 Antonio 224.1212 S2 F2 003 Ana 235.4859 S1 F2 004 Bruna 247.9806 S3 F3 005 Paulo 246.2660 S3 F4 006 Marta 233.3542 S4 F2 007 Pedro 244.9865 S5 F3 Chefe 001 001 001 002 002 005 005

Em um auto-relacionamento, a chave estrangeira faz referncia chave primria da prpria tabela .


Copyright 2001 - Nilton Freire Santos O Modelo Relacional 11

Criao do Modelo Relacional


A
R2 R1

B
R3

Modelo E-R Define os dados que vo compor o banco de dados. Regras Definem a passagem do modelo E-R para o Relacional Modelo Relacional Representao dos dados em forma de tabelas.

REGRAS

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

12

Transformaes Entre Modelos


Modelo E-R (conceitual) R E G R A S Modelo Relacional (lgico)
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 13

Engenharia reversa de BD relacional

Projeto lgico de BD relacional

Regras Usadas na Transformao


Objetivos Bsicos ?Obter boa performance . ?Simplificar o desenvolvimento de aplicaes. Princpios Bsicos ?Evitar junes desnecessrias. As junes tendem a degradar a performance do sistema. Procurar ter os dados necessrios a uma consulta em uma nica linha. ?Diminuir o nmero de chaves primrias. Os ndices ocupam espao considervel no disco e muitos ndices podem exigir diversos acessos ao disco. ?Procurar evitar muitos campos opcionais que possam complicar o desenvolvimento de aplicaes.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 14

Transformao EE-R para Relacional


Etapas do projeto: projeto : 1. Obter o modelo conceitual; 2. Aplicar as regras de transformao; 3. Adaptar o modelo s necessidades. Etapas da transformao EE -R para Relacional: Relacional: 1. Derivao das entidades e atributos atributos. . 2. Derivao dos relacionamentos relacionamentos. . 3. Derivao das estruturas de agregao, generalizao e especializao especializao. . 4. Criao do dicionrio de dados.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 15

Transformao das Entidades e Atributos


?Cada entidade torna-se uma tabela . ?Cada atributo torna-se um campo da tabela criada, com
um domnio definido. ?Os atributos identificadores formam a chave primria . quantidade preo PRODUTO cdigo referncia descrio

PRODUTO (cdigo, ref, desc, quant, preo) cdigo ref desc quant preo

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

16

Relacionamento Identificador
SCIO (1,1) POSSUI (0,n) DEPENDENTE nmero nome

cdigo nome SCIO (cdigo, nome)

DEPENDENTE (codsocio, numero, nome)

A chave estrangeira faz parte da chave primria concatenada


Copyright 2001 - Nilton Freire Santos O Modelo Relacional 17

Relacionamento Identificador
EMPRESA (1,1) R1 (0,n) FILIAL (1,1) R2 (0,n) FUNCIONRIO
Copyright 2001 - Nilton Freire Santos

cdigo razo social

EMPRESA (cdigo,rzsocial)

FILIAL (codemp, numfil, rzsocial)

nmero da filial razo social

FILIAL (codemp, numfil, numfunc, nome)

nmero do funcionrio nome


O Modelo Relacional 18

Transformao dos Relacionamentos


A transformao dos relacionamentos pode ser realizada de trs formas distintas: Fazendo adio de colunas em uma das tabelas de entidade que participam do relacionamento. Criando uma tabela prpria para o relacionamento. Fazendo a fuso de tabelas de entidades. A alternativa a ser escolhida depende da cardinalidade (mxima e mnima) do relacionamento.

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

19

Transformao dos Relacionamentos


Adio de colunas em uma das tabelas

?Nesta opo, o relacionamento implementado atravs


da insero, em uma tabela correspondente a uma das entidades que participam do relacionamento, das seguintes colunas: a) Colunas correspondentes ao identificador da entidade relacionada (chaves estrangeiras). b) Colunas correspondentes aos atributos do relacionamento (se existirem).

?As chaves primrias das tabelas que participam do


relacionamento permanecem inalteradas.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 20

10

Transformao dos Relacionamentos


Tabela prpria para o relacionamento

? criada uma tabela para o relacionamento contendo:


a) Colunas correspondentes aos identificadores das tabelas relacionadas (chaves estrangeiras). a) Colunas correspondentes aos atributos do relacionamento (se existirem).

? A chave primria desta tabela formada:


a) Pela coluna correspondente a um dos identificadores da tabela relacionada (chave estrangeira); b) Pelas colunas correspondentes aos identificadores das tabelas relacionadas (chaves estrangeiras). c) A chave primria pode ser concatenada com colunas do relacionamento (se existirem).
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 21

Transformao dos Relacionamentos


Fuso de tabelas

? O relacionamento representado por uma nica tabela . ? Esta opo somente deve ser aplicada para
relacionamentos com cardinalidade 1:1. ? Todas as colunas de uma das tabelas so movidas para a outra tabela do relacionamento. ? A tabela que cedeu as colunas deixa de existir. ? A chave primria da tabela que cedeu as colunas pode deixar de existir em alguns casos. ? Todas as colunas correspondentes aos atributos do relacionamento (se existirem) tambm so movidas para a tabela resultante. ? A chave primria desta tabela permanece inalterada .
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 22

11

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional

A a1 a2 a3

(0,1)

(0,1)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado do relacionamento que tem maior probabilidade de se tornar N ir receber a chave estrangeira , com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 23

Transformao dos Relacionamentos


cardinalidade mnima 0

N a1*

A a1 a2 a3

B b1 b2 b3

cardinalidade mxima 1

A (a1, a2, a3) B (b1, b2, b3, a1*) a1 referencia A


Copyright 2001 - Nilton Freire Santos O Modelo Relacional 24

12

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional 1a Forma - Adio de Colunas - Exemplo

FUNCIONRIO cdigo nome

(0,1)

CHEFIA

(0,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

25

Transformao dos Relacionamentos


N FUNCIONRIO cdigo nome SETOR sigla nome chefe*

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome, chefe*) chefe referencia FUNCIONRIO

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

26

13

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional Adio de Colunas
FUNCIONRIO SETOR

cdigo 001 002 003 004

nome Jos Paulo Ana Bruna

sigla S1 S2 S3 S4

nome chefe Compras 002 Vendas nulo Pessoal 004 Finanas nulo

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

27

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional (0,1) (0,1)

A a1 a2 a3

B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. Uma dessas chaves estrangeiras ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 28

14

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 29

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional 2a Forma Tabela Prpria - Exemplo

FUNCIONRIO cdigo nome

(0,1)

CHEFIA

(0,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

30

15

Transformao dos Relacionamentos


FUNCIONRIO cdigo nome CHEFIA chefe setor SETOR sigla nome

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome) CHEFIA (chefe, setor) chefe referencia FUNCIONRIO setor referencia SETOR
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 31

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional Tabela Prpria
FUNCIONRIO CHEFIA SETOR

cdigo 001 002 003 004

nome Jos Paulo Ana Bruna

chefe setor 002 S1 004 S3

sigla S1 S2 S3 S4

nome Compras Vendas Pessoal Finanas

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

32

16

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional

A a1 a2 a3

(0,1)

(0,1)

B b1 b2 b3

3a Forma - Fuso de Tabelas Uma das tabelas ir receber todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 33

Transformao dos Relacionamentos


b1* b2 * b3 * A a1* a2* a3*

?Sempre que existir uma ocorrncia da tabela A que no


se relaciona com B, os atributos b1, b2 e b3 sero nulos.

?Sempre que existir uma ocorrncia da tabela B que no


se relaciona com A, os atributos a1, a2 e a3 sero nulos.

?Como o atributo a1 a chave primria da tabela e no


poder ser nulo, esta opo no dever ser utilizada.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 34

17

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao opcional

?Adio de Colunas Colunas - 1a Opo


A condicionalidade do relacionamento pode gerar valores nulos na chave estrangeira.

?Tabela Prpria - 2a Opo


No gera valores nulos nas chaves estrangeiras mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - No utilizar


A condicionalidade do relacionamento pode gerar valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 35

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional (0,1) r1 (0,1) r2

A a1 a2 a3

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado do relacionamento que tem maior probabilidade de se tornar N ir receber a chave estrangeira e os atributos do relacionamento , com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 36

18

Transformao dos Relacionamentos


r1* r2 * A a1 a2 a3 B b1 b2 b3 N a1*

A (a1, a2, a3) B (b1, b2, b3, r1*, r2*, a1*) a1 referencia A
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 37

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional 1a Forma - Adio de Colunas - Exemplo

FUNCIONRIO cdigo nome

(0,1)

CHEFIA data

(0,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

38

19

Transformao dos Relacionamentos


N FUNCIONRIO cdigo nome SETOR sigla nome chefe* gratific * data*

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome, gratific*, data*, chefe*) chefe referencia FUNCIONRIO
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 39

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional Adio de Colunas

FUNCIONRIO
cdigo 001 002 003 004 nome Jos Paulo Ana Bruna sigla S1 S2 S3 S4 nome Vendas Pessoal Finanas

SETOR
gratific nulo nulo data nulo nulo chefe 002 nulo 004 nulo

Compras 1.000,00 12/03/2000 1.200,00 15/04/2000

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

40

20

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional A a1 a2 a3 (0,1) r1 R r2 (0,1) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. Uma dessas chaves estrangeiras ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 41

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 42

21

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional 2a Forma Tabela Prpria - Exemplo

FUNCIONRIO cdigo nome

(0,1)

CHEFIA data

(0,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

43

Transformao dos Relacionamentos


data gratific FUNCIONRIO cdigo nome CHEFIA chefe setor SETOR sigla nome

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome) CHEFIA (chefe, data, gratific, setor) chefe referencia FUNCIONRIO setor referencia SETOR
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 44

22

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional Tabela Prpria

FUNCIONRIO cdigo nome 001 002 003 004 Jos Paulo Ana Bruna chefe 002 004 setor S1 S3

CHEFIA data gratific

SETOR sigla S1 S2 S3 S4 nome Compras Vendas Pessoal Finanas

12/03/2000 1.000,00 15/04/2000 1.200,00

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

45

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional

A a1 a2 a3

(0,1) r1

R r2

(0,1)

B b1 b2 b3

3a Forma - Fuso de Tabelas Uma das tabelas ir receber as colunas do relacionamento e todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 46

23

Transformao dos Relacionamentos


b1* b2 * b3 * A a1* a2* a3* r1* r2*

?Sempre que existir uma ocorrncia da tabela A que no


se relaciona com B, os atributos b1, b2 e b3 e os atributos do relacionamento sero nulos.

?Sempre que existir uma ocorrncia da tabela B que no


se relaciona com A, os atributos a1, a2 e a3 sero nulos.

?Como o atributo a1 a chave primria da tabela e no


poder ser nulo, esta opo no dever ser utilizada.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 47

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao opcional

?Adio de Colunas - 2a Opo


A condicionalidade do relacionamento pode gerar valores nulos na chave estrangeira e nos atributos derivados do relacionamento.

?Tabela Prpria - 1a Opo


No gera valores nulos mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - No utilizar


A condicionalidade do relacionamento pode gerar valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 48

24

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria

A a1 a2 a3

(1,1)

(0,1)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado do relacionamento com cardinalidade mnima 0 ir receber a chave estrangeira , com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 49

Transformao dos Relacionamentos

A a1 a2 a3

B b1 b2 b3

a1

A (a1, a2, a3) B (b1, b2, b3, a1) a1 referencia A

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

50

25

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria 1a Forma - Adio de Colunas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA

(0,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

51

Transformao dos Relacionamentos

FUNCIONRIO cdigo nome

SETOR sigla nome chefe

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome, chefe) chefe referencia FUNCIONRIO

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

52

26

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria Adio de Colunas
FUNCIONRIO SETOR

cdigo 001 002 003 004 005

nome Jos Paulo Ana Bruna Pedro

sigla S1 S2 S3 S4

nome Compras Vendas Pessoal Finanas

chefe 002 001 004 005

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

53

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria (1,1) (0,1)

A a1 a2 a3

B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. Uma dessas chaves estrangeiras ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 54

27

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 55

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria 2a Forma Tabela Prpria - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA

(0,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

56

28

Transformao dos Relacionamentos


FUNCIONRIO cdigo nome CHEFIA chefe setor SETOR sigla nome

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome) CHEFIA (chefe, setor) chefe referencia FUNCIONRIO setor referencia SETOR
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 57

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria Tabela Prpria
FUNCIONRIO CHEFIA SETOR

cdigo 001 002 003 004 005

nome Jos Paulo Ana Bruna Pedro

chefe 002 001 004 005

setor S1 S2 S3 S4

sigla S1 S2 S3 S4

nome Compras Vendas Pessoal Finanas

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

58

29

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria

A a1 a2 a3

(1,1)

(0,1)

B b1 b2 b3

3a Forma - Fuso de Tabelas A tabela que estiver do lado do relacionamento com cardinalidade mnima 1 ir receber todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 59

Transformao dos Relacionamentos

b1* b2 * b3 * A a1 a2 a3

A (a1, a2, a3, b1*, b2*, b3*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

60

30

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria 3a Forma Fuso de Tabelas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA

(0,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

61

Transformao dos Relacionamentos

FUNCIONRIO cdigo nome chefia *

FUNCIONRIO (cdigo, nome, chefia*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

62

31

Transformao dos Relacionamentos

FUNCIONRIO

cdigo 001 002 003 004 005

nome Jos Paulo Ana Bruna Pedro

chefia Vendas Compras nulo Pessoal Finanas

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

63

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com uma entidade tendo participao opcional e a outra obrigatria

?Adio de Colunas - 1a opo


No gera valores nulos, considerando que a chave estrangeira est do lado com cardinalidade mnima 0.

?Tabela Prpria - 3a opo


No gera valores nulos mas possui duas junes e chaves desnecessrias.

?Fuso de Tabelas - 2a opo


A condicionalidade do relacionamento pode gerar valores nulos em vrias colunas da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 64

32

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria (1,1) r1 (0,1) r2

A a1 a2 a3

B b1 b2 b3

1a Forma - Adio de Coluna A tabela que estiver do lado do relacionamento com cardinalidade mnima 0 ir receber a chave estrangeira e os atributos do relacionamento , com adio de colunas nesta entidade.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 65

Transformao dos Relacionamentos


r1 A a1 a2 a3 B b1 b2 b3 r2 a1

A (a1, a2, a3) B (b1, b2, b3, r1, r2, a1) a1 referencia A
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 66

33

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria 1a Forma - Adio de Colunas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA data

(0,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

67

Transformao dos Relacionamentos

FUNCIONRIO cdigo nome

SETOR sigla nome chefe

gratific data

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome, gratific, data, chefe) chefe referencia FUNCIONRIO
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 68

34

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria Adio de Colunas
FUNCIONRIO
cdigo 001 002 003 004 005 nome Jos Paulo Ana Bruna Pedro sigla S1 S2 S3 S4 nome Vendas Pessoal

SETOR
gratific data chefe 002 001 004 005

Compras 1.000,00 12/03/2001 1.200,00 14/03/2001 1.200,00 15/04/2001

Finanas 1.100,00 05/04/2001

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

69

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria A a1 a2 a3 (1,1) r1 R r2 (0,1) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. Uma dessas chaves estrangeiras ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 70

35

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 71

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria 2a Forma Tabela Prpria - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA data

(0,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

72

36

Transformao dos Relacionamentos


data gratific FUNCIONRIO cdigo nome CHEFIA chefe setor SETOR sigla nome

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome) CHEFIA (chefe, data, gratific, setor) chefe referencia FUNCIONRIO setor referencia SETOR
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 73

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria Tabela Prpria
FUNCIONRIO cdigo nome 001 002 003 004 005 Jos Paulo Ana Bruna Pedro chefe 001 002 004 005 setor S2 S1 S3 S4 CHEFIA data gratific SETOR sigla S1 S2 S3 S4 nome Compras Vendas Pessoal Finanas

12/03/2001 1.000,00 15/04/2001 1.200,00 14/03/2001 1.200,00 05/04/2001 1.100,00

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

74

37

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria (1,1) r1 (0,1) r2

A a1 a2 a3

B b1 b2 b3

3a Forma - Fuso de Tabelas A tabela que estiver do lado do relacionamento com cardinalidade mnima 1 ir receber as colunas do relacionamento e todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 75

Transformao dos Relacionamentos

b1* b2 * b3 * A a1 a2 a3 r1* r2*

A (a1, a2, a3, b1*, b2*, b3*, r1*, r2*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

76

38

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria 3a Forma Fuso de Tabelas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA data

(0,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

77

Transformao dos Relacionamentos

gratific * data * FUNCIONRIO cdigo nome chefia*

FUNCIONRIO (cdigo, nome, gratific*, data*, chefia*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

78

39

Transformao dos Relacionamentos


FUNCIONRIO

cdigo 001 002 003 004 005

nome Jos Paulo Ana Bruna Pedro

chefia Vendas Compras nulo Pessoal Finanas

data 22/03/2001 12/03/2001 nulo 15/04/2001 05/04/2001

gratific 1.000,00 1.000,00 nulo 1.200,00 1.100,00

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

79

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria

?Adio de Coluna - 1a opo


No gera valores nulos, considerando que a chave estrangeira e os atributos do relacionamento esto do lado com cardinalidade mnima 0.

?Tabela Prpria - 2a opo


No gera valores nulos mas possui duas junes e chaves desnecessrias.

?Fuso de Tabelas - 3a opo


A condicionalidade do relacionamento pode gerar valores nulos em vrias colunas da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 80

40

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao obrigatria

A a1 a2 a3

(1,1)

(1,1)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado do relacionamento que tem maior probabilidade de se tornar N ir receber a chave estrangeira , com adio de colunas nesta entidade.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 81

Transformao dos Relacionamentos


N A a1 a2 a3 B b1 b2 b3 a1

A (a1, a2, a3) B (b1, b2, b3, a1) a1 referencia A


Copyright 2001 - Nilton Freire Santos O Modelo Relacional 82

41

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao obrigatria 1a Forma Adio de Colunas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA

(1,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

83

Transformao dos Relacionamentos


N FUNCIONRIO cdigo nome SETOR sigla nome chefe

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome, chefe) chefe referencia FUNCIONRIO
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 84

42

Transformao dos Relacionamentos

FUNCIONRIO

SETOR

cdigo 001 002 003 004

nome Jos Paulo Ana Bruna

sigla S1 S2 S3 S4

nome chefe Compras 002 Vendas 001 Pessoal 004 Finanas 003

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

85

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao obrigatria (1,1) (1,1)

A a1 a2 a3

B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. Uma dessas chaves estrangeiras ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 86

43

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 87

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA

(1,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

88

44

Transformao dos Relacionamentos


FUNCIONRIO cdigo nome CHEFIA chefe setor SETOR sigla nome

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome) CHEFIA (chefe, setor) chefe referencia FUNCIONRIO setor referencia SETOR
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 89

Transformao dos Relacionamentos

FUNCIONRIO

CHEFIA

SETOR

cdigo 001 002 003 004

nome Jos Paulo Ana Bruna

chefe setor 001 S2 002 S1 003 S4 004 S3

sigla S1 S2 S3 S4

nome Compras Vendas Pessoal Finanas

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

90

45

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao obrigatria

A a1 a2 a3

(1,1)

(1,1)

B b1 b2 b3

3a Forma - Fuso de Tabelas Uma das tabelas ir receber todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 91

Transformao dos Relacionamentos

b1 b2 b3 A a1 a2 a3

A (a1, a2, a3, b1, b2, b3)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

92

46

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com uma entidade tendo participao opcional e a outra obrigatria 3a Forma Fuso de Tabelas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA

(1,1)

SETOR sigla nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

93

Transformao dos Relacionamentos

FUNCIONRIO cdigo nome chefia

FUNCIONRIO (cdigo, nome, chefia)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

94

47

Transformao dos Relacionamentos

FUNCIONRIO

cdigo 001 002 003 004

nome Jos Paulo Ana Bruna

chefia Vendas Compras Finanas Pessoal

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

95

Transformao dos Relacionamentos


Relacionamento 1:1 sem atributos com ambas as entidades tendo participao obrigatria

?Adio de Coluna - 2a opo


Gera uma juno e no gera valores nulos.

?Tabela Prpria - 3a opo


No gera valores nulos mas possui duas junes e chaves desnecessrias.

?Fuso de Tabelas - 1a opo


No gera junes, nem valores nulos, nem chaves adicionais.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 96

48

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao obrigatria (1,1) r1 (1,1) r2

A a1 a2 a3

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado do relacionamento que tem maior probabilidade de se tornar N ir receber a chave estrangeira e os atributos do relacionamento , com adio de colunas nesta entidade.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 97

Transformao dos Relacionamentos


r1 A a1 a2 a3 B b1 b2 b3 r2 N a1

A (a1, a2, a3) B (b1, b2, b3, r1, r2, a1) a1 referencia A
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 98

49

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao obrigatria 1a Forma Adio de Colunas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA data

(1,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

99

Transformao dos Relacionamentos


N FUNCIONRIO cdigo nome SETOR sigla nome chefe gratific data

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome, gratific, data, chefe) chefe referencia FUNCIONRIO

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

100

50

Transformao dos Relacionamentos

FUNCIONRIO
cdigo 001 002 003 004 nome Jos Paulo Ana Bruna sigla S1 S2 S3 S4 nome Vendas Pessoal

SETOR
gratific data chefe 002 001 004 003

Compras 1.000,00 12/03/2001 1.200,00 14/03/2001 1.200,00 15/04/2001

Finanas 1.100,00 05/04/2001

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

101

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao obrigatria A a1 a2 a3 (1,1) r1 R r2 (1,1) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. Uma dessas chaves estrangeiras ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 102

51

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 103

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA data

(1,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

104

52

Transformao dos Relacionamentos


data gratific FUNCIONRIO cdigo nome CHEFIA chefe setor SETOR sigla nome

FUNCIONRIO (cdigo, nome) SETOR (sigla, nome) CHEFIA (chefe, data, gratific, setor) chefe referencia FUNCIONRIO setor referencia SETOR
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 105

Transformao dos Relacionamentos

FUNCIONRIO cdigo nome 001 002 003 004 Jos Paulo Ana Bruna Chefe chefe 002 001 004 004 setor S1 S2 S3 S4

CHEFIA data gratific

SETOR sigla S1 S2 S3 S4 nome Compras Vendas Pessoal Finanas

12/03/2001 1.000,00 14/03/2001 1.200,00 15/04/2001 1.200,00 05/04/2001 1.100,00

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

106

53

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao obrigatria

A a1 a2 a3

(1,1) r1

R r2

(1,1)

B b1 b2 b3

3a Forma - Fuso de Tabelas Uma das tabelas ir receber as colunas do relacionamento e todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 107

Transformao dos Relacionamentos

b1 b2 b3 A a1 a2 a3 r1 r2

A (a1, a2, a3, b1, b2, b3, r1, r2)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

108

54

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao obrigatria 3a Forma Fuso de Tabelas - Exemplo

FUNCIONRIO cdigo nome

(1,1)

CHEFIA data

(1,1)

SETOR sigla nome

gratific

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

109

Transformao dos Relacionamentos

gratific

data

FUNCIONRIO cdigo nome chefia

FUNCIONRIO (cdigo, nome, chefia, gratific, data)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

110

55

Transformao dos Relacionamentos

FUNCIONRIO

cdigo 001 002 003 004

nome Jos Paulo Ana Bruna

chefia Vendas Compras Finanas Pessoa

data 14/03/2001 12/03/2001 05/04/2001 15/04/2001

gratific 1.200,00 1.000,00 1.100,00 1.200,00

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

111

Transformao dos Relacionamentos


Relacionamento 1:1 com atributos com ambas as entidades tendo participao obrigatria

?Adio de Coluna - 2a opo


Gera uma juno e no gera valores nulos.

?Tabela Prpria - 3a opo


No gera valores nulos mas possui duas junes e chaves desnecessrias.

?Fuso de Tabelas - 1a opo


No gera junes, nem valores nulos nem chaves adicionais.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 112

56

Transformao dos Relacionamentos


Regra de Implementao Relacionamentos 1:1 (0,1) (0,1) (1,1) (1,1) (1,1) (1,1) (0,1) (0,1) (0,1) (0,1) (1,1) (1,1) Adio de colunas Tabela prpria Fuso de tabelas

1 2 1 1 2 2

2 1 3 2 3 3
O Modelo Relacional

X X 2 3 1 1
113

Copyright 2001 - Nilton Freire Santos

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao opcional

A a1 a2 a3

(0,1)

(0,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira, com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 114

57

Transformao dos Relacionamentos

A a1 a2 a3

B b1 b2 b3

a1*

A (a1, a2, a3) B (b1, b2, b3, a1*) a1 referencia A

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

115

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao opcional 1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(0,1)

ENSINA

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

116

58

Transformao dos Relacionamentos

PROFESSOR cdigo nome

DISCIPLINA cdigo nome

prof *

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, prof*) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

117

Transformao dos Relacionamentos


PROFESSOR cdigo nome DISCIPLINA cdigo nome cdigo nome prof D1 Clculo I P2 D2 Clculo II P2 D3 Fsica I P3 D4 Fsica II nulo D5 Qumica I P1 prof *

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

118

59

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao opcional A a1 a2 a3 (0,1) R (0,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 119

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 120

60

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao opcional 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(0,1)

ENSINA

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

121

Transformao dos Relacionamentos

PROFESSOR cdigo nome

ENSINA

DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 122

61

Transformao dos Relacionamentos


PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome cdigo nome D1 Clculo I D2 Clculo II D3 Fsica I D4 Fsica II D5 Qumica I

prof

disc

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

prof disc P2 D1 P2 D2 P3 D3 P1 D5

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

123

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao opcional (0,1) (0,n)

A a1 a2 a3

B b1 b2 b3

3a Forma Fuso de Tabelas No deve ser utilizada por poder gerar redundncia de dados e a condicionalidade do relacionamento pode gerar valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 124

62

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(0,1)

ENSINA

(0,n)

DISCIPLINA

cdigo nome carga

DISCIPLINA

cdigo nome carga prof fone Carla 222.2222 D1 Clculo I 60 D2 Carla 222.2222 Clculo II 80 D3 Fsica I 60 Paula 246.1112 D4 Fsica II 80 nulo nulo D5 Qumica I 80 Antonio 244.2012 nulo nulo nulo Marcos 226.8987
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 125

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao opcional

?Adio de Colunas Colunas - 1a Opo


Gera uma juno e o relacionamento condicional pode gerar valores nulos na chave estrangeira.

?Tabela Prpria - 2a Opo


No gera valores nulos na chave estrangeira mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - No utilizar


Pode gerar redundncia de dados e a condicionalidade do relacionamento pode gerar valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 126

63

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao opcional

A a1 a2 a3

(0,1) r1

R r2

(0,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira e os atributos do relacionamento , com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 127

Transformao dos Relacionamentos


r1* r2 * A a1 a2 a3 B b1 b2 b3 a1*

A (a1, a2, a3) B (b1, b2, b3, r1*, r2*, a1*) a1 referencia A
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 128

64

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao opcional 1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(0,1) valor

R data

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

129

Transformao dos Relacionamentos


valor * data * PROFESSOR cdigo nome DISCIPLINA cdigo nome prof *

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, valor*, data*, prof*) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

130

65

Transformao dos Relacionamentos


valor * data * PROFESSOR cdigo
cdigo P1 P2 P3 P4 nome Antonio Carla Paula Marcos

DISCIPLINA cdigo nome


nome Clculo I Clculo II Fsica I Fsica II valor 50,00 55,00 70,00 nulo

prof *

nome
cdigo D1 D2 D3 D4 D5

data 22/02/01 12/03/01 20/02/01 nulo 21/02/01

prof P2 P2 P3 nulo P1

Qumica I 60,00

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

131

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao opcional A a1 a2 a3 (0,1) r1 R r2 (0,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser escolhida como chave primria.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 132

66

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 133

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao opcional 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(0,1) valor

R data

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

134

67

Transformao dos Relacionamentos


valor data PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc, valor, data) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 135

Transformao dos Relacionamentos


valor data PROFESSOR cdigo
cdigo P1 P2 P3 P4

ENSINA

DISCIPLINA cdigo nome


data cdigo D1 D2 D3 D4 D5 nome Clculo I Clculo II Fsica I Fsica II Qumica I

nome
nome prof P2 P2 P3 P1

prof
disc D1 D2 D3 D5

disc

valor

Antonio Carla Paula Marcos

50,00 22/02/01 55,00 12/03/01 70,00 20/02/01 60,00 21/02/01

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

136

68

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao opcional (0,1) valor (0,n) data

PROFESSOR cdigo nome

DISCIPLINA cdigo nome

3a Forma Fuso de Tabelas No deve ser utilizada por poder gerar redundncia de dados e a condicionalidade do relacionamento pode gerar valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 137

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(0,1)

ENSINA
valor data

(0,n)

DISCIPLINA

cdigo nome carga

DISCIPLINA cdigo nome carga D1 Clculo I 60 D2 D3 D4 D5 nulo Clculo II Fsica I Fsica II 80 60 80 prof Carla Carla Paula nulo fone valor data 222.2222 50,00 22/02/01 222.2222 55,00 12/03/01 246.1112 70,00 20/02/01 nulo nulo nulo

Qumica I 80 Antonio 244.2012 60,00 21/02/01 nulo nulo Marcos 226.8987 nulo nulo
O Modelo Relacional 138

Copyright 2001 - Nilton Freire Santos

69

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao opcional

?Adio de Colunas Colunas - 2a Opo


Gera uma juno e o relacionamento condicional pode gerar valores nulos na chave estrangeira e nos atributos derivados do relacionamento.

?Tabela Prpria - 1a Opo


No gera valores nulos mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - No utilizar


Pode gerar redundncia de dados e valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 139

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado 1 tendo participao obrigatria

A a1 a2 a3

(1,1)

(0,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira, com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 140

70

Transformao dos Relacionamentos

A a1 a2 a3

B b1 b2 b3

a1

A (a1, a2, a3) B (b1, b2, b3, a1) a1 referencia A

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

141

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado 1 tendo participao obrigatria 1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(1,1)

ENSINA

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

142

71

Transformao dos Relacionamentos

PROFESSOR cdigo nome

DISCIPLINA cdigo nome

prof

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, prof) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

143

Transformao dos Relacionamentos


PROFESSOR cdigo nome DISCIPLINA cdigo nome cdigo nome D1 Clculo I D2 Clculo II D3 Fsica I D4 Fsica II D5 Qumica I prof P2 P2 P3 P3 P1 prof

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

144

72

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado 1 tendo participao obrigatria A a1 a2 a3 (1,1) R (0,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 145

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 146

73

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado 1 tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(1,1)

ENSINA

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

147

Transformao dos Relacionamentos

PROFESSOR cdigo nome

ENSINA

DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 148

74

Transformao dos Relacionamentos


PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome cdigo nome D1 Clculo I D2 Clculo II D3 Fsica I D4 Fsica II D5 Qumica I

prof

disc

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

prof disc P2 D1 P2 D2 P3 D3 P3 D4 P1 D5

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

149

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado 1 tendo participao obrigatria (1,1) (0,n)

A a1 a2 a3

B b1 b2 b3

3a Forma Fuso de Tabelas No deve ser utilizada por poder gerar redundncia de dados e a condicionalidade do relacionamento pode gerar valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 150

75

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(1,1)

ENSINA

(0,n)

DISCIPLINA

cdigo nome carga

DISCIPLINA

cdigo nome carga prof fone Carla 222.2222 D1 Clculo I 60 D2 Carla 222.2222 Clculo II 80 D3 Fsica I 60 Paula 246.1112 D4 Fsica II 80 Paula 246.1112 D5 Qumica I 80 Antonio 244.2012 nulo nulo nulo Marcos 226.8987
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 151

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado 1 tendo participao obrigatria

?Adio de Colunas Colunas - 1a Opo


Gera uma juno e o relacionamento obrigatrio no gera valores nulos na chave estrangeira.

?Tabela Prpria - 2a Opo


No gera valores nulos nas chaves estrangeiras mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - No utilizar


Pode gerar redundncia de dados e valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 152

76

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado 1 tendo participao obrigatria

A a1 a2 a3

(1,1) r1

R r2

(0,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira e os atributos do relacionamento , com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 153

Transformao dos Relacionamentos


r1 A a1 a2 a3 B b1 b2 b3 r2 a1

A (a1, a2, a3) B (b1, b2, b3, r1, r2, a1) a1 referencia A
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 154

77

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado 1 tendo participao obrigatria

1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(1,1) valor

R data

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

155

Transformao dos Relacionamentos


valor PROFESSOR cdigo nome data prof

DISCIPLINA cdigo nome

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, valor, data, prof) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

156

78

Transformao dos Relacionamentos


valor PROFESSOR cdigo
cdigo P1 P2 P3 P4 nome Antonio Carla Paula Marcos

data prof

DISCIPLINA cdigo nome


nome Clculo I Clculo II Fsica I Fsica II valor 50,00 55,00 70,00 75,00

nome
cdigo D1 D2 D3 D4 D5

data 22/02/01 12/03/01 20/02/01 30/03/01 21/02/01

prof P2 P2 P3 P3 P1

Qumica I 60,00

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

157

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado 1 tendo participao obrigatria A a1 a2 a3 (1,1) r1 R r2 (0,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser escolhida como chave primria.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 158

79

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 159

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado 1 tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(1,1) valor

R data

(0,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

160

80

Transformao dos Relacionamentos


valor data PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc, valor, data) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 161

Transformao dos Relacionamentos


valor data PROFESSOR cdigo
cdigo P1 P2 P3 P4

ENSINA

DISCIPLINA cdigo nome


data cdigo D1 D2 D3 D4 D5 nome Clculo I Clculo II Fsica I Fsica II Qumica I

nome
nome prof P2 P2 P3 P3 P1

prof
disc D1 D2 D3 D4 D5

disc

valor

Antonio Carla Paula Marcos

50,00 22/02/01 55,00 12/03/01 70,00 20/02/01 75,00 30/03/01 60,00 21/02/01

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

162

81

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado 1 tendo participao obrigatria (1,1) valor (0,n) data

PROFESSOR cdigo nome

DISCIPLINA cdigo nome

3a Forma Fuso de Tabelas No deve ser utilizada por poder gerar redundncia de dados e a condicionalidade do relacionamento pode gerar valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 163

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(1,1)

ENSINA
valor data

(0,n)

DISCIPLINA

cdigo nome carga

DISCIPLINA cdigo nome carga D1 Clculo I 60 D2 D3 D4 D5 nulo Clculo II Fsica I Fsica II 80 60 80 prof Carla Carla Paula Paula fone valor data 222.2222 50,00 22/02/01 222.2222 55,00 12/03/01 246.1112 70,00 20/02/01 246.1112 75,00 30/03/01

Qumica I 80 Antonio 244.2012 60,00 21/02/01 nulo nulo Marcos 226.8987 nulo nulo
O Modelo Relacional 164

Copyright 2001 - Nilton Freire Santos

82

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado 1 tendo participao obrigatria

?Adio de Colunas Colunas - 1a Opo


Gera uma juno e o relacionamento obrigatrio no gera valores nulos na chave estrangeira.

?Tabela Prpria - 2a Opo


No gera valores nulos mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - No utilizar


Pode gerar redundncia de dados e valores nulos em vrias colunas e na chave primria da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 165

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado N tendo participao obrigatria

A a1 a2 a3

(0,1)

(1,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira, com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 166

83

Transformao dos Relacionamentos

A a1 a2 a3

B b1 b2 b3

a1*

A (a1, a2, a3) B (b1, b2, b3, a1*) a1 referencia A

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

167

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado N tendo participao obrigatria 1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(0,1)

ENSINA

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

168

84

Transformao dos Relacionamentos

PROFESSOR cdigo nome

DISCIPLINA cdigo nome

prof*

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, prof*) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

169

Transformao dos Relacionamentos


PROFESSOR cdigo nome DISCIPLINA cdigo nome cdigo D1 D2 D3 D4 D5 D6 nome prof Clculo I P2 Clculo II P2 Fsica I P3 Fsica II P4 Qumica I P1 Qumica II nulo
O Modelo Relacional 170

prof*

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

Copyright 2001 - Nilton Freire Santos

85

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado N tendo participao obrigatria A a1 a2 a3 (0,1) R (1,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 171

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 172

86

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado N tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(0,1)

ENSINA

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

173

Transformao dos Relacionamentos

PROFESSOR cdigo nome

ENSINA

DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 174

87

Transformao dos Relacionamentos


PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome cdigo D1 D2 D3 D4 D5 D6 nome Clculo I Clculo II Fsica I Fsica II Qumica I Qumica II
175

prof

disc

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

prof disc P2 D1 P2 D2 P3 D3 D4 P4 D5 P1

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado N tendo participao obrigatria

A a1 a2 a3

(0,1)

(1,n)

B b1 b2 b3

3a Forma Fuso de Tabelas A tabela que estiver do lado N do relacionamento ir receber todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 176

88

Transformao dos Relacionamentos

a1 a2 a3 B b1 b2 b3

B (b1, b2, b3, a1, a2, a3)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

177

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado N tendo participao obrigatria 3a Forma Fuso de Tabelas - Exemplo

PROFESSOR
cdigo nome fone

(0,1)

ENSINA

(1,n)

DISCIPLINA

cdigo nome carga

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

178

89

Transformao dos Relacionamentos

prof*

fone* carga

DISCIPLINA cdigo nome

DISCIPLINA (cdigo, nome, carga, prof*, fone*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

179

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(0,1)

ENSINA

(1,n)

DISCIPLINA

DISCIPLINA

cdigo nome carga

cdigo D1 D2 D3 D4 D5 D6

nome Clculo I Clculo II Fsica I Fsica II Qumica I Qumica II

carga 60 80 60 80 80 60

prof Carla Carla Paula Marcos Antonio nulo

fone 222.2222 222.2222 246.1112 266.8987 244.2012 nulo


O Modelo Relacional 180

Copyright 2001 - Nilton Freire Santos

90

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com apenas a entidade do lado N tendo participao obrigatria

?Adio de Colunas Colunas - 1a Opo


Gera uma juno e o relacionamento condicional gera valores nulos na chave estrangeira.

?Tabela Prpria - 2a Opo


No gera valores nulos nas chaves estrangeiras mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - 3a Opo


Pode gerar redundncia de dados e valores nulos em vrias colunas da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 181

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado N tendo participao obrigatria

A a1 a2 a3

(0,1) r1

R r2

(1,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira e os atributos do relacionamento , com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 182

91

Transformao dos Relacionamentos


r1* A a1 a2 a3 B b1 b2 b3 r2* a1*

A (a1, a2, a3) B (b1, b2, b3, r1*, r2*, a1*) a1 referencia A
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 183

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado N tendo participao obrigatria

1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(0,1) valor

R data

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

184

92

Transformao dos Relacionamentos


valor * data * PROFESSOR cdigo nome DISCIPLINA cdigo nome prof *

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, valor*, data*, prof*) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

185

Transformao dos Relacionamentos


valor * data * PROFESSOR cdigo
cdigo P1 P2 P3 P4 nome Antonio Carla Paula Marcos

DISCIPLINA cdigo nome


nome Clculo I Clculo II Fsica I Fsica II Qumica I valor

prof *

nome
cdigo D1 D2 D3 D4 D5 D6

data

prof P2 P2 P3 P4 P1 nulo
186

50,00 22/02/01 55,00 12/03/01 70,00 20/02/01 75,00 30/03/01 60,00 21/02/01 nulo

Qumica II nulo

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

93

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado N tendo participao obrigatria A a1 a2 a3 (0,1) r1 R r2 (1,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser escolhida como chave primria.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 187

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 188

94

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado N tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(0,1) valor

R data

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

189

Transformao dos Relacionamentos


valor data PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc, valor, data) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 190

95

Transformao dos Relacionamentos


valor data PROFESSOR cdigo
cdigo P1 P2 P3 P4

ENSINA

DISCIPLINA cdigo nome


cdigo D1 D2 D3 D4 D5 nome Clculo I Clculo II Fsica I Fsica II Qumica I

nome
prof P2 P2 P3 P4 P1

prof
disc D1 D2 D3 D4 D5

disc
data

nome Antonio Carla Paula Marcos

valor

50,00 22/02/01 55,00 12/03/01 70,00 20/02/01 75,00 30/03/01 60,00 21/02/01

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

191

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado N tendo participao obrigatria

A a1 a2 a3

(0,1) r1

R r2

(1,n)

B b1 b2 b3

3a Forma Fuso de Tabelas A tabela que estiver do lado N do relacionamento ir receber as colunas do relacionamento e todas as colunas da outra tabela , que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 192

96

Transformao dos Relacionamentos

a1* a2* a3* B b1 b2 b3 r1* r2 *

B (b1, b2, b3, a1*, a2*, a3*, r1*, r2*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

193

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado N tendo participao obrigatria 3a Forma Fuso de Tabelas - Exemplo

PROFESSOR
cdigo nome fone

(0,1)

ENSINA
valor data

(1,n)

DISCIPLINA

cdigo nome carga

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

194

97

Transformao dos Relacionamentos

prof * valor* data*

fone* carga

DISCIPLINA cdigo nome

DISCIPLINA (cdigo,nome,carga,prof*,fone*,valor*,data*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

195

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(0,1)

ENSINA
valor data

(1,n)

DISCIPLINA

cdigo nome carga

DISCIPLINA cdigo nome carga D1 Clculo I 60 D2 D3 D4 D5 D6 Clculo II Fsica I Fsica II Qumica I Qumica II 80 60 80 80 60 prof Carla fone valor data 222.2222 50,00 22/02/01

Carla 222.2222 55,00 12/03/01 Paula 246.1112 70,00 20/02/01 Marcos 226.8987 75,00 30/03/01 Antonio 244.2012 60,00 21/02/01 nulo nulo nulo nulo
O Modelo Relacional 196

Copyright 2001 - Nilton Freire Santos

98

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com apenas a entidade do lado N tendo participao obrigatria

?Adio de Colunas Colunas - 2a Opo


Gera uma juno e o relacionamento condicional gera valores nulos em vrias colunas e na chave estrangeira.

?Tabela Prpria - 1a Opo


No gera valores nulos nas chaves estrangeiras mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - 3a Opo


Pode gerar redundncia de dados e valores nulos em vrias colunas da tabela resultante.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 197

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao obrigatria

A a1 a2 a3

(1,1)

(1,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira, com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 198

99

Transformao dos Relacionamentos

A a1 a2 a3

B b1 b2 b3

a1

A (a1, a2, a3) B (b1, b2, b3, a1) a1 referencia A

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

199

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao obrigatria 1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(1,1)

ENSINA

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

200

100

Transformao dos Relacionamentos

PROFESSOR cdigo nome

DISCIPLINA cdigo nome

prof

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, prof) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

201

Transformao dos Relacionamentos


PROFESSOR cdigo nome DISCIPLINA cdigo nome cdigo D1 D2 D3 D4 D5 D6 nome Clculo I Clculo II Fsica I Fsica II Qumica I Qumica II prof P2 P2 P3 P4 P1 P4
202

prof*

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

101

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao obrigatria A a1 a2 a3 (1,1) R (1,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser a chave primria da tabela adicional.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 203

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 204

102

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(1,1)

ENSINA

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

205

Transformao dos Relacionamentos


PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 206

103

Transformao dos Relacionamentos


PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome cdigo D1 D2 D3 D4 D5 D6 nome Clculo I Clculo II Fsica I Fsica II Qumica I Qumica II
207

prof

disc

cdigo nome P1 Antonio P2 Carla P3 Paula P4 Marcos

prof disc P2 D1 D2 P2 D3 P3 P3 D4 P1 D5 P4 D6

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao obrigatria

A a1 a2 a3

(1,1)

(1,n)

B b1 b2 b3

3a Forma Fuso de Tabelas A tabela que estiver do lado N do relacionamento ir receber todas as colunas da outra tabela, que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 208

104

Transformao dos Relacionamentos

a1 a2 a3 B b1 b2 b3

B (b1, b2, b3, a1, a2, a3)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

209

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao obrigatria 3a Forma Fuso de Tabelas - Exemplo

PROFESSOR
cdigo nome fone

(1,1)

ENSINA

(1,n)

DISCIPLINA

cdigo nome carga

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

210

105

Transformao dos Relacionamentos

prof

fone carga

DISCIPLINA cdigo nome

DISCIPLINA (cdigo, nome, carga, prof, fone)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

211

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(0,1)

ENSINA

(1,n)

DISCIPLINA

DISCIPLINA

cdigo nome carga

cdigo D1 D2 D3 D4 D5 D6

nome Clculo I Clculo II Fsica I Fsica II Qumica I Qumica II

carga 60 80 60 80 80 60

prof Carla Carla Paula Paula Antonio Marcos

fone 222.2222 222.2222 246.1112 246.1112 244.2012 226.8987


O Modelo Relacional 212

Copyright 2001 - Nilton Freire Santos

106

Transformao dos Relacionamentos


Relacionamento 1:N sem atributos com ambas as entidades tendo participao obrigatria

?Adio de Colunas Colunas - 1a Opo


Gera uma juno e o relacionamento obrigatrio no gera valores nulos na chave estrangeira.

?Tabela Prpria - 2a Opo


No gera valores nulos nas chaves estrangeiras mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - 3a Opo


Pode gerar redundncia de dados.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 213

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao obrigatria

A a1 a2 a3

(1,1) r1

R r2

(1,n)

B b1 b2 b3

1a Forma - Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira e os atributos do relacionamento , com adio de colunas nesta tabela.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 214

107

Transformao dos Relacionamentos


r1 A a1 a2 a3 B b1 b2 b3 r2 a1

A (a1, a2, a3) B (b1, b2, b3, r1, r2, a1) a1 referencia A
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 215

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao obrigatria

1a Forma - Adio de Colunas - Exemplo

PROFESSOR cdigo nome

(1,1) valor

R data

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

216

108

Transformao dos Relacionamentos


valor PROFESSOR cdigo nome data prof

DISCIPLINA cdigo nome

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome, valor, data, prof) prof referencia PROFESSOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

217

Transformao dos Relacionamentos


valor PROFESSOR cdigo
cdigo P1 P2 P3 P4 nome Antonio Carla Paula Marcos

data prof

DISCIPLINA cdigo nome


nome Clculo I Clculo II Fsica I Fsica II Qumica I valor

nome
cdigo D1 D2 D3 D4 D5 D6

data

prof P2 P2 P3 P3 P1 P4
218

50,00 22/02/01 55,00 12/03/01 70,00 20/02/01 75,00 30/03/01 60,00 21/02/01

Qumica II 65,00 04/04/01

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

109

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao obrigatria A a1 a2 a3 (1,1) r1 R r2 (1,n) B b1 b2 b3

2a Forma - Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave estrangeira proveniente da tabela que estiver do lado N do relacionamento ser escolhida como chave primria.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 219

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 220

110

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao obrigatria 2a Forma Tabela Prpria - Exemplo

PROFESSOR cdigo nome

(1,1) valor

R data

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

221

Transformao dos Relacionamentos


valor data PROFESSOR cdigo nome ENSINA DISCIPLINA cdigo nome

prof

disc

PROFESSOR (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (prof, disc, valor, data) prof referencia PROFESSOR disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 222

111

Transformao dos Relacionamentos


valor data PROFESSOR cdigo
cdigo P1 P2 P3 P4

ENSINA

DISCIPLINA cdigo nome


cdigo D1 D2 D3 D4 D5 D6 nome Clculo I Clculo II Fsica I Fsica II Qumica I Qumica II
223

nome
prof P2 P2 P3 P3 P1 P4

prof
disc D1 D2 D3 D4 D5 D6

disc
data

nome Antonio Carla Paula Marcos

valor

50,00 22/02/01 55,00 12/03/01 70,00 20/02/01 75,00 30/03/01 60,00 21/02/01 65,00 04/04/01

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao obrigatria

A a1 a2 a3

(1,1) r1

R r2

(1,n)

B b1 b2 b3

3a Forma Fuso de Tabelas A tabela que estiver do lado N do relacionamento ir receber as colunas do relacionamento e todas as colunas da outra tabela , que ir desaparecer.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 224

112

Transformao dos Relacionamentos

a1 a2 a3 B b1 b2 b3 r1 r2

B (b1, b2, b3, a1, a2, a3, r1, r2)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

225

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao obrigatria 3a Forma Fuso de Tabelas - Exemplo

PROFESSOR
cdigo nome fone

(1,1)

ENSINA
valor data

(1,n)

DISCIPLINA

cdigo nome carga

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

226

113

Transformao dos Relacionamentos

prof valor data

fone carga

DISCIPLINA cdigo nome

DISCIPLINA (cdigo, nome, carga, prof, fone, valor, data)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

227

Transformao dos Relacionamentos


PROFESSOR
cdigo nome fone

(1,1)

ENSINA
valor data

(1,n)

DISCIPLINA

cdigo nome carga

DISCIPLINA cdigo nome carga D1 Clculo I 60 D2 D3 D4 D5 D6 Clculo II Fsica I Fsica II Qumica I Qumica II 80 60 80 80 60 prof Carla Carla Paula Paula fone valor data 222.2222 50,00 22/02/01 222.2222 55,00 12/03/01 246.1112 70,00 20/02/01 246.1112 75,00 30/03/01

Antonio 244.2012 60,00 21/02/01 Marcos 226.8987 65,00 04/04/01


O Modelo Relacional 228

Copyright 2001 - Nilton Freire Santos

114

Transformao dos Relacionamentos


Relacionamento 1:N com atributos com ambas as entidades tendo participao obrigatria

?Adio de Colunas Colunas - 1a Opo


Gera uma juno e o relacionamento obrigatrio no gera valores nulos na chave estrangeira.

?Tabela Prpria - 2a Opo


No gera valores nulos nas chaves estrangeiras mas possui uma juno a mais do que na adio de colunas.

?Fuso de Tabelas - 3a Opo


Pode gerar redundncia de dados.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 229

Transformao dos Relacionamentos


Regra de Implementao Relacionamentos 1:1 Adio de colunas Tabela prpria Fuso de tabelas

(0,1)

(0,n)

1 2 1 1

2 1 2 2
O Modelo Relacional

X X X X
230

(0,1)

(0,n)

(1,1)

(0,n)

(1,1)

(0,n)

Copyright 2001 - Nilton Freire Santos

115

Transformao dos Relacionamentos


Regra de Implementao Relacionamentos 1:1 Adio de colunas Tabela prpria Fuso de tabelas

(0,1)

(1,n)

1 2 1 1

2 1 2 2
O Modelo Relacional

3 3 3 3
231

(0,1)

(1,n)

(1,1)

(1,n)

(1,1)

(1,n)

Copyright 2001 - Nilton Freire Santos

Transformao dos Relacionamentos


Relacionamento Identificador (1,1) (1,n)

A a1 a2 a3

B b1 b2 b3

Adio de Colunas A tabela que estiver do lado N do relacionamento ir receber a chave estrangeira, com adio de colunas nesta tabela. A chave primria desta tabela ser formada por um de seus atributos concatenado com a chave estrangeira.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 232

116

Transformao dos Relacionamentos

A a1 a2 a3

B b1 b2 b3

a1

A (a1, a2, a3) B (a1, b1, b2, b3) a1 referencia A

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

233

Transformao dos Relacionamentos

Relacionamento Identificador Exemplo

SCIO cdigo nome

(1,1)

POSSUI

(1,n)

DEPENDENTE nmero nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

234

117

Transformao dos Relacionamentos

SCIO cdigo nome

DEPENDENTE nmero nome

scio

SCIO (cdigo, nome) DEPENDENTE (scio, nmero, nome) scio referencia SCIO

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

235

Transformao dos Relacionamentos


SCIO cdigo nome DEPENDENTE nmero nome nome Lucas Pierre Marcos Bruno Olavo Diana
236

scio

cdigo nome S1 Paulo S2 Jos S3 Marta S4 Carlos

scio cdigo S1 D1 1 S1 D2 2 S2 D1 1 S2 D2 2 S3 D1 1 S4 D1 1

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

118

Transformao dos Relacionamentos


Relacionamento N:N sem atributos

A a1 a2 a3

(0,n)

(1,n)

B b1 b2 b3

Tabela Prpria Criar uma tabela contendo as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave primria da nova tabela criada ser formada pela concatenao das duas chaves estrangeiras.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 237

Transformao dos Relacionamentos


A a1 a2 a3 R B b1 b2 b3

a1

b1

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 238

119

Transformao dos Relacionamentos

Relacionamento N:N sem atributos - Exemplo

ALUNO cdigo nome

(0,n)

CURSA

(1,n)

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

239

Transformao dos Relacionamentos


ALUNO cdigo nome CURSA DISCIPLINA cdigo nome

aluno disc

ALUNO (cdigo, nome) DISCIPLINA (cdigo, nome) ENSINA (aluno, disc) aluno referencia ALUNO disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 240

120

Transformao dos Relacionamentos


ALUNO cdigo nome CURSA DISCIPLINA cdigo nome cdigo nome D1 Clculo I D2 Clculo II D3 Fsica I D4 Fsica II D5 Qumica I

aluno disc aluno disc A1 D3 A2 D1 A2 D3 A3 D2 A3 D4 A4 D1

cdigo nome A1 Jos A2 Sandra A3 Valter A4 Ana

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

241

Transformao dos Relacionamentos


Relacionamento N:N com atributos (0,n) r1 (1,n) r2

A a1 a2 a3

B b1 b2 b3

Tabela Prpria Criar uma tabela com as colunas do relacionamento e acrescentar nesta tabela as chaves primrias das tabelas relacionadas, como chaves estrangeiras. A chave primria da nova tabela criada ser formada pela concatenao das duas chaves estrangeiras.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 242

121

Transformao dos Relacionamentos


A a1 a2 a3 R a1 r1 r2 b1 B b1 b2 b3

A (a1, a2, a3) B (b1, b2, b3) R (a1, b1, r1, r2) a1 referencia A b1 referencia B
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 243

Transformao dos Relacionamentos

Relacionamento N:N com atributos - Exemplo

ALUNO cdigo nome

(0,n) mdia

(1,n) faltas

DISCIPLINA cdigo nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

244

122

Transformao dos Relacionamentos


mdia faltas ALUNO cdigo nome CURSA DISCIPLINA cdigo nome

aluno disc
ALUNO (cdigo, nome) DISCIPLINA (cdigo, nome)

ENSINA (aluno, disc, mdia, faltas) aluno referencia ALUNO disc referencia DISCIPLINA
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 245

Transformao dos Relacionamentos


mdia faltas ALUNO cdigo
cdigo A1 A2 A3 A4

CURSA

DISCIPLINA cdigo nome


cdigo D1 D2 D3 D4 D5 nome Clculo I Clculo II Fsica I Fsica II Qumica I

nome
aluno Jos aluno A1 A2 A2 A3 A3 A4

aluno disc
disc D3 D1 D3 D2 D4 D2 mdia faltas 7,5 8,7 9,1 9,0 8,5 9,4 2 4 0 2 3 0

Sandra Valter Ana

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

246

123

Transformao de Generalizao/Especializao

a1 a2 a3

B b1 b2 b3

C c1 c2 c3

D d1 d2 d3

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

247

Transformao de Generalizao/Especializao
1a Forma Criar uma tabela para cada entidade Criar uma tabela para a entidade genrica e uma tabela para cada entidade especializada . Estabelecer um relacionamento 1:1 entre a tabela genrica e cada uma das tabelas especializadas. Colocar a chave primria da tabela genrica como chave estrangeira em cada uma das tabelas especializadas. Definir a chave estrangeira proveniente da tabela genrica como sendo a chave primria de cada uma das tabelas especializadas.

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

248

124

Transformao de Generalizao/Especializao
A a1 a2 a3

B a1 b1 b2 b3

C a1 c1 c2 c3

D a1 d1 d2 d3

A (a1, a2, a3) C (a1, c1, c2, c3) a1 referencia A


Copyright 2001 - Nilton Freire Santos

B (a1, b1, b2, b3) a1 referencia A D (a1, d1, d2, d3) a1 referencia A
O Modelo Relacional 249

Transformao de Generalizao/Especializao
Exemplo:
cdigo nome tipo (0,n) FUNCIONRIO TRABALHA (1,1) SETOR cdigo espec gratif ENGENHEIRO (0,n) PARTICIPA (1,1) cdigo nome PROJETO VENDEDOR (1,1) ATENDE (0,n) PEDIDO cdigo data carro comisso nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

250

125

Transformao de Generalizao/Especializao
FUNCIONRIO SETOR

SETOR (cdigo, nome)

ENGENHEIRO

VENDEDOR
FUNCIONRIO (cdigo, nome, tipo, setor) setor referencia SETOR PROJETO (cdigo, nome) VENDEDOR (cdigo, carro, comisso) cdigo refrencia FUNCIONRIO

PROJETO

PEDIDO

ENGENHEIRO (cdigo, espec, gratif, projeto) cdigo referencia FUNCIONRIO projeto referencia PROJETO

PEDIDO (cdigo, data, vendedor) vendedor referencia VENDEDOR

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

251

Transformao de Generalizao/Especializao
2a Forma Criar uma nica tabela para toda a hierarquia Criar somente uma tabela para a entidade genrica . Fazer fuso de tabelas entre a tabela genrica e cada uma das tabelas especializadas. Transferir os atributos das entidades especializadas para a entidade genrica (esses atributos sero opcionais ). Transferir os relacionamentos das tabelas especializadas para a tabela genrica. Colocar na tabela genrica as chaves estrangeiras referentes aos relacionamentos implementados atravs de adio de colunas s tabelas especializadas (esses atributos sero opcionais ).
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 252

126

Transformao de Generalizao/Especializao

d1* d2*d3* b1* b2* b3* A c1* c2*c3* a1 a2 a3

A (a1, a2, a3, b1*,b2*,b3*,c1*,c2*,c3*,d1*,d2*,d3*)

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

253

Transformao de Generalizao/Especializao
Exemplo:
cdigo nome tipo (0,n) FUNCIONRIO TRABALHA (1,1) SETOR cdigo espec gratif ENGENHEIRO (0,n) PARTICIPA (1,1) cdigo nome PROJETO VENDEDOR (1,1) ATENDE (0,n) PEDIDO cdigo data carro comisso nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

254

127

Transformao de Generalizao/Especializao
FUNCIONRIO SETOR

PROJETO

PEDIDO

SETOR (cdigo, nome) PROJETO (cdigo, nome) FUNCIONRIO (cdigo, nome, tipo, carro*, comisso*, espec*, gratif*, projeto*,setor) projeto referencia PROJETO setor referencia SETOR PEDIDO (cdigo, data, vendedor) vendedor referencia FUNCIONRIO
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 255

Transformao de Generalizao/Especializao
3a Forma Criar tabelas apenas para as entidades especializadas Criar somente tabelas para as entidades especializadas. Transferir os atributos da tabela genrica para cada uma das tabelas especializadas (esses atributos sero obrigatrios). Transferir os relacionamentos da tabela genrica para cada uma das tabelas especializadas. Colocar nas entidades especializadas as chaves estrangeiras referentes aos relacionamentos implementados atravs de adio de colunas tabela genrica.
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 256

128

Transformao de Generalizao/Especializao
a1 a2 a3 B b1 b2 b3 a1 a2 a3 C c1 c2 c3 a1 a2 a3 D d1 d2 d3

B (b1, b2, b3, a1, a2, a3) C (c1, c2, c3, a1, a2, a3) D (d1, d2, d3, a1, a2, a3)
Copyright 2001 - Nilton Freire Santos O Modelo Relacional 257

Transformao de Generalizao/Especializao
Exemplo:
cdigo nome tipo (0,n) FUNCIONRIO TRABALHA (1,1) SETOR cdigo espec gratif ENGENHEIRO (0,n) PARTICIPA (1,1) cdigo nome PROJETO VENDEDOR (1,1) ATENDE (0,n) PEDIDO cdigo data carro comisso nome

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

258

129

Transformao de Generalizao/Especializao
SETOR VENDEDOR

SETOR (cdigo, nome)

ENGENHEIRO

PEDIDO

PROJETO (cdigo, nome)

VENDEDOR (cdigo, nome, carro, comisso, setor) setor refrencia SETOR

PROJETO
PEDIDO (cdigo, data, vendedor) vendedor referencia VENDEDOR ENGENHEIRO (cdigo, nome,espec, gratif, setor, projeto) setor referencia SETOR projeto referencia PROJETO
259

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

Transformao de Generalizao
(0,n) (1,n)

A a1 a2 a3

R1 (0,n) R2 (1,n) C c1 c2 c3

B b1 b2 b3

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

260

130

Transformao de Agregao
Transformar o relacionamento R1 em uma tabela que ir conter as chaves estrangeiras das tabelas A e B para formar a chave primria da tabela R1, ou seja, criar uma tabela prpria para o relacionamento R1. Transformar o relacionamento R2 de acordo com a sua cardinalidade.

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

261

Transformao de Agregao

R1

A (a1, a2, a3 B (b1, b2, b3 C (c1, c2, c3

R2

R1 (a1, b1) a1 referencia A b1 referencia B R2 (a1, b1, c1) [a1,b1] referencia R1 c1 referencia C
O Modelo Relacional 262

Copyright 2001 - Nilton Freire Santos

131

Transformao de Agregao
crm MDICO cdigo nome
SOLICITA

Exemplo: (1,n) (0,n)

fone PACIENTE

ATENDE

(1,n) cdigo nome (0,n) PACIENTE EXAME cdigo nome


Copyright 2001 - Nilton Freire Santos O Modelo Relacional 263

Transformao de Agregao
MDICO ATENDE PACIENTE

MDICO (cdigo, nome, crm)

SOLICITA

PACIENTE (cdigo, nome, fone) EXAME (cdigo, nome) ATENDE (mdico, paciente) mdico referencia MDICO paciente referencia PACIENTE SOLICITA (mdico, paciente, exame) [mdico, paciente] referencia ATENDE exame referencia EXAME

EXAME

Copyright 2001 - Nilton Freire Santos

O Modelo Relacional

264

132

Você também pode gostar