Überblick über die Datenumformung
Datenstrukturierung bedeutet, hierarchische Beziehungen zwischen zwei oder mehr logischen Entitäten in einer Abfrage zu erstellen. Die Hierarchie kann in den Eltern-Kind-Beziehungen zwischen einem Datensatz einer Datensatzgruppeund einem oder mehreren Datensätzen (auch als Kapitel bezeichnet) einer anderen Datensatzgruppeerkannt werden. In einer Eltern-Kind-Beziehung beinhaltet das Eltern-Recordset- das Kind-Recordset. Ein Beispiel für eine solche hierarchische Beziehung sind Kunden und Bestellungen. Für jeden Kunden in einer Datenbank kann es null oder mehr Bestellungen geben. Die hierarchische Beziehung kann rekursiv sein, was bedeutet, dass Enkeldatensätze in einem untergeordneten Datensatz geschachtelt werden können. Grundsätzlich kann ein hierarchischer Datensatz in jede Tiefe geschachtelt werden. In der Praxis beschränkt ADO die Rekursion auf maximal 512 Recordset-s.
Im Allgemeinen können Spalten eines geformten Recordset- Daten eines Datenanbieters wie SQL Server, Verweise auf ein anderes Recordset, Werte, die von einer Berechnung einer einzelnen Zeile eines Recordsetabgeleitet werden, oder Werte enthalten, die von einem Vorgang über eine Spalte eines gesamten Recordsetabgeleitet wurden. Eine Spalte kann auch neu hergestellt und leer sein.
Wenn Sie den Wert einer Spalte abrufen, die einen Verweis auf ein anderes Recordset-enthält, gibt ADO automatisch den tatsächlichen Recordset- zurück, der durch den Verweis dargestellt wird. Der Verweis auf ein Recordset- bezieht sich tatsächlich auf eine Teilmenge des untergeordneten Datensatzes, die als Kapitelbezeichnet wird. Ein einzelnes übergeordnetes Element kann auf mehr als ein untergeordnetes -Recordsetverweisen.
Mit der ADO-Unterstützung für die Datenformung können Sie eine Datenquelle abfragen und ein Recordset zurückgeben, in dem ein (übergeordneter) Datensatz ein (untergeordnetes) Recordsetdarstellt. Im Kundenauftragsszenario können Sie die Datenstrukturierung verwenden, um Kundeninformationen sowie die Bestellungen abzurufen, die von jedem Kunden in einer einzigen Abfrage getätigt werden. Das resultierende Recordset ist auch als geformtes Recordset bekannt.
Darüber hinaus können Sie mit der Datenstrukturierung in ADO neue Recordset- Objekte ohne zugrunde liegende Datenquelle erstellen, indem Sie das schlüsselwort NEW verwenden, um die Felder der übergeordneten und untergeordneten Recordsetszu beschreiben. Das neue Recordset-Objekt kann dann mit Daten aufgefüllt und dauerhaft gespeichert werden. Entwickler können auch verschiedene Berechnungen oder Aggregationen (z. B. SUMME, AVG-und MAX) für untergeordnete Felder ausführen. Datenstrukturierung kann auch ein übergeordnetes Recordset- aus einem untergeordneten Recordset- erstellen, indem Datensätze im untergeordneten Element gruppiert und eine Zeile im übergeordneten Element für jede Gruppe im untergeordneten Element platziert werden.
Mit regulärem SQL können Sie Daten mithilfe von JOIN- Syntax abrufen. Dies kann jedoch ineffizient und unübersichtlich sein, da redundante übergeordnete Daten in jedem Datensatz wiederholt werden, der für eine bestimmte Beziehung zwischen übergeordnetem und untergeordnetem Element zurückgegeben wird. Die Datenstrukturierung kann einen einzelnen übergeordneten Datensatz im übergeordneten Recordset- mit mehreren untergeordneten Datensätzen im untergeordneten Recordset-verknüpfen. Dadurch wird die Redundanz eines JOIN-vermieden. Die meisten Personen finden das Eltern-Kind--Recordset--Programmiermodell natürlicher und einfacher zu verwenden als das einfache Recordset-JOIN--Modell.