Академический Документы
Профессиональный Документы
Культура Документы
BANCO DE DADOS
NORMALIZAÇÃO
UNINOVE
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO
NORMALIZAÇÃO
OBJETIVOS PRINCIPAIS
• Chaves
• Dependência Funcional (DF)
• Trivialidade
• Transitividade
• D F Irredutível à Esquerda
• Dependência Multivalorada
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO
CHAVES
CHAVES
CHAVES
CHAVES
TRIVIALIDADE
A dependência funcional trivial indica que um
determinante com mais de um atributo pode determinar
seus próprios membros quando isolados.
{banco,agencia} banco
{banco,agencia} agencia
A dependência funcional não trivial * indica que um
determinante identifica outro atributo qualquer.
{banco,agencia} cidade
(cidade não faz parte do determinante)
* Esta DF é a que nos interessa no processo de normalização.
TRANSITIVIDADE
Se um atributo X determina Y e se Y determina Z,
Podemos dizer que X determina Z de forma transitiva,
Isto é, existe uma dependência funcional transitiva
X para Z.
cidade estado
estado país
cidade país
(cidade determina país de forma transitiva)
D F IRREDUTÍVEL À ESQUERDA
O lado esquerdo de uma dependência funcional é
irredutível à esquerda quando o determinante está na
sua forma mínima, não é possível reduzir a quantidade
de atributos determinantes sem perder a dependência
funcional.
{cidade,estado} país (Não está na forma irredutível à esquerda*)
* podemos ter somente o estado como determinante
DEPENDÊNCIA MULTIVALORADA
O valor de um atributo determina um conjunto de valores
de um outro atributo.
{CPF} {nome} (um nome para cada CPF)
{CPF} {dependente} (vários dependentes para
cada CPF)
Uma dependência multivalorada é representada por:
X Y (X multidetermina Y ou Y é multidependente de X)
PARTE 1 – EXERCÍCIOS:
1. Uma escola deseja cadastrar os alunos (idade de 7 a 12 anos).
Tomando como base o seguinte conjunto {codigo,CPF,RG},
qual atributo você escolheria como Chave Primária? Por que?
5. Como seriam chamadas as outras chaves que NÃO foram
definidas como chave primária?
ProjFunc Projeto
CodProj CodFunc NomeFunc CargoFunc SalFunc DtInicio CodProj DescProj
11 1001 Antonio Analista Sr 1800 02/01/2005 11 Alfa
11 1004 Daniela Analista Pl 1200 05/01/2005 12 Beta
12 1003 Claudio Analista Sr 1800 10/02/2005
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO
ProjFunc
CodProj CodFunc NomeFunc CargoFunc SalFunc DtInicio
11 1001 Antonio Analista Sr 1800 02/01/2005
11 1004 Daniela Analista Pl 1200 05/01/2005
12 1003 Claudio Analista Sr 1800 10/02/2005
Aluno(NomeAluno,EndAluno,NomeEscola,NrSala)
Professor(NomeEscola,NrSala,NomeProf)
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO
Aplicando a FNBC: A tabela Emprestimo será dividida em duas tabelas: uma que
contém todos os atributos que descrevem o Emprestimo e outra que contém os
atributos do Devedor (ou cliente_emprestimo).
Emprestimo Devedor
CodAge NrEmp Valor CodAge NrEmp
A1 E1 1000.00 C2 E1
A1 E2 2000.00 C2 E2
A2 E3 1500.00 C1 E3
C3 E3
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO