関係データベースの表・レコード・フィールドを図で見分ける
ITパスポート試験 令和6年度 問60 / データベース › データベース設計
過去問にチャレンジ
関係データベースを構成する要素の関係を表す図において,図中のa~cに入れる字句の適切な組合せはどれか。


- ア
a:表、b:フィールド、c:レコード
- イ
a:表、b:レコード、c:フィールド
- ウ
a:フィールド、b:表、c:レコード
- エ
a:レコード、b:表、c:フィールド
会話形式の解説
講師この問題では、関係データベースを構成する要素の大小関係が問われています。図は左から右へ、大きい単位を小さい単位に分けていく流れになっています。それぞれの括弧が「何の集まり」を示していて、太枠が「その1つ分」を示している、という見方で読んでいきましょう。
受験者表、レコード、フィールドのどれも聞いたことはありますが、レコードとフィールドのどちらが行でどちらが列なのか、いつも迷ってしまいます。
講師では大きいほうから順に見ます。まず円柱がデータベースで、その中にいくつか四角が入っていますね。関係データベースは複数の表(テーブル)の集まりで構成されるので、aは表です。
受験者円柱から取り出されたものが、行と列のある二次元の形になっているので、表で合っていると思います。
講師そうです。次に、その表の左の括弧は、bが集まって表になることを示しています。bそのものは、太枠で示された横1行にあたります。表の横1行は1件分のデータで、これをレコードと呼びます。
受験者なるほど。aを表にしてbをフィールド、cをレコードにした組合せは、aまでは合っていても、横1行をフィールドと呼ぶことになるので合わないということですね。
講師そのとおりです。bの集まりが表になっていて、bは表を構成する横1行なのでレコードです。その組合せだと、行をフィールド、行を区切ったマスをレコードと呼ぶことになり、用語の意味と逆になります。
受験者最後に、取り出した1行がマスに区切られていて、その全体が「cの集まり」、太枠のマス1つがcなので、cがフィールドですね。
講師はい。レコードは項目ごとの値の集まりで、その項目にあたるものがフィールドです。表の一番上に項目1、項目2と見出しが付いているのが列で、その1つ分がフィールドです。
受験者aをフィールドにしている組合せは、データベースのすぐ下にフィールドが来てしまうので違うと考えました。
講師合っています。データベースを直接構成するのは表です。それに、フィールドは表全体ではなく、1つの列、つまり項目を指す言葉です。
受験者aをレコードにすると、データベースがレコードの集まりになってしまい、表の位置づけが合わないと思いました。
講師そのとおりです。データベースの直下は表で、レコードではありません。レコードは1行分のデータにすぎません。また、bの位置は表を構成する横1行なので、そこを表とするのも合いません。表は行と列からなる二次元の単位で、1行分ではないからです。
受験者整理すると、データベースは表の集まり、表はレコードの集まり、レコードはフィールドの集まりで、aが表、bがレコード、cがフィールドの組合せが正解ですね。
講師はい、それで正解です。よくある引っかけは、レコードとフィールドを入れ替えた選択肢です。「1件=1行=レコード」「項目名が付いているもの=列=フィールド」と結び付けておくと迷いにくくなります。なお、教材によってはレコードを行やタプル、フィールドを列や属性と呼ぶこともあります。
まとめ
関係データベースは複数の表の集まりで、表は行と列からなる二次元形式のデータです。表の横1行は1件分のデータでレコードと呼び、レコードを項目ごとに区切った1つ分がフィールド(列)です。包含関係は「データベース>表>レコード>フィールド」の順になるので、図のaは表、bはレコード、cはフィールドです。レコードとフィールドを入れ替えた選択肢が典型的な引っかけなので、「1件=1行=レコード」「項目名が付いた列=フィールド」と結び付けて覚えると迷いにくくなります。
解答・解説
正解はイです
この問題のテーマ
関係データベースを構成する「表」「レコード」「フィールド」の包含関係を、図の上で正しく対応付けられるかを問う問題です。
解き方の考え方
図は左から右へ、大きい単位から小さい単位へ順に分解しています。まずデータベース(円柱)の中に並ぶ四角が何の集まりかを考えます。次に、そこから取り出した二次元の表について、縦方向の括弧でくくられた横1行が何の集まりかを考えます。最後に、取り出した1行をマス目に分けた1つ分が何かを考えます。データベース>表>レコード>フィールドという順序を当てはめると、aが表、bがレコード、cがフィールドになります。
選択肢ごとの解説
- ×ア a:表、b:フィールド、c:レコードaを表とした点は合っていますが、bとcが逆になっています。図でbの集まりとされているのは表の横1行(太枠の行)が縦に並んだものなので、bは行、つまりレコードです。この組合せでは行をフィールド、行を区切ったマスをレコードと呼ぶことになり、用語の意味に合いません。
- ○イ a:表、b:レコード、c:フィールド関係データベースは表の集まりなのでaは表です。表は行の集まりで、行はレコードと呼ぶのでbはレコードです。1件分のレコードは項目ごとの値の集まりで、項目にあたるものがフィールドなのでcはフィールドです。表→行→項目という図の階層にすべて合っています。
- ×ウ a:フィールド、b:表、c:レコードaをフィールドとしているので、データベースの直下にフィールドが来ることになり誤りです。データベースを直接構成するのは表です。また、フィールドは表全体ではなく1つの列(項目)を指す語です。
- ×エ a:レコード、b:表、c:フィールドaをレコードとしていますが、データベースの直下の要素は表であり、レコードではありません。レコードは1行分のデータにすぎず、表のように行と列からなる二次元の単位ではないので、bを表とするのも合いません。
補足
よくある引っかけは、行と列(レコードとフィールド)を入れ替えた選択肢です。「1件=1行=レコード」「項目名が付いているもの=列=フィールド」と結び付けておくと迷いにくくなります。図の中で項目1、項目2…と見出しが付いているのが列で、その1つ分がフィールドにあたります。なお、教材によってはレコードを行やタプル、フィールドを列や属性と呼ぶこともあります。
POINT
- 関係データベースは複数の表(テーブル)の集まりで構成されます。
- 表は行と列からなる二次元形式で、行をレコード、列をフィールドと呼びます。
- レコードは1件分のデータで、複数のフィールドの値の集まりです。
- 包含関係は「データベース>表>レコード>フィールド」の順に覚えます。
