Dependência funcional em DBMS: o que é, tipos e exemplos

Índice:

Anonim

O que é dependência funcional?

Dependência funcional (FD) é uma restrição que determina a relação de um atributo com outro atributo em um sistema de gerenciamento de banco de dados (DBMS). Dependência funcional ajuda a manter a qualidade dos dados no banco de dados. Ele desempenha um papel vital para encontrar a diferença entre um design de banco de dados bom e ruim.

Uma dependência funcional é denotada por uma seta "→". A dependência funcional de X em Y é representada por X → Y. Vamos entender a Dependência Funcional em DBMS com exemplo.

Exemplo:

Número de funcionário nome do empregado Salário Cidade
1 Dana 50000 São Francisco
2 Francis 38000 Londres
3 Andrew 25000 Tóquio

Neste exemplo, se sabemos o valor do número do funcionário, podemos obter o nome do funcionário, cidade, salário, etc. Com isso, podemos dizer que a cidade, o nome do funcionário e o salário dependem funcionalmente do número do funcionário.

Neste tutorial, você aprenderá:

  • Termos chave
  • Regras de Dependências Funcionais
  • Tipos de dependências funcionais em DBMS
  • Dependência multivalorada em DBMS
  • Dependência funcional trivial no DBMS
  • Dependência funcional não trivial em DBMS
  • Dependência transitiva em DBMS
  • O que é normalização?
  • Vantagens da Dependência Funcional

Termos chave

Aqui estão alguns termos-chave para Dependência Funcional no Banco de Dados:

Termos chave Descrição
Axioma Axiomas é um conjunto de regras de inferência usadas para inferir todas as dependências funcionais em um banco de dados relacional.
Decomposição É uma regra que sugere que se você tiver uma tabela que parece conter duas entidades que são determinadas pela mesma chave primária, você deve considerar dividi-las em duas tabelas diferentes.
Dependente Ele é exibido no lado direito do diagrama de dependência funcional.
Determinante Ele é exibido no lado esquerdo do Diagrama de dependência funcional.
União Isso sugere que, se duas tabelas forem separadas e o PK for o mesmo, você deve considerar colocá-las. juntos

Regras de Dependências Funcionais

Abaixo estão as três regras mais importantes para dependência funcional no banco de dados:

  • Regra reflexiva -. Se X for um conjunto de atributos e Y for_subset_of X, então X terá um valor de Y.
  • Regra de aumento: Quando x -> y é válido, ec é um atributo definido, então ac -> bc também é válido. Isso é adicionar atributos que não alteram as dependências básicas.
  • Regra de transitividade: esta regra é muito semelhante à regra transitiva em álgebra se x -> y for válido ey -> z for válido, então x -> z também for válido. X -> y é chamado como funcionalmente que determina y.

Tipos de dependências funcionais em DBMS

Existem principalmente quatro tipos de Dependência Funcional no SGBD. A seguir estão os tipos de dependências funcionais no DBMS:

  • Dependência multivalorada
  • Dependência funcional trivial
  • Dependência funcional não trivial
  • Dependência transitiva

Dependência multivalorada em DBMS

A dependência de vários valores ocorre na situação em que há vários atributos de vários valores independentes em uma única tabela. Uma dependência de vários valores é uma restrição completa entre dois conjuntos de atributos em uma relação. Requer que certas tuplas estejam presentes em uma relação. Considere o seguinte exemplo de dependência de valor múltiplo para entender.

Exemplo:

Car_model Maf_ano Cor
H001 2017 Metálico
H001 2017 Verde
H005 2018 Metálico
H005 2018 Azul
H010 2015 Metálico
H033 2012 cinza

Neste exemplo, maf_year e color são independentes um do outro, mas dependem do car_model. Neste exemplo, essas duas colunas são consideradas dependentes de vários valores de car_model.

Essa dependência pode ser representada assim:

car_model -> maf_year

car_model-> color

Dependência funcional trivial no DBMS

A dependência Trivial é um conjunto de atributos que são chamados de triviais se o conjunto de atributos estiver incluído naquele atributo.

Portanto, X -> Y é uma dependência funcional trivial se Y for um subconjunto de X. Vamos entender com um exemplo de dependência funcional trivial.

Por exemplo:

Emp_id Emp_name
AS555 atormentar
AS811 George
AS999 Kevin

Considere esta tabela com duas colunas Emp_id e Emp_name.

{Emp_id, Emp_name} -> Emp_id é uma dependência funcional trivial, pois Emp_id é um subconjunto de {Emp_id, Emp_name}.

Dependência funcional não trivial em DBMS

A dependência funcional, também conhecida como dependência não trivial, ocorre quando A-> B é verdadeira, onde B não é um subconjunto de A. Em um relacionamento, se o atributo B não for um subconjunto do atributo A, então ele é considerado não trivial dependência.

Companhia CEO Idade
Microsoft Satya Nadella 51
Google Sundar Pichai 46
maçã Tim cook 57

Exemplo:

(Empresa} -> {CEO} (se conhecemos a Empresa, sabemos o nome do CEO)

Mas o CEO não é um subconjunto da empresa e, portanto, é uma dependência funcional não trivial.

Dependência transitiva em DBMS

Uma dependência transitiva é um tipo de dependência funcional que ocorre quando t é indiretamente formado por duas dependências funcionais. Vamos entender com o seguinte exemplo de dependência transitiva.

Exemplo:

Companhia CEO Idade
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Company} -> {CEO} (se conhecemos a empresa, sabemos o nome de seu CEO)

{CEO} -> {Idade} Se conhecemos o CEO, conhecemos a Idade

Portanto, de acordo com a regra de regra de dependência transitiva:

{Company} -> {Age} deve ser mantida, isso faz sentido porque se soubermos o nome da empresa, poderemos saber sua idade.

Nota: Você precisa se lembrar que a dependência transitiva só pode ocorrer em uma relação de três ou mais atributos.

O que é normalização?

A normalização é um método de organizar os dados no banco de dados que ajuda a evitar redundância de dados, anomalias de inserção, atualização e exclusão. É um processo de análise dos esquemas de relação com base em suas diferentes dependências funcionais e chave primária.

A normalização é inerente à teoria do banco de dados relacional. Isso pode ter o efeito de duplicar os mesmos dados no banco de dados, o que pode resultar na criação de tabelas adicionais.

Vantagens da Dependência Funcional

  • Dependência funcional evita redundância de dados. Portanto, os mesmos dados não se repetem em vários locais nesse banco de dados
  • Ajuda a manter a qualidade dos dados no banco de dados
  • Ajuda a definir significados e restrições de bancos de dados
  • Ajuda a identificar projetos ruins
  • Ajuda você a encontrar os fatos sobre o design do banco de dados

Resumo

  • Dependência funcional é quando um atributo determina outro atributo em um sistema DBMS.
  • Axioma, Decomposição, Dependente, Determinante, União são termos-chave para dependência funcional
  • Quatro tipos de dependência funcional são 1) Multivalorado 2) Trivial 3) Não trivial 4) Transitivo
  • A dependência de vários valores ocorre na situação em que há vários atributos de vários valores independentes em uma única tabela
  • A dependência Trivial ocorre quando um conjunto de atributos que são chamados de triviais se o conjunto de atributos estão incluídos naquele atributo
  • A dependência não trivial ocorre quando A-> B é verdadeiro, onde B não é um subconjunto de A
  • Um transitivo é um tipo de dependência funcional que ocorre quando é indiretamente formado por duas dependências funcionais
  • A normalização é um método de organizar os dados no banco de dados que ajuda a evitar a redundância de dados