Sprechender Schlüssel
aus Wikipedia, der freien Enzyklopädie
In der Datenmodellierung von relationalen Datenbanken ist ein sprechender Schlüssel (natürlicher Schlüssel, intelligenter Schlüssel) ein Schlüsselkandidat mit einer logischen Beziehung zu einem oder mehreren Attributen einer Tabellenstruktur.
Der Hauptvorteil eines sprechenden Schlüssels ist, dass er bereits existiert und keine Notwendigkeit besteht, eine neue unnatürliche Spalte zum Schema hinzu zu fügen. Dies im Kontrast zum Surrogatschlüssel der keine solche logische Beziehung zum Inhalt eines Datensatzes hat.
Ein sprechender Schlüssel kann auch ein zusammengesetzer Schlüssel (combined key) sein, der sich aus mehreren Attributen zusammensetzt.
Der Hauptnachteil eines sprechenden Schlüssels liegt darin, dass sich der Schlüssel ändern kann, wenn sich die geschäftsbedingten Anforderungen ändern. Dies kann eine aufwändige Umschlüsselung zur Folge haben, was zu einer aufwändigen Datenmigration führt. Wenn z. B. eine numerische Kundennummer als Primärschlüssel verwendet wird und diese in der Folge aufgrund von geschäftsbedingten Anforderungen (z. B. Integration in eine neue Muttergesellschaft) in alphanumerisch umgewandelt werden muss, so muss nicht nur der Datentyp der Tabellenspalte geändert werden, sondern es müssen in allen Tabellen die Spaltenattribute geändert werden, welche als Fremdschlüssel auf die Kundentabelle verweisen. Während in der Designphase eine solche Änderung schnell durchgeführt ist, sind die Umschlüsselungsarbeiten ungleich aufwendiger, wenn bereits Daten in der Datenbank geladen sind, vor allem dann, wenn der sprechende Schlüssel als Primärschlüssel verwendet wurde und von anderen Tabellen referenziert wird.
In der Schweiz ist das Paradebeispiel eines sprechenden Schlüssels die AHV-Nummer, was aber problematisch ist, weil erstens die Eindeutigkeit über die Zeit nicht garantiert ist, sondern nur für aktuell lebende Personen und zweitens sich die Nummer bei Namenswechsel ändern kann.