Matzberger Marcus: Frage zum DB-Design

Beitrag lesen

Hallo,

Hi,

Über diese Vorgabe solltet ihr allerdings noch mal nachdenken. Zwar spricht (fast) nichts gegen eine zusätzliche ID-Spalte, aber aus Sicht der Aufgabenstellung wird für das DB-Layout ganz klar ein PK über beide Spalten erfordert. Alles andere wäre ein - wenn auch nicht schlimmer - Fehler.

kombinierte PKs werden bei uns nicht gerne gesehen, denn die sind

  • nie erforderlich
  • schwerer zu handeln
  • vermutlich nur sinnvoll, wenn sie auf kombinierte PKs verweisen
  • und wenn nicht, also, wenn die auf einmal Bedeutung transportieren, unter Umstaenden ganz ganz unangenehm

Nie erforderlich ist relativ. Wenn ich eine Zuordnungstabelle habe, die nichts anderes tut als eine m:n in 2 1:m aufzulösen (wie im Beispiel) kann ich natürlich eine zusätzliche ID-Spalte anlegen. Geht allerdings, wenn auch nicht spektakulär, auf die Performance, da die ID-Spalte als Primärschlüssel einen zusätzlichen Index fordert, der verwaltet werden muss. Aus diesem Grund bietet Oracle ab 9i auch die Möglichkeit eine solche Tabelle als index-organized anzulegen, die dann nur aus dem Index der 2 Spalten besteht und die Daten nicht zusätzlich speichert.

Grüße
Marcus