Ich habe mal eine konzeptionelle Frage zum Thema Primary Keys. Grundsätzlich scheint jeder immer zu sagen, dass jede Tabelle unbedingt einen Primärschlüssel haben sollte (auch wenn dieser technisch natürlich keine Pflicht ist). Allerdings habe ich einen Spezialfall, wo ich unsicher bin, ob ich hier einen Primärschlüssel einfügen sollte, der im Prinzip nie genutzt wird. Er schadet nicht, kommt mir aber überflüssig vor.
Das von mir verwendete DBMS ist MySQL bzw. MariaDB. Ich habe folgende vier Tabellen (PK=Primary Key, FK=Foreign Key):
Es geht in dem Fall um die Tabelle "Untertabelle" (in allen anderen Tabellen brauche ich definitiv einen Primary Key).
Wie schon gesagt, nutze ich den PK in der besagten Tabelle nicht. Ich frage immer ab
Einen Primärschlüssel über die drei Spalten Haupt-ID, Verknüpfung-1-ID und Verknüpfung-2-ID zu machen, geht nicht, da Verknüpfung-2-ID optional ist (darf NULL werden).
Welchen Weg schlagt ihr vor?
Das von mir verwendete DBMS ist MySQL bzw. MariaDB. Ich habe folgende vier Tabellen (PK=Primary Key, FK=Foreign Key):
Es geht in dem Fall um die Tabelle "Untertabelle" (in allen anderen Tabellen brauche ich definitiv einen Primary Key).
Wie schon gesagt, nutze ich den PK in der besagten Tabelle nicht. Ich frage immer ab
select * from Untertabelle where Haupt-ID = ?
. Beim Speichern von Datensätzen in der Untertabelle plane ich, der Einfachheit halber immer alles zu löschen und dann neu einzutragen. Also beim Speichern des Hauptdatensatzes werden die Unterdatensätze immer alle neu eingetragen, was mir die Arbeit massiv vereinfacht. Oder wäre das kein gutes Vorgehen?Einen Primärschlüssel über die drei Spalten Haupt-ID, Verknüpfung-1-ID und Verknüpfung-2-ID zu machen, geht nicht, da Verknüpfung-2-ID optional ist (darf NULL werden).
Welchen Weg schlagt ihr vor?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()