- Natürliche (Natural) Schlüssel sind Schlüssel, die in Datenbanken verwendet werden, um Eindeutigkeit zu gewährleisten
- Natürliche Schlüssel basieren auf realen Daten wie Namen, Städten, Jahren usw.
- In einer Datenbank der 50 besten Restaurants der Welt könnten zum Beispiel
restaurantName, cityName und year als natürlicher Schlüssel verwendet werden
- Natürliche Schlüssel können Eindeutigkeit jedoch möglicherweise nicht garantieren. Zum Beispiel kann es in mehreren Städten Restaurants mit demselben Namen geben
Identität
- Natürliche Schlüssel müssen nicht nur Eindeutigkeit, sondern auch Identität gewährleisten
- So könnten zum Beispiel die Fahrgestellnummer eines Autos oder eine persönliche Identifikationsnummer (CPR-Nummer) als natürlicher Schlüssel verwendet werden
- Dieselbe Person kann jedoch mehrere Identifikationsnummern haben. In Dänemark kann etwa eine trans Person eine neue CPR-Nummer erhalten
Dokumentationsfehler
- Natürliche Schlüssel sind anfällig für Dokumentationsfehler
- Es kann zu Dateneingabefehlern, Tippfehlern durch Benutzer oder Fehlern bei der Datenkonvertierung kommen
- Das System muss solche Fehler korrigieren können. Deshalb ist es nicht sinnvoll, externe Schlüssel als Datenbankschlüssel zu verwenden
Fazit
- Der Einsatz natürlicher Schlüssel beim Datenbankdesign ist keine gute Idee
- Datenfehler können auftreten, und solche Fehler müssen korrigiert werden können
- Daher ist es ratsam, in Datenbanktabellen immer künstliche Schlüssel zu verwenden
Meinung von GN⁺
- Probleme natürlicher Schlüssel: Natürliche Schlüssel garantieren möglicherweise weder Eindeutigkeit noch Identität und sind anfällig für Dateneingabefehler.
- Vorteile künstlicher Schlüssel: Künstliche Schlüssel gewährleisten Eindeutigkeit und Identität und erleichtern die Korrektur von Datenfehlern.
- Aspekte bei der Verwendung von ORM: Beim Einsatz von ORM-Bibliotheken ist die Verwendung künstlicher Schlüssel einfacher. Da ORMs die Datenbankstruktur teilweise festlegen, ist die Nutzung künstlicher Schlüssel effizienter.
- Produkte mit ähnlicher Funktion: Auch andere Datenbank-Design-Tools oder ORM-Bibliotheken empfehlen die Verwendung künstlicher Schlüssel, zum Beispiel Hibernate oder Entity Framework.
- Zu beachten bei der Einführung der Technik: Bei der Einführung eines neuen Datenbankdesigns sollten die Nachteile natürlicher Schlüssel berücksichtigt werden; die Verwendung künstlicher Schlüssel ist empfehlenswert. Künstliche Schlüssel sichern die Datenintegrität und erleichtern die Korrektur von Fehlern.
2 Kommentare
Hacker-News-Kommentare
cus_MJA953cFzEuO1z, wie sie Stripe verwendet. Es gibt auch Möglichkeiten, sie in JavaScript/TypeScript zu erzeugen.Ich empfehle, auch bei künstlichen Schlüsseln TSID zu verwenden, da es für verteilte Umgebungen wie globale Regionen vorbereitet ist. Ich verwende TSID in MySQL und DynamoDB als PK.
https://jsonobject.hashnode.dev/using-tsid-as-database-pk