Postgres Inheritance
Steffen
- datenbank
0 ckruse
Hi,
ich habe bisher auf folgende Frage noch keine Antwort finden können.
Wenn ich in Postgres ein Basis-Tabelle definiere und dann eine oder mehrere weitere Tabelle davon ableite, sollte ich auf der Basis-Tabelle einen Primary-Key definieren oder nicht?
Ist ein Primary-Key auf der Basis-Tabelle notwendig, wenn ich nur mit den abgelittenen Tabellen arbeite? Hätte der positive Auswirkungen auf die Performance?
Grüße
Moin Steffen,
Wenn ich in Postgres ein Basis-Tabelle definiere und dann eine oder mehrere weitere Tabelle davon ableite, sollte ich auf der Basis-Tabelle einen Primary-Key definieren oder nicht?
Das hängt davon ab. PKs werden nicht vererbt, das heisst, die abgeleiteten Tabellen erben nicht den PK der Eltern-Tabelle. Das bedeutet, der einzige Grund, warum du einen PK in der Eltern-Tabelle haben willst ist die Sicherstellung der Integrität der Daten in der Eltern-Tabelle.
Ist ein Primary-Key auf der Basis-Tabelle notwendig, […]
Nein.
wenn ich nur mit den abgelittenen Tabellen arbeite? Hätte der positive Auswirkungen auf die Performance?
Siehe oben. Wenn du nur mit den abgeleiteten (sehr witziger Verschreiber, übrigens ;-) Tabellen arbeitest, dann macht es IMHO keinen Sinn einen PK in der Eltern-Tabelle zu definieren.
LG,
CK
Moin,
hm, da macht mein Password-Manager komische Dinge hier… das sollte natürlich als „Christian Kruse“ verfasst werden.
LG,
CK
Hallo,
danke für die Info.
Das deckt sich mit meinen bisherigen Erfahrungen und Recherchen.
Grüße,