Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados I
Engenharia Reversa
Engenharia Reversa
Normalizao
Processo que transforma um esquema de dados qualquer em um modelo relacional
Normalizao
Objetivos
Eliminar redundncias de dados Eliminar estruturas inexistentes (atributos multivalorados) Eliminar anomalias
Insero Deleo Alterao
Normalizao
Esquema de normalizao
Normalizao
Documento Exemplo
Normalizao
Primeiro passo
Tabela no-normalizada Tabela no-primeira-forma-normal Possui uma ou mais tabelas aninhadas Utilizaremos a notao N
Tabela aninhada
Coluna que, ao invs de conter valores atmicos, contm
tabelas aninhadas Grupo repetido Coluna multi-valorada Coluna no-atmica
Normalizao
Exemplo de tabela N com tabela aninhada
Esquema
Proj(CodProj, Tipo, Descr, (CodEmp, Nome, Cat, Sal, DataIni, TempAl))
Normalizao
H diversas formas normais, cada vez
mais rgidas, para verificar tabelas relacionais: primeira forma normal (1FN), segunda forma normal (2FN), terceira forma normal (3FN), forma normal de Boyce-Codd (FNBC), quarta forma normal (4FN), quinta forma normal (5FN).
Normalizao
Representao grfica da normalizao
Normalizao
Conceito para cada forma normal
Normalizao (1FN)
Normalizao (1FN)
Primeira forma normal (1FN)
Uma tabela est na primeira forma normal, quando ela no
contm tabelas aninhadas No possui colunas multi-valoradas (apenas colunas simples e indivisveis)
Normalizao (1FN)
Exemplo de 1FN utilizando uma tabela
nica com redundncia de dados
Normalizao (1FN)
Exemplo de 1FN utilizando uma tabela
para cada tabela aninhada considerando sua chave primria, bem como as colunas de cada tabela
Normalizao (1FN)
Utilizando o segundo mtodo, obtemos:
Normalizao (1FN)
Tabelas aps a 1FN
Normalizao (1FN)
Exerccio 5.1
Exerccio 5.2
Dependncia funcional
Observe o conjunto: Existe uma dependncia entre os valores dos conjuntos, que pode ser expressa pela funo f(CPF)=nome. Ou seja, nome funo do CPF, ou seja, se existir um nmero de CPF, ser encontrado o nome da pessoa correspondente. Esta dependncia expressa no Modelo Relacional da seguinte maneira: CPF -> NOME Com um nmero de CPF possvel encontrar o nome da pessoa, ou ainda: nome depende funcionalmente do CPF.
Exemplo: Com o CPF, encontra-se o nome e o endereo, ou seja, posso encontrar somente o nome ou somente o endereo
Exemplo: Com o CPF, encontra-se o endereo, ento, com o CPF mais a idade, encontra-se o endereo tambm.
Exemplo: CPF -> CodCidade e CodCidade -> NomeCidade, ento, CPF -> NomeCidade
Exemplo: CPF -> CodFuncionrio e CodFuncionario, ms -> SalrioFuncio, ento, CPF, ms -> SalrioFuncio
Normalizao (2FN)
Normalizao (2FN)
Segunda forma normal (2FN)
Uma tabela encontra-se na segunda forma
normal, quando, alm de estar na 1FN, no contm dependncias parciais.
Normalizao (2FN)
Dependncia Funcional Parcial
Dependncia Funcional
Normalizao (2FN)
Passagem 2FN
Normalizao (2FN)
Tabelas aps a 2FN
Normalizao (3FN)
Normalizao (3FN)
Terceira forma normal (3FN)
Uma tabela encontra-se na terceira forma normal, quando, alm de estar na 2FN, no contm dependncias transitivas.
Normalizao (3FN)
Normalizao (3FN)
Normalizao (3FN)
Exemplo Normalizado
Exemplo Normalizado
Tabelas aps a 3FN
Normalizao
Para a maioria dos documentos e
arquivos: A decomposio at a 3FN suficiente Na literatura, aparecem outras formas
normais:
FNBC (Forma normal de Boyce/Codd). Utiliza a
Chave candidata. Substitui a 3FN (no abordaremos!) 4FN 5FN
Normalizao (4FN)
Dever estar na 3FN e as dependncias
multivaloradas dependem da chave
3FN ou FNBC
Normalizao (4FN)
Resoluo intuitiva
Normalizao (5FN)
De forma simplificada, pode-se dizer que uma relao
est em quinta forma normal quando seu contedo no pode ser reconstitudo a partir de vrias outras tabelas
fabricante daquele tipo de veculo, ento ele vende aquele tipo de veculo para aquele fabricante (regra de simetria), a relao acima pode ser decomposta em trs outras relaes, e portanto no est na 5NF.
Normalizao (5FN)
Transformando em 5FN,
teremos:
As relaes ao lado no
podem ser decompostas, estando assim na 5NF. Para recompor a mesma informao sero necessrios as trs relaes.
(substitui uma relao por duas de suas projees em pares), enquanto que a 5NF utilizada quando uma decomposio aos pares no possvel, como no caso anterior (a relao foi decomposta em trs outras, sem perdas)
Desnormalizao
Juno de tabelas de forma a melhorar o
desempenho ao acesso dos dados
, ele no precisa saber o nome de tabelas de ndices, ou tabelas intermedirias, resultantes da normalizao
Normalizao
Exerccio 5.3. Normalizar
N paciente (nro_paciente, nome_paciente, nro_quarto, descrio_quarto, nro_cmodos_quarto, (cod_mdico, nome_mdico, fone_mdico)) N aluno (nro_aluno, nome_aluno, nro_crditos, nro_depto, nome_depto, (nro_curso, descrio_curso, ano_ingresso))
Normalizao
Exerccio 5.4. Normalizar
Congresso: rea: DB25 Advances in Database Systems GT3.1 Database Systems GT3.3 Database Conceptual Modeling Cd. Artigo 1 2 3 4 5 Congresso: rea: Cd. Artigo 1 Ttulo Integrao em BD Segurana Dinmica Mtodos de agrupamento Otimizao eDesempenho DB O.O. Assunto Cd. Autor Nome autor Wen-Suan Li Chris Clit N.B. Idris W.A. Gray R. Chuch Raymond Ng Jiawey Han Kurt Brown Janet Wiene
OO03 Objected Oriented Modeling GT4.6 Engenharia de Software Ttulo Assunto Cd. Autor 2 Nome autor Wen-Suan Li
Referncias Bibliogrficas
HEUSER, Carlos Alberto. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 2001. SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistemas de Banco de Dados. 3. Ed. So Paulo: Makron Books, 1999. DATE, C. J. Introduo aos Sistemas de Bancos de Dados . Rio de Janeiro: Campus, 2004. Professor Marco A. Casanova. http://www.inf.puc-rio.br/~casanova/ Professora Ligia Flvia Antunes Batista. Material sobre Normalizao