? Eine Vielzahl von eindeutigen Kennungen (bezeichnet als " uniqueidentifiers " ) stehen Ihnen zur Verfügung , wenn Sie mit dem Entwurf einer Datenbank sind . Sozialversicherungsnummern , Telefonnummern und Bestellnummern können alle helfen Ihnen bei der Organisation Master-Tabellen . Allerdings kann es sein, Detail -Tabellen, die doppelte Daten enthalten , und keine Möglichkeit haben, einen bestimmten Datensatz zu finden. Der uniqueidentifier -Datentyp ist ein Industrie-Stärke -Lösung für dieses Problem. Es garantiert, dass jeder Datensatz in der Tabelle einen eindeutigen Wert, der nicht dupliziert ist , auch wenn Sie die gleiche Datenbank auf vielen verschiedenen Computern bekommt . Zweck
Einige Tabellen in der Datenbank enthalten viele Reihen von doppelten Daten . Zum Beispiel kann ein Kunde angerufen haben dreimal am selben Tag . Ihre " Kunden-Call " -Tabelle besitzt das Datum, Uhrzeit und Kunden-ID . Eine SELECT-Anweisung mit einer dieser Artikel wird wahrscheinlich viele Datensätze zurück . Anruf-ID - - Wenn Sie einen vierten Punkt für diese Tabelle erstellen mit dem uniqueidentifier-Datentyp , erstellt der Computer automatisch einen eindeutigen Wert für jeden Datensatz. Durch die Angabe von Anruf-ID in Ihrem wählen , Aktualisieren und Löschen von Anweisungen können Sie Zugriff auf einzelne Datensätze in der Tabelle .
Einzigartigkeit
Uniqueidentifier garantiert, dass keine zwei Computer überall in der Welt produziert den gleichen Wert . Zusätzlich zu einem zufälligen Code, der vom Computer generiert, enthält die Kennung Informationen aus dem Computer- Netzwerkkarte und CPU-Takt . Die garantierte globale Einzigartigkeit ist attraktiv für große Organisationen mit Datenbanken auf vielen verschiedenen Computern. Daten auf einem Computer kann immer gehalten von Daten auf einem anderen zu unterscheiden.
Verwendet
Mit einem eindeutigen Wert in einer Tabellenzeile können Sie einen einzelnen Eintrag ändern Sie den Inhalt , oder löschen Sie sie. Wenn Sie mehrere Instanzen der gleichen Daten ohne eindeutige Kennung haben , können Sie nicht nur einen Datensatz . Also von Aufzeichnungen hängt Angabe Ihrer Aufzeichnungen eindeutige Werte . Während dabei Mergereplikation eine automatische Pflege der Datenbank -Funktion , wird Microsoft SQL Server-Software eine globale eindeutige Kennung zu Tabellen, die eine eindeutige ID fehlt hinzuzufügen. Die eindeutige Kennung stellt sicher, dass die Replikation aus korrekt durchgeführt werden.
Nachteile
Uniqueidentifier Datentyp ist eine ziemlich lange (16 -Byte- ) Feld, das obskure Werte erzeugt nur sinnvoll mit dem Computer. Lesen durch sie auf Ihrem Bildschirm , werden Sie sehen keinen Zusammenhang zwischen seiner Inhalte und die Inhalte anderer Felder wie Name , Datum oder Beschreibung. Die zufällige Natur bedeutet es nicht berechenbaren Muster folgen , die Sie in Ihren Anwendungen verwenden können . Es dauert mehr Zeit für den Server , um die uniqueidentifier erzeugen , so dass die Verarbeitung langsamer, wenn Sie Hinzufügen von Datensätzen sind .
Alternativen
Wenn Sie einen Datensatz Kennung , die spezifisch für den Bedarf die Tabelle nur , und muss nicht global eindeutig sein , es ist einfacher einzurichten oder eine ganze lange Integer-Typ und setzen Sie den Identity-Eigenschaft . Dies erzeugt einen kleineren Feld, das leicht zu lesen ist . Sie sagen darf als einer sequenziellen Reihenfolge Zahl oder einem anderen vertrauten Gegenstand zu benutzen.