Columna XML Contact.AdditionalContactInfo
En la tabla Contact, se almacena la típica información de contacto de los clientes, como el nombre, el número de teléfono y la dirección de correo electrónico. Esta tabla también tiene una columna de tipo xml llamada AdditionalContactInfo.
Los clientes pueden tener varios teléfonos, móviles, direcciones de correo electrónico o localizadores. Dado que el número exacto de puntos de contacto adicionales puede no conocerse en el momento del diseño, no es posible saber cuántas columnas se necesitarán para almacenar la información. En lugar de crear varias columnas para incluir esta información y luego tener que almacenar valores NULL, se puede crear una sola columna de tipo XML para almacenar documentos XML que contengan los datos de contacto adicionales de cada cliente.
En la base de datos AdventureWorks, esta columna se denomina AdditionalContactInfo. De este modo, estos datos de contacto adicionales se pueden compartir con otras aplicaciones. Por ejemplo, la información puede ser útil para una aplicación de administración de las relaciones con los clientes (CRM).
La aplicación de CRM también podría almacenar información de contacto en esta columna. Podría incluir datos como la fecha en que se contactó con un cliente y las notas de la conversación.
Esta es una columna xml con tipo. Los esquemas que se usan para esta columna pueden verse en este sitio Web de Microsoft. Esta columna emplea los siguientes esquemas:
- Esquema AdventureWorks ContactInfo
- Esquema AdventureWorks ContactRecord
- Esquema AdventureWorks ContactTypes
Ejemplo de instancia XML almacenada en esta columna
A continuación, se muestra el ejemplo de instancia XML:
<AdditionalContactInfo xmlns="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactInfo" xmlns:crm="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactRecord" xmlns:act="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes">
<act:telephoneNumber>
<act:number>111-111-1111</act:number>
<act:SpecialInstructions>
Call only after 5PM.
</act:SpecialInstructions>
</act:telephoneNumber>
Note that customer has second home at this address.
<act:homePostalAddress>
<act:Street>123 Oak</act:Street>
<act:City>Seattle</act:City>
<act:StateProvince>WA</act:StateProvince>
<act:PostalCode>777</act:PostalCode>
<act:CountryRegion>USA</act:CountryRegion>
<act:SpecialInstructions>If correspondance to the primary address
fail, try this one</act:SpecialInstructions>
</act:homePostalAddress>
Customer provided additional email address.
<act:eMail>
<act:eMailAddress>customer1@xyz.com</act:eMailAddress>
<act:SpecialInstructions>Dont send emails for urgent issues. Instead use
this emergency contact phone
<act:telephoneNumber>
<act:number>112-111-1111</act:number>
</act:telephoneNumber>.
</act:SpecialInstructions>
</act:eMail>
<crm:ContactRecord date="2001-06-02Z">This customer is interested in
puchasing a high end bicycles for his family. The customer
contacted Mike in sales.
</crm:ContactRecord>
</AdditionalContactInfo>
Ejecute la consulta siguiente para encontrar más instancias XML:
select AdditionalContactInfo
from Person.Contact