Buscar

Banco de Dados I Normalização

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Normalização 
Modelagem Lógica Relacional 
 O Modelo de Dados lógico representa os dados em um BD através de um conjunto de Relações 
(tabelas). Estas relações contém informações sobre entidades ou relacionamentos existentes no 
domínio da aplicação utilizada como alvo para a modelagem. Informalmente uma relação pode 
ser considerada como uma tabela de valores, onde cada linha desta tabela representa uma 
coleção de valores de dados inter-relacionados Estes conjuntos de valores podem estar 
representando uma instância de uma entidade ou relacionamento da aplicação. 
 Os nomes fornecidos às tabelas e às suas colunas podem auxiliar na compreensão do significado 
dos valores armazenados em cada uma das suas linhas. 
 Em terminologia do Modelo Lógico, cada linha da relação é denominada de Tupla , o nome da 
coluna é denominado Atributo da relação. É importante assinalar que não se podem ter tuplas 
duplicadas em uma tabela. 
Esquema de um BD Lógico Relacional 
 Como Esquema de um BD Relacional entende-se o conjunto de intenções (Esquemas das 
Relações) definidas para todas as relações da Base, e um conjunto de restrições de integridade. 
 Sobre os nomes fornecidos aos atributos, é permitido àqueles que representem conceitos 
semelhantes, possuir ou não o mesmo nome em diferentes relações. Da mesma forma, 
atributos representando conceitos diferentes podem possuir o mesmo nome. O conjunto de 
restrições de integridade define regras básicas que os valores dos atributos devem obedecer 
quando aparecerem em uma relação. 
Instâncias 
 A Instância de uma Relação consiste no conjunto de valores que cada atributo, definido no 
esquema, assume em um determinado instante, formando o conjunto de tuplas. Ou seja, as 
instâncias das relações formam os dados que são armazenados no BD. As relações apresentam 
as seguintes características: 
a) Não há tuplas duplicadas em uma relação; 
b) Ordem das tuplas na relação não é relevante para diferenciar as relações; 
c) Os valores dos atributos devem ser atômicos, não sendo divisíveis em componentes. 
Normalização de Dados 
 Normalização de dados é o processo formal passo a passo que examina os atributos de uma 
entidade, com o objetivo de evitar anomalias observadas na inclusão, exclusão e alteração de 
registros. 
Normalização de Dados 
 Uma regra de ouro que devemos observar quando do projeto de um Banco de Dados baseado 
no Modelo Relacional de Dados é a de não misturar assuntos em uma mesma Tabela. Por 
exemplo: na Tabela Clientes devemos colocar somente campos relacionados com o assunto 
Clientes. Não devemos misturar campos relacionados com outros assuntos, tais como Pedidos, 
Produtos, etc. Essa “Mistura de Assuntos”; em uma mesma tabela acaba por gerar repetição 
desnecessária dos dados bem como inconsistência dos dados. 
Normalização de dados 
 Normalmente após a aplicação das regras de normalização de dados, algumas tabelas acabam 
sendo divididas em duas ou mais tabelas, o que no final gera um número maior de tabelas do 
que o originalmente existente. Este processo causa a simplificação dos atributos de uma tabela, 
colaborando significativamente para a estabilidade do modelo de dados, reduzindo-se 
consideravelmente as necessidades de manutenção. 
Normalização de dados - objetivo 
 Minimização das redundâncias e inconsistências; 
 Facilidade de manipulação do banco de dados; 
 Facilidade de manutenção do sistema de informação. 
Regras de normalização – Formas 
Normais 
 O Processo de normalização aplica uma série de regras sobre as tabelas de um banco de dados, 
para verificar se estas estão corretamente projetadas. Embora existam cinco formas normais (ou 
regras de normalização), na prática usamos um conjunto de três Formas Normais. Vejamos as 
três primeiras formas normais do processo de normalização de dados. 
Primeira Forma Normal (1FN) 
 Primeira Forma Normal 1FN 
 Uma relação estará na Primeira forma normal 1FN, se e somente se todos os domínios básicos 
contiverem somente valores atômicos (não contiver grupos repetitivos). 
 Em outras palavras podemos definir que a primeira forma normal não admite repetições ou 
campos que tenha mais que um valor. 
1FN 
 Procedimentos: 
a) Identificar a chave primária da entidade; 
b) Identificar o grupo repetitivo e removê-lo da entidade; 
c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo. 
1FN 
 Considere a tabela abaixo: 
Cliente 
Cod_cliente 
Nome 
Telefone 
Endereço 
1FN 
 Agora com a tabela de dados: 
 
Cod_Cliente Nome Telefone Endereço 
0001 Jéssica 999877845 
987541200 
Rua A, 123. Bairro X. Cep 
22743-656 
0002 Ricardo 951247568 Rua B, 456. Bairro X. Cep 
22345-689 
0003 Douglas 975845623 Rua C, 987. Bairro Y. Cep 
22784569 
0004 Lúcio 985263247 Rua A, 124. Bairro X. Cep 
22743-656 
1FN 
 Todos os clientes possuem Rua, CEP e Bairro, e essas informações estão na mesma célula da 
tabela, logo ela não está na primeira forma normal. Para normalizar, deveremos colocar cada 
informação em uma coluna diferente, como no exemplo a seguir: 
Cod_Cliente Nome Telefone Endereço Bairro CEP 
0001 Jéssica 999877845 
987541200 
Rua A, 123. X 22743-656 
0002 Ricardo 951247568 Rua B, 456. X 22345-689 
0003 Douglas 975845623 Rua C, 987. Y 22784569 
0004 Lúcio 985263247 Rua A, 124. X 22743-656 
1FN 
 Para concluir a normalização, será necessário criar mais uma tabela com os dados de telefone, 
pois um cliente poderá possuir mais de um telefone: 
Cod_Cliente Telefone 
0001 999877845 
0001 987541200 
0002 951247568 
0003 975845623 
0004 985263247 
2FN 
 Uma tabela está na Segunda Forma Normal 2FN se ela estiver na 1FN e todos os atributos não 
chave forem totalmente dependentes da chave primária (dependente de toda a chave e não 
apenas de parte dela). 
2FN 
 Procedimentos: 
a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária; 
b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles. 
 
A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos 
removidos são funcionalmente dependentes . 
2FN 
Exemplo de segunda forma normal 
 
 Considere a tabela vendas abaixo: 
Vendas 
N_pedido 
Código_produto 
Produto 
Quant 
Valor_unit 
 Subtotal 
2FN 
 Analisando a tabela de dados abaixo, teremos: 
 
 
N_Pedido Cod-
Produto 
Produto Quant. Valor_Unit Subtotal 
005 4-567 GalaxyS6 1 3600 3600 
006 7-845 Impressora 
HP 
5 1500 7500 
007 1-852 Monitor LG 2 600 1200 
008 7-895 Folha A4 10 10 100 
2FN 
 O nome do produto depende do código do produto, porém não depende de N_pedido que é a 
chave primária da tabela, portanto não está na segunda forma normal. Isto gera problemas com 
a manutenção dos dados, pois se houver alteração no nome do produto teremos que alterar em 
todos os registros da tabela venda. Para normalizar esta tabela teremos de criar a tabela 
Produto que ficará com os atributos Código_produto e produto e na tabela Venda manteremos 
somente os atributos N_pedido, código_produto, quant, valor_unit e subtotal. Veja o 
resultado: 
2FN 
Cod-Produto Produto 
4-567 GalaxyS6 
7-845 Impressora HP 
1-852 Monitor LG 
7-895 Folha A4 
N_Pedido Cod-
Produto 
Quant. Valor_Unit Subtotal 
005 4-567 1 3600 3600 
006 7-845 5 1500 7500 
007 1-852 2 600 1200 
008 7-895 10 10 100 
Terceira Forma Normal 3FN 
 Uma tabela está na Terceira Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna não-
chave depender de outra coluna não-chave. Na terceira forma normal temos de eliminar 
aqueles campos que podem ser obtidos pela equação de outroscampos da mesma tabela. 
3FN 
 Procedimentos: 
a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não 
chave; 
b) b) Removê-los. 
 
A chave primária da nova entidade será o atributo do qual os atributos removidos são 
funcionalmente dependentes. 
3FN 
N_Pedido Cod-
Produto 
Quant. Valor_Unit Subtotal 
005 4-567 1 3600 3600 
006 7-845 5 1500 7500 
007 1-852 2 600 1200 
008 7-895 10 10 100 
3FN 
 Considerando ainda a nossa tabela Venda, veremos que a mesma não está na terceira forma 
normal, pois o subtotal é o resultado da multiplicação Quant X Valor_unit, desta forma a coluna 
subtotal depende de outras colunas não-chave. Para normalizar esta tabela na terceira forma 
normal teremos de eliminar a coluna subtotal, como no exemplo a seguir: 
3FN 
N_Pedido Cod-
Produto 
Quant. Valor_Unit Subtotal 
005 4-567 1 3600 3600 
006 7-845 5 1500 7500 
007 1-852 2 600 1200 
008 7-895 10 10 100 
N_Pedido Cod-
Produto 
Quant. Valor_Unit 
005 4-567 1 3600 
006 7-845 5 1500 
007 1-852 2 600 
008 7-895 10 10 
 
FIM

Outros materiais