Hallo,
eine neue Frage:
Man muss den Primärschlüssel-Datentyp nicht immer integer wählen oder?
Obwohl meine alle Tabellen jeweils einen integer-Prim.schl. namens "
id" haben,
würde ich gerne eine davon als VARCHAR ändern.
Der Grund:
Nun habe ich drei Tabellen. (Natürlich habe ich auch noch andere Tabellen aber
es reicht nun aus, dass wir nur diesen drei betrachten)
Die beiden Tabellen "
person" und "
institut" haben jeweils einen integer-Primärschlüssel "
id"
und haben einen
Many-to-Many-Beziehung.
Daher existiert die dritte Tabelle "
job", deren Primärschlüssel sich aus den Primärschlüsseln der beiden anderen Tabellen bildet.
Meine Frage ist nun folgendes:
Geht irgend etwas bei der Beziehung der drei Tabellen kaput,
wenn ich den Schlüssel von Institut "
id" lösche und
stattdessen die Institutname als Primärschl. wähle?
Das möchte ich deswegen tun, weil
- Duplikate bei der Instutname nicht erwünscht sind.
- somit die Normalisation verletzt wird. (oder?)
Denn die Tabelle hat ja eine andere minimale Schlüssel-Kandidat außer der "
id"; nämlich die "
name"...
Was würdet ihr mir nun empfehlen?
den jetzigen Primärschl. behalten und die "
name" indizieren,
oder jetzigen Primärschl. vernichten und stattdessen die "
name" als Prim.schl. definieren?