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

Co to jest zależność funkcjonalna?

Zależność funkcjonalna (FD) to ograniczenie określające relację jednego atrybutu do innego atrybutu w systemie zarządzania bazami danych (DBMS). Zależność funkcjonalna pomaga utrzymać jakość danych w bazie danych. Znalezienie różnicy pomiędzy dobrym i złym projektem bazy danych odgrywa kluczową rolę.

Zależność funkcjonalna jest oznaczona strzałką „→”. Zależność funkcjonalna X od Y jest reprezentowana przez X → Y. Przyjrzyjmy się zależnościom funkcjonalnym w systemie DBMS na przykładzie.

Przykład:

Numer pracownika imię i nazwisko pracownika Wynagrodzenie Miasto
1 Dana 50000 San Francisco
2 Francis 38000 Londyn
3 Andrew 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.

Kluczowe terminy

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

Kluczowe terminy Opis
Aksjomat Aksjomaty to zbiór 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 określone przez ten sam klucz podstawowy, powinieneś rozważyć podzielenie ich na dwie różne tabele.
Zależny Jest wyświetlany na prawa strona diagramu zależności funkcjonalnych.
wyznacznik Jest on wyświetlany po lewej stronie diagramu zależności funkcjonalnych.
Unia Sugeruje to, że jeśli dwie tabele są oddzielne, a PK jest takie samo, powinieneś rozważyć ich umieszczenie. razem

Reguły zależności funkcjonalnych

Poniżej znajdują się Trzy najważniejsze reguły zależności funkcjonalnych w bazie danych:

  • Reguła refleksyjna –. Jeśli X jest zbiorem atrybutów, a Y jest_podzbiorem X, wówczas X zawiera wartość Y.
  • Reguła powiększania: Gdy x -> y jest spełnione, a c jest zestawem atrybutów, wówczas ac -> bc również zachodzi. Czyli dodanie atrybutów, które nie zmieniają podstawowych zależności.
  • Reguła przechodniości: Ta reguła jest bardzo podobna do reguły przechodniości w algebrze, jeśli zachodzi x -> y i y -> z, to x -> z również zachodzi. X -> y nazywa się funkcjonałem, który określa y.

Rodzaje zależności funkcjonalnych w SZBD

Istnieją głównie cztery typy zależności funkcjonalnych w DBMS. 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 systemie DBMS

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

Przykład:

Model samochodu Maf_rok 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 te dwie kolumny są wielowartościowe i zależą od car_model.

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

model_samochodu -> maf_rok

model_samochodu->kolor

Trywialna zależność funkcjonalna w systemie DBMS

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

Zatem X -> Y jest trywialną zależnością funkcjonalną, jeśli Y jest podzbiorem X. Zrozumiemy to na przykładzie trywialnej zależności funkcjonalnej.

Na przykład:

Em_id Nazwa_emplu
AS555 Harry
AS811 George
AS999 Kevin

Rozważmy tę tabelę zawierającą dwie kolumny 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 systemie DBMS

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

Firma CEO Wiek
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Przykład:

(Firma} -> {CEO} (jeśli znamy Firmę, znamy nazwisko Dyrektora Generalnego)

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

Zależność przechodnia w systemie DBMS

Zależność przechodnia to rodzaj zależności funkcjonalnej, która występuje, gdy „t” jest pośrednio tworzone przez dwie zależności funkcjonalne. Zrozumiemy to na poniższym przykładzie zależności przechodniej.

Przykład:

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

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

{CEO } -> {Wiek} Jeśli znamy CEO, znamy Wiek

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

{Company} -> {Age} powinien się trzymać, to ma sens, ponieważ znając nazwę firmy, możemy poznać jego wiek.

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

Czym jest normalizacja?

Normalizacja to metoda porządkowania danych w bazie danych, która pomaga uniknąć anomalii związanych z redundancją danych, ich wstawianiem, aktualizacją i usuwaniem. 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ć powielaniem 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 powtarzają się w wielu lokalizacjach baza danych
  • Pomaga utrzymać jakość 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 ma miejsce wtedy, gdy jeden atrybut określa inny atrybut w pliku systemu DBMS.
  • Aksjomat, rozkład, zależność, wyznacznik, suma to kluczowe terminy określające zależność funkcjonalną
  • Cztery typy zależności funkcjonalnych to 1) wielowartościowa 2) trywialna 3) nietrywialna 4) przechodnia
  • Zależność wielowartościowa występuje w sytuacji, gdy w jednej tabeli znajduje się wiele niezależnych atrybutów wielowartościowych
  • Zależność trywialna występuje, gdy zbiór atrybutów nazywa się trywialnym, jeśli zbiór atrybutów jest zawarty w tym atrybucie
  • Nietrywialna zależność występuje, gdy A->B jest prawdziwe, gdy B nie jest podzbiorem A
  • Przechodnia jest rodzajem zależności funkcjonalnej, która ma miejsce, gdy jest pośrednio utworzona przez dwie zależności funkcjonalne
  • Normalizacja to metoda porządkowania danych w bazie danych, która pozwala uniknąć nadmiarowości danych