Ich frage mich gerade, ob man möglichst immer einen Primärschlüssel bei Datenbanktabellen (hier: MySQL) definieren sollte oder ob man es in manchen Fällen auslassen kann. Beispiel:
Die Tabelle speichert, wann welcher User welchen Download gemacht hat (der Download ist die "uploadID"). Keines dieser Felder lässt sich als Primärschlüssel definieren, weil alle mehrfach identische Werte bekommen können.
Nun gibt es drei Möglichkeiten:
- Neues Feld "ID" und das als Primärschlüssel setzen (das Feld wäre dann aber wirklich nur dafür da, damit es überhaupt einen PK gibt)
- Primärschlüssel zusammensetzen aus allen drei Feldern
- Keinen Primärschlüssel erstellen
Wie ist da die optimale Lösung?
Die Tabelle speichert, wann welcher User welchen Download gemacht hat (der Download ist die "uploadID"). Keines dieser Felder lässt sich als Primärschlüssel definieren, weil alle mehrfach identische Werte bekommen können.
Nun gibt es drei Möglichkeiten:
- Neues Feld "ID" und das als Primärschlüssel setzen (das Feld wäre dann aber wirklich nur dafür da, damit es überhaupt einen PK gibt)
- Primärschlüssel zusammensetzen aus allen drei Feldern
- Keinen Primärschlüssel erstellen
Wie ist da die optimale Lösung?