Stellen Sie mithilfe funktionaler Abhängigkeiten genaue Daten sicher

Eine funktionale Abhängigkeit in einer Datenbank erzwingt eine Reihe von Einschränkungen zwischen Attributen. Dies tritt auf, wenn ein Attribut in einer Beziehung ein anderes Attribut eindeutig bestimmt. Das kann man schreiben A -> B was bedeutet "B ist funktionell von A abhängig." Dies wird auch als bezeichnet Datenbankabhängigkeit.

In dieser Beziehung bestimmt A den Wert von B, während B von A abhängt.

Warum funktionale Abhängigkeit beim Datenbankdesign wichtig ist

Funktionale Abhängigkeiten tragen dazu bei, die Gültigkeit der Daten sicherzustellen. Betrachten Sie eine Tabelle Mitarbeiter, die Merkmale wie Sozialversicherungsnummer (SSN), Name, Geburtsdatum, Adresse usw. auflistet.

Das Attribut SSN bestimmt den Wert von Name, Geburtsdatum, Adresse und möglicherweise anderen Werten, da eine Sozialversicherungsnummer einzigartig ist, während ein Name, Geburtsdatum oder eine Adresse möglicherweise nicht eindeutig ist. Wir können es so schreiben:

SSN -> Name, Geburtsdatum, Adresse. 

Daher sind Name, Geburtsdatum und Adresse funktional von der SSN abhängig. Die umgekehrte Anweisung (Name -> SSN) ist jedoch nicht wahr, da mehrere Mitarbeiter denselben Namen haben können, jedoch niemals dieselbe SSN. Anders ausgedrückt, wenn wir den Wert des SSN-Attributs kennen, können wir den Wert von Name, Geburtsdatum und Adresse ermitteln. Aber wenn wir stattdessen nur den Wert des name-Attributs kennen, können wir die SSN nicht identifizieren.

Die linke Seite einer funktionalen Abhängigkeit kann mehr als ein Attribut enthalten. Nehmen wir an, wir haben ein Unternehmen mit mehreren Standorten. Wir könnten eine Tabelle Employee mit den Attributen Mitarbeiter, Titel, Abteilung, Standort und Manager haben.

Der Mitarbeiter bestimmt den Standort, an dem er arbeitet, es besteht also eine Abhängigkeit:

Mitarbeiter -> Standort. 

Der Standort kann jedoch mehr als einen Manager haben, sodass Mitarbeiter und Abteilung gemeinsam den Manager bestimmen:

Mitarbeiter, Abteilung -> Manager. 

Funktionale Abhängigkeit und Normalisierung

Funktionale Abhängigkeit trägt zur sogenannten Datenbank bei Normalisierung, das die Datenintegrität gewährleistet und Datenredundanzen reduziert. Ohne Normalisierung gibt es keine Garantie dafür, dass die Daten in einer Datenbank genau und zuverlässig sind.