Recordset

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Recordset ist in der Datenbanksprache eine Kopie von Datensätzen (engl. data record) aus einer oder mehreren Tabellen zur weiteren Verarbeitung wie der Anzeige auf dem Bildschirm oder Übermittlung an separate Anwendungen. Ein solcher Recordset bleibt stabil, auch wenn die betroffenen Datensätze sich in der Zwischenzeit verändern, und wird von einer Datenbank als Ergebnis einer Anfrage zurückgeliefert.

Es dient dazu, aus einer Datenbank für den jeweiligen Verwendungszweck optimierte Teilmengen zu generieren, die auf die anschließende Weiterverarbeitung zugeschnitten sind. Das Recordset kann dabei eine beliebige Datenmenge (Datensätze und Spalten betreffend, ggf. aus mehreren Tabellen) enthalten und entspricht einer virtuellen Tabelle.

Recordsets haben den Vorteil, dass die entsprechende Selektion und Zusammenfassung der abgefragten Informationen im Regelfall deutlich schneller erfolgt, als wenn die Daten einzeln abgefragt und in Skripten außerhalb der Datenbank zusammengeführt werden. Außerdem reduziert sich die Menge (i. d. R. weniger Spalten) der von der Datenbank zurückgelieferten Daten und werden weniger Ressourcen für die Verarbeitung in Skripten (i. d. R. weniger Datensätze bzw. keine weitere Selektion mehr erforderlich) benötigt. Besonders bei Systemen mit einer hohen Auslastung durch viele Zugriffe oder sehr umfangreichen Datensätzen können durch eine optimierte Gestaltung der Recordsets deutliche Performance-Gewinne erzielt werden.

Beispiel für ein Recordset[Bearbeiten]

Ein Recordset kann Daten von aktiven Kunden enthalten und aus Adressdaten, kombiniert mit aggregierten Umsatzzahlen sowie dem Namen eines Ansprechpartners bestehen.

Hierbei würden Informationen für alle Kunden selektiert, die in einem vorher festgelegten Zeitraum etwas gekauft haben, alle Einzelumsätze aufsummiert und der Name des Ansprechpartners ergänzt. Die enthaltenen Daten können dann anschließend z. B. in Tabellenform Zeile für Zeile ausgegeben werden.