Skip to content

Dependência multivalorada no design de banco de dados

16 de abril de 2021

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.

Percorrer um banco de dados em busca de doadores que possam ser bons membros do conselho.

stevecoleimages / Vetta / Getty Images
Uma dependência multivalorada impede o padrão de normalização quarta forma normal. Os bancos de dados relacionais seguem cinco formas normais que representam diretrizes para o design de registros. Eles evitam anomalias de atualização e inconsistências nos dados. A quarta forma normal lida com relacionamentos muitos para um em um banco de dados.

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
Alunos
Esta dependência funcional pode ser escrita: Student_Name -> Major. Cada Student_Name determina exatamente um Principal e não mais. Se você deseja que o banco de dados também rastreie os esportes que esses alunos praticam, pode pensar que a maneira mais fácil de fazer isso é adicionar outra coluna intitulada Esporte:

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
Alunos
O problema aqui é que Ravi e Beth praticam vários esportes. É necessário adicionar uma nova linha para cada esporte adicional. Esta tabela introduziu uma dependência multivalorada porque o principal e o esporte são independentes um do outro, mas ambos dependem do aluno. Este é um exemplo simples e facilmente identificável, mas uma dependência de vários valores pode se tornar um problema em um banco de dados grande e complexo. Uma dependência multivalorada é escrita X -> -> Y. Neste caso:

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
Alunos e majores
Embora esta tabela também tenha uma dependência funcional única de Student_Name -> Sport:

Nome do aluno Esporte
Ravi Futebol
Ravi Vôlei
Ravi tênis
Beth tênis
Beth Futebol
Estudantes e esportes
A normalização geralmente é realizada simplificando tabelas complexas para que contenham informações relacionadas a uma única ideia ou tema, em vez de tentar fazer com que uma única tabela contenha muitas informações díspares. Mais da Lifewire

  • Mulher jovem se concentra em seu trabalho na frente do computador

    O que são dependências de banco de dados?

  • Mãos de um web designer usando um tablet digital

    Dependência funcional total na normalização do banco de dados

  • Um gráfico na tela do computador.

    Relacionamentos de banco de dados

  • Servidores em racks de servidores com uma sobreposição de diagrama de rede virtual.

    Compreendendo a dependência funcional trivial

  • Administrador de banco de dados trabalhando na mesa

    Determinantes e seu papel em um banco de dados

  • Renderização digital de código de computador e linhas de conexão que representam um banco de dados

    Glossário de termos comuns de banco de dados

  • Homem usando um laptop

    O que é dependência transitiva em um banco de dados

  • Closeup vista lateral de uma mulher negra loira de meados dos anos 20 fazendo seu projeto de desenvolvimento de software.  Ela está sentada na frente de um computador desktop e tomando um café enquanto trabalha em um computador.

    O que é a forma normal de Boyce-Codd (BCNF)?

  • Fluxograma de banco de dados estilizado

    Noções básicas de normalização de banco de dados

  • 1s e 0s representando um banco de dados

    O que é um banco de dados?

  • Usar a função ROUNDUP no Excel economiza tempo.

    Como criar um banco de dados no Excel

  • Empresários conversando e discutindo dados no laptop em uma reunião na sala de conferências

    Introdução aos relacionamentos de banco de dados

  • Close-up de uma mão humana contando contra um fundo branco

    Como contar os valores da tabela do banco de dados com SQL COUNT

  • HTML de script de computador em laranja e azul com fundo preto

    Alterar a cor de fundo de uma tabela HTML

  • Mulher segurando relatório no escritório, close-up

    Dependência funcional em um banco de dados

  • Homem de negócios usando o computador na sala do servidor virtual

    Normalizando seu banco de dados: Primeira forma normal (1FN)

Lifewire

Siga-nos

  • Facebook

  • Sobre nós
  • Anunciar
  • Política de Privacidade
  • Política de Cookies
  • Carreiras
  • Diretrizes editoriais
  • Contato
  • Termos de uso
  • Privacidade da UE
  • Aviso de privacidade da Califórnia



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)