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 |
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 |
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