Vue d’ensemble de la mise en forme des données
la mise en forme des données signifie créer des relations hiérarchiques entre deux entités logiques ou plus dans une requête. La hiérarchie peut être vue dans les relations parent-enfant entre un enregistrement d’un jeu d’enregistrements , et un ou plusieurs enregistrements (également appelés chapitre) d’un autre jeu d’enregistrements . Dans une relation parent-enfant, le jeu d’enregistrements parent contient le jeu d’enregistrements enfant . Un exemple de telle relation hiérarchique est celle entre clients et commandes. Pour chaque client d’une base de données, il peut y avoir zéro ou plusieurs commandes. La relation hiérarchique peut être récursive, ce qui signifie que les enregistrements de petits-enfants peuvent être imbriqués dans un enregistrement enfant. En principe, un enregistrement hiérarchique peut être imbriqué à n’importe quelle profondeur. Dans la pratique, ADO limite la récursivité à un maximum de 512 Recordsets.
En général, les colonnes d’un jeu d’enregistrements en forme peuvent contenir des données d’un fournisseur de données tel que SQL Server, des références à un autre jeu d’enregistrements , des valeurs dérivées d’un calcul sur une seule ligne d’un jeu d’enregistrements , ou des valeurs dérivées d’une opération sur une colonne d’un jeu d’enregistrements entier . Une colonne peut également être nouvellement fabriquée et vide.
Lorsque vous récupérez la valeur d’une colonne qui contient une référence à une autre Recordset, ADO retourne automatiquement le jeu d’enregistrements réel représenté par la référence. La référence à un jeu d’enregistrements est en fait une référence à un sous-ensemble de l’enfant, appelé chapitre. Un parent seul peut faire référence à plusieurs enfants Recordset.
La prise en charge ADO de la mise en forme des données vous permet d’interroger une source de données et de retourner un jeu d’enregistrements dans lequel un enregistrement (parent) représente un jeu d’enregistrements (enfant) . Dans le scénario de commande client, vous pouvez utiliser la mise en forme des données pour récupérer les informations des clients ainsi que les commandes passées par chaque client dans une requête unique. Le Recordset résultant est également connu sous le nom de Recordset.
En outre, la mise en forme des données dans ADO vous permet de créer de nouveaux objets Recordset sans source de données sous-jacente à l’aide du mot clé NEW new pour décrire les champs des jeux d’enregistrements parent et enfant . Le nouvel objet Recordset peut par la suite être rempli avec des données et stocké de manière permanente. Les développeurs peuvent également effectuer différents calculs ou agrégations (par exemple, SUM, AVGet MAX) sur les champs enfants. La structuration des données peut également créer un ensemble de données parent à partir d'un ensemble de données enfant en regroupant les enregistrements dans l'enfant et en plaçant une ligne dans le parent pour chaque groupe de l'enfant.
Sql standard vous permet de récupérer des données à l’aide de syntaxe JOIN, mais cela peut être inefficace et difficile, car les données parentes redondantes sont répétées dans chaque enregistrement retourné pour une relation parent-enfant donnée. La mise en forme des données peut associer un enregistrement parent unique dans le jeu d’enregistrements parent à plusieurs enregistrements enfants dans le jeu d’enregistrements enfant , ce qui évite la redondance d'une jointure . La plupart des gens trouvent le recordset parent-enfant modèle de programmation plus naturel et plus facile à utiliser que le modèle Recordset JOIN unique.