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