Daniel Thoma: Insert bei Vererbung?

Beitrag lesen

Hallo *Markus,

wie fügt man dann eigentlich hier Werte ein, v.a. weil P_nr noch dazu ein Zähler ist?

Normalerweise gibt es etwas wie SELECT last_insert_id(); (Ich glaube bei MySQL gehört es so). Außerdem ermöglichen mache DB-APIs solche generierten Werte abzufragen (bei JDBC geht das meines Wissens). Vermutlich gibt es auch irgend etwas in einem neueren SQL-Standard, wobei das MySQL, wenn Du das denn verwendest, wohl eher nicht unterstützt.

Die ID über den Namen zu bestimmen, ist keine gute Idee. Es kommt durchaus vor, dass Leute den gleichen Vor- und Nachnamen haben.

Was die Datenbank angeht: Manche Datenbanken können tatsächlich Vererbung zwischen Tabellen darstellen. Da kannst Du dann direkt ein Insert in die abgeleitete Tabelle machen.
Allerdings ist Vererbung nicht unbedingt das richtige Konzept. Eine Person kann bspw. Mitarbeiter mehrere Unternehmen sein o.ä. weswegen man bei solchen Sachen wirklich meist besser in normalen Assoziationen denkt. Eine Person hat die Rolle "Mitarbeiter" für ein bestimmtes Unternehmen.

Grüße

Daniel