Вы находитесь на странице: 1из 15

Fundamentos de Banco de Dados

Fundamentos de banco de dados

Fundamentos de Banco de Dados Modelo relacional

Objetivos
Independncia de dados ordem indexao caminhos de acesso

reduzir inconsistncias regras de projetos (normalizao)

Fundamentos de Banco de Dados Normalizao

Vrias regras expressando critrios prticos de simplificao de tabelas foram enunciadas Recebendo o nome de formais normais

Normalizao serve para analisar tabelas e


organiz-las De forma que sua estrutura seja simples, relacional e estvel Gerenciamento eficiente e seguro

Fundamentos de Banco de Dados Normalizao

Normalizao Objetivos: Evitar a perda

Evitar a repetio de informao


Atingir um forma de representao adequada para o que se deseja armazenar

Fundamentos de Banco de Dados Normalizao

Normalizao

Para se adequar uma tabela a uma forma normal:


Deve-se redesenhar seu formato
Pode ser utilizada para projetar tabelas a partir de documentos, considerando-os como uma nica tabela e aplicando regras

Fundamentos de Banco de Dados Normalizao

Normalizao
Para se adequar uma tabela a uma forma normal: Deve-se redesenhar seu formato Pode ser utilizada para projetar tabelas a partir de documentos, considerando-os como uma nica tabela e aplicando regras 1 forma normal 2 forma normal 3 forma normal

Fundamentos de Banco de Dados Normalizao

Nota Fiscal desnormalizada

Fundamentos de Banco de Dados Normalizao

Considerando uma tabela nica


NOTA FISCAL Nmero da nota Nome do Cliente Nmero do vendedor Data de Emisso

Descrio Endereo do Cliente Valor total da nota

Nota_fiscal(Nr_Nota, Nm_Cliente, Desc_Endereco_Cliente, Nm_Vendedor, Dt_Emissao, Cod_Produto1, Desc_Produto1, Unidade1, Qt_Produto1, Vl_Preco1, Vl_Total1, Cod_Produto2, Desc_Produto2, Unidade2, Qt_Produto2, Vl_Preco2, Vl_Total2, Cod_Produto3, Desc_Produto3, Unidade3, Qt_Produto3, Vl_Preco3, Vl_Total3, Cod_Produto4, Desc_Produto4, Unidade4, Qt_Produto4, Vl_Preco4, Vl_Total4, Cod_Produto5, Desc_Produto5, Unidade5, Qt_Produto5, Vl_Preco5, Vl_Total5, Vl_Total_Nota)

Fundamentos de Banco de Dados Normalizao Essa forma de armazenamento apresenta alguns problemas: Ocupa muito espao O nome do vendedor ou dos dados do cliente podem ser digitados incorretamente, gerando inconsistncia, pois sero redigitados a cada nova nota Os dados do produto podem digitados incorretamente

Muitas informaes redundante so digitadas pelos vendedores


Erros nos valores de totais

Fundamentos de Banco de Dados Normalizao


A aplicao das regras de normalizao pressupe, inicialmente, uma situao dita no normalizada

Primeira forma normal 1FN


Exige que uma tabela no contenha atributos repetitivos Enunciado Uma tabela est na primeira forma normal se nenhum dos seus atributos tem domnio multivalorado Objetivo Evitar que se tenha de reservar espaos para armazenar dados multivalorados, sendo que o espao pode ser desperdiado em um registro e ser insuficiente em outro Utilizao Projetam-se os atributos com domnio multivalorado para fora da tabela, levando a chave da tabela original

Fundamentos de Banco de Dados Normalizao

Primeira forma normal


No exemplo da nota fiscal pode-se verificar que h itens de repetio, como os atributos referentes aos produtos vendidos Nota_Fiscal e Item_Nota_Fiscal na primeira forma normal

Nota_fiscal(Nr_Nota, Nm_Cliente, Desc_Endereco_Cliente, Nm_Vendedor, Dt_Emissao, Vl_Total_Nota) Item_Nota_Fiscal (Nr_Nota, Cod_Produto, Desc_Produto, Unidade, Qt_Produto, Vl_Preco, Vl_Total)

Fundamentos de Banco de Dados Normalizao

Segunda forma normal - 2FN


Todos os atributos devem depender funcionalmente da chave primria Enunciado Uma tabela est na 2FN quando est na 1FN e seus atributos dependem funcionalmente da totalidade da chave primria

Objetivo Evitar que se mantenham informaes sobre um conjunto que tem interseco com o conjunto representado na tabela
Utilizao Projetam-se os atributos que dependem funcionalmente para fora da tabela, levando a chave da tabela original

Fundamentos de Banco de Dados Normalizao

Segunda forma normal


Podemos verificar que ao desenhar a 1FN, h atributos que no dependem totalmente da chave primria da tabela Item_Nota_Fiscal Aplicao da segunda forma normal
Nota_fiscal(Nr_Nota, Nm_Cliente, Desc_Endereco_Cliente, Nm_Vendedor, Dt_Emissao, Vl_Total_Nota) Item_Nota_Fiscal (Nr_Nota, Cod_Produto, Qt_Produto, Vl_Total) Produto (Cod_Produto, Desc_Produto, Unidade, Vl_Preco)

Fundamentos de Banco de Dados Normalizao

Terceira forma normal - 3FN


Todos os atributos devem depender funcionalmente e diretamente da chave primria Enunciado Uma tabela est na 3FN quando est na 2FN e no h dependncia transitiva entre seus atributos Dependncia transitiva a situao em que um atributo depende de outro e este segundo dependente de um terceiro Objetivo Separa subconjuntos incertos em um subconjunto e evitar redundncia nas informaes Utilizao Projetam-se os atributos que dependem funcionalmente para fora da tabela, levando a chave da tabela original

Fundamentos de Banco de Dados Normalizao

Terceira forma normal



Podemos verificar que ao desenhar a 2FN, h atributos com dependncia funcional como os atributos vendedores e clientes Aplicao da terceira forma normal
Nota_fiscal(Nr_Nota, Cod_Cliente, Cod_Vendedor, Dt_Emissao, Vl_Total_Nota) Cliente(Cod_Cliente, Nm_Cliente, Desc_Endereco_Cliente)

Vendedor(Cod_Cliente, Nm_Vendedor)
Item_Nota_Fiscal (Nr_Nota, Cod_Produto, Qt_Produto, Vl_Total) Produto (Cod_Produto, Desc_Produto, Unidade, Vl_Preco)

Вам также может понравиться