Hi Ludger
Ist das ueblich Indizes auf diese Art und Weise zu nutzen? Ist das OK es zu tun?
Es ist üblich, Primärschlüssel auf diese Weise zu nutzen. Klar könntest du afair zumindest mit Oracle bei jedem Insert ein PL/SQL-Statement aufrufen, dass prüft ob schon sowas existiert, bei MySQL hättest du damit aber doch Probleme und müsstest das händisch vor jedem Schreibzugriff prüfen. Um zu prüfen ob schon ein solcher Datensatz schon existiert, musst du die Daten aber auch lesen. Ein normaler Index über beide Spalten wäre also sowieso empfehlenswert. Warum also nicht gleich die Arbeit von der DB erledigen lassen?
Achja, mir fällt nur eine einzige Sache ein, die gegen zusammengesetzte Primärschlüssel spricht: Bei Fremdschlüsselbeziehungen müssen immer alle Felder benutzt werden, das kann etwas mühsam werden. Ansonsten mag ich zusammengesetzte Primärschlüssel und allgemein natürliche Schlüssel soweit existent sehr gerne.
Gruss Daniela