Anda di halaman 1dari 33

Dependncia Funcional e

Normalizao em um Banco de
Dados Relacional

Definies para Projetos Informais


de Esquemas Relacionais

Introduo
Como avaliar se um esquema de relaes bom
ou ruim?
Existem quatro medidas informais para mensurar a
qualidade de um projeto de esquema de relao:
Semntica dos Atributos
Reduo de valores redundantes nas tuplas
Reduo de valores null nas tuplas
Impedimento para a gerao de valores ilegtimos nas
tuplas
Cada uma dessas medidas possui uma diretriz que
garante sua execuo

Semntica dos Atributos da Relao


Semntica Significado dos dados no mundo real, que especifica
como interpretar os valores dos atributos armazenados em uma
tupla da relao.

Um modelo conceitual bem feito resulta em


um modelo relacional claro.
Quanto mais fcil explicar a semntica da
relao, melhor ser o modelo de esquema da
relao.

Semntica dos Atributos da Relao


Diretriz 1 Modelar um esquema de relao de forma que
seja fcil explicar seu significado.

No combinar atributos de diferentes tipos


entidades e relacionamentos dentro de uma
nica relao.
Do contrrio, torna-se difcil explicar o
significado da relao
EMP_DEPT
ENOME SSN DATANASC

ENDERECO

DNUMERO

DNOME

DGERSSN

Informaes Redundantes em Tuplas e


Anomalias de Atualizaes
Deve-se minimizar o espao de armazenamento
usado pelas relaes bsicas
Agrupar os atributos em esquemas de
relaes tem efeito no espao de
armazenamento.
Controle de redundncia necessrio para
evitar anomalias de insero, excluso e
atualizao

EMP_DEPT
ENOME

SSN

DATANASC

DNUM

DNOME

DGERSSN

Joo

11111

01/01/ 1911

Diretoria

22222

Jos

22222

02/02/1922

Diretoria

22222

Pedro

33333

03/03/1933

Administrao

33333

Maria

44444

04/04/1944

Administrao

33333

Joaquim

55555

05/05/1955

Pesquisa

55555

Hector

66666

06/06/1966

Pesquisa

55555

Anomalias de Insero
Como so cadastrados empregados sem
departamento? E departamentos sem empregado?
Como garantir a consistncia dos dados do
departamento do empregado inserido com a dos
demais empregados em tuplas j cadastradas?

Informaes Redundantes em Tuplas e


Anomalias de Atualizaes
Anomalias de excluso
O que acontece com os dados de um
departamento o qual todos os empregados
tenham sido excluidos?

Anomalias de atualizao
Como atualizar os dados de um departamento?

EMPREGADO

DEPARTAMENTO

ENOME

SSN

DATANASC

Joo

11111

Jos

DNUM

DNOME

DNUM

DGERSSN

01/01/ 1911 5

Pesquisa

55555

22222

02/02/1922

Administrao 4

33333

Pedro

33333

03/03/1933

Diretoria

22222

Maria

44444

04/04/1944

Joaquim

55555

05/05/1955

Hector

66666

06/06/1966

Informaes Redundantes em Tuplas e


Anomalias de Atualizaes
Diretriz 2 Modelar esquemas de relaes bsicas de forma
que nenhuma anomalia de insero, excluso ou atualizao
possa ocorrer. Se houver possibilidade de ocorrer anomalia,
registre-a claramente para que os programas que atualizaro o
banco operem corretamente.

Obs.: s vezes essas diretrizes precisam ser


violadas para melhorar o desempenho de certas
consultas. Quando isso ocorrer, as anomalias
devem ser consideradas nos momentos em que o
banco for atualizado.

Valores Nulls (nulos) em tuplas


Excesso de valores nulls em tuplas podem gerar
desperdcio de espao e problemas de entendimento
do significado dos dados.
Geram tambm problemas em JOINS e funes
agregadas, como SUM e COUNT
Diretriz 3 Evite colocar atributos cujos valores
frequentemente possam ser nulos. Se os nulls forem
inevitveis, tenha certeza de que eles se aplicam somente em
casos excepcionais e no na maioria das tuplas da relao.

Ex.: Se s 10% dos empregados possuem escritrios, ao


invs de colocar um atributo ESCRITORIO_NRO na
relao empregado, melhor criar uma nova relao
EMP_ESCRITORIOS(SSN, ESCRITORIO_NRO)

Gerao de tuplas ilegtimas


Diretriz 4 Projete os esquemas de relaes de forma que
possam ser unidos (join) com igualdade de condies sobre os
atributos que sejam chaves primrias ou chaves estrangeiras,
de modo a garantir que nenhuma tupla ilegtima seja gerada.

Evite as relaes que contenham o


relacionamento entre os atributos que no
sejam combinaes (chave estrangeira, chave
primria), porque junes sobre esses
atributos podem produzir tuplas ilegtimas.

Dependncias Funcionais

Definio
Uma dependncia funcional, denotada por X Y entre dois
conjuntos de atributos X e Y, que so subconjuntos de R, especificam
uma restrio nas possveis tuplas que formem um estado da relao
r de R. A restrio que, para quaisquer duas tuplas t1 e t2 em r que
tenham t1[X] = t2[X], elas tambm tem que ter t1[Y] = t2[Y].

uma propriedade da semntica dos atributos.


Uma restrio nos estados de R, que implica no haver mais de
uma tupla com um dado valor X em qualquer instncia da
relao r(R) (isto , X uma chave candidata de R) implica X Y
para qualquer subconjunto de atributos Y de R. (restrio de
chave)
Se X Y, isso no implica necessariamente que Y X em R

Dependncia total X Parcial


Dependncia funcional total ocorre quando
a remoo de qualquer atributo A de X implica
que a dependncia no mais ser assegurada.
Do contrrio, a dependncia ser parcial.

NomeVendedor

CodVendedor

VENDEDOR

CodCliente

Nome

NumPedido
solicita

CLIENTE
CPF

realiza

PEDIDO

Prazo

Endereco

VlrTotal

possui
NumPedido
ITEM_DO_PEDIDO
CodProd
Dependncia total

QtdProd

VlrUnitProd

VlrTotProd
UnidProd

Dependncia Parcial

Dependncia Transitiva
Ocorre quando existe um atributo que no
chave nem faz parte da chave, mas que
identifica outros atributos. (Existe um atributo
no-chave que depende de outro atributo
no-chave)

Exemplos
EMP_DEPT
ENOME

SSN

DATANASC

ENDERECO DNUMERO DNOME

EMP_PROJ
SSN

PNUMERO

HORAS ENOME

DGERSSN

Dependncia transitiva
PNOME PLOCALIZACAO

Dependncias parciais da chave composta SSN, PNUMERO

Normalizao

Conceito
Normalizao Processo de anlise de determinados
esquemas de relaes com base em suas DFs e chaves
primrias para alcanar as propriedades desejveis de (1)
minimizao de redundncia e (2) minimizao de anomalias
de insero, excluso e atualizao.

Processo top-down.
Foram criadas a priori trs formas normais (1FN,
2FN e 3FN), sendo que a terceira possui um
incremento, a forma normal de Boyce Codd
(FNBC). Existem tambm uma quarta e uma
quinta forma normal (4FN e 5FN).

Conceito
O procedimento de normalizao proporciona:
Uma estrutura formal para anlise de esquemas de
relao, com base em suas chaves e nas dependncias
funcionais entre seus atributos
Uma srie de testes de formas normais deve ser feita, em
cada um dos esquemas de relao, de forma que o banco
de dados relacional possa ser normalizado no grau
desejado.

A forma normal de uma relao refere-se condio


da mais alta forma normal alcanada, e indica o grau
no qual foi normalizada.
Os esquemas de relaes que no alcanam determinada
forma normal so decompostos em esquemas menores
que passam nos testes.

Primeira Forma Normal (1FN)


O domnio de cada atributo s deve incluir valores atmicos
(simples, indivisveis), e que o valor de qualquer atributo em
uma tupla deve ter um nico valor no domnio daquele
atributo (monovalorados).

Evita relaes dentro de relaes.


Para deixar uma relao na 1FN devemos:
Decompor atributos compostos em atributos simples
Para cada atributo multivalorado ser criada uma relao
contendo o atributo multivalorado mais a chave primria
da tabela inicial, que passa como chave estrangeira. A
chave primria da nova relao ser composta.
Para cada grupo repetido de atributos ser criada uma
relao que conter os atributos do grupo repetido mais a
chave primria da tabela principal, que passa como chave
estrangeira e ir ajudar a compor a chave primria.

Primeira Forma Normal (1FN)


Relao no normalizada
Pedido (codigo_pedido, valor_total, data, {telefone_contato},
{itens (codigo_produto, nome_produto, preco_unitario, qtd,
valor_pago)})

Relaes na 1FN
Pedido (codigo_pedido, valor_total, data)
telContPedido (codigo_pedido, telefone_contato)
ItensPedido (codigo_pedido, codigo_produto, nome_produto,
preco_unitario, qtd, valor_pago)

Segunda Forma Normal (2FN)


Um esquema de relao R est na 2FN se todo atributo no
primrio (no membro de chaves candidatas) A em R tem
dependncia funcional total da chave primria de R

Se um esquema de relao no estiver na 2FN,


poder ser normalizado na segunda forma por
meio da criao de vrias relaes na 2FN nas
quais os atributos no-primrios s estaro
associados parte da chave primria com a
qual possuirem dependncia funcional total

Segunda Forma Normal (2FN)


Relaes na 1FN
Pedido (codigo_pedido, valor_total, data)
TelContPedido (codigo_pedido, telefone_contato)
ItensPedido (codigo_pedido, codigo_produto, nome_produto,
preco_unitario, qtd, valor_pago)

Relaes na 2FN
Pedido (codigo_pedido, valor_total, data)
telContPedido (codigo_pedido, telefone_contato)
ItensPedido (codigo_pedido, codigo_produto, qtd, valor_pago)
Produto (codigo_produto, nome_produto, preco_unitario)

Terceira Forma Normal (3FN)


Um esquema de relao R est na 3FN se estiver na 2FN e no
possuir dependncias transitivas

Caso a relao no esteja na 3FN, poder ser


normalizada at esse grau decompondo e
montando uma relao que contenha o(s)
atributo(s) no-chave(s) que determina(m)
funcionalmente o(s) outro(s) atributo(s).

Terceira Forma Normal (3FN)


Relao na 2FN
Departamento (codigo_depto, nome_depto, codigo_gerente,
nome_gerente)

Relaes na 3FN
Departamento (codigo_depto, nome_depto, codigo_gerente)
Gerente (codigo_gerente, nome_gerente)

Forma Normal de Boyce Codd (FNBC)


Um esquema de relao R est na FNBC quando est na 3FN e
nenhum de seus atributos primrios (membro de alguma
chave candidata) depende de algum conjunto de atributos X
que no seja uma superchave

Ex.: Imagine que na relao a seguir a rea de


um lote determine o municpio ao qual ele
pertence:
Lotes de Picos de 0,5 a 1,0 acres
Lotes de Sussuapara de 1,1 a 2,0 acres

Relao na 3FN
Chave Candidata

NUM_PROPRIEDADE

MUNICIPIO_NOME

Relao na FNBC
NUM_PROPRIEDADE
AREA

NUM_LOTE

MUNICIPIO_NOME

AREA

NUM_LOTE

AREA

Dependncia Multivalorada
Ocorre quando um determinado atributo determina um
conjunto de valores de outro atributo
MATRICULA

PROFISSAO

ESPORTE

35

ANALISTA

TNIS

35

ANALISTA

FUTEBOL

35

ENGENHEIRO

TNIS

49

MDICO

NATAO

49

MDICO

BASQUETE

49

PSICLOGO

NATAO

49

PSICLOGO

BASQUETE

MATRICULA ->> PROFISSAO (->> l-se multidetermina)


MATRICULA ->> ESPORTE

Quarta Forma Normal (4FN)


Um esquema de relao R est na 4FN quando est na FNBC e o
conjunto X implicado de uma dependncia multivalorada X ->>
Y uma superchave

Esquema anterior na 4FN (decomposio de R


em R1 = (X U Y) e R2 = (R Y)
MATRICULA

PROFISSAO

MATRICULA

ESPORTE

35

ANALISTA

35

TNIS

35

ENGENHEIRO

35

FUTEBOL

49

MDICO

49

NATAO

49

PSICLOGO

49

BASQUETE

Dependncia de Juno e 5FN


Dependncia de Juno - Ocorre quando a juno natural das
relaes R1, R2, ..., Rn, frutos da decomposio de uma relao
R, no igual ao estado r de R.

O contedo de R pode ser reconstrudo (sem


perda de informao) a partir das diversas
relaes menores.
Uma relao est na 5FN se e somente se estiver na 4FN e o
relacionamento entre os atributos puder ser decomposto em
relacionamentos binrios sem gerao de informao incorreta.

FORNECE
FNOME

NOMEPECA

NOMEPROJ

Smith

Parafuso

ProjX

Smith

Porca

ProjY

Adamsky

Prego

ProjY

Walton

Porca

ProjZ

Adamsky

Prego

ProjX

Adamsky

Parafuso

ProjX

Smith

Parafuso

ProjY

R2

R1

R3

FNOME

NOMEPECA

FNOME

NOMEPROJ

NOMEPECA

NOMEPROJ

Smith

Parafuso

Smith

ProjX

Parafuso

ProjX

Smith

Porca

Smith

ProjY

Porca

ProjY

Adamsky

Prego

Adamsky

ProjY

Prego

ProjY

Walton

Porca

Walton

ProjZ

Porca

ProjZ

Adamsky

Parafuso

Adamsky

ProjX

Prego

ProjX

Parafuso

ProjY