Optionale Erweiterungsdatensatze (1:n) in SQL (Optionale Erweiterungsdatensatze (1:n) in SQL), Lektion, Seite 724447
https://www.purl.org/stefan_ram/pub/optionale_felder_sql (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
SQL-Kurs

Optionale Felder in SQL 

Normalisierte Optionsdarstellung (ISA-Relation)

Es ist möglich, daß eine bestimmte Information nicht für alle Entitäten einer Tabelle in eine Datenbank eingetragen werden kann oder soll. Es handelt sich also gewissermaßen um eine optionale  Information. Dann handelt es sich um eine 1:n-Beziehung zwischen der Entität und jener Information, wobei n gleich 0 oder gleich 1 ist. Wir nennen solch eine Beziehung, bei der n immer nur 0 oder 1 sein kann, auch eine 1:O-Beziehung  oder eine Optionsbeziehung  (daher „1:O“).

Aus der Tatsache, daß eine 1:O-Beziehung eine spezielle Art einer 1:n-Beziehung ist, ergibt sich, daß für die optionale Information eine separate Tabelle  angelegt wird.

Beispielsweise könnte es sein, daß eine allgemeine Personendatei auch Angestellte enthält. Nur für Angestellte soll die Abteilung und die interne Rufnummer („Erweiterungsspalten“ mit optionaler Information) festgehalten werden. Jemand, der kein Angestellter ist, hat ja weder eine Abteilung noch eine interne Rufnummer.

Normalisierte Darstellung

Person

Person Vorname Nachname

0 Laura Pfeiffer
1 Liam Wolff
2 Lina Arnold
3 Elias Sauer
4 Levi Voigt
5 Julia Thomas

Angestellter

Person Abteilung Rufnummer

0 I 5631
2 I 4312
3 II 8491
5 IV 6112

Man kann der Datenbank dann auch die Information entnehmen, daß nur die Personen 0, 2, 3 und 5 Angestellte sind.

Man spricht hier auch von einer ISA-Relation zwischen den beiden Tabellen, da jeder Angestellte eine Person ist  (“is a ” ist englisch für „ist ein“).

Integrierte Darstellung

Bei einer integrierten Darstellung  einer 1:O-Beziehung wird auf eine extra Tabelle verzichtet und für den Fall, daß keine Information über die Rufnummer hinterlegt werden soll, der spezielle Wert »NULL« als „Rufnummer“ eingetragen, da man ein Feld nicht einfach „leer“ lassen kann.

Integrierte Darstellung

Personen

Person Vorname Nachname Abteilung Rufnummer

0 Laura Pfeiffer I 5631
1 Liam Wolff NULL NULL
2 Lina Arnold I 4312
3 Elias Sauer II 8491
4 Levi Voigt NULL NULL
5 Julia Thomas IV 6112

Diese integrierten Darstellung  verstößt gegen das wichtige Domänenprinzip, nach dem eine Spalte nur Werte aus ihrer Domäne  enthalten darf. Das heißt: Jeder Wert in der Spalte »Rufnummer« muß auch eine Rufnummer sein. »NULL« ist keine  Rufnummer. (Das Domänenprinzip ist aber vor allem für Basistabellen  wichtig, Verstöße in abgeleiteten Tabellen sind manchmal akzeptabel.)

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724447 stefan_ram:724447 Optionale Erweiterungsdatensatze (1:n) in SQL Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724447, slrprddef724447, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/optionale_felder_sql