Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os projetos de banco de dados SQL suportam a geração automática de objetos de coleção de esquema XML a partir de arquivos XSD (Definição de Esquema XML). Quando você inclui um arquivo XSD em seu projeto com os metadados apropriados, o processo de build cria uma CREATE XML SCHEMA COLLECTION instrução que você pode usar para impor a validação de dados XML em seu banco de dados.
As coleções de esquemas XML fornecem colunas XML tipadas no SQL Server, permitindo que o mecanismo de banco de dados valide dados XML contra esquemas definidos e otimize o desempenho das consultas.
Configurar arquivos XSD no projeto
Para gerar uma coleção de esquemaS XML de um arquivo XSD, adicione um Build item ao arquivo de projeto (.sqlproj) com dois elementos de metadados necessários:
-
RelationalSchema: o esquema de banco de dados em que a coleção de esquemas XML é criada (por exemplo,
dbo) - XMLSchemaCollectionName: o nome do objeto de coleção de esquema XML resultante no banco de dados
O exemplo a seguir mostra como configurar um arquivo XSD em um projeto 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>
Exemplo de arquivo XSD
O arquivo XSD define a estrutura que os dados XML devem seguir. O exemplo a seguir define um esquema para um Order elemento que contém um ou mais Item elementos:
<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 o projeto é compilado, esse arquivo XSD gera uma CREATE XML SCHEMA COLLECTION instrução que cria o OrderSchemaCollection objeto no dbo esquema.
Usar colunas XML tipadas
Depois que a coleção de esquemas XML for definida, faça referência a ela em definições de tabela para criar colunas XML tipadas. As colunas XML tipadas validam os dados contra o esquema e melhoram o desempenho das consultas.
O exemplo a seguir cria uma tabela com uma coluna XML tipada que usa a coleção de esquemas gerada:
CREATE TABLE dbo.Orders (
Id INT PRIMARY KEY,
OrderData XML(dbo.OrderSchemaCollection)
);
Quando você insere dados na coluna OrderData, SQL Server valida o XML no esquema OrderSchemaCollection. XML inválido que não está em conformidade com o esquema é rejeitado.
Conteúdo relacionado
- coleções de esquemas XML (SQL Server)
- dados XML (SQL Server)
- Propriedades do projeto