Linha 87: Linha 87:


[[Arquivo:Tab1FN2.jpg]]
[[Arquivo:Tab1FN2.jpg]]
** Percebe-se que a tabela não está na primeira forma normal, pois há mais de um dado em um mesmo campo (no campo endereço há 3 dados e no campo veículo há 4). Nota-se que também se repetem os dados dos envolvidos. Para normalizar esta tabela, então, deve se criar uma tabela separada para os envolvidos e seus dados, e para os campos endereço e veículo(que irão estar na nova tabela do envolvido), deverão ser criadas mais duas tabelas para que não haja mais de um dado por campo.
** Exemplo:
[[Arquivo:2Tab1FN.jpg]]





Edição das 08h22min de 25 de julho de 2013

Dependência Funcional


  • Segundo Heuser (2001), uma forma normal (FN) é uma regra que deve ser obedecida por uma tabela para que ela seja considerada “bem projetada”. Existem inúmeras formas normais, ou seja, diversas regras, cada vez mais rígidas, para verificar tabelas em banco de dados relacionais. No entanto, pelo menos 3 FNs são consideradas essenciais para a construção de um bom projeto de banco de dados.
  • O que é Dependência Funcional baseada em Separação?
  • Uma relação está na 1FN quando todos os atributos da relação estiverem baseados em um domínio simples, não contendo grupos ou valores repetidos.
  • Exemplos:

Considere a tabela:

Constrói-se um modelo para separarmos as casas com mais de um dado, no caso Nome, Categoria, Salário, Data Inicial e Tempo:

Porém, vemos que se repetem mais de um dado, Codigo do Projeto (CodProj), Tipo e Descrição (Descr). Sendo assim, dividiremos em duas tabelas (Projeto (Proj) e Empregados (ProjEmp)), utilizando uma chave na tabela Projeto para associação aos empregados:

Vemos aqui que a chave da tabela Projetos (Proj) trata-se, do Codigo do Projeto (CodProj) que está associado à tabela Empregados (ProjEmp)


Exemplo 1 de 1FN - Nota Fiscal


  • Procedimento:

Os três procedimentos mais usados na aplicação da 1FN são:

    • Identificar a chave primária da entidade;
    • Identificar o grupo repetitivo e removê-lo da entidade;
    • Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.
  • Desenho em tabelas

Tabela inicial com todos os dados que possam estar em uma nota fiscal.

Aplicando os procedimentos, temos:

  • Chave Primária: nro_nota
  • Grupos repetitivos a serem removidos:
    • 1º Grupo - Dados do cliente:
      • CPF (chave do grupo)
      • nome_cliente
      • Tel_cliente
      • End_cliente
    • 2º Grupo - Dados do Produto
      • codProduto (chave do grupo)
      • Quantidade
      • Valor
      • Descricao

Criamos uma nova classe Nota Fiscal, com a chave primária e as chaves dos grupos.

Exemplo 2 de 1FN


  • Procedimento:

Os três procedimentos mais usados na aplicação da 1FN são:

    • Identificar a chave primária da entidade;
    • Identificar o grupo repetitivo e removê-lo da entidade;
    • Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.


  • Desenho em tabelas

Neste caso, o exemplo será o relatório de um acidente de automóvel, com possibilidade de até três envolvidos.

    • Primeiro, começa-se com uma tabela geral, onde se encontram todos os dados. Uma tabela não normalizada:

    • Com um banco de dados deste jeito, irá ter um sistema de armazenamento da seguinte forma:

    • Percebe-se que a tabela não está na primeira forma normal, pois há mais de um dado em um mesmo campo (no campo endereço há 3 dados e no campo veículo há 4). Nota-se que também se repetem os dados dos envolvidos. Para normalizar esta tabela, então, deve se criar uma tabela separada para os envolvidos e seus dados, e para os campos endereço e veículo(que irão estar na nova tabela do envolvido), deverão ser criadas mais duas tabelas para que não haja mais de um dado por campo.
    • Exemplo:


  • Desenho em tabelas


Exemplo 3 de 1FN


  • Procedimento
  • Desenho em tabelas


Referências


  • Prioritariamente livros e artigos
  • Notação ABNT