Modelagem de Dados – O que são Dependências em Bancos de Dados

Dependências em Bancos de Dados

Artigo complementar do Curso Completo de Modelagem de Dados da Bóson Treinamentos no YouTube.

As dependências, em bancos de dados relacionais, são restrições aplicadas sobre atributos, ou que definem a relação entre dois ou mais atributos em uma tabela. As dependências ocorrem quando uma coluna em uma tabela é determinada por outra coluna, ou seja, quando uma coluna depende de outra para fazer sentido.

Um exemplo clássico seria uma tabela de produtos, com campos como Código do Produto, Preço do Produto e Data de Validade. Para saber o preço de um determinado produto é bem evidente que precisamos saber de que produto se trata e, para tal, usamos o código do produto para identificá-lo. Neste caso, dizemos que o preço do produto depende do código do produto armazenado.

Esta é uma forma de dependência, que chamamos de dependência funcional, mas existem outras, que passaremos a estudar a seguir.

Tipos de Dependências entre Atributos

Os tipos de dependências que podem ocorrer em uma tabela de banco de dados são os seguintes:

  • Dependência Funcional
  • Dependência Funcional Total
  • Dependência Funcional Parcial
  • Dependência Funcional Transitiva
  • Dependência Multivalorada

Vamos explicar cada um deles a partir de agora.

Dependência Funcional

Seja E uma entidade, e X e Y dois atributos quaisquer de E. Dizemos que Y é funcionalmente dependente de X se e somente se cada valor de X tiver associado a ele exatamente um valor de Y.

Simbolicamente:

X → Y

Que lemos como “X determina funcionalmente Y”.

Exemplo

Ex.: Pensando em uma tabela de pedidos; O prazo de entrega de um pedido depende do número do pedido considerado:

Num_Pedido  →  Prazo_Entr_Pedido

O atributo que determina o valor é chamado de Determinante. O outro atributo é chamado de Dependente.

Uma chave primária em uma relação determina funcionalmente todos os outros atributos não-chave na linha.

Dependência Funcional Total

Em uma relação com uma PK composta, um atributo não-chave que dependa dessa PK como um todo, e não somente de parte dela, é dito como possuindo Dependência Funcional Total.

Exemplo

Veja o exemplo a seguir:

Dependência Funcional Total em Bancos de Dados

Aqui, Quant_produto depende tanto de Num_Pedido quanto de Cod_Produto, ao mesmo tempo.

Obs.: A dependência funcional total só pode ocorrer em tabela com chave primária composta.

Dependência Funcional Parcial

Uma dependência funcional é parcial quando os atributos não-chave não dependem funcionalmente de toda a PK quando esta for composta.

Ou seja, existe uma dependência funcional, mas somente de uma parte da chave primária.

Exemplo

Dependência funcional parcial em bancos de dados

Campo Nome_Disciplina é dependente de Cod_Disciplina, mas não do ID_Aluno.

Dependência Funcional Transitiva

Este tipo de dependência ocorre quando um campo não-chave não depende diretamente da chave primária da tabela (nem mesmo parcialmente), mas depende de um outro campo não-chave na tabela.

Exemplo

Dependência Funcional Transitiva

No exemplo, o atributo Nome_Vendedor depende funcionalmente do Cód_Vendedor, que não é chave primária na tabela. Já o campo Prazo_Entrega depende da PK, Num_Pedido

Dependência Multivalorada

Ocorre quando, para cada valor de um atributo A, existe um conjunto de valores para outros atributos B e C que estão associados a ele, mas que são independentes entre si.

Representamos a dependência multivalorada assim:

A —>> B

Onde B é a coluna que depende da coluna A.

Exemplo

Dependência Multivalorada em Bancos de Dados

Neste exemplo, os atributos Ano e Cor são independentes entre si e dependem do modelo do carro. Essas duas colunas são dependentes multivaloradas do atributo Modelo.

Conclusão

Entender as dependências é fundamental durante o processo de modelagem de dados, pois, dependendo do tipo de dependência encontrada será necessário tomar determinadas decisões, como eliminar atributos, criar novas tabelas ou mover atributos entre tabelas, o que ficará bem evidente quando estudarmos os processos de Normalização de Bancos de Dados.

Anterior: O que são Restrições de Integridade em Bancos de Dados
Próximo: O que é um Dicionário de Dados

 

Sobre Fábio dos Reis (1192 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

3 Comentários em Modelagem de Dados – O que são Dependências em Bancos de Dados

  1. Margareth Goncalves // 08/07/2020 em 16:41 // Responder

    Ola Fabio

    Por favor, Fabio gostaria muito de receber o pdf dos slides do curso de Modelagem de Dados, mesmo que tenha que pagar como consigo?

    Muito obrigada pelas aulas, são muito boas.

  2. Gostaria de parabenizar pela atitude em compartilhar seus conhecimentos e também sugerir uma melhoria no QUIZZES onde seria acrescentar um comentário para todas as questões explicando a razão de tal resposta, pois além de saber quais questões errei é importante saber o “porque”, não basta a solução tem que descobrir a causa. (O aprendizado não se faz somente quando identificamos o erro, mas sim como ele ocorreu). Conteúdos excelentes bem detalhados, muito obrigado.!!!

Escreva um comentário

Seu e-mail não será divulgado


*