Em um banco de dados relacional, ocorre uma dependência quando as informações armazenadas na mesma tabela do banco de dados determinam exclusivamente outras informações armazenadas na mesma tabela. Uma dependência de vários valores ocorre quando a presença de uma ou mais linhas em uma tabela implica na presença de uma ou mais outras linhas na mesma tabela. Dito de outra forma, dois atributos (ou colunas) em uma tabela são independentes um do outro, mas ambos dependem de um terceiro atributo.
Dependência funcional vs. dependência multivalorada
Para entender uma dependência de vários valores, é útil revisitar o que é uma dependência funcional. Se um atributo X determina exclusivamente um atributo Y, então Y é funcionalmente dependente de X. Isso é escrito como X -> Y. Por exemplo, na tabela Alunos abaixo, o Student_Name determina o Principal:
Nome do aluno | Maior |
---|---|
Ravi | História da arte |
Beth | Química |
Nome do aluno | Maior | Esporte |
---|---|---|
Ravi | História da arte | Futebol |
Ravi | História da arte | Vôlei |
Ravi | História da arte | tênis |
Beth | Química | tênis |
Beth | Química | Futebol |
Nome do aluno -> -> Maior
Nome do aluno -> -> Esporte
Isso é lido como “Student_Name multidetermines Major” e “Student_Name multidetermines Sport.” Uma dependência de vários valores sempre requer pelo menos três atributos porque consiste em pelo menos dois atributos que são dependentes de um terceiro.
Dependência e normalização multivalorada
Uma tabela com uma dependência de vários valores viola o padrão de normalização da quarta forma normal porque cria redundâncias desnecessárias e pode contribuir para dados inconsistentes. Para trazer isso para 4NF, é necessário dividir essas informações em duas tabelas. A tabela abaixo agora tem uma dependência funcional de Student_Name -> Principal, e nenhuma dependência de vários valores:
Nome do aluno | Maior |
---|---|
Ravi | História da arte |
Ravi | História da arte |
Ravi | História da arte |
Beth | Química |
Beth | Química |
Nome do aluno | Esporte |
---|---|
Ravi | Futebol |
Ravi | Vôlei |
Ravi | tênis |
Beth | tênis |
Beth | Futebol |
-
O que são dependências de banco de dados?
-
Dependência funcional total na normalização do banco de dados
-
Relacionamentos de banco de dados
-
Compreendendo a dependência funcional trivial
-
Determinantes e seu papel em um banco de dados
-
Glossário de termos comuns de banco de dados
-
O que é dependência transitiva em um banco de dados
-
O que é a forma normal de Boyce-Codd (BCNF)?
-
Noções básicas de normalização de banco de dados
-
O que é um banco de dados?
-
Como criar um banco de dados no Excel
-
Introdução aos relacionamentos de banco de dados
-
Como contar os valores da tabela do banco de dados com SQL COUNT
-
Alterar a cor de fundo de uma tabela HTML
-
Dependência funcional em um banco de dados
-
Normalizando seu banco de dados: Primeira forma normal (1FN)
Seus direitos de privacidade
A Lifewire e nossos parceiros terceirizados usam cookies e processam dados pessoais como identificadores exclusivos com base em seu consentimento para armazenar e / ou acessar informações em um dispositivo, exibir anúncios personalizados e para medição de conteúdo, percepção do público e desenvolvimento de produtos. Para alterar ou retirar suas opções de consentimento para Lifewire.com, incluindo seu direito de contestar quando um interesse legítimo é usado, clique abaixo. A qualquer momento, você pode atualizar suas configurações por meio do link “Privacidade da UE” na parte inferior de qualquer página. Essas escolhas serão sinalizadas globalmente para nossos parceiros e não afetarão os dados de navegação. Lista de parceiros (fornecedores)
Nós e nossos parceiros processamos dados para:
Digitalize ativamente as características do dispositivo para identificação. Use dados precisos de geolocalização. Armazene e / ou acesse informações em um dispositivo. Selecione o conteúdo personalizado. Crie um perfil de conteúdo personalizado. Avalie o desempenho do anúncio. Selecione anúncios básicos. Crie um perfil de anúncios personalizados. Selecione anúncios personalizados. Aplique pesquisas de mercado para gerar insights do público. Avalie o desempenho do conteúdo. Desenvolva e aprimore produtos. Lista de parceiros (fornecedores)