Por que o padrão SQL não fornece uma maneira de especificar que não sejam super-chaves DFs?

votos
3

Parece-me que há outras dependências funcionais que você pode querer declarar (exceto super-chaves, é claro), mas SQL fornece nenhuma maneira fácil de fazê-lo. Por que é isso?

Publicado 10/12/2008 em 03:53
fonte usuário
Em outras línguas...                            


1 respostas

votos
3

Eu não sei em primeira mão a resposta para o "porquê" da comissão SQL projetado-lo da maneira que eles fizeram, mas eu diria que os designers de SQL queria apenas uma chave primária em uma tabela normal. Todas as outras colunas em um projeto de banco de dados 3NF são funcionalmente dependente dessa chave, e essa chave sozinho.

Você pode derivar chaves das dependências funcionais, e da mesma forma que você pode derivar dependências funcionais dos super-chaves. Mas só se eles foram declarados corretamente, de uma forma logicamente simétrica.

Se você poderia declarar ambas as chaves e FD do, então haveria uma possibilidade de declarar uma tabela em conflito lógico consigo mesmo, o que quebraria normalização.

É melhor que a linguagem fornece apenas um mecanismo, a fim de evitar declarações ambíguas.

Respondeu 10/12/2008 em 04:27
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more