modelo relacional - cin.ufpe.brin940/modelorelacional.pdf · 5 cin.ufpe.br modelo relacional...
TRANSCRIPT
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)
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
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
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
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
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
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
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
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
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
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
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
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
✔
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
✔
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
✔
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
✔