Respostas:
Uma dependência funcional é exatamente o que o termo implica - a saída da função é sempre determinada pela entrada. Se, por exemplo, tivermos uma função f () e fornecermos a variável x , e sempre recebermos a saída y , então y será funcionalmente dependente de x. Você pode pensar nisso como uma função gráfica simples.
2x + 1 = y
Conectando alguns valores de amostra à função que obtemos:
X Y
------
1 3
2 5
3 7
e assim por diante. Assim, sabemos que, para todo valor de x, existe um valor de y que sempre será esse valor de y para esse x.
O Codd adaptou isso ao gerenciamento de dados no que diz respeito a determinar se o valor de um elemento de dados sempre resulta em um valor conhecido de um segundo elemento de dados como se fosse a entrada e a saída de uma função. Por exemplo, se descobrimos que cada funcionário de uma pequena empresa recebe um número de funcionário e criamos uma lista simples de números e nomes de funcionários, descobrimos que o nome depende funcionalmente desse número de funcionário. Toda vez que vemos o funcionário número 7, por exemplo, vemos o nome "Jim Brown". Isso representa no banco de dados a proposição que é verdadeira no mundo real - ou seja, o funcionário número 7 é a pessoa chamada "Jim Brown", para a qual podemos apontar e dizer "esse é ele".
A dependência funcional pode ser implementada como uma restrição exclusiva, porque existe um relacionamento individual entre a entrada na função e a saída esperada. No exemplo de álgebra, quando inserimos 2 na equação 2x + 1, sempre obtemos 5. Aplicando esse exemplo ao gerenciamento de dados no exemplo acima, cada vez que temos o funcionário número 7, precisamos ter um e apenas um nome e outras características que o acompanham. Não podemos ter o funcionário número 7 associado a "Jim Brown" e "Bob Jones" mais do que poderíamos dizer que conectar 7 em 2x + 1 pode render 15 e 25.
Dependências funcionais são implementadas por definição quando uma restrição exclusiva é colocada em cada tabela, identificando cada conjunto de elementos de dados que têm um relacionamento de um para um com outro conjunto de elementos de dados e cujos valores sempre variam com o primeiro conjunto. A notação é tipicamente:
A,B ---> C
Isso significa que o valor de A e B determina o valor de C. Talvez A seja o número do funcionário e B seja o número dependente e C seja o nome do dependente. Portanto, nesse sentido, eles se aplicam a todas as tabelas de todos os esquemas de todos os bancos de dados.
Algumas boas referências sobre a teoria relacional são a Practical Database Foundation Series de Fabian Pascal e o livro de Chris Date, Relational Theory for Computer Professionals .