0% acharam este documento útil (0 voto)
47 visualizações52 páginas

Normalização de Dados para TI

Enviado por

Junior de Macedo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
47 visualizações52 páginas

Normalização de Dados para TI

Enviado por

Junior de Macedo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd

Curso: Tecnologia em Informática para Negócios

Disciplina: BANCO DE DADOS


Aulas/semana: 04

Profª Ma. Luciana Zapparolli

Modelagem de Dados

1 de 40
Normalização de dados

2 de 40
Atributos

Tipo;
Tamanho;
Ser obrigatório ou opcional;
Ser condicional a outros atributos;
Possuir várias ocorrências;

3 de 40
Registro

Registro é um conjunto de atributos que contém informações comuns de


um determinado elemento (pessoa, evento, objeto, etc.). Um exemplo é o
registro de funcionários de uma empresa que contém informações
(atributos) específicos de cada funcionário como: nome, cargo, salário e
departamento que trabalha.

4 de 40
Arquivo

Arquivo é um conjunto de registros que tratam do mesmo


assunto.

5 de 40
Chave

6 de 40
Chave – características

Única
Obrigatória
Imutável

7 de 40
Normalização de Dados

Um bom projeto de banco de dados deve garantir ao usuário


a possibilidade de modificações no conteúdo do banco sem
causar efeitos colaterais inesperados.

8 de 40
Normalização de Dados

O processo de normalização de dados se caracteriza por


refinar o esquema de banco de dados, buscando eliminar
problemas de redundâncias de dados e reduzir ao máximo os
problemas de anomalias de inclusão, alteração e exclusão de
dados, garantindo a integridade dos mesmos. Esse processo é
dividido em várias etapas, denominadas Formas Normais, que
são conjuntos de restrições às quais os dados devem
satisfazer (MACHADO,2014).

9 de 40
1ª Forma Normal

Na primeira forma normal devemos identificar a chave da tabela, de


forma que não possua dados repetidos. Os atributos devem conter apenas
valores atômicos (não divisíveis), por exemplo, o CPF, este não pode ser
dividido em outros atributos. Os atributos também não podem ser
multivalorados, ou seja, não podem assumir diversos valores, por exemplo,
o atributo Fone de um cliente, que pode assumir diversos valores
(ALVES,2014).

10 de 40
Dependência Funcional

• A dependência funcional é parcial quando em uma tabela tivermos


uma chave primária composta e um dos seus atributos depende
funcionalmente de apenas parte da chave, ou seja, depende de
apenas um ou mais atributos que compõem a chave, mas não de
todos e se ele for retirado a DF continuará existindo. A DF é total se
o atributo em questão dependa de todos os atributos que
compõem a chave (CARDOSO, 2008).

11 de 40
Dependência Funcional

Dependência funcional é a característica de um


atributo depender de outro, ou de outros
atributos representarem uma informação
completa.
A dependência funcional pode ser verificada
quando analisamos um atributo isoladamente e
chegamos a conclusão de que ele por si só não
representa uma informação completa.

12 de 40
Segunda Forma Normal (2FN)

A aplicação da segunda forma normal (2FN)


consiste em retirar das estruturas de dados que
possuem chaves compostas todos os atributos que
são funcionalmente dependentes de somente
alguma parte desta chave.

13 de 40
Segunda Forma Normal (2FN)

A tabela se encontra na segunda forma normal


(2FN) se além de estar na primeira forma normal
(1FN) todos os seus atributos forem dependentes
da chave primária composta.

14 de 40
Terceira Forma Normal (3FN)

A aplicação da terceira forma normal (3FN) consiste em


retirar das estruturas de dados os atributos que são
funcionalmente dependentes de outros atributos que não
sejam chaves, pois, caso exista atributos com dependência
funcional transitiva em uma tabela, estes podem também
causar anomalias de inclusão, alteração e exclusão.

15 de 40
Terceira Forma Normal (3FN)

Uma tabela está na terceira forma normal (3FN)


caso esteja na segunda forma normal (2FN) e não
possua nenhum atributo dependente de outro que
não faça parte da chave primária.

16 de 40
Aplicando as Formas Normais

Uma tabela está na terceira forma normal (3FN)


caso esteja na segunda forma normal (2FN) e não
possua nenhum atributo dependente de outro que
não faça parte da chave primária.

17 de 40
Aplicando as Formas Normais

Vamos exemplificar estas técnicas através de uma


tabela de vendas de automóveis, onde os clientes
são empresas e compram frotas de automóveis. Em
uma primeira análise, foram levantados os
seguintes dados que necessitam ser armazenados
em um banco de dados.

18 de 40
Aplicando as Formas Normais

 Número Venda;  Ano;


 Data da Venda;  Quantidade;
 Código do Cliente;  Preço unitário;
 Nome do Cliente;  Valor total;
 Endereço;  Código do vendedor;
 Cidade;  Nome do vendedor.
 UF;
 Código do Produto;
 Modelo automóvel;

19 de 40
Aplicando as Formas Normais

Ao armazenar essas informações em um banco de dados,


ficariam assim:

20 de 40
Aplicando as Formas Normais

Desta forma, podemos detectar as seguintes anomalias:

 O cliente está relacionado juntamente com a venda;

 Caso seja excluída uma venda da tabela, os dados do


cliente também serão excluídos;

 Se houver alteração do endereço do cliente por exemplo,


todas as linhas (registros) em que ele aparecer deverão
ser alteradas;

21 de 40
Aplicando as Formas Normais

Desta forma, podemos detectar as seguintes anomalias:

 Se houver alteração do preço de um produto por exemplo,


ou qualquer outro atributo referente ao produto, todos os
registros que contem essa informação também deverão
ser alterados;

 Se houver alteração do nome do vendedor por exemplo,


todos os registros que contem essa informação também
deverão ser alterados;

22 de 40
Aplicando as Formas Normais

Desta forma, podemos detectar as seguintes anomalias:

 A cada venda realizada a um determinado cliente, são


solicitadas todas as informações do mesmo, tais como:
endereço, cidade, uf;

23 de 40
Aplicando as Formas Normais

Observamos que a tabela não está normalizada na primeira


forma normal (1FN), pois, o atributo Número da venda que
é a chave primária se repete e, isso não é permitido. Não
podemos também ter atributos multivalorados, que se
repetem, e em nosso exemplo temos os produtos.

24 de 40
Aplicando as Formas Normais

Vamos aplicar a primeira forma normal (1FN) nesta tabela


não-normalizada e decompô-la em tantas unidades
quantas forem necessárias.

25 de 40
Aplicando as Formas Normais

Inicialmente, vamos representar o esquema da tabela:

26 de 40
Aplicando as Formas Normais

Inicialmente, vamos representar o esquema da tabela:

O atributo Número venda é a chave primária, está


sublinhado e em negrito.
27 de 40
Aplicando as Formas Normais

Agora, vamos remover os atributos que se repetem, são eles:


Código do Produto, Modelo, Ano, Qtde, Preço Unitário e Valor
Total. O esquema das tabelas fica assim:

28 de 40
Aplicando as Formas Normais

29 de 40
Aplicando as Formas Normais

Como podemos observar, na tabela Vendas, a chave


primária é o atributo Número Venda, é único para cada
registro, não se repete. A chave primária na tabela
Itens_Vendas é uma chave composta, formada pelos
atributos Número Venda e Código Produto.

30 de 40
Aplicando as Formas Normais

Percebam que a tabela Itens_vendas, que foi derivada


no processo de normalização através da primeira forma
normal (1FN), herdou o atributo que é chave primária da
qual a tabela foi derivada (Vendas) e juntamente com o
atributo Código do Produto gerou uma chave primária
composta..

31 de 40
Aplicando as Formas Normais

Agora a nossa tabela Vendas está


normalizada na 1FN ! Não apresenta atributos
multivalorados, que se repetem e também o
atributo que é chave primária também não se
repete. Será que o resultado atende a segunda
forma normal (2FN) ?

32 de 40
Aplicando as Formas Normais

Continuando com o nosso exemplo, vamos aplicar a


segunda forma normal (2FN).

A tabela Itens_vendas possui uma chave primária


composta, formada pelos atributos Número da Venda e
Código do Produto. Os atributos Modelo, Ano e Preço
Unitário não dependem totalmente da chave, já os atributos
Qtde e Valor Total dependem.

33 de 40
Aplicando as Formas Normais

Desta forma, os atributos que são parcialmente


dependentes devem ser removidos do esquema.

Vamos remover os atributos que dependem parcialmente


da chave primária na tabela Itens_vendas e
consequentemente vamos gerar uma terceira tabela
denominada Produtos.

34 de 40
Aplicando as Formas Normais

35 de 40
Aplicando as Formas Normais

36 de 40
Aplicando as Formas Normais

Agora a nossa tabela Vendas está


normalizada na 1FN e também na 2FN ! Não
apresenta atributos multivalorados, que se
repetem e o atributo que é chave primária
também não se repete. Os atributos que
dependem parcialmente da chave primária foram
removidos e foi gerada uma terceira tabela
(Produtos). Será que o resultado atende a terceira
forma normal (3FN)?

37 de 40
Aplicando as Formas Normais

Em nosso exemplo, a tabela VENDAS possui atributos


que identificam um cliente, que são: nome, endereço, cidade
e UF e também um vendedor: nome do vendedor. Os dados
dos atributos do cliente, tais como: nome, endereço, cidade e
UF dependem do Código do Cliente, desta forma é possível
criar uma outra tabela, denominada Clientes. O atributo
nome do vendedor, depende do código do vendedor, então,
também é possível criar a tabela Vendedores.

38 de 40
Aplicando as Formas Normais

39 de 40
Aplicando as Formas Normais

40 de 40
Aplicando as Formas Normais

Na maioria das vezes um projeto é normalizado até a


terceira forma normal (3FN), sendo considerado
suficiente para se obter um bom modelo. Refinar as
tabelas além da terceira forma normal pode não ser
aconselhável.

41 de 40
Restrições de integridade considerando
o Modelo Relacional

Um banco de dados com informações imprecisas ou


mesmo totalmente errôneas pode causar resultados
catastróficos. Devido a este fato, uma das maiores
preocupações de qualquer desenvolvedor ou projetista
de banco de dados é encontrar uma forma de garantir a
integridade dos dados que se encontram armazenados.

42 de 40
Restrições de integridade considerando
o Modelo Relacional

Se o próprio sistema de banco de dados oferecer


formas para restringir ou não tornar possível a quebra
dessas integridades, poderá gerar menos trabalho ao
desenvolvedor.
Um SGBD deve ajudar a evitar a entrada de
informações incorretas.

43 de 40
Restrições de integridade considerando
o Modelo Relacional

As restrições de integridade (RI) são utilizadas para


garantir a consistência dos dados em um banco de
dados relacional.
Um SGBD impõe restrições de integridade, de forma
que ele permita somente o armazenamento de dados
válidos no banco de dados.

44 de 40
Restrições de integridade considerando
o Modelo Relacional

Existem muitos tipos de restrições que podem ser


especificadas no modelo relacional, vamos abordar:
Integridade de chave e Integridade Referencial.

45 de 40
Integridade de Chave

Uma restrição de chave primária permite diferenciar de


forma única os registros em uma tabela, ou seja,
impede que uma atributo que é chave tenha os seus
conteúdos repetidos.

46 de 40
Integridade de Chave

Por exemplo, considerando uma tabela de Clientes com


os seguintes atributos: Código Cliente, Nome e idade,
sendo que o Código do Cliente é a chave primária,
Desta forma, podemos ter mais de um cliente com o
mesmo nome, porém, cada um deve apresentar um
código diferente.

47 de 40
Integridade de Chave

48 de 40
Integridade Referencial

Muitas vezes, informações armazenadas em uma tabela


estão ligadas às informações armazenadas em outra tabela,
no entanto, se uma dessas tabelas for modificada a outra
deverá ser verificada e talvez até modificada para manter os
dados consistentes. Desta forma, uma restrição de
integridade deverá ser especificada caso o SGBD necessite
fazer esta verificação.

49 de 40
Integridade Referencial

Exemplo:

50 de 40
Integridade Referencial
Violações

Exemplo:

51 de 40
Integridade Referencial
Violações

Exemplo: Tentar excluir o cliente Código 2

52 de 40

Você também pode gostar