Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En un DataSet, se forma una asociación entre dos o más columnas al crear una relación entre padre e hijo. Hay tres maneras de representar una relación DataSet dentro de un esquema del lenguaje de definición de esquemas XML (XSD):
Especificar tipos complejos anidados.
Use la anotación msdata:Relationship .
Especifique un xs:keyref sin la anotación msdata:ConstraintOnly .
Tipos complejos anidados
Las definiciones de tipos complejos anidados en un esquema indican las relaciones de elementos primarios y secundarios. El siguiente fragmento de esquema XML muestra que OrderDetail es un elemento secundario del elemento Order .
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderDetail" />
<xs:complexType>
</xs:complexType>
</xs:sequence>
</xs:complexType>
</xs:element>
El proceso de asignación del esquema XML crea tablas en DataSet que se corresponden con los tipos complejos anidados del esquema. También crea columnas adicionales que se utilizan como columnas primarias y secundarias para las tablas generadas. Tenga en cuenta que estas columnas primaria-secundaria especifican relaciones, lo cual no es lo mismo que especificar restricciones de clave principal y clave externa.
Anotación msdata:Relationship
La anotación msdata:Relationship le permite especificar explícitamente relaciones primaria-secundaria entre los elementos del esquema que no están anidados. En el ejemplo siguiente se muestra la estructura del elemento Relationship .
<msdata:Relationship name="CustOrderRelationship"
msdata:parent=""
msdata:child=""
msdata:parentkey=""
msdata:childkey="" />
Los atributos de la anotación msdata:Relationship identifican los elementos implicados en la relación parent-child, así como los elementos parentkey y childkey y los atributos implicados en la relación. El proceso de asignación utiliza esta información para generar tablas en DataSet y para crear la relación de clave principal y clave externa entre estas tablas.
Por ejemplo, el siguiente fragmento de esquema especifica los elementos Order y OrderDetail en el mismo nivel (no anidado). El esquema especifica una anotación msdata:Relationship, que especifica la relación padre-hijo entre estos dos elementos. En este caso, se debe especificar una relación explícita mediante la anotación msdata:Relationship .
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="OrderDetail">
<xs:complexType>
</xs:complexType>
</xs:element>
<xs:element name="Order">
<xs:complexType>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:appinfo>
<msdata:Relationship name="OrdOrdDetailRelation"
msdata:parent="Order"
msdata:child="OrderDetail"
msdata:parentkey="OrderNumber"
msdata:childkey="OrderNo"/>
</xs:appinfo>
</xs:annotation>
El proceso de mapeo usa el elemento Relationship para crear una relación padre-hijo entre la columna OrderNumber de la tabla Order y la columna OrderNo de la tabla OrderDetail en el DataSet. El proceso de asignación sólo especifica la relación; no especifica automáticamente ninguna restricción para los valores de estas columnas, como ocurre en las restricciones de clave principal y clave externa de las bases de datos relacionales.
En esta sección
Asignar relaciones implícitas entre elementos de esquema anidados
Describe las restricciones y relaciones que se crean implícitamente en un conjunto de datos cuando se encuentran elementos anidados en el esquema XML.
Relaciones de mapa especificadas para elementos anidados
Describe cómo establecer explícitamente las relaciones en un conjunto de datos para los elementos anidados en el esquema XML.
Especifica relaciones entre los elementos sin anidar
Describe cómo crear relaciones en un conjunto de datos entre elementos de esquema XML que no están anidados.
Secciones relacionadas
Derivación de la estructura relacional del conjunto de datos desde el esquema XML (XSD)
Describe la estructura relacional, o el esquema, de un dataSet que se crea a partir del esquema del lenguaje de definición de esquemas XML (XSD).
Asignar restricciones de un esquema XML (XSD) a restricciones de conjuntos de datos
Describe los elementos de esquema XML usados para crear restricciones de clave únicas y externas en un DataSet.