(73 revisões intermediárias por 5 usuários não estão sendo mostradas)
Linha 8: Linha 8:
* Exemplos
* Exemplos


[[Arquivo:TabelaJPEG.jpeg]]
[[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'''




<br>


= Exemplo 1 de FNBC =
= Forma Normal Boyce Codd (FNBC) =
<br>
<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.''
'''''


* Procedimento


Abaixo uma relação da 3FN que não está na FNBC:
Aplica-se a FNBC quando:


Aula ('''aluno, disciplina''', professor)
*Encontramos duas ou mais chaves candidatas


ALUNO      DISCIPLINA  PROFESSOR
*As chaves candidatas são compostas (apresentam mais de um atributo)
Carlos      Inglês      Joana
Carlos      Física      Antônio
Adriana      Inglês      Joana
Adriana    Português    Marta
Rafael      Português    Manoel


'''1FN''' - Não possui atributo atômico
*Todas as chaves candidatas têm um atributo em comum


'''2FN''' - Não possui dependência funcional parcial. Aluno e disciplina determinam professor. A dependencia funcional não é parcial


'''3FN''' - Não possui dependência funcional transitiva. Professor é o único atributo não-primo (que não é membro de uma chave primária) e ele não determina nenhum outro atributo não-primo. A dependência transitiva aconetce quando um atributo não-primo determina outro-não primo.
<br>


O problema dessa relação é que professor determina a disciplina e professor não é uma super-chave (Com professor não conseguimos diferenciar as tuplas unicamente).
= Exemplo 1 de FNBC =
<br>


Se Carlos sair da aula de Física e seu registro for excluído, não teremos como saber que Antônio também dá aula de Física.
* Procedimento


Para resolver o problema podemos criar duas tabelas:
[[Arquivo:Ex1.jpg]]


T1 ('''aluno, professor''') e T2 ('''professor''', disciplina)
[[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 61: 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