Você está na página 1de 21

3.

2 NORMALIZAO

Normalizao um processo sistemtico atravs do qual uma tabela relacional no normalizada transformada em um conjunto de tabelas normalizadas, que representem da melhor forma possvel uma realidade a ser modelada. Um conceito bsico usado para a normalizao o conceito de dependncia funcional.

3.2 NORMALIZAO
3.2.1 Dependncia Funcional Dada uma relao, um atributo Y dito funcionalmente dependente de um outro atributo X se e, somente se, cada ocorrncia de X est associada sempre com a mesma ocorrncia de Y. X -> Y X determina Y X designa Y

Diz-se que:

3.2 NORMALIZAO
3.2.2 Processo de Normalizao
O processo de normalizao passa pelas seguintes etapas: O documento ou arquivo a ser normalizado representado na forma de uma tabela no normalizada; A tabela vai sendo decomposta em tabelas normalizadas ("bem projetadas"). A normalizao d-se em trs passos principais, passando por trs formas normais; Uma forma normal um conjunto de regras que uma tabela deve obedecer. Estas regras destinam-se a eliminar as redundncias de dados.

3.2 NORMALIZAO
- Exemplo de documento a normalizar: Relatrio de Alocao a Projeto CDIGO DO PROJETO: LSC001 TIPO: Novo Desenv. DESCRIO: Sist. Estoque. NOEMP NOME CATEG SALRIO INCIO TEMPO PROJETO ALOCAO 2146 Joo A1 40 01/11/91 24 3145 Slvio A2 40 02/10/91 24 6126 Jos B1 90 03/10/92 18 1181 Carlos A2 40 01/11/92 12 CDIGO DO PROJETO: PAG02 TIPO: Manuteno DESCRIO: Sistema de RH. NOEMP NOME CATEG SALRIO INCIO TEMPO PROJETO ALOCAO 1181 Carlos A2 40 01/11/93 14 5672 Lus A1 40 12/10/91 24 6126 Jos B1 90 31/11/92 11

3.2 NORMALIZAO
3.2.3 Forma No Normalizada
Uma tabela no normalizada (NN) contm valores de atributos no atmicos, isto , contm tabelas embutidas (grupos repetidos, arrays). Representao no normalizada do documento exemplo:
PROJ ( CODPROJ, TIPOPROJ, DESCR, (NOEMP, NOME, CAT, SAL, DATAINCIO,TEMPOALOC))

Deve-se observar a representao do embutimento de tabelas atravs de parnteses e a indicao das chaves primrias em cada nvel de embutimento.

3.2 NORMALIZAO
3.2.4. Primeira Forma Normal
Uma tabela na primeira forma normal (PFN) no contm tabelas embutidas. A passagem primeira forma normal feita nos seguintes passos: 1. Para cada tabela embutida (cada uma abre parnteses), inclusive a mais externa, criada uma tabela na PFN que contm: - as chaves primrias de cada tabela externa tabela embutida; - os atributos da prpria tabela embutida. 2. So definidas as chaves primrias das tabelas na PFN.

3.2 NORMALIZAO
3.2.4.1 Passagem PFN - decomposio de tabelas

- Tabela1: corresponde ao nvel externo PROJ ( CODPROJ, TIPOPROJ, DESCR)


- Tabela2: corresponde tabela embutida PROJEMP (CODPROJ, NOEMP, NOME, CAT, SAL, DATAINCIO, TEMPOALOC )

3.2 NORMALIZAO
3.2.4.2 Passagem PFN - identificao de chaves - Tabela1: corresponde ao nvel externo PROJ ( CODPROJ, TIPOPROJ, DESCR)

- Tabela2: corresponde tabela embutida PROJEMP (CODPROJ, NOEMP, NOME, CAT, SAL, DATAINCIO, TEMPOALOC )

3.2 NORMALIZAO
3.2.5 Segunda Forma Normal
Uma tabela est na segunda forma normal (SFN) quando, alm de estar na PFN, cada atributo no chave primria depende funcionalmente de toda a chave primria e no de apenas parte dela.
Ao passar uma tabela para a SFN necessrio considerar apenas tabelas que tenham: - chave primria composta; - pelo menos um atributo no chave.

3.2 NORMALIZAO
Para o caso do exemplo:
PROJ (CODPROJ, TIPOPROJ, DESCR)
PROJEMP (CODPROJ, NOEMP, DATAINCIO,TEMPOALOC) EMP (NOEMP, NOME, CAT, SAL )

3.2 NORMALIZAO
3.2.6 Terceira Forma Normal
Uma tabela est na terceira forma normal (TFN) quando, alm de estar na SFN, cada atributo no chave primria depende diretamente da chave primria, isto , no h dependncias entre atributos no chave;
Na passagem TFN, basta considerar tabelas com mais de um atributo no chave.

3.2. NORMALIZAO
Para o caso do exemplo:
PROJ (CODPROJ, TIPOPROJ, DESCR)

3.2. NORMALIZAO
Para o caso do exemplo:
PROJ (CODPROJ, TIPOPROJ, DESCR)
PROJEMP (CODPROJ, NOEMP, DATAINCIO,TEMPOALOC)

3.2. NORMALIZAO
Para o caso do exemplo:
PROJ (CODPROJ, TIPOPROJ, DESCR)
PROJEMP (CODPROJ, NOEMP, DATAINCIO,TEMPOALOC)

EM P ( NOEM P , NOM E, CAT, SAL )

3.2. NORMALIZAO

EM P ( NOEM P , NOM E, CAT, SAL )

EMP subdividida em duas: EMP ( NOEMP, NOME, CAT )

CATEGORIA (CAT, SAL )

3.2. NORMALIZAO
Documento normalizado:
PROJ (CODPROJ, TIPOPROJ, DESCR)
PROJEMP (CODPROJ, NOEMP, DATAINCIO,TEMPOALOC) EMP ( NOEMP, NOME, CAT ) CATEGORIA (CAT, SAL )

3.2. NORMALIZAO
Na Terceira Forma Normal:

Atributos Calculados podem ser desconsiderados;


Chaves candidatas no devem ser consideradas determinantes funcionais.

3.2. NORMALIZAO
Exemplo genrico de Passagem PFN

Tabela NN: (A1,A2, A3, A4, A5 (B1, B2, B3, B4 (C1,C2, C3) (D1, D2) ) (E1, E2, E3) )

3.2. NORMALIZAO

PFN - Subdiviso de Tabelas 1. 2. 3. 4. 5. (A1, A2, A3, A4, A5) (A1, A2, B1, B2, B3, B4) (A1, A2, B1, C1, C2, C3) (A1, A2, B1, D1, D2) (A1, A2, E1, E2, E3)

Exerccio de Normalizao 1
"Uma fbrica de mveis vai informatizar os pedidos de produtos especificados por funcionrios para revendedores. Cada pedido contm um nmero, data, prazo de entrega, nome do cliente (revendedor), endereo, cidade, U.F., CGC e inscrio estadual do revendedor. Alm disso, um pedido contm vrios itens de pedido. Cada item de pedido registra o cdigo do produto, descrio, setor, quantidade, valor unitrio, desconto e subtotal." Forma No-Normalizada: PEDIDO (NUM_PEDIDO, DATA, PRAZO, NOME_REV, ENDEREO, CIDADE, UF, CGC, INSCR_EST, NUM_F (COD_PROD, DESCR, SETOR, QUANTIDADE, VALOR_UNIT, DESCONTO, SUBTOTAL) )

Exerccio de Normalizao 2
Uma empresa de nibus possui um nmero, nome (empresa), endereo e nome do gerente. Cada empresa de nibus possui vrios nibus e motoristas. Um nibus pertence a somente uma empresa e um motorista pode trabalhar em mais de uma empresa de nibus. Um nibus possui um nmero, placa, ano de fabricao, tipo e capacidade (nmero de passageiros de acordo com o tipo do nibus). Um motorista possui um nmero (especificado pela Secretaria Municipal de Transportes), nome e tempo de experincia. Uma linha de nibus contm um nmero, itinerrio, executada por vrios nibus, pode ser percorrida vrias vezes (cada uma delas com um horrio de partida e de chegada) ao dia em sentidos opostos ou no mesmo sentido. Por exemplo, a linha 31 sai s 8 horas no sentido centro/bairro e tambm s 8 horas no sentido bairro/centro.

Você também pode gostar