Об XML-столбце Individual.Demographics
База данных База данных AdventureWorks2008R2 содержит два типа заказчиков: частные лица, покупающие непосредственно в Adventure Works Cycles, и торговые посредники. Данные по торговым посредникам хранятся в столбце Demographics таблицы Store. Это описано в разделе Сведения о столбце xml Store.Demographics.
Обычные демографические сведения о частных покупателях, например об их семейном положении, количестве детей, образовании, роде занятий, количестве принадлежащих им автомашин, хобби и т. д., хранятся в столбце Demographics типа XML в таблице Person.
Чаще всего, заполняя анкету, покупатели отвечают не на все вопросы. Поэтому вместо создания нескольких столбцов, по одному для каждого вопроса анкеты, и хранения в базе данных значений NULL для вопросов, оставшихся без ответа, используется один столбец типа XML.
Анкетные данные, сохраненные в виде XML, могут также предоставляться системам управления взаимоотношениями с покупателями и системам бизнес-аналитики.
Этот столбец является типизированным столбцом xml. Схемы, применяемые в этом столбце, описаны на следующем веб-сайте Майкрософт. Для этого столбца используется XML-схема AdventureWorks2008R2 IndividualSurvey.
Образец экземпляра XML
Ниже приведен образец экземпляра XML, хранящегося в столбце Person.Demographics.
<IndividualSurvey xmlns="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey">
<TotalPurchaseYTD>8248.99</TotalPurchaseYTD>
<DateFirstPurchase>2001-07-22Z</DateFirstPurchase>
<BirthDate>1966-04-08Z</BirthDate>
<MaritalStatus>M</MaritalStatus>
<YearlyIncome>75001-100000</YearlyIncome>
<Gender>M</Gender>
<TotalChildren>2</TotalChildren>
<NumberChildrenAtHome>0</NumberChildrenAtHome>
<Education>Bachelors </Education>
<Occupation>Professional</Occupation>
<HomeOwnerFlag>1</HomeOwnerFlag>
<NumberCarsOwned>0</NumberCarsOwned>
<Hobby>Golf</Hobby>
<Hobby>Watch TV</Hobby>
<CommuteDistance>1-2 Miles</CommuteDistance>
</IndividualSurvey>
Для поиска других экземпляров XML выполните следующий запрос:
USE AdventureWorks2008R2;
GO
SELECT Demographics
FROM Person.Person
WHERE Demographics IS NOT NULL;