Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In einem Schema können Sie eine Schlüsseleinschränkung für ein Element oder Attribut mithilfe des key Elements angeben. Das Element oder Attribut, für das eine Schlüsseleinschränkung angegeben wird, muss eindeutige Werte in jeder Schemainstanz aufweisen und darf keine NULL-Werte aufweisen.
Die Schlüsseleinschränkung ähnelt der eindeutigen Einschränkung, mit der Ausnahme, dass die Spalte, für die eine Schlüsseleinschränkung definiert ist, keine Nullwerte aufweisen kann.
In der folgenden Tabelle werden die msdata Attribute beschrieben, die Sie im key Element angeben können.
| Attributname | BESCHREIBUNG |
|---|---|
| msdata:ConstraintName | Wenn dieses Attribut angegeben ist, wird der Wert als Einschränkungsname verwendet. Andernfalls stellt das name Attribut den Wert des Einschränkungsnamens bereit. |
| msdata:PrimaryKey | Wenn PrimaryKey="true" vorhanden, wird die IsPrimaryKey Einschränkungseigenschaft auf "true" festgelegt, wodurch sie zu einem Primärschlüssel wird. Die AllowDBNull Spalteneigenschaft ist auf "false" festgelegt, da Primärschlüssel keine NULL-Werte aufweisen können. |
Beim Konvertieren eines Schemas, in dem eine Schlüsseleinschränkung angegeben ist, erstellt der Zuordnungsprozess eine eindeutige Einschränkung für die Tabelle, wobei die Spalteneigenschaft für jede Spalte in der Einschränkung auf false festgelegt wird AllowDBNull. Die IsPrimaryKey Eigenschaft der eindeutigen Einschränkung wird auf false festgelegt, es sei denn, Sie haben das msdata:PrimaryKey="true" Element angegebenkey. Dies ist identisch mit einer eindeutigen Einschränkung im Schema, in dem PrimaryKey="true".
Im folgenden Schemabeispiel gibt das key Element die Schlüsseleinschränkung für das CustomerID Element an.
<xs:schema id="cod"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Customers">
<xs:complexType>
<xs:sequence>
<xs:element name="CustomerID" type="xs:string" minOccurs="0" />
<xs:element name="CompanyName" type="xs:string" minOccurs="0" />
<xs:element name="Phone" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="Customers" />
</xs:choice>
</xs:complexType>
<xs:key msdata:PrimaryKey="true"
msdata:ConstraintName="KeyCustID"
name="KeyConstCustomerID" >
<xs:selector xpath=".//Customers" />
<xs:field xpath="CustomerID" />
</xs:key>
</xs:element>
</xs:schema>
Das key Element gibt an, dass die Werte des CustomerID untergeordneten Elements des Customers Elements eindeutige Werte aufweisen müssen und keine Nullwerte aufweisen können. Beim Übersetzen des XSD-Schemaschemas (XML Schema Definition Language) erstellt der Zuordnungsprozess die folgende Tabelle:
Customers(CustomerID, CompanyName, Phone)
Die XML-Schemazuordnung erstellt auch eine UniqueConstraint für die CustomerID Spalte, wie in der folgenden DataSetAbbildung dargestellt. (Aus Gründen der Einfachheit werden nur relevante Eigenschaften angezeigt.)
DataSetName: MyDataSet
TableName: customers
ColumnName: CustomerID
AllowDBNull: False
Unique: True
ConstraintName: KeyCustID
Table: customers
Columns: CustomerID
IsPrimaryKey: True
In dem DataSet erzeugten Objekt wird die Eigenschaft IsPrimaryKey des Elements UniqueConstraint auf true gesetzt, da das Schema im Element keymsdata:PrimaryKey="true" angibt.
Der Wert der ConstraintName-Eigenschaft des UniqueConstraint im DataSet ist der des msdata:ConstraintName-Attributs, das im key-Element im Schema angegeben ist.