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