Dependência Multivalorada em Bancos de Dados

Índice:

Dependência Multivalorada em Bancos de Dados
Dependência Multivalorada em Bancos de Dados
Anonim

Em um banco de dados relacional, uma dependência ocorre quando as informações armazenadas na mesma tabela de banco de dados determinam exclusivamente outras informações armazenadas na mesma tabela. Uma dependência multivalorada ocorre quando a presença de uma ou mais linhas em uma tabela implica a 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.

Image
Image

Uma dependência multivalorada impede o padrão de normalização da 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 multivalorada, é ú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 Major:

Nome_Aluno Maior
Ravi História da Arte
Beth Química

Esta dependência funcional pode ser escrita: Student_Name -> Major. Cada Student_Name determina exatamente um Major e nada mais.

Se você quiser que o banco de dados também rastreie os esportes que esses alunos praticam, você pode pensar que a maneira mais fácil de fazer isso é adicionar outra coluna intitulada Esporte:

Nome_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

O problema aqui é que tanto Ravi quanto Beth praticam vários esportes. É necessário adicionar uma nova linha para cada esporte adicional.

Esta tabela introduziu uma dependência multivalorada porque o curso 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:

Student_Name ->-> Major

Student_Name ->- > Esporte

Isto é lido como "Student_Name multidetermina Major" e "Student_Name multidetermina Sport."

Uma dependência multivalorada 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 Multivalorados

Uma tabela com uma dependência multivalorada 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 a 4NF, é necessário dividir esta informação em duas tabelas.

A tabela abaixo agora tem uma dependência funcional de Student_Name -> Major, e nenhuma dependência multivalorada:

Nome_Aluno Maior
Ravi História da Arte
Ravi História da Arte
Ravi História da Arte
Beth Química
Beth Química

Embora esta tabela também tenha uma única dependência funcional de Student_Name -> Sport:

Nome_Aluno Esporte
Ravi Futebol
Ravi Vôlei
Ravi Tênis
Beth Tênis
Beth Futebol

A normalização geralmente é realizada simplificando tabelas complexas para que elas 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.

Recomendado: