Você está na página 1de 12

Banco de

Dados I
Solimar G. Gonçalves

Dependência Funcional
Normalização de Bancos de Dados

DEPENDÊNCIA FUNCIONAL
Normalização de Bancos de Dados
• DEPENDÊNCIA FUNCIONAL

Seja E uma entidade e X e Y dois atributos quaisquer de E. Dizemos que Y é


funcionalmente dependente de X se, e somente se, cada valor de X tiver
associado a ele exatamente um valor de Y.

Simbolicamente:

X→Y
Lemos: “X determina funcionalmente Y”.
Normalização de Bancos de Dados
• DEPENDÊNCIA FUNCIONAL
Exemplo: uma tabela de clientes onde o código (ID) determina o nome do
cliente.

Note que cada valor único no atributo "ID" está diretamente associado a um único
valor no atributo "Nome". Essa é uma dependência funcional simples, pois um
atributo determina diretamente o outro atributo.

OBS.: ID → Nome, mas Nome → ID.


Normalização de Bancos de Dados
• TIPOS DE DEPENDÊNCIAS

Os tipos de dependências que podem ocorrer em uma tabela de banco de


dados são os seguintes:

● Dependência Funcional Total


● Dependência Funcional Parcial
● Dependência Funcional Transitiva
● Dependência Multivalorada
Normalização de Bancos de Dados
• DEPENDÊNCIA FUNCIONAL TOTAL
Em uma relação com uma PK composta, um atributo não-chave que
dependa dessa PK como um todo, e não somente de parte dela, é dito como
possuindo Dependência Funcional Total.

No exemplo, Quant_produto depende tanto


de Num_Pedido quanto de Cod_Produto,
ao mesmo tempo.

OBS.: Sempre que uma tabela possuir chave primária simples considera-se
que existe uma dependência funcional total .
Normalização de Bancos de Dados
• DEPENDÊNCIA FUNCIONAL PARCIAL
Uma dependência funcional é parcial quando os atributos não-chave não
dependem funcionalmente de toda a PK, quando esta for composta.

Ou seja, existe uma dependência funcional, mas somente de uma parte da


chave primária.

Campo Nome_Disciplina é dependente de


Cod_Disciplina, mas não do ID_Aluno.
Normalização de Bancos de Dados
• DEPENDÊNCIA FUNCIONAL TRANSITIVA
Este tipo de dependência ocorre quando um campo não-chave não depende
diretamente da chave primária da tabela (nem mesmo parcialmente), mas
depende de um outro campo não-chave na tabela.

No exemplo, o atributo Nome_Vendedor


depende funcionalmente do Cod_Vendedor,
que não é chave primária na tabela. Já o
campo Cod_Vendedor depende da PK,
Num_Pedido.
Normalização de Bancos de Dados
• DEPENDÊNCIA FUNCIONAL MULTIVALORADA

Ocorre quando, para cada valor de um atributo A, existe um conjunto de


valores para outros atributos B e C que estão associados a ele, mas que são
independentes entre si.

Simbolicamente:

A —>> B
Onde B é a coluna que depende da coluna A.
Normalização de Bancos de Dados
• DEPENDÊNCIA FUNCIONAL MULTIVALORADA
Exemplo:

Neste exemplo, os atributos Ano e Cor são


independentes entre si e dependem do
Modelo do carro. Essas duas colunas são
dependentes multivaloradas do atributo
Modelo.
Normalização de Bancos de Dados
• TIPOS DE DEPENDÊNCIAS
Normalização de Bancos de Dados
• TIPOS DE DEPENDÊNCIAS

Você também pode gostar