Baixe o app para aproveitar ainda mais
Prévia do material em texto
18/09/13 Normalização - 1FN - SourceInnovation www.sourceinnovation.com.br/index.php/Normalização_-_1FN 1/6 Normalização - 1FN De SourceInnovation Índice 1 Dependência Funcional 2 Exemplo 1 de 1FN - Nota Fiscal 3 Exemplo 2 de 1FN 4 Exemplo 3 de 1FN 5 Referências 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: 18/09/13 Normalização - 1FN - SourceInnovation www.sourceinnovation.com.br/index.php/Normalização_-_1FN 2/6 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 18/09/13 Normalização - 1FN - SourceInnovation www.sourceinnovation.com.br/index.php/Normalização_-_1FN 3/6 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: 18/09/13 Normalização - 1FN - SourceInnovation www.sourceinnovation.com.br/index.php/Normalização_-_1FN 4/6 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: 18/09/13 Normalização - 1FN - SourceInnovation www.sourceinnovation.com.br/index.php/Normalização_-_1FN 5/6 Com este esquema, as tabelas se organizariam da seguinte forma: 18/09/13 Normalização - 1FN - SourceInnovation www.sourceinnovation.com.br/index.php/Normalização_-_1FN 6/6 Exemplo 3 de 1FN Procedimento Desenho em tabelas Referências Prioritariamente livros e artigos Notação ABNT Disponível em "http://www.sourceinnovation.com.br/index.php?title=Normalização_-_1FN&oldid=16755" Esta página foi modificada pela última vez à(s) 05h53min de 25 de julho de 2013. Esta página foi acessada 96 vezes.
Compartilhar