16
1 CIn.ufpe.br Fernando Fonseca Ana Carolina Banco de Dados CIn.ufpe.br Modelo Relacional Definido por E. F. Codd em 1970, teve sua grande aceitação comercial a partir de meados da década de 1980 Razões da grande aceitação Simplicidade dos conceitos básicos Poder dos operadores de manipulação 2 CIn.ufpe.br Modelo Relacional Conceitos Básicos Dada uma coleção de conjuntos D 1 , D 2 , ..., D n (não necessariamente disjuntos), R é uma Relação sobre estes n conjuntos se ela é um conjunto de n-uplas ordenadas <d 1 , d 2 , ..., d n > tal que d 1 pertence a D 1 , d 2 pertence a D 2 , ..., d n pertence a D n D 1 , D 2 , ..., D n são Domínios n é o grau de R 3 CIn.ufpe.br Modelo Relacional 4 José Maria João Thaís Branca D-PESSOA R. A, 30 R. B, 45 R. C, 17 R. D, 67 R. E, 55 D-ENDEREÇO <José, Maria, R. A, 30> <João, Thaís, R. D, 67> Sejam os domínios D 1 (D-Pessoa) e D 2 (D-Endereço) Seja a relação <Esposo, Esposa, Logradouro> em D 1 X D 1 X D 2 CIn.ufpe.br Modelo Relacional O Domínio representa o conjunto de valores atômicos admissíveis de um componente de uma relação. Ele funciona como um conector semântico inter-relação a 2 níveis Definição: todo valor de uma n-upla pertence aD i Manipulação: 2 valores podem ser comparados se definidos sobre o mesmo domínio D Ex: D-IDADE: inteiro 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 D-IDADE José Maria João Thaís Branca D-PESSOA <José, 25> <João, 30> <Thais, 25> Relação: Aluno(Nome, Idade) <Maria, 25> <Branca, 15> Relação: Professora(Nome, Idade) É válido comparar a idade da professora com a dos alunos (mesmo domínio)

Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

Embed Size (px)

Citation preview

Page 1: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

1

CIn.ufpe.br

Fernando Fonseca

Ana Carolina

Banco de Dados

CIn.ufpe.br

Modelo Relacional

Definido por E. F. Codd em 1970, teve sua grandeaceitação comercial a partir de meados da décadade 1980Razões da grande aceitação

Simplicidade dos conceitos básicosPoder dos operadores de manipulação

2

CIn.ufpe.br

Modelo Relacional

Conceitos BásicosDada uma coleção de conjuntos D1, D2, ..., Dn (nãonecessariamente disjuntos), R é uma Relação sobreestes n conjuntos se ela é um conjunto de n-uplasordenadas <d1, d2, ..., dn> tal que d1 pertence a D1,d2 pertence a D2, ..., dn pertence a Dn

D1, D2, ..., Dn são Domíniosn é o grau de R

3

CIn.ufpe.br

Modelo Relacional

4

JoséMariaJoãoThaísBranca

D-PESSOA

R. A, 30R. B, 45R. C, 17R. D, 67R. E, 55

D-ENDEREÇO

<José, Maria, R. A, 30><João, Thaís, R. D, 67>

Sejam os domínios D1 (D-Pessoa) e D2 (D-Endereço)

Seja a relação <Esposo, Esposa, Logradouro> em D1 XD1 X D2

CIn.ufpe.br

Modelo Relacional

O Domínio representa o conjunto de valoresatômicos admissíveis de um componente deuma relação. Ele funciona como um conectorsemântico inter-relação a 2 níveis

Definição: todo valor de uma n-upla pertencea Di

Manipulação: 2 valores só podem sercomparados se definidos sobre o mesmodomínio D

Ex: D-IDADE: inteiro

5

CIn.ufpe.br

Modelo RelacionalExemplo: Domínios e Relações abaixo

152530

D-IDADE

JoséMariaJoãoThaísBranca

D-PESSOA

<José, 25><João, 30><Thais, 25>

Relação: Aluno(Nome, Idade)

<Maria, 25><Branca, 15>

Relação: Professora(Nome, Idade)

É válido comparar a idade da professora com ados alunos (mesmo domínio)

Page 2: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

2

CIn.ufpe.br

dupla: <d1, d2>, grau = 2tripla: <d1, d2, d3>, grau = 3...

n-upla: <d1, d2, ..., dn>, grau = n

Modelo Relacional

TuplaÉ uma n-upla <a1, a2, ..., an> de uma relaçãoR(D1, ..., Dn) tal que ai pertence a Di (1 <= i <=n)

<José, 25>

tupla

∋∋∋∋ D-PESSOA∋∋∋∋ D-IDADE

CIn.ufpe.br

Unicidade Minimalidade

Modelo Relacional

Atributo: Explicita o papel de um domínio emuma relação

Ex: Fone-res: D-FONEFone-com: D-FONE DOMÍNIO

ATRIBUTOS

Os atributos de uma mesma relação devem serdiferentes (nomes diferentes)

Um (ou vários) atributos identificam uma relação:Chave Primária

8

CIn.ufpe.br

Modelo Relacional

Chave CandidataUma relação pode ter mais de um atributo comoidentificador único. Um deles é escolhido comochave primária e os outros são chavescandidatasChave EstrangeiraUm atributo que corresponde a uma chaveprimária em outra relação

9

CIn.ufpe.br

Modelo Relacional

PILOTO Num-cad Nome CPF Endereço

João0101 123456 Recife

0035 José 234567 São Paulo

.

.

.

0987 Pedro 567890 Recife

Atributos

Tuplas

ChavePrimária

Chave Candidata

10

CIn.ufpe.br

Modelo Relacional

Vôo Num-voo . . . Num-pil . . .

.

.

330 . . . 0101 . . .

.

.

ChaveEstrangeira

11

CIn.ufpe.br

Modelo Relacional

Esquema RelacionalConjunto de relações semanticamente ligadaspor seus domínios de definição

O conceito de relação permite ao mesmo temporepresentar

Uma entidadeUma relação semântica(relacionamento)

12

Page 3: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

3

CIn.ufpe.br

Modelo RelacionalRestrições de Integridade

Integridade de Domínio: diz respeito aocontrole sintático e semântico de um dado efaz referência ao tipo de definição do domínioIntegridade de Entidade: diz respeito aosvalores de chave primária que devem serúnicos e não nulosIntegridade Referencial: diz respeito aosvalores de um atributo chave estrangeira e osvalores do atributo chave primáriacorrespondente

13

CIn.ufpe.br

Modelo Relacional

Linguagem Algébrica/Álgebra RelacionalCompreende dois tipos de operadores

Operadores clássicos sobre conjuntos

União, interseção e diferença entrerelações compatíveis

Operadores relacionaisOperadores unários de restrição:seleção e projeçãoOperadores binários de extensão:junção e divisão

14

CIn.ufpe.br

condição simples: =, /= ou < > , <, <=, >, >=

condição booleana: conexão de condiçõessimples por operadores booleanos: AND, OR,NOT

Álgebra RelacionalSeleção: seleciona todas as tuplas quesatisfazem à condição de seleção em umarelação Rσ <condição de seleção> (Nome-da-relação)

15

CIn.ufpe.br

Álgebra Relacional

Projeção: produz uma nova relação com alguns dosatributos de Rπ <lista de atributos> (Nome-da-relação)

16

CIn.ufpe.br

Álgebra Relacional

Num-cad Nome CPF Endereço

João0101 123456 Recife

0035 José 234567 São Paulo

.

.

.

0987 Pedro 567890 Recife

Piloto

Seleção

Projeção

17

CIn.ufpe.br

Álgebra RelacionalJunção: produz todas as combinações de tuplas deR1 e R2 que satisfazem à condição de junção

R1 <condição de junção> R2

Num-cad Nome CPF Endereço

João01010205

12345 Recife

José 71265 SãoPaulo

Recife0957 Pedro 56789

Num-voo . . . Num-pil . . .

330 . . . 0101 . . .

. . .

. . .

Nome CPF Endereço Num-voo . . .. .

. . .

. . .

. . . 0101

Num-pil

330João0101 12345 Recife

Num-cad

18

Ex.: Quais os dados do piloto e do voo 330?

Piloto num_cad = num_pil AND num_voo = 330 Voo

Page 4: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

4

CIn.ufpe.br

Álgebra Relacional

Divisão: produz a relação R(X) incluindo todas as tuplasde R1(A) que aparecem em R1, combinadas com cadatupla de R2(B), onde B ⊆ A e X = A-B

R1 ÷ R2Quais os pilotos que conduzem todos os aviões?

Piloto Avião

00200020001000100010001000150015

101105101104105103103104

V Divisor Avião

101104105103

R Piloto

0010

19

CIn.ufpe.br

Álgebra Relacional

União: produz uma relação que inclui todas as tuplasde R1 ou R2. R1 e R2 devem ser união compatíveis

R1 U R2

Duas relações R(a1, a2, ..., an) e S(b1, b2, ..., bn) são união

compatíveis se elas têm o mesmo grau n e se o Dom(ai) =

Dom( bi), 1 =< i => n

20

CIn.ufpe.br

Álgebra RelacionalConsiderar as relações Piloto e Avião

Num_cad Nome CPF Cidade

João01010205

12345 RecifeJosé 71265 Caruaru

Olinda0957 Pedro 56789

Piloto

No_av Tipo Local

101 A320 Belém104 B727 Natal103 B727 Recife110 B727 Recife

Aviao

21

CIn.ufpe.br

Álgebra RelacionalEx.: Listar as cidades que são residência de pilotosou que são locais de aviões

Piloto (Cidade) Cidade

RecifeCaruaruOlinda

Aviao (Local) Local

BelémNatalRecife Cidades

RecifeCaruaruOlindaBelémNatal

22

Transformar emUnião Compatíveis

CIn.ufpe.br

Álgebra RelacionalInterseção: produz uma relação que inclui astuplas comuns de R1 e R2. R1 e R2 devem serunião compatíveis

R1 ∩ R2

23

Ex.: Listar as cidades que são residência de pilotose locais de aviões

Piloto (Cidade) Cidade

RecifeCaruaruOlinda

Aviao (Local) Local

BelémNatalRecife

Cidade

Recife

Transformar emUnião Compatíveis

CIn.ufpe.br

Álgebra RelacionalDiferença: produz uma relação que inclui todas astuplas de R1 que não estão em R2. R1 e R2 devemser união compatíveis

R1 – R2

24

Ex.: Listar as cidades que são residência de pilotose não são locais de aviões

Piloto (Cidade) Cidade

RecifeCaruaruOlinda

Aviao (Local) Local

BelémNatalRecife

Cidade

CaruaruOlinda

Transformar emUnião Compatíveis

Page 5: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

5

CIn.ufpe.br

Modelo Relacional

Modelo Relacional

ESTRUTURAS OPERADORES RESTRIÇÕES

RelaçãoAtributoDomínio

Chave PrimáriaChave Estrangeira

UniãoInterseçãoDiferençaSeleçãoProjeçãoJunçãoDivisão

Integridade de:DomínioEntidade

Referencial

25

CIn.ufpe.br

Teoria das dependências -Normalização

No projeto de um banco de dados devemosIdentificar dadosFazer com que estes dados representemeficientemente o mundo real

Como proceder? Por intuição?O processo de identificar e estruturar dados

Decomposição

Modelo relacional

Normalização

26

CIn.ufpe.br

Normalização

NormalizaçãoMétodo permitindo identificar a existência deproblemas potenciais (anomalias de atualização)no projeto de um BD relacional

Converte progressivamente uma tabela emtabelas de grau e cardinalidade menores até quepouca ou nenhuma redundância de dados exista

27

CIn.ufpe.br

Normalização

Se a normalização for bem sucedidaO espaço de armazenamento dos dadosdiminui

A tabela pode ser atualizada com maioreficiênciaA descrição do BD será imediata

28

CIn.ufpe.br

Teoria das Dependências

Dependência FuncionalSejam R(A1, A2, ..., An) e X, Y contidos em{A1,A2,..., An} diz-se que existe uma DependênciaFuncional (DF) de X para Y (X � Y) sesomente se, em R, a um valor de X correspondeum e um só valor de Y

Ex: Num-cad � NomeDF Total: Se X � Y e Y � X (X � Y)

Ex: Num-cad � CPF

29

CIn.ufpe.br

Ex: Num-pil Trajeto

Num-av

Teoria das Dependências

DF Plena: quando um atributo é dependente de dois(ou mais) outros

30

Page 6: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

6

CIn.ufpe.br

Teoria das Dependências

Chave PrimáriaUm atributo A (ou uma coleção de atributos) é achave primária de uma relação R, se

Todos os atributos de R são funcionalmentedependentes de ANenhum subconjunto de atributos de A tambémtem a propriedade 1

31

CIn.ufpe.br

Normalização

DefiniçãoUma relação está na Primeira Forma Normal(1NF) se todos os atributos que a compõem sãoatômicos

Piloto

0010 José 123456 81 3245690015 João 234567 83 4567850020 Manuel 34567 45 7684390028 Josué 987654 21 347654

TelefoneNum-cad Nome CPF

32

CIn.ufpe.br

NormalizaçãoComo corrigir?

Separar os componentes do atributo composto ematributos distintos

Piloto Num-cad Nome CPF

0010 José 123456 81 324569

0015 João 234567 83 4567850020 Manuel 345678 45 768439

0028 Josué 987654 21 347654

TELEFONE

33

CIn.ufpe.br

Normalização

Seja a relação

Piloto Num-cad Nome CPF Salário Diploma Descrição

0010 José 123456 5.000,00 D1 Helicópteros0010 José 123456 5.000,00 D2 Aviões a jato0015 João 234567 3.000,00 D3 Bi-motor0020 Manuel 345678 8.000,00 D1 Helicópteros0020 Manuel 345678 8.000,00 D2 Aviões a jato0020 Manuel 345678 8.000,00 D4 Concorde0018 Josué 987654 4.000,00 D2 Aviões a jato

34

CIn.ufpe.br

Normalização

Conseqüências da DesnormalizaçãoExtensão da chave primáriaDependência funcional de parte da chaveprimáriaAnomalias de atualização

Atualização de todas as tuplas com mesmovalor de atributo

35

CIn.ufpe.br

Normalização

Anomalias de atualização(Cont.)Inconsistência: se a atualização não for feitaem todos os níveis

Inclusões: de um item que não temcorrespondente para os outros campos dachave primáriaRemoções: de um item da chave provoca aremoção de informações adicionais

36

Page 7: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

7

CIn.ufpe.br

Num-cad Nome CPF Salário Diploma Descrição

Dependências Parciais

Normalização

DefiniçãoUma relação está na Segunda Forma Normal(2NF) se ela está na 1NF e todo atributo não-chave é plenamente dependente da chaveprimária

37

CIn.ufpe.br

Normalização

Como corrigir?Para cada subconjunto de atributos que

compõem a chave primária, criar uma relaçãocom este subconjunto como chave primária

Colocar cada um dos outros atributos com osubconjunto mínimo do qual ele depende

38

CIn.ufpe.br

Normalização

Relações criadas(Num-cad, Nome, CPF, Salário)(Diploma, Descrição)

(Num-cad, Diploma)Dar nome às novas relações, por exemplo:Piloto, Diplomas e Formação(respectivamente)

39

CIn.ufpe.br

Normalização

Piloto Num-cad Nome CPF Salário

0010 José 12345 5.000,000015 João 23456 3.000,000020 Manuel 34567 8.000,000018 José 98765 4.000,00

Diploma Descrição

D2 Aviões a jato

D3 Bi-motor

D4 Concorde

D1 Helicópteros

Diplomas

Formação

0010 D10010 D20015 D30020 D10020 D20020 D40018 D2

Num-cad Diploma

OBS: Anomalias forameliminadas - Nãohouve perda deinformação

40

CIn.ufpe.br

X � Y � Z

No-avião Tipo Capacidade Local

Teoria das Dependências

Dependência TransitivaOcorre quando Y depende de X e Z depende deY

Logo, Z também depende de X

41

CIn.ufpe.br

Normalização

DefiniçãoUma relação está na Terceira Forma Normal (3NF)se ela está na 2NF e nenhum atributo não-chave étransitivamente dependente da chave primária

42

Page 8: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

8

CIn.ufpe.br

Normalização

Como corrigir?Para cada determinante que não é chavecandidata, remover da relação os atributos quedependem dele para criar uma nova relaçãoonde o determinante será chave primária

43

CIn.ufpe.br

Normalização

No-av Tipo Capacidade Local

101 A320 320 Rio104 B727 250 S.Paulo105 DC10 350 Rio103 B727 250 Recife110 B727 250 Rio

Avião

No-av Tipo Local

101 A320 Rio104 B727 S.Paulo105 DC10 Rio103 B727 Recife110 B727 Rio

Avião1Tipo Capacidade

A320 320 B727 250 DC10 350

Tipo_av

44

CIn.ufpe.br

Normalização

DefiniçãoUma relação está na Forma Normal de Boyce/Codd(BCNF) se todo determinante é uma chavecandidata

45

CIn.ufpe.br

Aluno Disc Prof.

Maria BD FernandoMaria ES PauloJosé BD FernandoJosé ES André

ADP

e as regras:- para cada disciplina, cada estudante tem um único professor- cada professor ensina uma única disciplina- cada disciplina é ensinada por vários professores

Normalização

Relações com mais de uma chave candidataConsidere a relação

46

CIn.ufpe.br

Normalização

Aluno Disciplina Professor

A relação está na 3NF mas não está na BCNF

A decomposição seria

Aluno Professor

Maria FernandoMaria PauloJosé FernandoJosé André

APProfessor Disciplina

Fernando BDPaulo ESAndré ES

PD

47

CIn.ufpe.br

Normalização

Piloto Avião TrajetoVôo

0020 101 Rec-Rio

105 Rio- Spa

Spa-Rec

0010 101 Rec-For

104

0015 103 Rio-Spa

Seja a relação

?

Piloto Avião Trajeto

0020 101 Rec-Rio

105 Rio- Spa

Spa-Rec

0010 101 Rec-For104

0015 103 Rio-Spa

0020

0020 105

0020 101 Spa-Rec0020 101 Rio-Spa0020 105 Rec-Rio

0010 Rec-For

Vôo

48

Page 9: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

9

CIn.ufpe.br

> A DMV só existe se R tem no mínimo 3 atributos

> Dada R(A, B, C), a DMV A �� B existe seA �� C também existir. Daí a notação:A �� B|C

Normalização

Dependência Multivalorada (DMV)Dada uma relação R com atributos A, B, C,existe uma dependência multivalorada doatributo A no atributo B (A � B) se um valor de Aé associado a uma coleção específica de valoresde B, independente de quaisquer valores de C

49

CIn.ufpe.br

Normalização

DefiniçãoUma relação está na Quarta Forma Normal(4NF) se ela está na 3NF (BCNF) e não existemdependências multivaloradas

Como corrigir?Separar a relação em relações, cada umacontendo o atributo (A) que multidetermina osoutros (B, C), ou seja, R1 (A, B) e R2 (A, C)

CIn.ufpe.br

Normalização

Piloto Avião Trajeto

0020 101 Rec-Rio

105 Rio- Spa

Spa-Rec

0010 101 Rec-For104

0015 103 Rio-Spa

0020

0020 105

0020 101 Spa-Rec0020 101 Rio-Spa0020 105 Rec-Rio

0010 Rec-For

Vôo

Piloto Avião

0020 1010020 1050010 1010010 1040015 103

Vôo1

Piloto Trajeto

0020 Rec-Rio0020 Rio-Spa0020 Spa-Rec0010 Rec-For0015 Rio-Spa

Vôo2

51

CIn.ufpe.br

Normalização OBS: Para evitar relações não 4NF

Quando existir mais de um atributomultivalorado, o processo de normalizaçãopara 1NF é o seguinte:

Criar uma relação para cada atributomultivalorado (AMV) (e os que eledetermina)Incluir a chave primária da relação original(CPO)A chave primária será: CPO + AMV

52

CIn.ufpe.br

Normalização

NotasAté agora o processo de decomposiçãosubstituía uma relação por duas de suasprojeções

Pode acontecer que uma relação não possa serdecomposta sem perdas em duas relações maspossa ser decomposta em três ou mais. Estefenômeno é chamado n-decomposição (n > 2)

53

CIn.ufpe.br

Normalização

Seja a relação Vôo :

Piloto Avião TrajetoVôo

0020 101 Rec-Rio

105 Rec-Rio

Rio-Spa

0010 101 Rec-Rio

0020

0020 101

Piloto Avião

0020 101

0020 105

0010 101

V1 Avião Trajeto

101 Rec-Rio

105 Rec-Rio

101 Rio-Spa

V2

É possível aplicar a operação de projeção de várias maneiras

Projeção em duas relações

54

Page 10: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

10

CIn.ufpe.br

Normalização

Piloto Avião

0020 1010020 1050010 101

Avião Trajeto

101 Rec-Rio105 Rec-Rio101 Rio-Spa

Trajeto Piloto

Rec-Rio 0020Rio-Spa 0020Rec-Rio 0010

V1 V2 V3

Projeção em três relações

Projeção ...

55

CIn.ufpe.br

NormalizaçãoPiloto Avião

0020 101

0020 105

0010 101

V1 Avião Trajeto

101 Rec-Rio

105 Rec-Rio

101 Rio-Spa

V2

Avião

Piloto Avião TrajetoV4

0020 101 Rec-Rio

105 Rec-Rio

Rio-Spa

0010 101 Rec-Rio

0020

0020 101

V4

0010 101 Rio-Spa

Trajeto Piloto

Rec-Rio 0020

Rio-Spa 0020

Rec-Rio 0010

V3

(Trajeto, Piloto)

Relação

Original

56

Piloto Avião TrajetoVôo

0020 101 Rec-Rio

105 Rec-Rio

Rio-Spa

0010 101 Rec-Rio

0020

0020 101

CIn.ufpe.br

Normalização

DefiniçãoUma relação R satisfaz a Dependência de

Junção * (X, Y, ..., Z) se somente se R é igual àjunção de suas projeções em X, Y, ..., Z onde X,Y, ..., Z são subconjuntos do conjunto deatributos de RNo exemplo, a relação Vôo satisfaz à DJ:

* ({Piloto, Avião)}, {Avião, Trajeto}, {Trajeto,Piloto})

57

CIn.ufpe.br

NormalizaçãoProblemas na atualização

Piloto Avião TrajetoVôo

P1 A1 T2

P1 A2 T1

P1 A1 T1

•Se t3 for inserida => t4

Interpretação:Se João pilota um B737 e

o trajeto Rec-Rio é feito por um B737 eJoão pilota no trajeto Rec-Rio

EntãoJoão pilota um B737 no trajeto Rec-Rio

O que não é necessariamente verdadeiro

P2 A1 T1

•Se t4 for removida, uma das

t também tem que ser

58

CIn.ufpe.br

DJ

DMV

DF

: Generalização

Normalização

Teorema de FaginR (A, B, C) satisfaz à DJ *(AB, AC) se somentese satisfaz o par de DMV A �� B|C

Este teorema pode ser visto como uma definiçãode DMV, logo

59

CIn.ufpe.br

Normalização

OBS: A DJ é a forma mais geral dedependências que tratam relações sendodecompostas via projeção e reconstruídas viajunção

• DefiniçãoUma relação está na Quinta Forma Normal(5NF), também chamada de Forma NormalProjeção/ Junção (PJNF), se somente se cadadependência de junção em R é umaconsequência de chaves candidatas de R

60

Page 11: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

11

CIn.ufpe.br

Normalização

Notas:Qualquer relação 5NF está na 4NFResultados demonstrados por Fagin

Qualquer relação dada pode ser decompostasem perdas em uma coleção equivalente derelações em 5NF, ou seja, a 5NF é semprerealizável

61

CIn.ufpe.br

Normalização

Resultados demonstrados por Fagin (Cont.)Dada uma relação R, podemos dizer se Restá na 5NF se conhecermos suas chavescandidatas e todas as DJ em R

Embora seja fácil identificar DF e DMV, o mesmonão pode ser dito da DJ porque seu significadointuitivo não é óbvio

62

CIn.ufpe.br

Resumo da NormalizaçãoEliminar atributos não atômicos

1NF

Eliminar DF não plenas

2NF

Eliminar dependências transitivas

3NF

Eliminar DMV

4NF

Eliminar DJ (se encontradas)

5NF

Eliminar DF cujo determinante não é chave candidata

BCNF

Para evitar proble-mas com a 4NF:Remover para ou-tras relações atri-butos multivalora-dos quando daaplicação da 1NF

63

Mapeamento E/R - Relacional

64

CIn.ufpe.br

E-R/Relacional

Um esquema relacional pode ser facilmentederivado de um esquema conceitualdesenvolvido usando o modelo E-RSeja o exemplo de modelagem E-R a seguir

65

CIn.ufpe.br

Empregado Departamento

Projeto

Dependentes

Supervisão Dependentes

de Trabalha

em

Trabalha

para

Gerencia

Controla

N 1

1 1

M

N

1

N

1

N

1N

Cad

Nome

Sexo Salário Número Nome

Locais

Data-Ini

Número Nome

Local

Nome Data-nasc Grau-P

Horas

66

Page 12: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

12

CIn.ufpe.br

EmpregadoCad Nome Sexo Salário

E-R/Relacional

Passo 1Para cada entidade regular E no esquema E-R, criaruma relação R que inclui todos os atributos de R

Exemplo

67

CIn.ufpe.br

E-R/Relacional

Passo 2Para cada entidade fraca W no esquema E-Rque tenha como entidade proprietária E

Criar uma relação R e incluir todos osatributos de W como atributos de RIncluir o(s) atributo(s) chave primária da

relação proprietária EA chave primária de R é a combinação da chaveprimária de E e da chave parcial de W

Cad Nome Data-nasc Grau-PDependente

68

CIn.ufpe.br

E-R / Relacional

Passo 3Para cada relacionamento R de 1:1 no esquemaER

Identificar as relações das entidadesparticipando do relacionamento REscolher uma das relações e incluir comochave estrangeira a chave primária da outrarelaçãoIncluir todos os atributos do relacionamentona relação escolhida

69

CIn.ufpe.br

Note que um mapeamento alternativo de um

relacionamento 1:1 é possível juntando as duas

entidades em uma única relação. Isto é apropriado

quando as entidades não participam de outros

relacionamentos.

E-R/Relacional

Passo 3 (cont)

Departamento Número Nome Cad-Ger Data-Ini

Exemplo

70

CIn.ufpe.br

EmpregadoCad Nome Sexo Salário Num-Dep Cad-Spv

E-R / Relacional

Passo 4Para cada relacionamento regular (não fraco) 1:N

Identificar a relação S que representa a entidadedo lado NIncluir como chave estrangeira a chave primáriada relação que representa a entidade do lado 1Incluir os atributos do relacionamento em S

71

CIn.ufpe.br

Trabalha-em Cad-Emp Num-Proj Horas

E-R/Relacional

Passo 5Para cada relacionamento R de M:N

Criar uma nova relação para representar RIncluir como chave estrangeira as chavesprimárias das relações que participam em R,estas chaves combinadas formarão a chaveprimária da relaçãoIncluir também eventuais atributos de R

7272

Page 13: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

13

CIn.ufpe.br

Num-Dep Num-LocLocais

E-R/Relacional

Passo 6Para cada atributo multivalorado A, criar umanova relação R, incluindo um atributocorrespondendo a A mais a chave primária K darelação que tem A como atributo

A chave primária de R é a combinação de Ae K

73

CIn.ufpe.br

E-R/Relacional

Passo 7Para cada relacionamento n-ário R (n > 2)

Criar uma nova relação S para representar R

Incluir como chaves estrangeiras as chavesprimárias das relações que representam asentidades participantesIncluir os eventuais atributos de RA chave primária de S é normalmente acombinação das chaves estrangeiras

74

CIn.ufpe.br

Esquema Relacional

Num-Dep Num-LocLocais

Trabalha-em Cad-Emp Num-Proj Horas

EmpregadoCad Nome Sexo Salário Num-Dep Cad-Spv

Departamento Número Nome Cad-Ger Data-Ini

Projeto Número Nome Num-Dep

Cad Nome Data-nasc Grau-PDependente

75

CIn.ufpe.br

Exercício

76

CIn.ufpe.br

Esquema Relacional Normalizado

Projeto (Cod, descricao, valor)Atributos atômicos (1NF)Chave não composta (2NF)

Não há dependência transitiva (3NF)Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

77

CIn.ufpe.br

Esquema Relacional Normalizado

Atividade (Cod, descricao)Atributos atômicos (1NF)Chave não composta (2NF)

Não há dependência transitiva (3NF)Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

78

Page 14: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

14

CIn.ufpe.brAtributo Multivalorado: Fone (4NF)

Esquema Relacional Normalizado

Empregado(CPF, nome, sexo, salario, dtNasc, CEP,descricao, Fones, CPF_Spv)

Atributo atômicos (1NF)

Chave não composta (2NF)Dependência Transitiva: CPF � CEP �Descricao(3NF)

79

CIn.ufpe.br

Esquema Relacional Normalizado

Dado um CEP podem existir várias descriçõesassociadas (números de casa e apartamento)Empregado(CPF, nome, sexo, salario, dtNasc,CPF_Spv) CPF_Supv referencia Empregado(CPF)

Endereco (CEP, descricao, CPF) CPF referenciaEmpregado (CPF)Fones (CPF, fone)

80

CIn.ufpe.br

Esquema Relacional Normalizado

81

CIn.ufpe.br

Esquema Relacional Normalizado

Participa (Cod_Proj, Cod_Ativ, CPF) Cod_Proj referencia Projeto (Cod), Cod_Ativ referencia Atividade (Cod), CPF referencia Empregado (CPF)

Atributos atômicos (1NF)

Dependência Funcional Plena da Chave Primária(2NF)Não há dependência transitiva (3NF)

Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)

Não há dependência de junção (5NF)

82

CIn.ufpe.br

Esquema Relacional Normalizado

Departamento (Cod, descricao, CPF_chefe) CPF_chefe referencia Empregado (CPF)

Atributos atômicos (1NF)

Chave não composta (2NF)Não há dependência transitiva (3NF)

Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)

Não há dependência de junção (5NF)83

CIn.ufpe.br

Esquema Relacional Normalizado

Gratificacao (Cod, descricao)

Atributos atômicos (1NF)Chave não composta (2NF)Não há dependência transitiva (3NF)

Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

84

Page 15: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

15

CIn.ufpe.br

Esquema Relacional Normalizado

85

CIn.ufpe.br

Esquema Relacional Normalizado

Trabalha (CPF, Cod_Depto, data, Cod_Gratif) CPF referencia Empregado (CPF), Cod_Depto referencia Departamento (Cod), Cod_Gratif referencia Gratificação (Cod)

Atributos atômicos (1NF)Dependência Funcional Plena da Chave Primária (2NF)Não há dependência transitiva (3NF)Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

86

CIn.ufpe.br

Esquema Relacional Normalizado

87

CIn.ufpe.br

Esquema Relacional Normalizado

Tecnico (CPF, ultimaSerie)Atributos atômicos (1NF)Chave não composta (2NF)

Não há dependência transitiva (3NF)Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

88

CIn.ufpe.br

Esquema Relacional Normalizado

89

CIn.ufpe.br

Esquema Relacional Normalizado

Graduado (CPF)

Atributos atômicos (1NF)Chave não composta (2NF)Não há dependência transitiva (3NF)Só há dependência funcional para chave(BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

90

Page 16: Modelo Relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 CIn.ufpe.br Modelo Relacional Exemplo: Domínios e Relações abaixo 15 25 30 ... no projeto de um BD relacional Converte

16

CIn.ufpe.br

Esquema Relacional Normalizado

Grau (Cod, tipo)Atributos atômicos (1NF)Chave não composta (2NF)Não há dependência transitiva (3NF)Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

91

CIn.ufpe.br

Esquema Relacional Normalizado

IES (Cod, nome, sigla)Atributos atômicos (1NF)Chave não composta (2NF)Não há dependência transitiva com atributo não-chave (3NF)Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)Não há dependência de junção (5NF)

92

CIn.ufpe.br

Esquema Relacional Normalizado

93

CIn.ufpe.br

Esquema Relacional Normalizado

TitulacaoEmpregado (CPF, data, Cod_Grau, Cod_IES) CPF referencia Empregado (CPF),Cod_grau referencia Grau (Cod),Cod_IES referencia IES (Cod)

Atributos atômicos (1NF)

Dependência Funcional Plena da Chave Primária(2NF)Não há dependência transitiva (3NF)

Só há dependência funcional para chave (BCNF)Não há dependência multivalorada (4NF)

Não há dependência de junção (5NF)

94