Zależność funkcjonalna w DBMS: czym jest, typy i przykłady

Spisie treści:

Anonim

Co to jest zależność funkcjonalna?

Zależność funkcjonalna (FD) to ograniczenie, które określa relację jednego atrybutu do innego atrybutu w systemie zarządzania bazami danych (DBMS). Zależność funkcjonalna pomaga utrzymać jakość danych w bazie danych. Odgrywa istotną rolę, aby znaleźć różnicę między dobrym a złym projektem bazy danych.

Zależność funkcjonalna jest oznaczona strzałką „→”. Funkcjonalna zależność X od Y jest reprezentowana przez X → Y. Rozumiemy zależność funkcjonalną w DBMS na przykładzie.

Przykład:

Numer pracownika imię i nazwisko pracownika Wynagrodzenie Miasto
1 Dana 50000 San Francisco
2 Francis 38000 Londyn
3 Andrzej 25000 Tokio

W tym przykładzie, jeśli znamy wartość numeru pracownika, możemy uzyskać imię i nazwisko pracownika, miasto, wynagrodzenie itp. W ten sposób możemy powiedzieć, że miasto, nazwisko pracownika i wynagrodzenie są funkcjonalnie zależne od numeru pracownika.

W tym samouczku dowiesz się:

  • Kluczowe terminy
  • Zasady zależności funkcjonalnych
  • Typy zależności funkcjonalnych w DBMS
  • Zależność wielowartościowa w DBMS
  • Trywialna zależność funkcjonalna w DBMS
  • Nie trywialne zależności funkcjonalne w DBMS
  • Zależność przechodnia w DBMS
  • Co to jest normalizacja?
  • Zalety zależności funkcjonalnej

Kluczowe terminy

Oto kilka kluczowych terminów dotyczących zależności funkcjonalnych w bazie danych:

Kluczowe terminy Opis
Aksjomat Aksjomaty to zestaw reguł wnioskowania używanych do wnioskowania o wszystkich zależnościach funkcjonalnych w relacyjnej bazie danych.
Rozkład Jest to reguła, która sugeruje, że jeśli masz tabelę, która wydaje się zawierać dwie jednostki, które są określane przez ten sam klucz podstawowy, powinieneś rozważyć podzielenie ich na dwie różne tabele.
Zależny Jest wyświetlany po prawej stronie diagramu zależności funkcjonalnych.
Wyznacznik Jest wyświetlany po lewej stronie diagramu zależności funkcjonalnych.
Unia Sugeruje, że jeśli dwie tabele są oddzielne, a PK jest taka sama, powinieneś rozważyć umieszczenie ich. razem

Zasady zależności funkcjonalnych

Poniżej znajdują się trzy najważniejsze zasady dotyczące zależności funkcjonalnych w bazie danych:

  • Reguła zwrotna -. Jeśli X jest zbiorem atrybutów, a Y jest podzbiorem X, to X ma wartość Y.
  • Reguła rozszerzania: gdy x -> y zachowuje, a c jest ustawionym atrybutem, wtedy ac -> bc również się trzyma. To jest dodawanie atrybutów, które nie zmieniają podstawowych zależności.
  • Reguła przechodniości: reguła ta jest bardzo podobna do reguły przechodniości w algebrze, jeśli zachodzi x -> y i y -> z, to zachodzi również x -> z. X -> y jest wywoływane jako funkcjonalnie, które określa y.

Typy zależności funkcjonalnych w DBMS

W DBMS istnieją głównie cztery typy zależności funkcjonalnych. Poniżej przedstawiono typy zależności funkcjonalnych w DBMS:

  • Zależność wielowartościowa
  • Trywialna zależność funkcjonalna
  • Nietrywialna zależność funkcjonalna
  • Zależność przechodnia

Zależność wielowartościowa w DBMS

Zależność wielowartościowa występuje w sytuacji, gdy w jednej tabeli znajduje się wiele niezależnych atrybutów wielowartościowych. Zależność wielowartościowa to całkowite ograniczenie między dwoma zestawami atrybutów w relacji. Wymaga obecności pewnych krotek w relacji. Rozważmy następujący przykład wielowartościowej zależności, aby zrozumieć.

Przykład:

Model samochodu Maf_year Kolor
H001 2017 Metaliczny
H001 2017 Zielony
H005 2018 Metaliczny
H005 2018 niebieski
H010 2015 Metaliczny
H033 2012 Szary

W tym przykładzie maf_year i color są od siebie niezależne, ale zależne od car_model. W tym przykładzie mówi się, że te dwie kolumny są wielowartościowe w zależności od modelu car_model.

Zależność tę można przedstawić w następujący sposób:

model_samochodu -> rok_mafii

car_model-> color

Trywialna zależność funkcjonalna w DBMS

Zależność Trivial to zestaw atrybutów, które nazywane są trywialnymi, jeśli zestaw atrybutów jest zawarty w tym atrybucie.

Tak więc X -> Y jest trywialną zależnością funkcjonalną, jeśli Y jest podzbiorem X. Rozumiemy na przykładzie trywialnej zależności funkcjonalnej.

Na przykład:

Emp_id Emp_name
AS555 Złupić
AS811 Jerzy
AS999 Kevin

Rozważ tę tabelę z dwiema kolumnami Emp_id i Emp_name.

{Emp_id, Emp_name} -> Emp_id to trywialna zależność funkcjonalna, ponieważ Emp_id jest podzbiorem {Emp_id, Emp_name}.

Nietrywialna zależność funkcjonalna w DBMS

Zależność funkcjonalna, znana również jako nietrywialna zależność, występuje, gdy A-> B jest prawdziwe, gdzie B nie jest podzbiorem A. W relacji, jeśli atrybut B nie jest podzbiorem atrybutu A, to jest uważany za nietrywialny zależność.

Firma CEO Wiek
Microsoft Satya Nadella 51
Google Sundar Pichai 46
jabłko Tim gotuje 57

Przykład:

(Firma} -> {CEO} (jeśli znamy firmę, znamy nazwisko dyrektora generalnego)

Ale CEO nie jest podzbiorem firmy, a zatem jest to nietrywialna zależność funkcjonalna.

Zależność przechodnia w DBMS

Zależność przechodnia to typ zależności funkcjonalnej, która ma miejsce, gdy t jest pośrednio utworzona przez dwie zależności funkcjonalne. Rozważmy następujący przykład zależności przechodnich.

Przykład:

Firma CEO Wiek
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Company} -> {CEO} (jeśli znamy firmę, znamy nazwisko jej dyrektora generalnego)

{CEO} -> {Age} Jeśli znamy CEO, znamy wiek

Dlatego zgodnie z zasadą zależności przechodniej:

{Firma} -> {Wiek} ma sens, ponieważ znając nazwę firmy, możemy poznać jej wiek.

Uwaga: Musisz pamiętać, że zależność przechodnia może wystąpić tylko w relacji trzech lub więcej atrybutów.

Co to jest normalizacja?

Normalizacja to metoda organizowania danych w bazie danych, która pomaga uniknąć redundancji danych, anomalii wstawiania, aktualizacji i usuwania. Jest to proces analizy schematów relacji w oparciu o ich różne zależności funkcjonalne i klucz podstawowy.

Normalizacja jest nieodłącznym elementem teorii relacyjnych baz danych. Może to skutkować powieleniem tych samych danych w bazie danych, co może skutkować utworzeniem dodatkowych tabel.

Zalety zależności funkcjonalnej

  • Zależność funkcjonalna pozwala uniknąć nadmiarowości danych. Dlatego te same dane nie są powtarzane w wielu lokalizacjach w tej bazie danych
  • Pomaga w utrzymaniu jakości danych w bazie danych
  • Pomaga zdefiniować znaczenia i ograniczenia baz danych
  • Pomaga zidentyfikować złe projekty
  • Pomaga znaleźć fakty dotyczące projektu bazy danych

Podsumowanie

  • Zależność funkcjonalna występuje wtedy, gdy jeden atrybut określa inny atrybut w systemie DBMS.
  • Aksjomat, Dekompozycja, Zależny, Determinant, Unia to kluczowe terminy dla zależności funkcjonalnej
  • Cztery typy zależności funkcjonalnych to 1) wielowartościowe 2) trywialne 3) nietrywialne 4) przechodnie
  • Zależność wielowartościowa występuje w sytuacji, gdy w jednej tabeli znajduje się wiele niezależnych atrybutów wielowartościowych
  • Zależność Trivial występuje, gdy zestaw atrybutów nazywany jest trywialnym, jeśli zestaw atrybutów jest zawarty w tym atrybucie
  • Zależność nietrywialna występuje, gdy A-> B jest prawdziwe, gdzie B nie jest podzbiorem A
  • Przechodni to rodzaj zależności funkcjonalnej, która występuje, gdy jest ona pośrednio utworzona przez dwie zależności funkcjonalne
  • Normalizacja to metoda organizowania danych w bazie danych, która pomaga uniknąć nadmiarowości danych