Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In een schema kunt u een sleutelbeperking opgeven voor een element of kenmerk met behulp van het key element. Het element of kenmerk waarop een sleutelbeperking is opgegeven, moet unieke waarden hebben in een schema-exemplaar en mag geen null-waarden hebben.
De sleutelbeperking is vergelijkbaar met de unieke beperking, behalve dat de kolom waarop een sleutelbeperking is gedefinieerd, geen null-waarden mag hebben.
De volgende tabel bevat een overzicht van de msdata kenmerken die u in het key element kunt opgeven.
| Naam van kenmerk | Beschrijving |
|---|---|
| msdata:ConstraintName | Als dit kenmerk is opgegeven, wordt de waarde gebruikt als de naam van de beperking. Anders geeft het name kenmerk de waarde van de naam van de beperking op. |
| msdata:PrimaryKey | Als PrimaryKey="true" aanwezig is, wordt het IsPrimaryKey beperkingsattribuut ingesteld op waar, waardoor het een primaire sleutel wordt. De AllowDBNull kolomeigenschap is ingesteld op false, omdat primaire sleutels geen null-waarden kunnen hebben. |
Bij het converteren van een schema waarin een sleutelbeperking is opgegeven, maakt het toewijzingsproces een unieke beperking voor de tabel met de AllowDBNull kolomeigenschap ingesteld op false voor elke kolom in de beperking. De IsPrimaryKey-eigenschap van de unieke voorwaarde is ook ingesteld op false tenzij u msdata:PrimaryKey="true"key hebt opgegeven. Dit is identiek aan een unieke beperking in het schema waarin PrimaryKey="true".
In het volgende schemavoorbeeld geeft het key element de sleutelbeperking voor het CustomerID element op.
<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>
Het key element geeft aan dat de waarden van het CustomerID onderliggende element van het Customers element unieke waarden moeten hebben en geen null-waarden mogen hebben. Bij het vertalen van het XML Schema Definition Language (XSD)-schema creëert het toewijzingsproces de volgende tabel:
Customers(CustomerID, CompanyName, Phone)
De XML-schema toewijzing maakt ook een UniqueConstraint in de CustomerID kolom, zoals te zien is in het volgende DataSet. (Ter vereenvoudiging worden alleen relevante eigenschappen weergegeven.)
DataSetName: MyDataSet
TableName: customers
ColumnName: CustomerID
AllowDBNull: False
Unique: True
ConstraintName: KeyCustID
Table: customers
Columns: CustomerID
IsPrimaryKey: True
In de gegenereerde DataSet is de IsPrimaryKey-eigenschap van de UniqueConstraint ingesteld op true, omdat het schema msdata:PrimaryKey="true" specificeert in het key-element.
De waarde van de ConstraintName eigenschap van de UniqueConstraint in de DataSet is de waarde van het msdata:ConstraintName kenmerk dat is gespecificeerd in het key element in het schema.