(35 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Forma Normal Boyce Codd (FNBC) =
<br>
'''''Toda relação FNBC está necessariamente na 3FN (para estar na 3FN a relação não pode ter dependência funcional transitiva). Uma relação está na FNBC se para toda
'''''dependência funcional de X em Z (dF X ->Z), X é super-chave.'''''
= Dependência Funcional Parcial =
= Dependência Funcional Parcial =
<br>
<br>
Linha 12: Linha 7:


* Exemplos
* Exemplos
[[Arquivo: novatab.JPG]]
Reparem que CPF determina nome_engenheiro.
n_projeto determina nome_projeto e local_projeto.
A combinação de CPF e n_projeto determina horas.
'''Ou seja, a dependência não é total da chave primária inteira.'''
''''' Resolvendo o problema da Dependência Parcial:'''''
'''''Podemos resolver este problema separando os campos e criando novas tabelas, logo após relendo cada campo não-chave e questionando:'''''
*''Este campo depende de toda a chave?''
'''Se a resposta for sim, eliminamos a dependência parcial.'''


[[Arquivo:parciais.JPG]]
[[Arquivo:parciais.JPG]]
'''No exemplo acima, a classe Engenheiro usa apenas a chave CPF, e a classe Projeto apenas a chave n_projeto.'''
'''Agora temos que todos os campos não-chaves são integralmente dependentes das chaves de suas respectivas classes'''


= Forma Normal Boyce Codd (FNBC) =
<br>
'''''Toda relação FNBC está necessariamente na 3FN (para estar na 3FN a relação não pode ter dependência funcional transitiva). Uma relação está na FNBC se para toda'''
'''''dependência funcional de X em Z (dF X ->Z), X é super-chave.''
'''''
Aplica-se a FNBC quando:
*Encontramos duas ou mais chaves candidatas
*As chaves candidatas são compostas (apresentam mais de um atributo)
*Todas as chaves candidatas têm um atributo em comum




Linha 51: Linha 76:


* Procedimento
* Procedimento
[[Arquivo:ESOF.3.jpg]]
* Desenho em tabelas
* Desenho em tabelas
[[Arquivo:TAB3.jpg]]
<br>
= Exemplo =
<br>
* [[Arquivo:UML - Normalização - Exemplo FNBC.pdf]]
<br>
<br>



Edição atual tal como às 09h55min de 1 de agosto de 2013

Dependência Funcional Parcial


  • O que é Dependência Funcional Parcial?

É quando a dependência não é total da chave primária inteira, alguns campos dependem de uma parte e outros campos dependem da outra parte da chave, isso se denomina dependência funcional parcial.

  • Exemplos

Reparem que CPF determina nome_engenheiro. n_projeto determina nome_projeto e local_projeto. A combinação de CPF e n_projeto determina horas.

Ou seja, a dependência não é total da chave primária inteira.

 Resolvendo o problema da Dependência Parcial:

Podemos resolver este problema separando os campos e criando novas tabelas, logo após relendo cada campo não-chave e questionando:

  • Este campo depende de toda a chave?

Se a resposta for sim, eliminamos a dependência parcial.

Agora temos que todos os campos não-chaves são integralmente dependentes das chaves de suas respectivas classes


Forma Normal Boyce Codd (FNBC)


Toda relação FNBC está necessariamente na 3FN (para estar na 3FN a relação não pode ter dependência funcional transitiva). Uma relação está na FNBC se para toda dependência funcional de X em Z (dF X ->Z), X é super-chave.


Aplica-se a FNBC quando:

  • Encontramos duas ou mais chaves candidatas
  • As chaves candidatas são compostas (apresentam mais de um atributo)
  • Todas as chaves candidatas têm um atributo em comum



Exemplo 1 de FNBC


  • Procedimento

  • Desenho em tabelas


Exemplo 2 de FNBC


CONTROLE DE EMPRÉSTIMOS DE UMA AGÊNCIA BANCÁRIA OU CORRETORA DE EMPRÉSTIMOS



Exemplo 3 de FNBC


  • Procedimento

  • Desenho em tabelas


Exemplo



Referências