Beruflich Dokumente
Kultur Dokumente
ROTEIRO
1. INTRODUO E CONCEITOS BSICOS 2. PRIMEIRA FORMA NORMAL 3. SEGUNDA FORMA NORMAL 4. TERCEIRA FORMA NORMAL 5. FORMA NORMAL DE BOYCE-CODD 6. EXERCCIOS
1. INTRODUO E CONCEITOS BSICOS O que Normalizao de Dados ? um processo formal, passo a passo, de anlise dos atributos de uma relao com o objetivo de evitar redundncia de informao, eliminando as chamadas anomalias de atualizao. Teoria proposta por Codd no incio dos anos 70. Baseia-se no conceito de FORMAS NORMAIS. Uma relao (tabela) dita estar em uma determinada forma normal, se ela satisfizer a um conjunto especfico de restries.
1. INTRODUO E CONCEITOS BSICOS Como evitar os problemas discutidos no slide anterior ? Seguindo corretamente as etapas de construo de BDs. Elaborando um bom modelo conceitual de dados. Aplicando corretamente o projeto lgico de BDs.
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional entre Atributos Sejam X e Y conjuntos de atributos de uma relao R Diz-se que Y depende funcionalmente de X (X Y), se: Para qqs duas tuplas de R, t1, t2, Sempre que t1[X]=t2[X] ento t1[Y]=t2[Y] Pode-se dizer tambm neste caso que X determina funcionalmente Y.
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional entre Atributos Exemplo:
Ncli Z Ana Joo Pedro CPF 111 222 333 444 end ABC XYZ XPT KZZ tel 123 456 789 Null Pcod A B C A Nprod Lpis Caneta Rgua Lpis Vunit 0,50 1,00 1,00 0,50 qtd 2 3 2 20 tot 1,00 3,00 2,00 10,00
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional Total Sejam X e Y conjuntos de atributos de uma relao R tq: XY Diz-se que Y depende totalmente de X, se: Para qqs A, A X, A X, X A no determine funcionalmente Y X denominado antecedente e Y consequente da dependncia.
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional Parcial Sejam X e Y conjuntos de atributos de uma relao R tq: XY Diz-se que Y depende parcialmente de X, se: Existe A, A X, A X, XAY
CPF Ncli, End, Tel CPF, Pcod Ncli, End, Tel, Nprod, Vunit Pcod Nprod, Vunit
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Atributos Multivalorados So atributos que podem conter mltiplos valores para uma mesma tupla. Exemplo:
Ncli Z Ana Z Pedro CPF 111 222 111 444 End ABC XYZ ABC KZZ Tel 123 555 456 123 432 Null
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Atributos Compostos So atributos que contm tuplas em cada tupla. Exemplo:
Ncli Z Ana Z Pedro CPF 111 222 111 444 End (R. Silva, 23, 102, urca, 222) (R. X, 555, 11, jpa, 222) (R. Y, 2323, 1020, tijuca, 222) (R. Z, 4323, Null, centro, 222) Tel 123 456 123 Null
O atributo End composto
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Atributos Atmicos So atributos que no so nem multivalorados e nem compostos.
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Multivalorada Uma Dependncia Multivalorada (DMV) X Y em uma relao R quando: Para cada 2 tuplas t1 e t2 tais que t1[X] = t2[X], devem existir t3 e t4 tais que: t1[X] = t2[X] = t3[X] = t4[X] t3[Y] = t1[Y] e t4[Y] = t2[Y] t3[Z] = t2[Z] e t4[Z] = t1[Z] Onde Z = R (X Y)
Uma dep. multivalorada X Y em R chamada trivial se: (a) Y X ou (b) X Y = R Caso contrrio X Y chamada no trivial
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Super-Chave Uma super-chave de uma relao R qualquer subconjunto dos atributos de R cujos valores no se repetem em R. Exemplo:
Ncli Z Ana Maria Pedro CPF 111 222 777 444 Id 100 300 400 200 Tel 123 456 123 Null
So exemplos de super-chave: (CPF, Id), (CPF, Tel), (CPF, Ncli), (Id,Ncli), (Id, Id, Tel) (CPF), (Id)
1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Chave-Candidata Uma chave candidata de uma relao R uma super-chave que possua a menor quantidade possvel de atributos. Exemplo:
Ncli Z Ana Maria Pedro CPF 111 222 777 444 Id 100 300 400 200 Tel 123 456 123 Null
So exemplos de Chaves-Candidatas: (CPF), (Id) Uma das ChavesCandidatas deve ser eleita como PK
PRIMEIRA FORMA NORMAL 1FN Uma relao R est na 1FN se, e somente se R contm somente atributos atmicos.
Todas as Relaes Relaes na 1FN
A relao Departamento no est na 1FN pois possui atributos multivalorados (LocalizacoesD) Como normaliz-la (coloc-la na 1FN) ? Resp: H 3 alternativas.
1a. Alternativa: Expandir a PK Departamento(NomeD, NumeroD, NSSGER, LocalizacoesD) Preserva redundncia de informaes.
2a. Alternativa: Criar novos atributos para LocalizacoesD Departamento(NomeD, NumeroD, NSSGER, LocalizacoesD1, LocalizacoesD2, LocalizacoesD3) O nmero de mximo de localizaes deve ser conhecido. No uma representao econmica.
3a. Alternativa: Separar em duas relaes Departamento(NomeD, NumeroD, NSSGER) LocalizacoesDepto(NumeroD, LocalizacaoD)
As relaes esto na 1FN
Alternativa mais adequada: resolve a limitao de atributos representando o modelo por tuplas.
A relao EMP_PROJ no est na 1FN pois possui atributos compostos (PROJS). Como normaliz-la ?
SEGUNDA FORMA NORMAL 2FN Uma relao R est na 2FN se, e somente se R est na 1FN e no possui dependncia parcial da PK.
Todas as Relaes Relaes na 1FN Relaes na 2FN
A Vendas est na 1FN pois possui somente atributos atmicos Pergunta-se: est na 2FN ? Para responder, precisamos identificar as dependncias funcionais envolvendo atributos da PK:
Numero, CodP NomeP, Vunit, Qtde, Vtot CodP NomeP, Vunit
A Vendas no est na 2FN pois possui dependncial parcial da PK. Pergunta-se: como normaliz-la para a 2FN ? Separando a relao em duas ou mais de forma a eliminar a dependncia parcial: Vendas(Numero, CodP, Qtde, Vtot) Produto(CodP, NomeP, Vunit)
3. SEGUNDA FORMA NORMAL Exemplo: Seja R uma relao contendo apenas atributos atmicos. A PK de R simples (possui apenas 1 atribtuto) Pergunta-se: Qual a forma normal de R ? Resp: Segunda Forma Normal R contm apenas atributos atmicos est na 1FN A PK de R simples No h como existir dependncia parcial
4. TERCEIRA FORMA NORMAL TERCEIRA FORMA NORMAL 3FN Uma relao R est na 3FN se, e somente se R est na 2FN e nenhum atributo no pertencente a PK possua dependncia transitiva em relao PK.
Todas as Relaes Relaes na 1FN Relaes na 2FN Relaes na 3FN
10
A relao Funcionrio est na 2FN pois possui somente atributos atmicos e no apresenta dependncia parcial da PK. Pergunta-se: est na 3FN ? Para responder, precisamos identificar dependncias funcionais envolvendo atributos que no pertenam PK:
CodCargo CNome, Salario Mat CodCargo
A relao Funcionario no est na 3FN pois possui dependncia transitiva com relao PK. Pergunta-se: como normaliz-la para a 3FN ? Separando a relao em duas ou mais de forma a eliminar a dependncia transitiva: Funcionario(Mat, Nome, End, CodCargo) Cargo(Cod, CNome, Salario)
5. FORMA NORMAL DE BOYCE-CODD FORMA NORMAL DE BOYCE-CODD FNBC / BCNF Uma relao R est na BCFN se, e somente se R est na 3FN e nenhum atributo possua dependncia transitiva em relao PK (incluindo atributos no chave).
Todas as Relaes Relaes na 1FN Relaes na 2FN Relaes na 3FN Relaes na BCNF
11
A relao Funcionrio est na 3FN pois possui somente atributos atmicos, no apresenta dependncia parcial da PK e no possui atributos no chave dependendo da PK. Pergunta-se: est na BCNF ? Para responder, precisamos identificar dependncias funcionais envolvendo atributos que pertenam PK:
Tutor Disciplina Aluno, Disciplina Tutor
A relao Cursa no est na BCNF pois possui dependncia transitiva de um atributo chave com relao PK. Pergunta-se: como normaliz-la para a BCNF ? Separando a relao em duas ou mais de forma a eliminar a dependncia transitiva: Tutoria(Tutor, Disciplina) Cursa(Tutor, Aluno)
12