Buscar

Normalização de Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

BANCO DE DADOS I - GCC114 
 
Normalização 
 
1 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
 
 
 
DCC-UFLA, Lavras 
Versão dos Slides: 0.71 
 
 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Projeto de Banco de Dados 
2 
Projeto Conceitual 
Projeto Lógico 
Projeto Físico 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Projeto Conceitual 
 Principal ferramenta: Modelor E/R 
 Dúvidas frequentes 
• Representar um determinado objeto do minimundo como 
atributos ou entidade? 
• Representar determinados atributos em entidades ou 
relacionamentos ? 
• Qual o grau adequado para um relacinamento? 
• Qual nível de abstração: especializar, generalizar, ou agregar? 
 Princípios de projeto 
• Fidelidade ao minimundo 
• Representação de entidades e relacionamentos com semântica 
clara 
• Concisão 
 Critérios de avaliação informais e muitas vezes subjetivos 
3 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Projeto Lógico 
4 
Projeto Conceitual 
Projeto Lógico 
Mapeamento do modelo 
E/R para o relacional 
 Representação formal 
de objetos 
 Definição formal de 
operadores ou regras de 
inferência 
 Definição formal de 
regras de integridade 
Nível de abstração inferior ao 
modelo E/R 
Modelo relacional 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Princípios de Projeto Lógico 
5 
Conceitual 
Lógico 
 Evitar: 
• Informação redundante em tuplas 
• Valores NULL em tuplas; 
• Relacionamentos que não envolvam 
chaves 
 Problemas: 
• Maior consumo de espaço de 
armazenamento 
• Anomalias em operações 
− Overhead 
− Inconsistência 
− Dificuldade de interpretação de resultados 
− Geração de tuplas espúrias 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Informação Redundante em Tuplas 
6 
Dep_Nome 
Pesquisa 
Vendas 
Diretoria 
Dnum 
1 
4 
5 
Ger_CPF 
111111111 
122222222 
555555555 
809333333 
Nome 
José Silva 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
111111111 
122222222 
444444444 
555555555 
D_Nasc 
07/09/1969 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Av. Brasil, 16 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
1 
4 
4 
4 
5 
Funcionário 
Departamento 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Informação Redundante em Tuplas 
7 
Dep_Nome 
Pesquisa 
Vendas 
Diretoria 
Dnum 
1 
4 
5 
Ger_CPF 
111111111 
122222222 
555555555 
809333333 
Nome 
José Silva 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
111111111 
122222222 
444444444 
555555555 
D_Nasc 
07/09/1969 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Av. Brasil, 16 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
1 
4 
4 
4 
5 
Funcionário 
Departamento 
NATURAL JOIN 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Informação Redundante em Tuplas 
8 
809333333 
Nome 
José Silva 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
111111111 
122222222 
444444444 
555555555 
D_Nasc 
07/09/1969 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Av. Brasil, 16 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
1 
4 
4 
4 
5 
Dep_Nome 
Pesquisa 
Vendas 
Vendas 
Ger_CPF 
111111111 
122222222 
122222222 
Vendas 
Diretoria 
122222222 
555555555 
Func_Depto 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Redundância 
9 
809333333 
Nome 
José Silva 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
111111111 
122222222 
444444444 
555555555 
D_Nasc 
07/09/1969 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Av. Brasil, 16 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
1 
4 
4 
4 
5 
Dep_Nome 
Pesquisa 
Vendas 
Vendas 
Ger_CPF 
111111111 
122222222 
122222222 
Vendas 
Diretoria 
122222222 
555555555 
Func_Depto 
 Desperdício de espaço de armazenamento 
 Func_Depto não possui semântica clara 
 Obs.: Operação de junção entre as relações 
originais Funcionário e Departamento é evitada: 
pode ser justificável por questões de performance 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Inserção 
 Inserção de um novo funcionário 
• Funcionário não está lotado em nenhum departamento ainda 
10 
Jair Cruz 111122233 23/12/1975 Rua 4, 250 NULL NULL NULL 
Nome 
José Silva 
CPF 
111111111 
D_Nasc 
07/09/1969 
Endereço 
Av. Brasil, 16 
Dnum 
1 
Dep_Nome 
Pesquisa 
Ger_CPF 
111111111 
Func_Depto 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Inserção 
 Inserção de um novo funcionário 
• Funcionário não está lotado em nenhum departamento ainda 
• Inconsistência após sucessivas inserções 
11 
Jair Cruz 111122233 23/12/1975 Rua 4, 250 NULL NULL NULL 
234234234 Luís Alves 11/10/1975 Av. L, 42 1 Research 555555555 
Nome 
José Silva 
CPF 
111111111 
D_Nasc 
07/09/1969 
Endereço 
Av. Brasil, 16 
Dnum 
1 
Dep_Nome 
Pesquisa 
Ger_CPF 
111111111 
Func_Depto 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Inserção 
 Inserção de um novo funcionário 
• Funcionário não está lotado em nenhum departamento ainda 
• Inconsistência 
 Inserção de um novo departamento 
• Departamento não possui nenhum funcionário 
12 
Jair Cruz 111122233 23/12/1975 Rua 4, 250 NULL NULL NULL 
234234234 Luís Alves 11/10/1975 Av. L, 42 1 Research 555555555 
NULL NULL NULL NULL 4 Vendas 122222222 
Nome 
José Silva 
CPF 
111111111 
D_Nasc 
07/09/1969 
Endereço 
Av. Brasil, 16 
Dnum 
1 
Dep_Nome 
Pesquisa 
Ger_CPF 
111111111 
Func_Depto 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Inserção 
 Inserção de um novo funcionário 
• Funcionário não está lotado em nenhum departamento ainda 
• Inconsistência 
 Inserção de um novo departamento 
• Departamento não possui nenhum departamento 
• Depois que o primeiro funcionário é inserido a tupla inserida 
inicialmente torna-se desnecessária 
13 
Jair Cruz 111122233 23/12/1975 Rua 4, 250 NULL NULL NULL 
234234234 Luís Alves 11/10/1975 Av. L, 42 1 Research 555555555 
NULL NULL NULL NULL 4 Vendas 122222222 
Alan Ribeiro 809333333 13/10/1971 Av. D, 150 4 Vendas 122222222 
Nome 
José Silva 
CPF 
111111111 
D_Nasc 
07/09/1969 
Endereço 
Av. Brasil, 16 
Dnum 
1 
Dep_Nome 
Pesquisa 
Ger_CPF 
111111111 
Func_Depto 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Deleção 
 Deleção do último funcionário de um 
departamento exclui toda informação sobre 
este departamento do banco de dados 
14 
809333333 
Nome 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
122222222 
444444444 
555555555 
D_Nasc 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
4 
4 
4 
5 
Dep_Nome 
Vendas 
Vendas 
Ger_CPF 
José Silva 111111111 07/09/1969 Av. Brasil, 16 1 Pesquisa 111111111 
122222222 
122222222 
Vendas 
Diretoria 
122222222 
555555555 
Func_Depto 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Modificação 
 Modificação de um atributo de um 
departamento requer a modificação de todas 
tuplas contendo informação deste 
departamento15 
809333333 
Nome 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
122222222 
444444444 
555555555 
D_Nasc 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
4 
4 
4 
5 
Dep_Nome 
Vendas 
Vendas 
Ger_CPF 
José Silva 111111111 07/09/1969 Av. Brasil, 16 1 Pesquisa 111111111 
122222222 
122222222 
Vendas 
Diretoria 
122222222 
555555555 
Func_Depto 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Modificação 
 Modificação de um atributo de um 
departamento requer a modificação de todas 
tuplas contendo informação deste 
departamento 
16 
809333333 
Nome 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
122222222 
444444444 
555555555 
D_Nasc 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
4 
4 
4 
5 
Dep_Nome 
Vendas 
Vendas 
Ger_CPF 
José Silva 111111111 07/09/1969 Av. Brasil, 16 1 Pesquisa 111111111 
122222222 
Vendas 
Diretoria 
122222222 
555555555 
Func_Depto 
809333333 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Anomalias de Atualização: Modificação 
 Modificação de um atributo de um 
departamento requer a modificação de todas 
tuplas contendo informação deste 
departamento 
17 
809333333 
Nome 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
122222222 
444444444 
555555555 
D_Nasc 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
4 
4 
4 
5 
Dep_Nome 
Vendas 
Vendas 
Ger_CPF 
José Silva 111111111 07/09/1969 Av. Brasil, 16 1 Pesquisa 111111111 
Vendas 
Diretoria 555555555 
Func_Depto 
809333333 
809333333 
809333333 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Valore NULL em Tuplas 
 Desperdício de espaço de armazenamento 
 Diferentes interpretações: não aplicável, desconhecido, 
ausente 
 Diferentes semânticas (resultados) para operações 
envolvendo comparações como junções internas e 
externas, agregações e agrupamentos 
18 
Funcionário 
809333333 
Nome 
José Silva 
João Rocha 
Alan Ribeiro 
Maria Santos 
Márcia Silva 
CPF 
111111111 
122222222 
444444444 
555555555 
D_Nasc 
07/09/1969 
23/12/1969 
13/10/1971 
14/05/1973 
18/11/1970 
Endereço 
Av. Brasil, 16 
Rua 9, 232 
Av. D, 150 
Av. C126, 98 
Rua 3, 25 
Dnum 
1 
4 
4 
4 
5 
Nr_Vaga_Est 
NULL 
NULL 
NULL 
Sala_Nr 
13 
NULL 
NULL 
NULL 
33 
NULL 
42 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Geração de Tuplas Espúrias 
19 
Func_Nome 
José Silva 
Maria Santos 
José Silva 
Maria Santos 
111111111 
CPF 
111111111 
444444444 
444444444 
Pno 
1 
2 
3 
4 
Proj_Nome 
ProdutoA 
ProdutoB 
ProdutoC 
ProdutoD 
Horas 
4 
2 
4 
6 
Proj_Local 
São Paulo 
São Paulo 
Belo Horizonte 
Belo Horizonte 
Func_Proj 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Geração de Tuplas Espúrias 
20 
Func_Nome 
José Silva 
Maria Santos 
José Silva 
Maria Santos 
111111111 
CPF 
111111111 
444444444 
444444444 
Pno 
1 
2 
3 
4 
Proj_Nome 
ProdutoA 
ProdutoB 
ProdutoC 
ProdutoD 
Horas 
4 
2 
4 
6 
Proj_Local 
São Paulo 
São Paulo 
Belo Horizonte 
Belo Horizonte 
Func_Proj 
Func_Local 
Proj_Local 
São Paulo 
São Paulo 
Belo Horizonte 
Belo Horizonte 
Func_Nome 
José Silva 
Maria Santos 
José Silva 
Maria Santos 
Func_Proj1 
111111111 
CPF 
111111111 
444444444 
444444444 
Proj_Nome 
ProdutoA 
ProdutoB 
ProdutoC 
ProdutoD 
Horas 
4 
2 
4 
6 
Proj_Local 
São Paulo 
São Paulo 
Belo Horizonte 
Belo Horizonte 
Pno 
1 
2 
3 
4 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Geração de Tuplas Espúrias 
21 
Func_Local 
Proj_Local 
São Paulo 
São Paulo 
Belo Horizonte 
Belo Horizonte 
Func_Nome 
José Silva 
Maria Santos 
José Silva 
Maria Santos 
Func_Proj1 
111111111 
CPF 
111111111 
444444444 
444444444 
Proj_Nome 
ProdutoA 
ProdutoB 
ProdutoC 
ProdutoD 
Horas 
4 
2 
4 
6 
Proj_Local 
São Paulo 
São Paulo 
Belo Horizonte 
Belo Horizonte 
Pno 
1 
2 
3 
4 
NATURAL JOIN 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Func_Nome 
José Silva 
José Silva 
Maria Santos 
Maria Santos 
111111111 
CPF 
111111111 
444444444 
444444444 
Pno 
1 
2 
1 
2 
Proj_Nome 
ProdutoA 
ProdutoB 
ProdutoA 
ProdutoB 
Horas 
4 
2 
4 
2 
Proj_Local 
São Paulo 
São Paulo 
São Paulo 
São Paulo 
José Silva 
José Silva 
Maria Santos 
Maria Santos 
111111111 
111111111 
444444444 
444444444 
3 
4 
3 
4 
ProdutoC 
ProdutoD 
ProdutoC 
ProdutoD 
4 
6 
4 
6 
Belo Horizonte 
Belo Horizonte 
Belo Horizonte 
Belo Horizonte 
Geração de Tuplas Espúrias 
22 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Princípios de Projeto Lógico 
23 
 Representação formal 
de objetos 
 Definição formal de 
operadores ou regras de 
inferência 
 Definição formal de 
regras de integridade 
Modelo relacional 
 Evitar informação 
redundante 
 Evitar valores NULL 
 Evitar relacionamentos 
que não envolvam 
chaves 
Princípios de Projeto 
Necessidade de critérios de 
avaliação formais 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Normalização (Intuição) 
24 
Forma Normal: 
Conceito definido por uma ou mais condições (ou restrições) 
envolvendo aspectos semânticos de atributos 
A B C E D 
A B C E D 
C D E D 
Redundância 
Anomalias 
Está na forma normal? 
X 
X 
Decomposição 
Redundância 
Anomalias 
Processo de 
Normalização 
Principal Ferramenta: 
Dependência Funcional 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Dependência Funcional (DF) 
25 
 Definição: Uma dependência funcional, 
denotada por X→ Y, entre dois conjuntos de 
atributos X e Y de um esquema de relação R 
especifica uma restrição sobre as possíveis 
tuplas de uma relação r(R). Esta restrição 
determina que para quaisquer tuplas t1 e t2 
em r, sempre que t1[X]=t2[X], teremos 
t1[Y]=t2[Y] 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Dependência Funcional 
26 
t1 
t2 
X→ Y X Y 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Dependência Funcional 
27 
t1 
t2 
X→ Y X Y 
Se os valores 
de t1 e t2 são 
iguais aqui, 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Dependência Funcional 
 Dizemos que X unicamente (ou funcionalmente) determina 
Y e que Y é funcionamente dependente de X 
 Note que X→ Y não implica que Y→ X 
• É possível ter o mesmo valor de Y para diferentes valores de X 
28 
t1 
t2 
X→ Y X Y 
Se os valores 
de t1 e t2 são 
iguais aqui, 
então eles 
devem também 
ser iguais aqui. 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Dependência Funcional 
 Uma dependência funcional é uma propriedade 
semântica de um esquema de relação 𝑅 e deve ser 
válida para qualquer relação 𝑟(𝑅) 
 Exemplos 
• DF1: CPF → {Nome, D_Nasc, Endereço} 
• DF2: Dno → {D_Nome, Ger_CPF} 
• DF3: {CPF, PNum} → Horas 
• DF4: Proj_ID → Proj_Local 
 DFs são determinadas pela interpretação do 
mininundo. 
• Por exemplo, secrianças usando o CPF do pai ou da mãe 
podem ser registradas na relação, então DF1 não é válida; 
se um mesmo projeto pode estar relacionado com dois 
locais diferentes, então DF4 não é válida, etc 
 
 
 
 
29 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Dependência Funcional 
 Dizemos que uma DF X → Y é: 
• Trivial: se Y ⊆ X 
• Não trivial: se Y – X ≠ ∅ 
• Totalmente não trivial: se X ∩ Y = ∅ 
• Completa: se ∄ 𝑋′ → 𝑌 tal que 𝑋′ ⊂ 𝑋 
• Parcial: se ∃ 𝑋′ → 𝑌 tal que 𝑋′ ⊂ 𝑋 
 
 
30 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Regras de Inferência (RI) 
 Permite inferir novas FDs a partir um conjunto de 
FDs. 
 Notação: X→ Y  X’→ Y’ 
• Sempre que uma relação r satisfaz X→ Y, então r 
também satisfaz X’→ Y’ 
• Simplificação: {X,Z} → {Y,Z}  XZ → YZ 
 Definição: Dado um conjunto de DFs F, o 
conjunto de todas DFs em F assim como todas 
DFs que podem ser inferidas de F é chamado 
encerramento (closure) de F e denotado por F+ 
 
31 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Regras de Inferência de Armstrong1 
1. Reflexividade (RI 1): Se X Y, então X→ Y 
2. Aumento (RI 2): {X → Y} ⊨ XZ → YZ 
3. Transitividade (RI 3): {X → Y, Y→ Z} ⊨ X → Z 
 As RIs de Armstrong são consistentes (sound) e 
completas. Dado um um conjunto de DFs F, a 
aplicação sistemática das RIs de Armstrong 
produz um conjunto F+ em que: 
• Todas DF em F+ são válidas (consistência) 
• Toda DF que podem ser inferida de F está em F+ 
(completude) 
 
 32 
1. William Ward Armstrong: Dependency Structures of Data Base Relationships. 
IFIP Congress 1974: 580-583 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Derivando Novas RIs 
 Decomposição (RI4): {X → YZ} ⊨ { X → Y, X → Z} 
1. X → YZ; 
2. YZ → Y (RI1); 
3. X → Y (RI 3 em 1 e 2) 
 União (RI 5): {X → Y, X → Z} ⊨ { X → YZ} 
1. X → Y 
2. X → Z; 
3. X → XY (RI2 em 1, aumento X; note que XX = X) 
4. XY → YZ (RI2 em 2, aumento Y) 
5. X → YZ (RI3 em 3 e 4) 
 
 
 
 
 
 
33 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Exercício 
 Mostre que a seguinte RI é válida: 
• Composição (RI6): {X → A, Y → B} ⊨ { XY → AB} 
34 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Exercício: Solução 
 Composição (RI6): {X → A, Y → B} ⊨{ XY → AB} 
1. X → A 
2. Y → B 
3. XY → AY (RI2 em 1, aumento Y) 
4. AY → BA (RI2 em 2, aumento A) 
5. XY → BA (RI3 em 3 e 4) 
 
35 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Normalização de Relações 
 O processo de normalização de uma relação 
consiste em analisar uma dado esquema de 
relação baseado-se nas FDs e chaves 
correspondentes para obter propriedades 
desejáveis, em particular: 
• Minimização da redundância 
• Minimização das anomalias de inserção, deleção, 
modificação 
 Podemos dizer que o processo de normalização 
emprega uma metodologia top-down para 
projeto de BDs, também chamada de projeto 
relacional baseado em análise 
36 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Testes de Forma Normal e 
Decomposições 
 Esquemas de relações que não satisfazem 
certas condições ---chamadas testes de forma 
normal --- são decompostos em esquemas de 
relação menores que satisfazem estas 
condições e, portanto, possuem as 
propriedades desejáveis mencionadas 
anteriormente 
37 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Processo de Normalização 
 Em resumo, o processo de normalização possui 
dois componentes conceituais principais: 
• Um framework formal para análise do esquema de 
relações baseando-se em suas chaves e dependências 
funcionais entre seus atributos 
• Uma conjunto de testes de forma normal que pode 
ser aplicado sobre relações até que, possivelmente 
após uma série de decomposições de relãções, o BD 
relacional possa ser normalizado até o nível desejado 
38 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Forma Normal 
 A forma normal de uma relação é 
determinada pelo teste de forma normal mais 
estrito que uma relação satisfaz 
• Indica o nível de normalização da relação 
 
39 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Normalização vs. Performance 
 Note que relações decompostas durante o processo de 
normalização são, frequentemente, recompostas através de 
junções para atender consultas ao banco de dados 
• Necessidade de recompor a informação original 
• Exemplo: Relação 𝐹𝑢𝑛𝑐_𝐷𝑒𝑝𝑡𝑜 do exemplo anterior é 
decomposta no processo de normalização; entretanto, 
aplicações precisam da informação em 𝐹𝑢𝑛𝑐𝑖𝑜𝑛á𝑟𝑖𝑜 ⋈
𝐷𝑒𝑝𝑎𝑟𝑡𝑎𝑚𝑒𝑛𝑡𝑜 
 Relações não-normalizadas evitam a necessidade da 
realização de junções 
• Maior performance em operações de consultas 
• Em contrapartida, como visto, operações de atualização são 
prejudicadas 
 Qual tipo de operação é mais importante ou frequente? 
• Decisão de projeto físico 
 
 40 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Definição: Atributos Primos 
 Um atributo de um esquema de relação 𝑅 é 
chamado atributo primo se o mesmo faz 
parte de alguma chave de 𝑅 
 
41 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Notação Gráfica 
42 
CPF Pnum Horas Func_Nome Proj_Nome Proj_Local 
DF3 
DF2 
DF1 
Chave 
 Conjunto de FDs: 
• DF1 = {CPF, Pnum} → {Horas} 
• DF2 = {CPF} → {Func_Nome} 
• DF3 = {Pnum} → {Proj_Nome,Proj_Local} 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Forma Normal de Boyce-Codd 
 Uma esquema relação 𝑅 está na forma normal 
de Boyce-Codd (FNBC) se e somente se: 
sempre que existir uma DF não trivial 
𝑋1𝑋2 … 𝑋𝑛 → 𝑌 para 𝑅, temos que 
𝑋1, 𝑋2, … , 𝑋𝑛 é uma superchave para 𝑅 
43 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Exemplo 1 
44 
CPF Pnum Horas Func_Nome Proj_Nome Proj_Local 
DF3 
DF2 
DF1 
Func_Proj 
 Temos que DF2 e DF3 violam a FNBC 
• DF2 não é trivial e CPF não é superchave de Func_Proj 
• DF3 não é trivial e Pnum não superchave de Func_Proj 
 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Exemplo 2 
45 
Nome CPF D_Nasc Endereço Dnum Dep_Nome Ger_CPF 
Func_Depto 
DF1 DF2 
 Temos que DF2 viola a FNBC 
• DF2 não é trivial e Dnum não é superchave de 
Func_Depto 
• Note que neste caso temos uma dependência 
transitiva entre CPF e Dep_Nome e Ger_CPF 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Decomposição de Relações 
46 
𝑋 𝑌 𝑍 
 Dada uma relação 𝑅 definida por um conjunto de atributos 
𝐴, considere uma DF 𝑋 → 𝑌 violando FNBC onde 𝑋 ⊆ 𝐴 e 
Y ⊆ 𝐴 
 Seja 𝑍 = 𝑋 + 𝐴 − 𝑌 , isto é, 𝑍 corresponde a todos de A 
com exeção dos elementos de 𝑌 que estãm em 𝑋; note que 
𝐴 = 𝑍 + 𝑌 
 Uma decomposição de R para evitar a violação da FNBC 
causada por 𝑋 → 𝑌 é dada por 𝑅1 = 𝑍 + 𝑋 e 𝑅2 = 𝑋 + 𝑌 
R1 R2 
Decomposição FNBC: Exemplo 1 
47 
CPF Pnum Horas Func_Nome Proj_Nome Proj_Local 
DF3 
DF2 
DF1 
Func_Proj 
CPF Pnum Horas Proj_Nome Proj_Local CPF Func_Nome 
Func_Proj1 Func_Proj2 
DF3 
Eliminando a violação da FNBC causada por DF2 
Decomposição FNBC: Exemplo 1 
48 
CPF Pnum Horas Proj_Nome Proj_Local 
Func_Proj2 
DF3 
Eliminando a violação da FNBC causada por DF3 
CPF Pnum 
Func_Proj3 
Horas Pnum Proj_Nome Proj_Local 
Func_Proj4 
Decomposição FNBC: Exemplo 2 
49 
Nome CPF D_Nasc Endereço Dnum Dep_Nome Ger_CPF 
Func_Depto 
DF1 DF2 
Eliminando a violação da FNBC causada por DF2 
Dnum Dep_Nome Ger_CPF Nome CPF D_Nasc Endereço Dnum 
Func_Depto1 Func_Depto2 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Problemas com FNBC 
 Apesar de garantir que as anomalias 
discutidas anteriormente serão evitadas, 
decomposição baseada na FNBC pode resultar 
em perda de informação 
• Algumas FDs podem ser perdidas Considere o exemplo a seguir 
50 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Decomposição FNBC: Exemplo 3 
51 
Titulo Cidade Cinema 
Reserva_Cinema 
 A relação Reserva_Cinema armazena informações sobre 
reservas de tickets em cinema 
 DF1 captura a restrição de que não é possível reservar um 
filme em dois cinemas localizados mesma cidade 
 DF2 captura a restrição de que um cinema pode existir em 
apenas uma cidade 
 Temos duas chaves candidatas: {Titulo, Cidade} e {Cinema, 
Titulo} são chaves 
 Temos portanto que a DF2 representa um violação da FNBC 
DF1 
DF2 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Decomposição FNBC: Exemplo 3 
52 
Titulo Cidade Cinema 
DF1 
DF2 
Eliminando a violação da FNBC causada por DF2 
Cidade Cinema Titulo Cinema 
Após a decomposição, temos que DF1 é perdida! 
Reserva_Cinema 
Reserva_Cinema1 Reserva_Cinema2 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Decomposição FNBC: Exemplo 3 
53 
Titulo Cinema 
Matrix Shopping 
Matrix Centro 
Cidade Cinema 
Lavras Shopping 
Lavras Centro 
Reserva_Cinema1 Reserva_Cinema2 
Titulo Cidade Cinema 
Matrix Lavras Shopping 
Matrix Lavras Centro 
⋈ 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Terceira Forma Normal (3FN) 
 Um esquema de relação 𝑅 está em 3FN se e 
somente se: sempre que existir uma DF não 
trivial 𝑋1𝑋2 … 𝑋𝑛 → 𝑌 para 𝑅, temos que 
𝑋1, 𝑋2, … , 𝑋𝑛 é uma superchave para 𝑅 ou Y 
é um atributo primo 
 
54 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Terceira Forma Normal (3FN) 
 Temos que tanto DF1 quanto DF2 não violam 
a 3FN e portanto Reserva_Cinema não precisa 
ser decomposta (de acordo com o teste 
baseado em 3FN) 
55 
Titulo Cidade Cinema 
DF1 
DF2 
Reserva_Cinema 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Outras Formas Normais 
 Se temos a Terceira Forma Normal, onde estão 
as duas primeiras formas normas? 
 Estas formas normais possuem pouco uso uso 
prático nos dias atuais 
 Pelo interesse histórico, iremos descrevê-las a 
seguir 
56 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Primeira Forma Normal (1FN) 
 Um esquema de relação 𝑅 está em 1FN se 
todos valores de atributos são atômicos 
• Atributos compostos e multivalorados não são 
permitidos 
• Relações aninhadas, isto é, uma relação 
aparecendo como valor do atributo de outra 
relação não é permitido 
 1FN é considerada como parte da definição de 
um esquema de relação 
57 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
Segunda Forma Normal (2FN) 
 Um esquema de relação está em 2NF se todo 
atributo não-primo de 𝑅 é completamente 
dependente de todas chaves de 𝑅 
• Nocaso de uma chave composta por um conjunto 
de atributos, um atributo não-primo não pode ser 
dependente de parte dos atributos de uma chave 
• Em outras palavras, não existe uma dependência 
parcial entre atributos não-primos e chaves 
 Esta forma normal é menos restritiva que 3FN 
58 
Prof. Dr.-Ing. Leonardo Andrade Ribeiro 
2FN: Exemplo 
 Temos que DF2 e DF3 violam 2NF 
• A chave (primária) de Func_Proj é composta pelos 
atributos CPF e Pnum 
• Func_Nome é um atributo não-primo e é funcionalmente 
dependente de CPF (DF2) 
• Proj_Nome e Proj_Local são atributos não-primos e 
funcionalmente dependentes de Pnum (DF3) 
59 
CPF Pnum Horas Func_Nome Proj_Nome Proj_Local 
DF3 
DF2 
DF1 
Func_Proj 
3FN: Definição Alternativa 
 Um esquema de relação está em 3NF Normal se a 
mesma está em 2NF nenhum atributo não-primo de 𝑅 
é transitivamente dependente de uma chave de 𝑅 
• Relembrando, uma DF 𝑋 → 𝑍 é dita transitiva se a mesma 
é derivada das DFs 𝑋 → 𝑌 e 𝑌 → 𝑍 
• No exemplo abaixo, DF2 viola 3FN porque Dep_Nome e 
Ger_CPF são atributos não primos dependem 
transitivamente da chave CPF 
 
60 
Nome CPF D_Nasc Endereço Dnum Dep_Nome Ger_CPF 
Func_Depto 
DF1 DF2

Outros materiais