Buscar

Aula 9 10 11

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

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

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ê viu 3, do total de 5 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

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

Prévia do material em texto

AULA 9,10 e 11
Introdução - Normalização
A teoria da normalização tem origem na área de projetos de bancos de dados relacionais, e teve como criador o Dr. E. F. Codd.
A teoria continua se desenvolvendo até os dias atuais, quando o modelo relacional se mantém como o padrão da indústria mundial para bancos de dados, mesmo tendo o modelo de objetos crescente aceitação.
A teoria da normalização visa resolver três problemas potenciais no projeto de bancos de dados relacionais [2]:
Repetição da informação: informações repetidas desperdiçam espaço de armazenamento e criam dificuldades na atualização do banco de dados;
Incapacidade de representação de informação; Perda de informação. 
A aplicação da normalização a um modelo de banco de dados relacional é realizada (ao menos teoricamente) em etapas, denominadas formas normais;
A 1ª forma normal (1FN) é o ponto de partida. Posteriormente, são aplicadas as formas normais seguintes até o nível de normalização desejado; O fato de uma relação se encontrar em uma determinada forma normal implica que ela se encontra também em todas as formas normais anteriores. Na prática, as formas normais 1FN, 2FN e 3FN são aplicadas de forma conjunta sobre as relações em um projeto de banco de dados.
1ª Forma Normal (1ª FN) 
Uma tabela encontra-se na 1ª FN se todos os seus atributos estiverem definidos em domínios que contenham apenas valores atômicos, isto é, os domínios devem ser formados por valores elementares e não por conjuntos de valores. 
Vejamos o seguinte exemplo: 
Imaginemos uma tabela destinada a registrar a informação sobre os alunos e as disciplinas em que estes estão matriculados: 
1º caso) ALUNOS (CodAluno, Nome, Morada, Disciplinas) 
Esta tabela não obedece à primeira forma normal (1FN), uma vez que o atributo Disciplinas admite conjuntos de valores. Consideremos a tabela com alguns dados como exemplo: 
Como podemos constatar, o atributo Disciplinas apresenta o conjunto de disciplinas freqüentadas por cada aluno.Poderíamos, no entanto, repetir os valores na tabela para que o atributo Disciplinas apenas contivesse um único valor (2º caso). 
2º caso) ALUNOS (CodAluno, Nome, Morada, Disciplina1, Disciplina2, Disciplina3,...) 
Esta tabela não obedece à primeira forma normal (1FN) porque, embora todos os campos sejam atômicos, existem campos repetidos para a mesma categoria. Consideremos a tabela com alguns dados como exemplo: 
Como podemos constatar os atributos Disciplina1, Disciplina2 e Disciplina3 aparecem como campos repetidos para a mesma categoria. A solução para este problema, ou seja, para a tabela se encontrar na 1ª FN é a apresentada no 3º caso. 
3º caso) ALUNOS (CodAluno, Nome, Morada, Disciplina) 
A tabela ALUNOS agora está na 1FN, pois todos os atributos contêm apenas valores elementares. Apresenta, no entanto, grande redundância de informação, que se reflete na repetição dos identificadores dos nomes e moradas dos alunos. Para além desse inconveniente, podem apontar-se ainda os seguintes: 
Problemas de atualização - se a morada de um aluno for alterada, essa alteração tem de ser feita em várias linhas da tabela, sob o risco de gerar incoerências na Base de Dados, isto é, numa determinada linha o aluno poderá aparecer uma morada e noutra linha outra; 
Problemas de inserção – com a tabela estruturada desta maneira torna-se impossível registrar um aluno que não esteja matriculado a nenhuma disciplina, mas que se encontra a fazer apenas exames, sem o atributo DISCIPLINA fique com valor nulo não obedecendo à regra de integridade de entidade; 
Problemas de eliminação - porque para anular a matrícula de um aluno implica ter de eliminar várias linhas da tabela, e mesmo perder a informação do aluno, tal como NÚMERO, NOME e MORADA.
2ª Forma normal (2ª FN) 
Dependência funcional 
Dependência funcional é o relacionamento que existe entre os atributos. Determina uma restrição entre dois conjuntos de atributos de um BDRelacional. Denotado pelo símbolo , onde X  Y significa que o atributo X determinafuncionalmente o atributo Y ou ainda, o atributo Y é dependente funcionaldo atributo X.
Um atributo ou conjunto de atributos é determinante de outros atributos quando os identifica de modo unívoco. 
Os atributos identificados de modo unívoco por um outro atributo, ou conjunto de atributos, são funcionalmente dependentes deste último. 
Considerando a seguinte entidade: 
ALUNOS (CodAluno, Nome, Morada, CodDisciplina, Disciplina) 
Temos que: 
- Nome e Morada são dependentes de CodAluno 
- Disciplina é dependente de CodDisciplina 
Exemplos:
CPF NOME_FUNCIONARIO
CPF determina funcionalmente NOME_FUNCIONARIO;
NOME_FUNCIONARIO é dependente funcional de CPF
 Informalmente: Conhecido o valor de um CPF eu consigo determinar qual o NOME_FUNCIONARIO (único) com o qual este CPF está relacionado.
Uma tabela encontra-se na 2ª FN se: 
• estiver na primeira forma normal (1FN); 
• todos os atributos que não pertencem à chave dependem da chave através de uma dependência funcional elementar, isto é, dependem da totalidade da chave e não de um dos seus atributos ou subconjuntos isoladamente. 
Esta condição evidentemente só se aplica no caso da chave ser composta por mais de um atributo. Caso a chave seja constituída por um único atributo, chave simples, a condição imposta é que os restantes atributos dependam funcionalmente da chave. 
3ª Forma normal (3ª FN) 
A 3a Forma Normal prega o conceito de dependência transitiva. Uma dependência funcional X Y em uma tabela T é uma dependência transitiva se existir um conjunto de atributos Z que não é um subconjunto de chaves de T e as dependências X Z, Z Y, são válidas. Considere a seguinte tabela como exemplo:
	Empregado
	RG
	Nome
	No_Departamento
	Nome_Depto
	RG_Ger_Depto
onde temos a seguinte dependência transitiva:
RG { Nome_Depto, RG_Ger_Depto }
RG No_Departamento
No_Departamento { Nome_Depto, RG_Ger_Depto }
Porém, verifique o caso da tabela abaixo:
	Empregado
	RG
	CIC
	Nome
	No_Funcional
Neste caso, a dependência transitiva:
RG { Nome, No_Funcional }
RG CIC
CIC { Nome, No_Funcional }
não é valida pois o atributo CIC é uma chave candidata.
Uma tabela está na 3a Forma Normal se estiver na 2a Forma Normal e não houver dependência transitiva entre atributos não chave.

Materiais relacionados

Perguntas relacionadas

Materiais recentes

48 pág.
70 pág.
BANCO DE DADOS - BRADESCO

Escola Colegio Estadual Barao Do Rio Branco

User badge image

mak191@gmail.com

Perguntas Recentes