Alle Tabellen einer relationalen Datenbank müssen über einen Primärschlüssel verfügen. Bei einem Primärschlüssel handelt es sich um eine Spalte bzw. eine Gruppe von Spalten, die alle Zeilen in einer Tabelle eindeutig kennzeichnen. Innerhalb einer Tabelle kann jeder Primärschlüsselwert jeweils nur einmal vorkommen.
In der SQL Anywhere Beispieldatenbank (Beispielverzeichnis\demo.db) enthält die Tabelle Employees personenbezogene Daten der Mitarbeiter. In dieser Tabelle gibt es eine Primärschlüsselspalte mit der Bezeichnung EmployeeID, in der eine jedem Mitarbeiter eindeutig zugewiesene Identifikationsnummer gespeichert wird. Im Allgemeinen werden ID-Nummern in speziellen Spalten als Primärschlüssel gespeichert. Dieses Verfahren hat Vorteile gegenüber Spalten mit Namen bzw. anderen Bezeichnern, da diese nicht immer eindeutig sind.
Ein umfangreicherer Primärschlüssel ist in der Tabelle SalesOrderItems der SQL Anywhere-Beispieldatenbank enthalten. Die Tabelle enthält Daten über einzelne vom Unternehmen bestellte Artikel und besteht aus den folgenden Spalten:
ID Eine Bestellnummer, mit der die Bestellung identifiziert wird, zu welcher der Artikel gehört
LineID Eine Zeilennummer, mit der jedes Element einer Bestellung gekennzeichnet wird
ProductID Eine Produktnummer, mit der jedes bestellte Produkt gekennzeichnet wird
Quantity Eine Menge, mit der angezeigt wird, wie viele Artikel bestellt wurden
ShipDate Ein Lieferdatum, mit dem angegeben wird, wann die Artikel ausgeliefert wurden
Ein bestimmter Artikel einer Bestellung wird durch die Bestellung, zu der er gehört, und eine Zeilennummer auf dieser Bestellung gekennzeichnet. Diese beiden Nummern werden in den Spalten ID und LineID gespeichert. So haben manche Artikel unter Umständen den gleichen Wert für ID (beispielsweise bei einer Bestellung mit mehr als einem Artikel) und mit hoher Wahrscheinlichkeit jeweils den gleichen Wert für LineID (alle Artikel in der ersten Zeile einer Bestellung haben eine LineID von 1). Bei keinem der Artikel jedoch sind beide Werte gleich. Daher wird der Primärschlüssel aus diesen beiden Spalten zusammengesetzt.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |