/ Datenbanken

1NF Prüfung

Prüft die erste Normalform: alle Attributwerte müssen atomar sein und es muss ein eindeutiger Primärschlüssel existieren. Ausgabe als Indikator 0/1.

1NF Prüfung
01 · Eingabe

1NF Prüfung berechnen

Prüft die erste Normalform: alle Attributwerte müssen atomar sein und es muss ein eindeutiger Primärschlüssel existieren. Ausgabe als Indikator 0/1.

Ergebnis = AtomareWerte AND EindeutigerPK

Worum geht es?

Die erste Normalform ist die Eintrittskarte ins Relationenmodell. Eine Relation ist in 1NF, wenn jeder Attributwert atomar ist (also kein Listen-, Mengen- oder strukturiertes Feld) und ein eindeutiger Primärschlüssel existiert.

Verletzungen sind klassisch: kommaseparierte „Tags"-Spalten, ein „Telefonnummern"-Feld mit „dienstlich/privat" zusammengekleckst oder fehlender PK. Die Prüfung selbst ist ein logisches UND der zwei Indikatoren.

Die Formel

Formel 1NF
Ergebnis = AtomareWerte AND EindeutigerPK

Die Variablen

SymbolBedeutungEinheitErklärung
AtomareWerteAtomare WerteAlle Werte atomar? 1 = ja, 0 = nein.
EindeutigerPKEindeutiger PKEindeutiger Primärschlüssel vorhanden? 1/0.
Ergebnis1NF erfüllt1 = 1NF erfüllt, 0 = nicht erfüllt.

Minimal-Beispiel

Eine Kunden-Tabelle mit PK kunde_id und ausschließlich skalaren Spalten:

Rechnung 1NF erfüllt
AtomareWerte   = 1
EindeutigerPK  = 1
Ergebnis       = 1 AND 1
               = 1   (1NF erfüllt)

Praxis-Beispiele

Beispiel 1 — Mehrwertige Spalte

Eine Mitarbeiter-Tabelle speichert in telefon den Wert „030/1234, 0170/5678":

Rechnung Verletzung atomar
AtomareWerte   = 0   (zwei Nummern in einer Zelle)
EindeutigerPK  = 1
Ergebnis       = 0   (nicht in 1NF)

Lösung: zweite Tabelle Mitarbeiter_Telefon mit einer Zeile pro Nummer.

Beispiel 2 — Fehlender Primärschlüssel

Eine Import-Tabelle ohne PK, aber atomare Werte:

Rechnung Verletzung PK
AtomareWerte   = 1
EindeutigerPK  = 0
Ergebnis       = 0

Beispiel 3 — Strukturiertes Feld

Eine Bestellung-Tabelle führt lieferadresse als JSON-Objekt:

Rechnung JSON nicht atomar
AtomareWerte   = 0
EindeutigerPK  = 1
Ergebnis       = 0

JSON-Spalten sind aus 1NF-Sicht nicht atomar — selbst wenn die DB sie nativ unterstützt.