(66 revisões intermediárias por 5 usuários não estão sendo mostradas)
Linha 8: Linha 8:
* 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]]
'''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 20: Linha 50:


* Procedimento
* Procedimento
[[Arquivo:Ex1.jpg]]
[[Arquivo:Ex2.jpg]]
* Desenho em tabelas
* Desenho em tabelas
[[Arquivo:Ex3.jpg]]
<br>
<br>


= Exemplo 2 de FNBC  =
= Exemplo 2 de FNBC  =
<br>
<br>
'''CONTROLE DE EMPRÉSTIMOS DE UMA AGÊNCIA BANCÁRIA OU CORRETORA DE EMPRÉSTIMOS'''
[[Arquivo:Esof1.JPEG]]
[[Arquivo:Esof2.JPEG]]


* Procedimento
* Desenho em tabelas
<br>
<br>


Linha 34: 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>


= Referências =
= Referências =
<br>
<br>
 
* Prioritariamente livros e artigos
* http://www.estgv.ipv.pt/paginaspessoais/ajas/AS/Apontamentos%20Te%C3%B3ricos/as_2_4.pdf
* Notação ABNT
* http://brunomarota.blogspot.com.br/2012/06/banco-de-dados-para-concursos.html
* https://aquila4.iseg.utl.pt/aquila/getFile.do?fileId=19012&method=getFile
* http://www.mat.uc.pt/~pedro/lectivos/BasesDados/apontamentosTeoricos261a284.pdf

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