You are on page 1of 48

Centro Federal de Educao Tecnolgica de Pernambuco Curso de Tecnologia em Sistemas de Informao

DependnciaFuncionale Normalizao
Renata Lcia Mendona Ernesto do Rgo renatalucia@dase.cefetpe.br

Normalizao

Tcnica de anlise e organizao de dados que visa determinar a melhor composio paraumaestruturadedados. Osprincipaisobjetivosdessatcnicaso:

Eliminar anomalias que dificultam as operaes de insero, atualizao e remoo sobre os dados. Minimizar as redundncias e os conseqentes riscosdeinconsistncias.

Redundncias e Anomalias de Atualizao

Considereosesquemasderelaes:
EMP_DEPT: enome,cpf,datanasc,endereco,dnumero,dnome, dcpfgerente EMP_PROJ: ssn,pnumero,horas,enome,pnome,plocalizacao

Redundncias e Anomalias de Atualizao

InformaesRedundantes:Aumentam espaodearmazenamento. AnomaliasdeAtualizao:

AnomaliasdeInsero. AnomaliasdeExcluso. AnomaliasdeAtualizao.

Anomalias de Atualizao

Anomalias de Insero: Considere as seguintes situaes:

Inserirumnovoempregado

Inserirumnovodepartamento

Anomalias de Atualizao

Anomalias de Insero: Considere as seguintes situaes:

Inserirumnovoempregado

Dadosdodepartamentodevemserconsistentes comosvaloresdeoutrastuplas. Comoinserirumdepartamentoqueaindanotem nenhumempregado? Colocarvaloresnulosnosatributosde empregado?Chaveprimrianula?

Inserirumnovodepartamento

Anomalias de Atualizao

AnomaliasdeExcluso:

Oqueaconteceaoexcluiroltimo empregadoquetrabalheeumdepartamento? Oquenecessrioparamudarogerentede umdepartamento?

AnomaliasdeAtualizao:

Formasnormais

Uma forma normal uma regra que deve ser obedecida por uma tabela para que ela seja consideradabemprojetada. Asprincipaisformasnormaisso: 1formanormal 2formanormal 3formanormal FormaNormaldeBoyceCodd 4formanormal

1FormaNormal

Umatabelaencontrasena1aFNquando elanocontmtabelasaninhadas, atributosmultivaloradosecompostos.

1FormaNormal

A 1aFN estabelece que o domnio de um atributo deve incluir apenas valores atmicos (nicos, indivisveis) e que o valor de qualquer atributo em uma tupla deve ser um valor nico do domnio daqueleatributo.

1FormaNormal
Exemplo:Tabelanonormalizada
DEPARTAMENTO

CodDept 10 20 30

Nome Vendas Marketing Finanas

Gerente 1234 2222 1456

Localizao {Recife,C.Grande} {Recife,Macei,Riode Janeiro} {Recife}

1FormaNormal

PassagemPrimeiraFormaNormal:

Construir uma tabela para cada tabela aninhada. Construirumatabelanicacomredundncia dedados:

Dadosexternostabelaaninhadasorepetidos.

Estabelecer um nmero mximo de valores paraoatributo.

1FormaNormal

DecomposiodeTabelas:

1) Criar uma tabela na 1FN contendo apenas as colunas comvaloresatmicos.Achaveprimriadestatabela idnticaachavedatabelanonormalizada. 2) Criar uma tabela na 1FN para cada tabela aninhada compostapelasseguintescolunas:

Chaveprimriadatabelaprincipal. Ascolunasdaprpriatabelaaninhada.

3) Definir as chaves primrias das tabelas na 1FN que correspondematabelasaninhadas.


1FormaNormal
DEPARTAMENTO
CodDept 10 20 30 Nome Vendas Marketing Finanas Gerente 1234 2222 1456

LOCALIZAO
CodDept Localizao 10 10 20 20 20 30 Recife C.Grande Recife Macei RiodeJaneiro Recife

1FormaNormal
Departamento(CodDept,Nome,Gerente,{Localizao})

Departamento(CodDept,Nome,Gerente) Localizao(CodDept,Localizao) CodDeptreferenciaDepartamento


Dependnciafuncional

Emumatabelarelacional,dizsequeuma coluna C2 depende funcionalmente de uma coluna C1 (C1 determina a coluna C2 ou C1 C2) quando, em todas as linhas da tabela, para cada valor de C1 queaparecenatabela,apareceomesmo valordeC2.

Dependnciafuncional
... Categoria C1 C2 C1 C2 C2 ... Salrio 1000 3000 1000 3000 3000

CategoriaSalrio

2FormaNormal

Apassagem2aFNobjetivaeliminarum certotipoderedundnciadedadoseos prejuzosdecorrentesdisso.

2FormaNormal

Uma tabela encontrase na 2aFN quando,almdeestarna1aFN,no contm dependncias funcionais parciais.

2FormaNormal

Uma dependncia funcional parcial ocorre quando uma coluna depende apenas de parte de uma chave primria composta. Tabelas cujas chaves primrias NO so compostas e esto na 1FN tambm se encontramna2FN.

2FormaNormal
Exemplo:Tabelanonormalizada
PROJEMP
CodProj 1 1 3 1 2 3 2

CodEmp 1111 1234 4567 7890 5544 7174 7890

Nome Joo Sandro Maria Jos Paula Alex Jos

Cat 1 3 2 2 1 1 2

Sal 2500.00 2100.00 1800.00 1800.00 2500.00 2500.00 1800.00

DataIni 03/01/01 21/11/01 15/02/01 12/02/01 08/03/01 09/01/01 10/03/01

Horas 24 18 24 18 24 18 12

2FormaNormal
Exemplo:Tabelanonormalizada

ProjEmp(CodProj,CodEmp,Nome,Cat,Sal,DataIni,TempAl)

2FormaNormal

Para passar a tabela para a 2FN, devese mover os atributos no chave que dependem apenas de parte da chave primria para outra tabela.

A chave primria da nova tabela criada constituda pela parte da chave primria da tabela original que determinante das colunas movidas.

2FormaNormal
ProjEmp(CodProj,CodEmp,Nome,Cat,Sal,DataIni,TempAl)

ProjEmp(CodProj,CodEmp,DataIni,TempAl) Emp(CodEmp,Nome,Cat,Sal)

3FormaNormal

Uma tabela encontrase na 3aFN quando, alm de estar na 2aFN, todo atributo no chave depende diretamente da chave primria, isto , quando no h dependncias funcionais transitivasouindiretas.

Dependnciafuncional transitiva

Uma dependncia funcional transitiva ouindiretaacontecequandoumacoluna no chave primria depende funcionalmente de outra coluna ou combinao de colunas no chave primria.

3FormaNormal
Exemplo:Tabelanonormalizada
EMP
CodEmp 1111 1234 4567 7890 5544 7174

Nome Joo Sandro Maria Jos Paula Alex Carla

Cat 1 3 2 2 1 1 3

Sal 2500.00 2100.00 1800.00 1800.00 2500.00 2500.00 2100.00

6543

3FormaNormal
dependnciafuncional transitiva

Emp(CodEmp,Nome,Cat,Sal)

3FormaNormal

Para passar a tabela para a 3aFN, devese mover os atributos no chave que dependem de outro atributo no chave (dependncia transitiva) para outratabela. A chave primria da nova tabela criada constituda pela coluna da tabela original da qual hadependnciaindireta.

3FormaNormal
Emp(CodEmp,Nome,Cat,Sal)

Emp(CodEmp,Nome,Cat) Cat(Cat,Sal)

Definies Gerais da 2FN e da 3FN

At agora: 2FN e 3FN desaprovam as dependncias parciais e transitivas na chave primria. Definiesgerais:Consideramtodasaschaves candidatasdeumarelao. Obs.: Atributo Primrio: atributo que faz parte dequalquerchavecandidata.

2FormaNormal

Um esquema de relao R est na segunda forma normal (2FN) se cada atributo no primrio A de R no for parcialmente dependentedenenhumachavedeR.

2FormaNormal
DependnciaParcial
ID_PROPRIEDADE MUNICIPIO

N_LOTE

REA

PREO

IMPOSTO

Consideraes: id_propriedade:ChavePrimria Municpio,n_lote:ChaveCandidata


2FormaNormal
Decomposio:
ID_PROPRIEDADE MUNICIPIO

N_LOTE

REA

PREO

MUNICIPIO

IMPOSTO

3FormaNormal
Um esquema de relao R est na terceira forma normal (3FN) se todo atributo no primrio de R apresentar as seguintes condies: Terdependnciafuncionaltotalparatodasas chavesdeR.

No ser transitivamente dependente de nenhumachavedeR.

3FormaNormal
DependnciaTransitiva
ID_PROPRIEDADE MUNICIPIO

N_LOTE

REA

PREO

Consideraes: id_propriedade:ChavePrimria Municpio,n_lote:ChaveCandidata


3FormaNormal
Decomposio:
ID_PROPRIEDADE MUNICIPIO

N_LOTE

REA

REA

PREO

Forma Normal de Boyce-Codd

ABCNFdifereligeiramenteda3F. Um esquema de relao R est na 3FN se as dependnciasfuncionaisXAatendem: (a)XumasuperchavedeR. ou (b)AumatributoprimriodeR.

Anicadiferenaentrea3FNeaBCNFque aBCNFnopermitequeAsejaprimrio.

Forma Normal de Boyce-Codd

Toda relao da BCNF tambm est na 3FN, masumarelaona3FNnonecessariamente estnaBCFN.


ID_PROPRIEDADE MUNICIPIO

N_LOTE

REA

Forma Normal de Boyce-Codd

Considere:

Toda propriedade no municpio A tem rea <= 1, todapropriedadenomunicpioBtem1<rea<=2e assimpordiante... Logo:reaMunicpio


ID_PROPRIEDADE MUNICIPIO

N_LOTE

REA

Forma Normal de Boyce-Codd

PassagemBCNF:

ID_PROPRIEDADE

N_LOTE

REA

MUNICIPIO

REA

Dependncia Multivalorada

Considereodiagramaabaixo:

Um empregado pode usar todos os equipamentos dos projetos em que ele trabalha.

Dependncia Multivalorada

Suponha que algum projetou um banco de dados relacionaldaseguintemaneira:

Umatabelaparacadaentidade. Umatabelaparaosrelacionamentosproj_empeproj_eq: Observe: O fato de o projeto '1' usar o equipamento '2' est representadotrsvezes!

Atabelaestna3FN

Dependncia Multivalorada

Paraevitarestetipoderedundnciadedados, necessrioconsideraraquartaformanormal. A 4FN baseiase no conceito de dependncia multivalorada. Sempre que dois relacionamentos 1:N independentessomisturadosemumamesma relao,umaDMVpodeaparecer.

Dependncia Multivalorada
Umacolunaouconjuntodecolunasdependemulti valoradamente de uma coluna (determinante) da mesma tabela quando um valor do atributo determinante identifica repetidas vezes um conjuntodedevaloresnacolunadependente.

CodProjCodEmp CodProjCodEquip

Quarta Forma Normal


Uma tabela encontrase na quarta forma normal, quando, alm de estar na 3FN, no contm dependnciasmultivaloradas.

Passagem4FN:

Quarta Forma Normal

Emqueformanormalencontramseastabelas seguintes? Coloqueasna4FN.


Enome Jos Jos Jos Joe Pnome dependente_nome

(a)

X Y X Y

Joo Ana Joo Ana

Quarta Forma Normal

Fnome Jos Joe Andr Pedro Andr

pea_nome

parafuso porca prego porca prego

proj_nome ProjX ProjY ProjY ProjZ ProjX