![Page 1: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/1.jpg)
Normalização
Banco de Dados: Teoria e Prática
André SantanchèInstituto de Computação – UNICAMP
Setembro 2011
Pic
ture
by
htt
p:/
/ww
w.f
lickr
.co
m/p
ho
tos/
fdec
om
ite/
![Page 2: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/2.jpg)
Qualidade de um Esquema?
![Page 3: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/3.jpg)
Alocação de Tarefas para Membros de um Projeto
Planilha
Membro
Id Membro Nome PapelTarefa
Id Tarefa Descrição Data de Inicio Horas Alocadas
mel Melissa Gerente1700 Planejamento e Orçamento 15/01/2012 801701 Projeto do Sistema 15/02/2012 120
Asdrúbal Analista1701 Projeto do Sistema 15/02/2012 1801705 Especificação da Arquitetura 01/03/2012 1201705 Detalhamento de Modelos 30/03/2012 200
dor Programador1705 Detalhamento de Modelos 30/03/2012 1201850 Implementação de componentes 15/04/2012 1200
qui Quincas Programador 1850 Implementação de componentes 15/04/2012 2400
asd
Doriana
![Page 4: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/4.jpg)
Alocação de Tarefas para Membros de um Projeto
Relação Universal
Membro
Nome PapelTarefa
mel Melissa Gerente 1700 Planejamento e Orçamento 15/01/2012 80mel Melissa Gerente 1701 Projeto do Sistema 15/02/2012 120
Asdrúbal Analista 1701 Projeto do Sistema 15/02/2012 180Asdrúbal Analista 1705 Especificação da Arquitetura 01/03/2012 120Asdrúbal Analista 1705 Detalhamento de Modelos 30/03/2012 200
dor Programador 1705 Detalhamento de Modelos 30/03/2012 120dor Programador 1850 Implementação de componentes 15/04/2012 1200qui Quincas Programador 1850 Implementação de componentes 15/04/2012 2400
IdMembroIdTarefa Descricao DataInicio HorasAlocadas
asdasdasd
DorianaDoriana
![Page 5: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/5.jpg)
Problemas?
![Page 6: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/6.jpg)
Problemas
▪ Redundância
▫ “raiz de vários males associados com esquemas relacionais”(Ramakrishnan, 2003)
▪ Medidas de Qualidade
▫ Semântica clara dos atributos
▫ Reduzir informações redundantes
▫ Reduzir nulos
▫ Não permitir a geração de tuplas espúrias
(Elmasri, 2011)
![Page 7: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/7.jpg)
Anomalias
▪ Inserção
▫ Ex.: inserção de membro sem tarefas e vice-versa
▪ Exclusão
▫ Ex.: exclusão de todas as tarefas de um membro
▪ Alteração
▫ Ex.: modificação do nome de um membro em uma das tuplas
![Page 8: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/8.jpg)
Dependência Funcional
▪ Permite a detecção dos problemas mencionados
▪ Propriedade definida a partir da semântica dos termos
![Page 9: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/9.jpg)
Dependência Funcional
▪ “A dependência funcional X Y vale sobre a →relação R se, para cada instância possível r de R:
▫ t1 ∈r, t2 ∈r, πx(t1) = π
x(t2) implica π
y(t1) = π
y(t2)
▫ i.e., dada 2 tuplas em r, se os valores de X são iguais , então os de Y também devem ser.”
(Ramakrishnan, 2003)
![Page 10: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/10.jpg)
Normalização e Formas Normais
▪ Normalização
▫ Se baseia nas formas normais
▪ Formas normais progressivas
▫ 1FN, 2FN, 3FN e 4FN
![Page 11: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/11.jpg)
Primeira Forma Normal (1FN)
▪ Não contém tabelas aninhadas e atributos multivalorados
![Page 12: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/12.jpg)
Alocação de Tarefas para Membros de um Projeto
Planilha
Membro
Id Membro Nome PapelTarefa
Id Tarefa Descrição Data de Inicio Horas Alocadas
mel Melissa Gerente1700 Planejamento e Orçamento 15/01/2012 801701 Projeto do Sistema 15/02/2012 120
Asdrúbal Analista1701 Projeto do Sistema 15/02/2012 1801705 Especificação da Arquitetura 01/03/2012 1201705 Detalhamento de Modelos 30/03/2012 200
dor Programador1705 Detalhamento de Modelos 30/03/2012 1201850 Implementação de componentes 15/04/2012 1200
qui Quincas Programador 1850 Implementação de componentes 15/04/2012 2400
asd
Doriana
Membro(IdMembro, Nome, Papel,Tarefa(IdTarefa, Descricao, DataInicio, HorasAlocadas))
![Page 13: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/13.jpg)
Segunda Forma Normal (2FN)
▪ Está na 1FN
▪ Não contém dependências parciais
▫ Coluna que depende de parte da chave primária
(Heuser, 2004)
![Page 14: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/14.jpg)
Exemplo
Nome Papelmel 1700 Melissa Gerente Planejamento e Orçamento 15/01/2012 80mel 1701 Melissa Gerente Projeto do Sistema 15/02/2012 120
1701 Asdrúbal Analista Projeto do Sistema 15/02/2012 1801705 Asdrúbal Analista Especificação da Arquitetura 01/03/2012 1201705 Asdrúbal Analista Detalhamento de Modelos 30/03/2012 200
dor 1705 Programador Detalhamento de Modelos 30/03/2012 120dor 1850 Programador Implementação de componentes 15/04/2012 1200qui 1850 Quincas Programador Implementação de componentes 15/04/2012 2400
IdMembro IdTarefa Descricao DataInicio HorasAlocadas
asdasdasd
DorianaDoriana
![Page 15: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/15.jpg)
Terceira Forma Normal (3FN)
▪ Está na 2FN
▪ Não contém dependências transitivas
▫ X Y e Y Z→ →
![Page 16: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/16.jpg)
Exemplo
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Táxi (PMDA)
P = PlacaM = MarcaD = ModeloA = AnoFab
Se estiver garantido que não existem dois carros de mesmo Modelo em Marcas diferentes:
Dependência Funcional (DF): D M
![Page 17: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/17.jpg)
Decomposição
P = PlacaM = MarcaD = ModeloA = AnoFab
Placa Modelo AnoFab DKL4598 Gol 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Gol 1995 DKL7878 Fiesta 2001 JJM3692 Corsa 1999 DMN1012 Fiesta 2002
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
Decomposição em: PDA e DM
![Page 18: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/18.jpg)
Quarta Forma Normal (4FN)
▪ Está na 3FN
▪ Não contém dependências multivaloradas
![Page 19: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/19.jpg)
Exemplo
▪ Livro(ISBN, autores, assuntos)
(Guimarães, 2003)
▪ Relação entre três entidades:
▫ Utilizacao(Projeto, CodEmp, CodEquip)
(Heuser, 2004)
![Page 20: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/20.jpg)
![Page 21: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/21.jpg)
Outras Formas Normais
▪ Boyce/Codd Normal Form (BCNF)
▪ Quinta Forma Normal (5FN)
![Page 22: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/22.jpg)
Decomposição
▪ Relação P PMDA→▫ Se
◦ P DA→◦ D M→
▫ Pode ser decomposta em
◦ PMDA
◦ DM
P = PlacaM = MarcaD = ModeloA = AnoFab
![Page 23: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/23.jpg)
DecomposiçãoProblemas
▪ “Algumas queries se tornam muito caras
▪ Dadas as instâncias das relações decompostas, nós podemos não conseguir reconstruir a instância correspondente da relação original
▪ A verificação de algumas dependências podem exigir a junção de instâncias das relações decompostas”
(Ramakrishnan, 2003)
![Page 24: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/24.jpg)
Exemplo de Decomposição
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Táxi (PMDA)
P = PlacaM = MarcaD = ModeloA = AnoFab
Se estiver garantido que não existem dois carros de mesmo Modelo em Marcas diferentes:
Dependência Funcional (DF): D M
![Page 25: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/25.jpg)
Exemplo de Decomposição (cont.)
P = PlacaM = MarcaD = ModeloA = AnoFab
Placa Modelo AnoFab DKL4598 Gol 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Gol 1995 DKL7878 Fiesta 2001 JJM3692 Corsa 1999 DMN1012 Fiesta 2002
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
Decomposição em: PDA e DM
![Page 26: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/26.jpg)
Decomposição ‘sem perda na junção’
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Placa, Modelo, AnoFab (PMDA)
![Page 27: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/27.jpg)
Decomposição ‘sem perda na junção’
Placa Modelo AnoFab DKL4598 Gol 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Gol 1995 DKL7878 Fiesta 2001 JJM3692 Corsa 1999 DMN1012 Fiesta 2002
Placa, Modelo, AnoFab (PMDA) = PDA
![Page 28: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/28.jpg)
Decomposição ‘sem perda na junção’
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Modelo,Marca(PMDA)
![Page 29: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/29.jpg)
Decomposição ‘sem perda na junção’
Modelo,Marca(PMDA) = DM
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
![Page 30: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/30.jpg)
Decomposição ‘sem perda na junção’
Placa Modelo Marca AnoFab DKL4598 Gol Wolksvagen 2001 DAE6534 Fiesta Ford 1999 JDM8776 Santana Wolksvagen 2002 DMZ1122 Gol Wolksvagen 1995 DKL7878 Fiesta Ford 2001 JJM3692 Corsa Chevrolet 1999 DMN1012 Fiesta Ford 2002
Placa, Modelo, AnoFab (PMDA) Modelo,Marca(PMDA) = PMDA
![Page 31: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/31.jpg)
Mais sobre Junções Sem PerdaTáxi (PMDA)
Neste caso, dois carros de mesmo Modelo pertencem a Marcas diferentes.
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Perua 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Perua 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Perua 1999 DMN1012 Ford Fiesta 2002
![Page 32: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/32.jpg)
Decomposição em: PDA e DM
Placa Modelo AnoFab DKL4598 Perua 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Perua 1995 DKL7878 Fiesta 2001 JJM3692 Perua 1999 DMN1012 Fiesta 2002
Modelo Marca Perua Wolksvagen Fiesta Ford Santana Wolksvagen Perua Chevrolet
Mais sobre Junções Sem Perda
![Page 33: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/33.jpg)
PDA DM não corresponde a PMDA
Mais sobre Junções Sem Perda
Placa Modelo Marca AnoFab DKL4598 Perua Wolksvagen 2001 DKL4598 Perua Chevrolet 2001 DAE6534 Fiesta Ford 1999 JDM8776 Santana Wolksvagen 2002 DMZ1122 Perua Wolksvagen 1995 DMZ1122 Perua Chevrolet 1995 DKL7878 Fiesta Ford 2001 JJM3692 Perua Chevrolet 1999 JJM3692 Perua Wolksvagen 1999 DMN1012 Fiesta Ford 2002
![Page 34: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/34.jpg)
Decomposição Preservando Dependência
A identificação é composta a partir da Marca e Modelo mais um número sequencial (Nr). Há duas DFs:
D M e MDN I
P = Placa; M = Marca; D = Modelo; N = Nr; A = AnoFab; I = Identificação
Táxi (PMDNAI)
Placa Marca Modelo Nr AnoFab Identificação DKL4598 Wolksvagen Gol 001 2001 WG001 DAE6534 Ford Fiesta 002 1999 FF002 JDM8776 Wolksvagen Santana 003 2002 WS003 DMZ1122 Wolksvagen Gol 004 1995 WG004 DKL7878 Ford Fiesta 005 2001 FF005 JJM3692 Chevrolet Corsa 006 1999 CC006 DMN1012 Ford Fiesta 007 2002 FF007
![Page 35: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/35.jpg)
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
Decomposição em: PDNAI e DM
Decomposição Preservando Dependência
Para se verificar a DF: MDN I é necessário realizar uma junção das relações, portanto a decomposição não Preserva a Dependência.
Placa Modelo Nr AnoFab Identificação DKL4598 Gol 001 2001 WG001 DAE6534 Fiesta 002 1999 FF002 JDM8776 Santana 003 2002 WS003 DMZ1122 Gol 004 1995 WG004 DKL7878 Fiesta 005 2001 FF005 JJM3692 Corsa 006 1999 CC006 DMN1012 Fiesta 007 2002 FF007
![Page 36: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/36.jpg)
Referências
▪ Codd, Edgar Frank (1970) A relational model of data for large shared data banks. Communications ACM 13(6), 377-387.
▪ Elmasri, Ramez; Navathe, Shamkant B. (2005) Sistemas de Bancos de Dados. Addison-Wesley, 4a edição em português.
▪ Elmasri, Ramez; Navathe, Shamkant B. (2010) Sistemas de Banco de Dados. Pearson, 6a edição em português.
▪ Guimarães, Célio (2003) Fundamentos de Bancos de Dados: Modelagem, Projeto e Linguagem SQL. Editora UNICAMP, 1a edição.
![Page 37: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/37.jpg)
Referências▪ Heuser, Carlos Alberto (2004) Projeto de Banco de
Dados. Editora Sagra Luzzato, 5a edição.
▪ Ramakrishnan, Raghu; Gehrke, Johannes (2003) Database Management Systems. McGraw-Hill, 3rd edition.
![Page 38: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/38.jpg)
André Santanchèhttp://www.ic.unicamp.br/~santanche
![Page 39: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/39.jpg)
License▪ These slides are shared under a Creative Commons License.
Under the following conditions: Attribution, Noncommercial and Share Alike.
▪ See further details about this Creative Commons license at:http://creativecommons.org/licenses/by-nc-sa/3.0/
![Page 40: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/40.jpg)
Normalização
Banco de Dados: Teoria e Prática
André SantanchèInstituto de Computação – UNICAMP
Setembro 2011
Pic
ture
by
htt
p:/
/ww
w.f
lickr
.co
m/p
ho
tos/
fdec
om
ite/
![Page 41: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/41.jpg)
Qualidade de um Esquema?
![Page 42: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/42.jpg)
Alocação de Tarefas para Membros de um Projeto
Planilha
Membro
Id Membro Nome PapelTarefa
Id Tarefa Descrição Data de Inicio Horas Alocadas
mel Melissa Gerente1700 Planejamento e Orçamento 15/01/2012 801701 Projeto do Sistema 15/02/2012 120
Asdrúbal Analista1701 Projeto do Sistema 15/02/2012 1801705 Especificação da Arquitetura 01/03/2012 1201705 Detalhamento de Modelos 30/03/2012 200
dor Programador1705 Detalhamento de Modelos 30/03/2012 1201850 Implementação de componentes 15/04/2012 1200
qui Quincas Programador 1850 Implementação de componentes 15/04/2012 2400
asd
Doriana
![Page 43: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/43.jpg)
Alocação de Tarefas para Membros de um Projeto
Relação Universal
Membro
Nome PapelTarefa
mel Melissa Gerente 1700 Planejamento e Orçamento 15/01/2012 80mel Melissa Gerente 1701 Projeto do Sistema 15/02/2012 120
Asdrúbal Analista 1701 Projeto do Sistema 15/02/2012 180Asdrúbal Analista 1705 Especificação da Arquitetura 01/03/2012 120Asdrúbal Analista 1705 Detalhamento de Modelos 30/03/2012 200
dor Programador 1705 Detalhamento de Modelos 30/03/2012 120dor Programador 1850 Implementação de componentes 15/04/2012 1200qui Quincas Programador 1850 Implementação de componentes 15/04/2012 2400
IdMembroIdTarefa Descricao DataInicio HorasAlocadas
asdasdasd
DorianaDoriana
![Page 44: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/44.jpg)
Problemas?
![Page 45: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/45.jpg)
Problemas
▪ Redundância
▫ “raiz de vários males associados com esquemas relacionais”(Ramakrishnan, 2003)
▪ Medidas de Qualidade
▫ Semântica clara dos atributos
▫ Reduzir informações redundantes
▫ Reduzir nulos
▫ Não permitir a geração de tuplas espúrias
(Elmasri, 2011)
“Redundância é a raiz de vários males associados com esquemas relacionais:
redundância de armaz., anomalias de inserção/rem/atual.” (Ramakrishnan, 2003)
![Page 46: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/46.jpg)
Anomalias
▪ Inserção
▫ Ex.: inserção de membro sem tarefas e vice-versa
▪ Exclusão
▫ Ex.: exclusão de todas as tarefas de um membro
▪ Alteração
▫ Ex.: modificação do nome de um membro em uma das tuplas
![Page 47: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/47.jpg)
Dependência Funcional
▪ Permite a detecção dos problemas mencionados
▪ Propriedade definida a partir da semântica dos termos
![Page 48: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/48.jpg)
Dependência Funcional
▪ “A dependência funcional X Y vale sobre a →relação R se, para cada instância possível r de R:
▫ t1 ∈r, t2 ∈r, πx(t1) = π
x(t2) implica π
y(t1) = π
y(t2)
▫ i.e., dada 2 tuplas em r, se os valores de X são iguais , então os de Y também devem ser.”
(Ramakrishnan, 2003)
![Page 49: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/49.jpg)
Normalização e Formas Normais
▪ Normalização
▫ Se baseia nas formas normais
▪ Formas normais progressivas
▫ 1FN, 2FN, 3FN e 4FN
![Page 50: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/50.jpg)
Primeira Forma Normal (1FN)
▪ Não contém tabelas aninhadas e atributos multivalorados
![Page 51: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/51.jpg)
Alocação de Tarefas para Membros de um Projeto
Planilha
Membro
Id Membro Nome PapelTarefa
Id Tarefa Descrição Data de Inicio Horas Alocadas
mel Melissa Gerente1700 Planejamento e Orçamento 15/01/2012 801701 Projeto do Sistema 15/02/2012 120
Asdrúbal Analista1701 Projeto do Sistema 15/02/2012 1801705 Especificação da Arquitetura 01/03/2012 1201705 Detalhamento de Modelos 30/03/2012 200
dor Programador1705 Detalhamento de Modelos 30/03/2012 1201850 Implementação de componentes 15/04/2012 1200
qui Quincas Programador 1850 Implementação de componentes 15/04/2012 2400
asd
Doriana
Membro(IdMembro, Nome, Papel,Tarefa(IdTarefa, Descricao, DataInicio, HorasAlocadas))
![Page 52: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/52.jpg)
Segunda Forma Normal (2FN)
▪ Está na 1FN
▪ Não contém dependências parciais
▫ Coluna que depende de parte da chave primária
(Heuser, 2004)
![Page 53: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/53.jpg)
Exemplo
Nome Papelmel 1700 Melissa Gerente Planejamento e Orçamento 15/01/2012 80mel 1701 Melissa Gerente Projeto do Sistema 15/02/2012 120
1701 Asdrúbal Analista Projeto do Sistema 15/02/2012 1801705 Asdrúbal Analista Especificação da Arquitetura 01/03/2012 1201705 Asdrúbal Analista Detalhamento de Modelos 30/03/2012 200
dor 1705 Programador Detalhamento de Modelos 30/03/2012 120dor 1850 Programador Implementação de componentes 15/04/2012 1200qui 1850 Quincas Programador Implementação de componentes 15/04/2012 2400
IdMembro IdTarefa Descricao DataInicio HorasAlocadas
asdasdasd
DorianaDoriana
![Page 54: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/54.jpg)
Terceira Forma Normal (3FN)
▪ Está na 2FN
▪ Não contém dependências transitivas
▫ X Y e Y Z→ →
![Page 55: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/55.jpg)
Exemplo
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Táxi (PMDA)
P = PlacaM = MarcaD = ModeloA = AnoFab
Se estiver garantido que não existem dois carros de mesmo Modelo em Marcas diferentes:
Dependência Funcional (DF): D M
![Page 56: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/56.jpg)
Decomposição
P = PlacaM = MarcaD = ModeloA = AnoFab
Placa Modelo AnoFab DKL4598 Gol 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Gol 1995 DKL7878 Fiesta 2001 JJM3692 Corsa 1999 DMN1012 Fiesta 2002
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
Decomposição em: PDA e DM
![Page 57: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/57.jpg)
Quarta Forma Normal (4FN)
▪ Está na 3FN
▪ Não contém dependências multivaloradas
![Page 58: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/58.jpg)
Exemplo
▪ Livro(ISBN, autores, assuntos)
(Guimarães, 2003)
▪ Relação entre três entidades:
▫ Utilizacao(Projeto, CodEmp, CodEquip)
(Heuser, 2004)
![Page 59: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/59.jpg)
![Page 60: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/60.jpg)
Outras Formas Normais
▪ Boyce/Codd Normal Form (BCNF)
▪ Quinta Forma Normal (5FN)
![Page 61: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/61.jpg)
Decomposição
▪ Relação P PMDA→▫ Se
◦ P DA→◦ D M→
▫ Pode ser decomposta em
◦ PMDA
◦ DM
P = PlacaM = MarcaD = ModeloA = AnoFab
![Page 62: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/62.jpg)
DecomposiçãoProblemas
▪ “Algumas queries se tornam muito caras
▪ Dadas as instâncias das relações decompostas, nós podemos não conseguir reconstruir a instância correspondente da relação original
▪ A verificação de algumas dependências podem exigir a junção de instâncias das relações decompostas”
(Ramakrishnan, 2003)
![Page 63: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/63.jpg)
Exemplo de Decomposição
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Táxi (PMDA)
P = PlacaM = MarcaD = ModeloA = AnoFab
Se estiver garantido que não existem dois carros de mesmo Modelo em Marcas diferentes:
Dependência Funcional (DF): D M
![Page 64: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/64.jpg)
Exemplo de Decomposição (cont.)
P = PlacaM = MarcaD = ModeloA = AnoFab
Placa Modelo AnoFab DKL4598 Gol 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Gol 1995 DKL7878 Fiesta 2001 JJM3692 Corsa 1999 DMN1012 Fiesta 2002
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
Decomposição em: PDA e DM
![Page 65: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/65.jpg)
Decomposição ‘sem perda na junção’
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Placa, Modelo, AnoFab (PMDA)
![Page 66: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/66.jpg)
Decomposição ‘sem perda na junção’
Placa Modelo AnoFab DKL4598 Gol 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Gol 1995 DKL7878 Fiesta 2001 JJM3692 Corsa 1999 DMN1012 Fiesta 2002
Placa, Modelo, AnoFab (PMDA) = PDA
![Page 67: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/67.jpg)
Decomposição ‘sem perda na junção’
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Gol 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Gol 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Corsa 1999 DMN1012 Ford Fiesta 2002
Modelo,Marca(PMDA)
![Page 68: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/68.jpg)
Decomposição ‘sem perda na junção’
Modelo,Marca(PMDA) = DM
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
![Page 69: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/69.jpg)
Decomposição ‘sem perda na junção’
Placa Modelo Marca AnoFab DKL4598 Gol Wolksvagen 2001 DAE6534 Fiesta Ford 1999 JDM8776 Santana Wolksvagen 2002 DMZ1122 Gol Wolksvagen 1995 DKL7878 Fiesta Ford 2001 JJM3692 Corsa Chevrolet 1999 DMN1012 Fiesta Ford 2002
Placa, Modelo, AnoFab (PMDA) Modelo,Marca(PMDA) = PMDA
![Page 70: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/70.jpg)
Mais sobre Junções Sem PerdaTáxi (PMDA)
Neste caso, dois carros de mesmo Modelo pertencem a Marcas diferentes.
Placa Marca Modelo AnoFab DKL4598 Wolksvagen Perua 2001 DAE6534 Ford Fiesta 1999 JDM8776 Wolksvagen Santana 2002 DMZ1122 Wolksvagen Perua 1995 DKL7878 Ford Fiesta 2001 JJM3692 Chevrolet Perua 1999 DMN1012 Ford Fiesta 2002
![Page 71: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/71.jpg)
Decomposição em: PDA e DM
Placa Modelo AnoFab DKL4598 Perua 2001 DAE6534 Fiesta 1999 JDM8776 Santana 2002 DMZ1122 Perua 1995 DKL7878 Fiesta 2001 JJM3692 Perua 1999 DMN1012 Fiesta 2002
Modelo Marca Perua Wolksvagen Fiesta Ford Santana Wolksvagen Perua Chevrolet
Mais sobre Junções Sem Perda
![Page 72: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/72.jpg)
PDA DM não corresponde a PMDA
Mais sobre Junções Sem Perda
Placa Modelo Marca AnoFab DKL4598 Perua Wolksvagen 2001 DKL4598 Perua Chevrolet 2001 DAE6534 Fiesta Ford 1999 JDM8776 Santana Wolksvagen 2002 DMZ1122 Perua Wolksvagen 1995 DMZ1122 Perua Chevrolet 1995 DKL7878 Fiesta Ford 2001 JJM3692 Perua Chevrolet 1999 JJM3692 Perua Wolksvagen 1999 DMN1012 Fiesta Ford 2002
![Page 73: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/73.jpg)
Decomposição Preservando Dependência
A identificação é composta a partir da Marca e Modelo mais um número sequencial (Nr). Há duas DFs:
D M e MDN I
P = Placa; M = Marca; D = Modelo; N = Nr; A = AnoFab; I = Identificação
Táxi (PMDNAI)
Placa Marca Modelo Nr AnoFab Identificação DKL4598 Wolksvagen Gol 001 2001 WG001 DAE6534 Ford Fiesta 002 1999 FF002 JDM8776 Wolksvagen Santana 003 2002 WS003 DMZ1122 Wolksvagen Gol 004 1995 WG004 DKL7878 Ford Fiesta 005 2001 FF005 JJM3692 Chevrolet Corsa 006 1999 CC006 DMN1012 Ford Fiesta 007 2002 FF007
![Page 74: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/74.jpg)
Modelo Marca Gol Wolksvagen Fiesta Ford Santana Wolksvagen Corsa Chevrolet
Decomposição em: PDNAI e DM
Decomposição Preservando Dependência
Para se verificar a DF: MDN I é necessário realizar uma junção das relações, portanto a decomposição não Preserva a Dependência.
Placa Modelo Nr AnoFab Identificação DKL4598 Gol 001 2001 WG001 DAE6534 Fiesta 002 1999 FF002 JDM8776 Santana 003 2002 WS003 DMZ1122 Gol 004 1995 WG004 DKL7878 Fiesta 005 2001 FF005 JJM3692 Corsa 006 1999 CC006 DMN1012 Fiesta 007 2002 FF007
![Page 75: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/75.jpg)
Referências
▪ Codd, Edgar Frank (1970) A relational model of data for large shared data banks. Communications ACM 13(6), 377-387.
▪ Elmasri, Ramez; Navathe, Shamkant B. (2005) Sistemas de Bancos de Dados. Addison-Wesley, 4a edição em português.
▪ Elmasri, Ramez; Navathe, Shamkant B. (2010) Sistemas de Banco de Dados. Pearson, 6a edição em português.
▪ Guimarães, Célio (2003) Fundamentos de Bancos de Dados: Modelagem, Projeto e Linguagem SQL. Editora UNICAMP, 1a edição.
Elmasri, Ramez; Navathe, Shamkant B. (2007) Fundamentals of Database Systems. Addison-Wesley, 5th edition (companion slides).
Ramakrishnan, Raghu; Gehrke, Johannes (2003b) Database Management Systems. McGraw-Hill, 3rd edition (companion slides).
![Page 76: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/76.jpg)
Referências▪ Heuser, Carlos Alberto (2004) Projeto de Banco de
Dados. Editora Sagra Luzzato, 5a edição.
▪ Ramakrishnan, Raghu; Gehrke, Johannes (2003) Database Management Systems. McGraw-Hill, 3rd edition.
![Page 77: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/77.jpg)
André Santanchèhttp://www.ic.unicamp.br/~santanche
![Page 78: Normalização - Home | INSTITUTO DE COMPUTAÇÃOsantanch/teaching/db/2013-1/slides/bd0… · Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição](https://reader036.vdocuments.mx/reader036/viewer/2022071212/60253626f9c6b114ab130eee/html5/thumbnails/78.jpg)
License▪ These slides are shared under a Creative Commons License.
Under the following conditions: Attribution, Noncommercial and Share Alike.
▪ See further details about this Creative Commons license at:http://creativecommons.org/licenses/by-nc-sa/3.0/