Escolar Documentos
Profissional Documentos
Cultura Documentos
3
Semântica dos atributos
Emp_Dept
SSN EName Bdate Address DNumber DName DMgrSSN
Emp_Proj
SSN PNumber Hours EName PName PLocation
5
Semântica
dos atributos
da relação
6
B. Espaço e Anomalias de Atualização
7
Minimizar espaço
8
Anomalias de Atualização
§ Outro problema: anomalias de atualização
§ Anomalia de Inserção
§ Consistência nos dados do departamento
§ Inserção de departamento sem empregados
§ Inserção de empregados sem departamento
Opção 1
Opção 2
9
Anomalias de Atualização
§ Anomalia de Remoção
§ Remover o último empregado de um
departmento, remove os dados do depto
§ Anomalia de Modificação
§ Modificar um atributo do depto obriga a
atualização de todos os empregados
Opção 1
10
Informação redundante em tuplas e
Anomalias de atualização
§ Regra 2: Projetar os esquema de relação
tal que nenhuma anomalia de inserção,
remoção, ou modifição esteja presente
nas relações.
12
D. Geração de Tuplas espúrias
13
Geração de Tuplas espúrias
14
Geração de Tuplas espúrias
*
*
*
*
*
*
*
Figura 10.6 Resultado da aplicação de NATURAL JOIN nas tuplas acima da linha
pontilhada de EMP_PROJ1 e EMP_LOCS da Figura 10.5. As tuplas
ilegítimas geradas estão marcadas com asteriscos. 15
Geração de Tuplas espúrias
16
Formas Normais
17
Primeira Forma Normal (1FN)
§ Primeira Forma Normal (1FN):
Um esquema de relação R está na 1FN se todos os
seus atributos forem atômicos.
= simples e monovalorados
§ Contra-exemplo: atributo composto
PEDIDO (NUMERO_PEDIDO, DATA_PEDIDO,
NUMERO_CLIENTE, NOME_CLIENTE, ENDERECO_CLIENTE,
(NUMERO_PRODUTO, NOME_PRODUTO, QTDE_PEDIDA,
PRECO_PRODUTO, TOTAL_PRODUTO), TOTAL_PEDIDO)
18
Primeira Forma Normal (1FN)
§ Primeira Forma Normal (1FN):
Um esquema de relação R está na 1FN se todos os
seus atributos forem atômicos.
= simples e monovalorados
§ Contra-exemplo: atributo multivalorado
Department
Dnumber Dname DMgrSSN Dlocation
5 Research 33344555 {Bellaire, Sugarland,
5 Houston}
4 Administration 98765432 {Stafford}
1
1 Headquarters 88866655 {Houston}
5
19
1FN
PEDIDO (NUMERO_PEDIDO, DATA_PEDIDO,
NUMERO_CLIENTE, NOME_CLIENTE, ENDERECO_CLIENTE,
(NUMERO_PRODUTO, NOME_PRODUTO, QTDE_PEDIDA,
PRECO_PRODUTO, TOTAL_PRODUTO), TOTAL_PEDIDO)
20
Dependências Funcionais
§ Processo de normalização:
1FN 2FN 3FN
21
Dependências Funcionais
§ Definição informal
§ Dados os atributos “A” e “B” de uma entidade, diz-se
que “B” é funcionalmente dependente de “A” se e
somente se, a cada valor de “A” está associado um
único valor de “B”
§ Em outras palavras
§ Se conhecermos o valor de “A” então podemos
encontrar o valor de “B” associado a ele
22
Dependências Funcionais
A B
Se duas tuplas
em R concordam
nos atributos A1, t
A2, .., AN (i.e. as
tuplas têm os
mesmos valores),
então eles
devem concordar
u
em um outro Se t e u Então eles
atributo, B concordam devem concordar
aqui aqui
§ Exemplos:
EMP-DEPT(ENAME,SSN,BDATE,ADDRESS,DNUMBER,DNAME,DMGSSN)
SSN à {ENAME,BDATE,ADDRESS,DNUMBER}
DNUMBER à {DNAME,DMGSSN}
Atenção: Não confundir a notação X à Y com a notação R1[X] à R2[Y]
que denota a RIR entre os esquemas de relação R1 e R2.
24
Dependências Funcionais
§ Se X é uma chave candidata
§ Isso implica que X à Y para qualquer subconjunto
de atributos Y de R
§ Deve ser definida explicitamente no processo
de projeto e normalização
§ Devem refletir a semântica dos atributos
§ {Orgão Emissor, Identidade} à CPF
§ CEP à Rua
§ Professor à Curso
25
Dependências Funcionais
26
Segunda Forma Normal (2FN)
§ Um esquema de relação R está na 2FN se todo
atributo de R não pertencente a uma de suas
chaves for totalmente dependente da chave
primária.
§ O esquema de relação
EMP-PROJ(SSN,PNUMBER,HOURS,ENAME,PNAME,PLOCATION)
27
2FN
Emp_Proj
SSN PNumber Hours EName PName PLocation
28
2FN, outro exemplo
PEDIDO (NUMERO_PEDIDO, DATA_PEDIDO,
NUMERO_CLIENTE, NOME_CLIENTE,
ENDERECO_CLIENTE, TOTAL_PEDIDO)
PRODUTO_PEDIDO (NUMERO_PEDIDO,
NUMERO_PRODUTO, NOME_PRODUTO, QTDE_PEDIDA,
PRECO_PRODUTO, TOTAL_PRODUTO)
29
2FN, outro exemplo
§ PEDIDO (NUMERO_PEDIDO, DATA_PEDIDO, NUMERO_CLIENTE,
NOME_CLIENTE, ENDERECO_CLIENTE, TOTAL_PEDIDO)
§ PRODUTO_PEDIDO (NUMERO_PEDIDO, NUMERO_PRODUTO,
NOME_PRODUTO, QTDE_PEDIDA, PRECO_PRODUTO,
TOTAL_PRODUTO)
31
Terceira Forma Normal (3FN)
§ Um esquema de relação R está na 3FN se
estiver na 2FN e nenhum atributo não-chave
de R for transitivamente dependente da
chave primária
§ Uma dependência X à Y é transitiva se
existe um conjunto de atributos não-chave Z
para o qual ambas as dependências existem:
XàZeZàY
32
3FN
§ O esquema de relação
EMP-DEPT(ENAME, SSN, BDATE, ADDRESS, DNUMBER, DNAME,
DMGRSSN)
33
3FN
Emp_Dept
SSN EName Bdate Address DNumber DName DMgrSSN
ED1 ED2
SSN EName Bdate Address DNumber DNumber DName DMgrSSN
34
3FN, outro exemplo
§ PEDIDO (NUMERO_PEDIDO, DATA_PEDIDO, NUMERO_CLIENTE,
NOME_CLIENTE, ENDERECO_CLIENTE, TOTAL_PEDIDO)
§ PRODUTO_PEDIDO (NUMERO_PEDIDO, NUMERO_PRODUTO,
QTDE_PEDIDA, TOTAL_PRODUTO)
§ PRODUTO (NUMERO_PRODUTO, NOME_PRODUTO,
PRECO_PRODUTO)
35
3FN, outro exemplo
§ PEDIDO (NUMERO_PEDIDO, DATA_PEDIDO, NUMERO_CLIENTE,
NOME_CLIENTE, ENDERECO_CLIENTE, TOTAL_PEDIDO)
§ PRODUTO_PEDIDO (NUMERO_PEDIDO, NUMERO_PRODUTO,
QTDE_PEDIDA, TOTAL_PRODUTO)
§ PRODUTO (NUMERO_PRODUTO, NOME_PRODUTO,
PRECO_PRODUTO)
36
PEDIDO (NUMERO_PEDIDO, NUMERO_CLIENTE,
DATA_PEDIDO, TOTAL_PEDIDO)
3FN CLIENTE (NUMERO_CLIENTE, NOME_CLIENTE,
ENDERECO_CLIENTE)
PRODUTO_PEDIDO (NUMERO_PEDIDO,
NUMERO_PRODUTO, QTDE_PEDIDA,
TOTAL_PRODUTO)
PRODUTO (NUMERO_PRODUTO, NOME_PRODUTO,
PRECO_PRODUTO)
37
Revisão
Forma Diagnóstico Remédio (normalização)
Normal
1FN Relação não tem atributos Definir novas relações para cada
compostos nem multivalorados atributo composto ou
multivalorado
2FN Para relações onde chave primária Decompor e definir uma nova
contém múltiplos atributos, relação para cada chave parcial
nenhum atributo não-chave deve com seus atributos dependentes.
ser dependente funcionalmente Mantenha a relação original com
de uma parte da chave primária a sua chave e seus atributos
funcionalmente dependentes
3FN Relação não pode ter um atributo Decompor e definir uma relação
não-chave determinado que inclua os atributos não-chave
funcionalmente por outro atributo que determinam funcionalmente
não-chave. Não tem dependência os outros atributos não-chave.
transitiva de um atributo não
chave.
38