Compartir a través de


Información general sobre la forma de datos

La forma de datos significa crear relaciones jerárquicas entre dos o más entidades lógicas en una consulta. La jerarquía se puede ver en las relaciones de elementos primarios y secundarios entre un registro de un Recordset y uno o varios registros (también conocidos como capítulos) de otro Recordset. En una relación de elementos primarios y secundarios, el objeto Recordset primario contiene el Recordset secundario. Un ejemplo de esta relación jerárquica es clientes y pedidos. Para cada cliente de una base de datos, puede haber cero o más pedidos. La relación jerárquica puede ser recursiva, lo que significa que los registros secundarios se pueden anidar en un registro secundario. En principio, un registro jerárquico se puede anidar a cualquier profundidad. En la práctica, ADO limita la recursividad a un máximo de 512 Recordsets.

En general, las columnas de un Recordset con forma pueden contener datos de un proveedor de datos como SQL Server, referencias a otro Recordset, valores derivados de un cálculo en una sola fila de un Recordset o valores derivados de una operación en una columna de un Recordset completo. Una columna también se puede crear nueva y vaciar.

Al recuperar el valor de una columna que contiene una referencia a otro Recordset, ADO devuelve automáticamente el Recordset real representado por la referencia. La referencia a un Recordset es realmente una referencia a un subconjunto del elemento secundario, denominado capítulo. Un único elemento primario puede hacer referencia a más de un Recordset secundario.

La compatibilidad de ADO con el modelado de datos permite consultar un origen de datos y devolver un Recordset en el que un registro (primario) representa un Recordset (secundario). En el escenario de pedido de cliente, puede usar la forma de datos para recuperar la información de los clientes, así como los pedidos realizados por cada cliente en una sola consulta. El Recordset resultante también se conoce como Recordset con forma.

Además, la forma de datos en ADO permite crear nuevos objetos Recordset sin un origen de datos subyacente mediante la palabra clave NEW para describir los campos de los Recordsets primarios y secundarios. A continuación, el nuevo objeto Recordset se puede rellenar con datos y almacenarlos de forma persistente. Los desarrolladores también pueden realizar varios cálculos o agregaciones (por ejemplo, SUM, AVG y MAX) en campos secundarios. La forma de datos también puede crear un Recordset primario a partir de un Recordset secundario mediante la agrupación de registros en el elemento secundario y la colocación de una fila en el elemento primario de cada grupo del elemento secundario.

SQL normal le permite recuperar datos mediante la sintaxis JOIN, pero esto puede ser ineficiente y difícil porque los datos primarios redundantes se repiten en cada registro devuelto para una relación primaria-secundaria determinada. La forma de datos puede relacionar un registro primario único en el Recordset primario con varios registros secundarios del Recordset secundario, lo que evita la redundancia de un objeto JOIN. La mayoría de las personas encuentran el modelo de programación Recordset primario-secundario más natural y más fácil de trabajar con que el único modelo Recordset JOIN.