ckruse: Postgres Inheritance

Beitrag lesen

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