Dependências Funcionais
Uma dependência funcional é uma restrição que afirma que os valores de um conjunto de atributos determinam unicamente os valores de outro; as dependências funcionais são a entrada semântica que impulsiona a descoberta de chaves e a normalização.
Definition
Uma dependência funcional X → Y em um esquema de relação é válida se, em cada instância legal, quaisquer duas tuplas que concordam em todos os atributos em X também concordam em todos os atributos em Y; ou seja, X determina funcionalmente Y.
Scope
Este tópico aborda as dependências funcionais (DFs) e sua teoria formal: a definição de X → Y, dependências triviais e não triviais, os axiomas de Armstrong (reflexividade, aumento, transitividade) e sua correção e completude, o fecho de um conjunto de atributos e de um conjunto de DFs, coberturas canônicas (mínimas) e o uso de DFs para calcular chaves candidatas. Exclui dependências multivaloradas e de junção e as formas normais que são testadas usando DFs, que são tratadas em tópicos adjacentes.
Core questions
- O que significa para um conjunto de atributos determinar funcionalmente outro?
- Quais regras de inferência (axiomas de Armstrong) são corretas e completas para DFs?
- Como o fecho de um conjunto de atributos é calculado e para que é usado?
- Como as chaves candidatas são derivadas de um conjunto de dependências funcionais?
- O que é uma cobertura mínima (canônica) e por que é útil?
Key concepts
- dependência funcional X → Y
- dependência trivial versus não trivial
- axiomas de Armstrong
- fecho de conjunto de atributos
- fecho de um conjunto de DFs
- chaves candidatas e superchaves
- cobertura mínima (canônica)
- correção e completude
Key theories
- Dependência funcional
- X → Y restringe uma relação de modo que os valores de X determinam os valores de Y; as DFs formalizam as regras do mundo real (como uma chave que determina todos os outros atributos) que um esquema deve impor.
- Axiomas de Armstrong
- Reflexividade, aumento e transitividade formam um sistema de inferência correto e completo para dependências funcionais, de modo que todas e apenas as dependências logicamente implicadas podem ser derivadas de um dado conjunto.
- Fecho de atributo e cobertura mínima
- O fecho de um conjunto de atributos sob um conjunto de DFs revela quais atributos ele determina (e, portanto, se é uma superchave), e uma cobertura mínima é um conjunto equivalente e não redundante de DFs usado como base para a normalização.
Clinical relevance
As dependências funcionais são a entrada prática para ferramentas de design de esquema e o raciocínio que os projetistas de banco de dados usam para identificar chaves e decidir como dividir tabelas; acertá-las é o que permite que a normalização remova a redundância sem perder informações.
History
As dependências funcionais foram introduzidas por Codd juntamente com o modelo relacional e sua normalização, e W. W. Armstrong apresentou em 1974 o sistema de axiomas que leva seu nome, provando sua correção e completude. Esses resultados tornaram o raciocínio de dependência algorítmico e sustentam toda a teoria de normalização subsequente.
Key figures
- Edgar F. Codd
- William W. Armstrong
Related topics
Seminal works
- codd1972
- armstrong1974
- silberschatz2019
Frequently asked questions
- Como as dependências funcionais são diferentes das chaves?
- Uma chave é um caso especial: uma chave candidata K é um conjunto mínimo de atributos cujo fecho é a relação inteira, ou seja, K determina funcionalmente cada atributo. As dependências funcionais são as restrições mais gerais das quais as chaves são derivadas pelo cálculo dos fechos de atributos.
- Por que calcular uma cobertura mínima?
- Uma cobertura mínima (canônica) é um conjunto equivalente de dependências funcionais sem dependências redundantes ou atributos estranhos. Trabalhar a partir de uma cobertura mínima simplifica a localização de chaves e produz decomposições mais limpas durante a normalização, especialmente ao buscar designs que preservem a dependência.