レコードセット【record set】リザルトセット
別名 :result set/結果セット
概要
レコードセットとは、リレーショナルデータベース(RDB)で、テーブルから指定された条件に基づいて抽出したレコード(行)の集合。プログラムとデータベースの橋渡し役として機能し、縮小された小さなテーブルのように扱うことできる。

データベースに対してSELECT文などのSQL文を実行すると、抽出された複数行のデータがレコードセットとして返却される。各行はフィールド(列)の集合であり、例えば「社員番号」「氏名」「部署」といった項目ごとに値が対応している。プログラムはこのレコードセットを通じて、個々のレコードにアクセスしたり、値を読み書きしたりすることができる。
レコードセットには「カーソル」(cursor)と呼ばれる現在位置を示す仕組みが存在し、このカーソルを移動させることでレコードを一件ずつ処理することができる。カーソルは先頭から末尾へのみ順に移動することができるタイプのものと、前後に任意に移動できる「スクロール可能カーソル」がある。
レコードセットには読み取り専用のものと、データの追加・変更・削除が可能なものがある。読み取り専用レコードセットはテーブルに記録されたデータを参照するだけであるため処理が軽く、更新可能なものはデータベースへの反映操作を伴う相応の負荷が生じる。用途に応じて使い分けることが一般的である。
Microsoft AccessやVisual Basicの「ADO」(ActiveX Data Objects)などでは、レコードセットは言語仕様上のオブジェクトとして提供されており、「Recordsetオブジェクト」を通じて操作する。現代のWebアプリケーション開発においても、オブジェクトとテーブルの相互変換を行うO/Rマッパーの内部では同様の概念が用いられており、プログラムによるデータベース操作の基礎として広く浸透している。