Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I progetti di database SQL supportano la generazione automatica di oggetti raccolta XML Schema da file XSD (XML Schema Definition). Quando si include un file XSD nel progetto con i metadati appropriati, il processo di compilazione crea un'istruzione CREATE XML SCHEMA COLLECTION che è possibile usare per applicare la convalida dei dati XML nel database.
Le raccolte di XML Schema forniscono colonne XML tipizzate in SQL Server, consentendo al motore di database di convalidare i dati XML rispetto agli schemi definiti e ottimizzare le prestazioni delle query.
Configurare i file XSD nel progetto
Per generare una raccolta di XML Schema da un file XSD, aggiungere un Build elemento al file di progetto (.sqlproj) con due elementi di metadati necessari:
-
RelationalSchema: schema di database in cui viene creata la raccolta di XML Schema (ad esempio,
dbo) - XMLSchemaCollectionName: nome dell'oggetto raccolta XML Schema risultante nel database
L'esempio seguente illustra come configurare un file XSD in un progetto SQL:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="2.1.0" />
<PropertyGroup>
<Name>MyDatabase</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql170DatabaseSchemaProvider</DSP>
<ModelCollation>1033, CI</ModelCollation>
</PropertyGroup>
<ItemGroup>
<Build Include="OrderSchema.xsd">
<RelationalSchema>dbo</RelationalSchema>
<XMLSchemaCollectionName>OrderSchemaCollection</XMLSchemaCollectionName>
</Build>
</ItemGroup>
</Project>
Esempio di file XSD
Il file XSD definisce la struttura che devono essere seguiti dai dati XML. Nell'esempio seguente viene definito uno schema per un Order elemento contenente uno o più Item elementi:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Item" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Quando il progetto viene compilato, questo file XSD genera un'istruzione CREATE XML SCHEMA COLLECTION che crea l'oggetto OrderSchemaCollectiondbo nello schema.
Usare colonne XML tipizzate
Dopo aver definito la raccolta di XML Schema, farvi riferimento nelle definizioni di tabella per creare colonne XML tipizzate. Le colonne XML tipizzate convalidano i dati rispetto allo schema e migliorano le prestazioni delle query.
Nell'esempio seguente viene creata una tabella con una colonna XML tipizzata che usa la raccolta di schemi generata:
CREATE TABLE dbo.Orders (
Id INT PRIMARY KEY,
OrderData XML(dbo.OrderSchemaCollection)
);
Quando si inseriscono dati nella colonna
Contenuti correlati
- raccolte di schemi XML (SQL Server)
- dati XML (SQL Server)
- Proprietà del progetto