In den meisten Szenarien ist es üblich, dass wir bei der Entwicklung eines Datenbankdesigns den Primärschlüssel als Integer-Typ für einen eindeutigen Bezeichner in der Tabelle festlegen. Warum nicht String oder Float für Primärschlüssel verwenden? Hat dies Auswirkungen auf die Zugänglichkeit der Werte, oder in einfachen Worten Abrufgeschwindigkeit ? Gibt es dafür besondere Gründe?
Antwort
Zu viele Anzeigen?Dies sind einige der Hauptgründe, warum ich denke, dass wir Ganzzahlen/Zahlen als Primärschlüssel haben.
(1) Primärschlüssel sollten in der Lage sein, Ihre Zeile eindeutig zu definieren, und sie sollten unveränderlich sein. Eines der Probleme bei der Verwendung echter Attribute (Name usw.) ist, dass sie sich im Laufe der Zeit ändern können. Die Wahrung der relationalen Integrität wäre in einem solchen Fall sehr schwierig, da diese Änderung kaskadenartig auf alle untergeordneten Datensätze übertragen werden muss.
2. die Größe der Tabelle und damit des Index wäre kleiner, wenn wir eine Zahl als Schlüssel für die Registerkarte verwenden.
Da diese automatisch unter Verwendung einer Sequenz erzeugt werden, können wir sicher sein, dass die Werte unter allen Umständen eindeutig sind.
Prüfen Sie dies. http://forums.oracle.com/forums/thread.jspa?messageID=3916511
- See previous answers
- Weitere Antworten anzeigen