Você está na página 1de 5

FUNDAMENTOS DE DEPNDENCIAS

FUNCIONAIS E NORMALIZAO PARA BANCO


DE DADOS RELACIONAIS
Rafael Martins <rafaelmartinsd21@gmail.com>
Allyssandro Souza <allyssandro.08@gmail.com>
Universidade Federal de Mato Grosso do Sul Curso de Cincia da Computao Campus de Ponta Por
R. Itibire Vieira, s/n - Residencial Julia O. Cardinal CEP 79907-414 Ponta Por MS

RESUMO
Este artigo ir apresentar tcnicas de normalizao de banco de dados relacionais para o
desenvolvimento de um banco mais eficiente e confivel. Primeiro ser abordada as boas prticas ou
diretrizes para elaborao e avaliao de projetos informais de banco de dados. Em seguida ser
mostrado as tcnicas formais de normalizao de dados proposta por Codd (1972) baseadas em
dependncias funcionais.

Palavras-chaves: Banco de dados; Normalizao de dados; Banco de dados relacionais.

ABSTRACT
Title: Fundamentals of functional dependencies and normalization for relational database
This article will introduce techniques to normalize relational database to developing a more
efficient and reliable bank. First will be addressed best practices or guidelines for the preparation and
evaluation of informal projects database. Then be shown the formal technical data normalization
proposed by Codd (1972) based on functional dependencies.

Key-words: database;

1 ITRODUO
Um banco de dados para ser desenvolvido necessrio que ele seja mapeado ou modelado de forme
que explique as caractersticas de seu funcionamento e comportamento para que evite erros de programao
e funcionamento. Um projeto abordado em trs partes ou fases:

Modelagem Conceitual: usada como representao de alto nvel e considera


exclusivamente o ponto de vista do usurio criador dos dados;
Modelagem Lgica: agrega mais alguns detalhes de implementao.
Modelagem Fsica: demonstra como os dados so fisicamente armazenados.

Existem alguns modelos de mapeamento de dados, iremos abordar o modelo de entidade-


relacionamento, ou tambm chamado de modelo relacional. Este considera seus dados em agrupamentos
divididos em entidade que se relacionam com outras.

Uma entidade com seus dados apresentada em tabelas, da surge uma descrio formal deste
modelo de dados, onde as tabelas so chamadas de relao, as linhas de uma tabela que contm dados
referentes a um registro e os atributos so as colunas da tabela um campo ou caracterstica de um registro.

As tabelas de um modelo relacional que se relacionam umas com as outras atravs de chaves que
referenciam um registro unicamente, ou seja, tem um valor exclusivo para este. Existem dois tipos de chaves:

Chave primaria: a chave que identifica cada registro dando-lhe unicidade. A


chave primria nunca se repetir.
Chave Secundaria: a chave formada atravs de um relacionamento com a
chave primria de outra tabela.

Com isso Codd (1972) props inicialmente trs formas normais para o processo de normalizao de
dados de banco de dados relacionais baseadas em dependncias funcionais e chaves primarias que visam
principalmente garantir a integridade, diminuir a redundncia e anomalias de excluso, insero e
atualizao.

2 DIRETRIZES DE PROJETO INFORMAIS PARA ESQUEMAS DE


RELAO
Segundo o dicionrio informal a diretriz uma meta ou alvo que se quer atingir (Ricardo Pavani,
dicionrio informal.com.br). Em banco de dados foram estabelecidas quatro diretrizes bases para ser usadas
como medidas para determinar a qualidade de um projeto de esquema relao.

As diretrizes so tcnicas de analise informal de banco de dados relacional que busca apontar
problemas de anomalias em operaes de insero ou modificao, desperdcio de espao de armazenamento
e gerao de dados falsos.

As diretrizes estabelecidas so:

Semntica dos atributos.


Informaes redundantes.
Valores NULLs nas tuplas.
Tuplas falsas.

2.1 GARANTIR A SEMNTICA DOS ATRIBUTOS.

A semntica o estudo do significado que um atributo expressa. Esta diretriz diz respeito ao
significado dos atributos pertencente a uma relao que interpretada por um conjunto de fatos. O
significado do atributos tem que representar aquela relao. Desta forma um desenvolvedor que garante com
que a semntica doa atributos seja combinado com a relao ele ter um esquema fcil de ser explicado ou
at entendido por futuros desenvolvedores daquele banco.

Exemplo 1: violao da primeira diretriz:

Fonte: (ELMASRI; NAVATH, 2011).

No exemplo 1 os atributos Fnome, Datanasc, Endereco e Dnumero corresponde ao atributo chave


Fnome, porem os atributos Dnome e Cpf_gerente corresponde a outro atributo o Dnumero desrespeitando a
primeira diretriz.

No segundo exemplo mostrada uma soluo para que este esquema se encaixe na primeira diretriz.
A soluo dividir a relao anterior em duas outras relaes, uma com atributos de funcionrios e outra
com atributos de departamento onde essas duas se relacional com uma chave estrangeira Dnumero.
Fonte: (ELMASRI; NAVATH, 2011).

2.2 EVITAR INFORMAES REDUNDANTES

Uma informao redundante so atributos duplicados que ocupam desnecessariamente espao no


disco de armazenamento. A diretriz diz que deve fazer o uso de chaves estrangeiras quando uma relao
precisa de informaes de outra, porm o uso de chaves estrangeiras podem gerar anomalias de excluso,
modificao e de insero.

Anomalias de excluso: quando exclumos uma tupla que possui uma chave
primaria usada em uma chave estrangeira de uma tupla de outra relao, esta tupla
perdera as informaes da tupla excluda.
Anomalia de Insero: acontece quando inserimos uma tupla que necessite de
informaes de uma tupla ainda no tem seus valores atribudos.
Anomalias de modificao: quando modificamos uma informao de uma tupla
que servia de chave estrangeira tuplas de outra relao essas podero ficar com
inconsistncia de dados.

2.3 REDUZIR VALORES NULLS NAS TUPLAS

Esta diretriz diz que devemos se os atributos podero receber valores nulos tanto na hora de
atribuio de valores por um usurio ou em operaes algbricas. A soluo nesses casos de exclurem
esses atributos.

2.4 NO GERAR TUPLAS FALSAS

As tuplas falsas no devem existir em um banco de dados, pois infringe sua funcionalidade onde o
um banco deve ser integro, s til informaes verdadeiras. A diretriz diz que no se deve fazer juno em
casos que no seja entre uma chave primaria com chave estrangeira, essas junes geram tuplas falsas.

3 DEPENDNCIAS FUNCIONAIS
As dependncias funcionais um conceito base para tcnicas formais e normalizao de dados que
se baseia na primeira diretriz a garantia da semntica dos atributos com a relao.
Uma dependncia funcional quando um conjunto de atributos gerado a partir de outro atributo ou
conjunto.

Representa-se por: A B: O conjunto de atributo A denominado de determinante que determina


funcionalmente o B e ento B depende funcionalmente de A.

Exemplo 2:
Fonte: (ELMASRI; NAVATH, 2011).

a) Cpf Fnome: Fnome depende funcionalmente de Cpf que a chave primaria da


relao e Cpf determina funcionalmente o Fnome.
b) Projnumero {Projnome, Projlocal}: O conjunto de Projnome, Projlocal depende
funcionalmente de Projnumero.
c) {Cpf,Projnumero} Horas: A combinao de Cpf,Projnumero determina
funcionalmente as horas.

4 FORMAS NORMAIS
O Processo de normalizao, como foi inicialmente proposto por Codd (1972), sujeita um esquema
de relao a uma srie de testes para certifica-se de que ele satisfaa certa forma normal. Inicialmente, Codd
props trs formas normais: 1, 2 e 3. Todas baseadas nas dependncias funcionais entre os atributos de
uma relao. Uma nova forma normal foi proposta por Boyce-Codd, que mais forte do que 3 FN.

4.1 PRIMEIRA FORMA NORMAL.

A 1FN afirma que o domnio de um atributo deve incluir apenas valores atmicos(simples,
indivisveis) e que o valor de qualquer atributo em uma tupla deve ser nico valor do domnio desse atributo.
Simplificando: Em outras palavras, os campos de uma tabela no devem ser compostos(que so descritos por
vrios valores como endereo que possui, Rua, numero, bairro) ou multivalorados(que pode assumir vrios
valores diferentes que diz respeito a mesma coisa. Ex: Titulo acadmico).
Tcnicas para alcanar a 1FN:

Criar uma nova relao que contenha as repetio de valores em atributos e uma
chave primaria da tupla de origem.
Expandir a chave.
Usar vrios atributos atmicos.

A primeira tcnica a mais recomendada pois no causa redundncia(4.1.2) nem abordagem


genrica que atribui muitos valores nulos (4.1.3).

4.2 SEGUNDA FORMA NORMAL

A definio mais rigorosa descreve que um esquema de relao est na 2FN se todo atributo no
primrio tem dependncia funcional total da chave primria daquela relao.
Podemos dizer tambm que no existe dependncia parcial. (Todo atributo deve depender da chave). A
ideia que cada atributo no chave seja definido por todos os atributos pertencentes chave primria da
relao.

Tcnica para se alcanar a 2FN


Gerar uma relao para cada subconjunto de atributos com suas dependncias
funcionais, as chaves primarias.

4.3 TERCEIRA FORMA NORMAL.

Uma tabela est na Terceira Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna no-
chave depender de outra coluna no-chave.
Tcnicas para se alcanar a 3FN:

Identificar todos os atributos que so funcionalmente dependentes de outros


atributos no chave;
Temos de eliminar aqueles campos que podem ser obtidos pela equao de outros
campos da mesma tabela.

5 CONCLUSO

Este artigo, apresentou os fundamentos de dependncias funcionais e normalizao para banco de


dados, ou formas de normalizao.
As dependncias e normalizaes so de muita importncia em projetos de banco de dados, pois com
elas se consegue um melhor resultado, pois seguindo esses critrios e regras podemos obter um banco de
dados mais eficiente.
Como vimos tambm, entre as trs formas citadas neste artigo, temos mais duas, porm quem j
trabalhou com banco de dados, acaba percebendo que utilizava as formas normais mesmo sem conhec-las.
Para desenvolvedores mais experientes, a eliminao de redundncias em bancos de dados se configura uma
prtica essencial para o sucesso do projeto.
Apesar de existirem outras formas normais como a quarta forma normal e quinta forma normal, apenas a trs
primeiras tem sido considerada atualmente. As formas normais so importantes instrumentos para resolver
antecipadamente problemas na estrutura do banco de dados.
Para aplicar a normalizao de dados necessrio considerar a sequncia das formas normais, isto ,
para aplicar a segunda forma normal por exemplo, necessrio que seja aplicado a primeira forma normal.
Da mesma forma, para aplicar a terceira forma normal necessrio que j tenha sido feita a normalizao na
segunda forma normal.

REFERNCIAS

CAVALCANTI, Thiago Rodrigues. Desmistificando as formas normais. Disponvel em:


<http://www.itnerante.com.br/profiles/blogs/desmistificando-as-formas-normais>. Acesso em: 12 Jun.
2014

ELMASRI, Ramez; NAVATH, Shamkant B. Sistemas de Banco de Dados. - 6 Edio. So Paulo:


PEARSON:2011.

O que a Terceira Forma Normal 3FN - Normalizao de dados. Disponvel


em:<http://www.luis.blog.br/terceira-forma-normal-3fn-normalizacao-de-dados.aspx>. Acesso em: 12 Jun.
2014

Dicionrio Informal. Disponvel em:<http://www.dicionarioinformal.com.br/sem%C3%A2ntica/>. Acesso


em: 12 Jun. 2014

Banco de dados relacional. Disponvel em < http://pt.wikipedia.org/wiki/Banco_de_dados_relacional>.


Acesso em: 12 Jun. 2014

Você também pode gostar