Es gibt zwei funktionale Abhängigkeiten in den SQL-Datenbanken.funktionale Abhängigkeiten in SQL-Datenbanken Normalformulare
a) Partielle funktionale Abhängigkeit: Eine Nicht-Schlüsselspalte hängt von einigen, aber nicht allen Spalten in einem zusammengesetzten Primärschlüssel ab.
b) Transitive funktionale Abhängigkeiten: Jede Nicht-Schlüsselspalte hängt von anderen Nicht-Schlüsselspalten ab.
Für eine gute SQL-Datenbank.
Regel 1: Columns enthalten nur atomare Werte
Regel 2: keine sich wiederholenden Gruppen von Daten
Regel 3: Haben keine Teil Abhängigkeiten
Regel 4: hat keine transitive Abhängigkeiten
Ich habe die Anforderungen der 1. und 2. Regel verstanden, warum brauchen wir die 3. und 4. Regel, anstatt zu sagen, dass die Spalte no nicht von anderen Spalten abhängig sein sollte. Warum gibt es zwei separate Regeln (3 und 4)?
Quelle: Head First SQL
Vielen Dank im Voraus!
"Keine Spalte sollte nicht von anderen Spalten abhängen" - meinen Sie so etwas wie "Nicht-Schlüsselspalten sollten nur von der Gesamtheit der Schlüssel abhängen"? Doppelte Negative in Englisch sind knifflig. – outis
@outis: Danke für die Klärung der Frage, ich meine, anstatt separate Regeln, können wir nicht sagen, wie "Die Spalten einer Datenbank sollten nicht auf andere Spalten als Primärschlüssel Spalte abhängen. Und wenn der Primärschlüssel ist eine zusammengesetzte Spalte, dann, ich meine, es wird als eine einzelne Spalte für dieses Abhängigkeitsproblem betrachtet werden " –
Ja natürlich gibt es verschiedene Möglichkeiten, das gleiche zu erklären. Deine Definition ist jedoch nicht perfekt. Die Abhängigkeit von EINEM Schlüssel ("Primärschlüssel") ist nicht ausreichend. Jedes Attribut sollte von ALLEN Schlüsseln der Tabelle abhängen. – sqlvogel