Eu sou novo no dbms. Vi um vídeo de aula sobre dependências funcionais. Mas estou um pouco confuso que se a dependência funcional é uma restrição colocada no banco de dados inteiro ou em um esquema específico?
fonte
Eu sou novo no dbms. Vi um vídeo de aula sobre dependências funcionais. Mas estou um pouco confuso que se a dependência funcional é uma restrição colocada no banco de dados inteiro ou em um esquema específico?
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 .