ITパスポート過去問 平成30年度(2018年)問100
レコードの関連付けに関する説明のうち,関係データベースとして適切なものはどれか。
選択肢
- ア:複数の表のレコードは,各表の先頭行から数えた同じ行位置で関連付けられる。
- イ:複数の表のレコードは,対応するフィールドの値を介して関連付けられる。
- ウ:レコードとレコードは,親子関係を表すポインタで関連付けられる。
- エ:レコードとレコードは,ハッシュ関数で関連付けられる。
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
関係データベースでは、複数の表のレコードは、対応するフィールドに入っている値が一致することを条件に関連付けます。代表例は、主キーと外部キーの組合せで、同じ値をもつ行同士を結び付けます。行の位置やポインタなど、物理的な仕組みによって関連付けるのが基本ではありません。
Point
この問題は、関係データベースで表同士をどのように関連付けるかを確認する問題です。主キーと外部キーなど、フィールドの値を用いてレコードを関連付けるという基本を理解しているかが問われます。
解くために必要な知識
この問題を解くには、関係データベースにおけるテーブル間の関連付けの考え方を理解している必要があります。
用語の整理
| 用語 | 意味 |
|---|---|
| 関係データベース(リレーショナルデータベース) | データを表(テーブル)で管理し、表同士をフィールドの値で関連付けて扱うデータベースです。 |
| テーブル(表) | 行(レコード)と列(フィールド)で構成されたデータの集まりです。 |
| レコード | テーブルの1行分のデータで、1件分の情報を表します。 |
| フィールド | テーブルの1列分の項目で、「社員番号」「商品コード」などの項目名に相当します。 |
| 主キー | テーブル内の各レコードを一意に識別するフィールドです。同じ値の重複はできないのが原則です。 |
| 外部キー | 別テーブルの主キーを参照するフィールドです。テーブル間の関連付けに使います。 |
関係データベースでの関連付けの基本
関連付けの考え方
関係データベースでは、次の一致でレコード同士を関連付けます。
- 親側テーブルの主キーの値 = 子側テーブルの外部キーの値
例
| テーブル | フィールド例 |
|---|---|
| 顧客 | 顧客ID(主キー)、氏名 |
| 注文 | 注文ID(主キー)、顧客ID(外部キー)、注文日 |
このとき、注文テーブルの顧客ID(外部キー)が、顧客テーブルの顧客ID(主キー)と一致する注文が、その顧客の注文として関連付けられます。
他の選択肢に出てくる用語
| 用語 | 意味 |
|---|---|
| ポインタ | データの格納場所(アドレス)を示す情報です。ポインタで親子関係をたどる設計は、関係データベースの基本的な関連付け方法ではありません。 |
| 階層型データベース | データを木構造で管理し、親子関係を中心に扱う方式のデータベースです。 |
| ハッシュ関数 | 入力データから一定長の値を得る関数です。検索の高速化などに使われますが、テーブル間の関連付け方法ではありません。 |
問題の解法手順
各選択肢の整理
| 選択肢 | 内容 | 判定 | 理由 |
|---|---|---|---|
| ア | 行位置で関連付け | × | 関係データベースは行番号などの位置情報で関連付けません。行の並びが変わっても意味が変わらない管理が前提です。 |
| イ | 対応するフィールドの値で関連付け | ○ | 主キーと外部キーなど、フィールドの値の一致によって表同士を結び付けるのが関係データベースの基本です。 |
| ウ | 親子関係のポインタで関連付け | × | ポインタで親子関係を表すのは階層型データベースなどの考え方です。 |
| エ | ハッシュ関数で関連付け | × | ハッシュ関数は検索の高速化などで使われますが、表同士の関連付け方法そのものではありません。 |
選択肢ごとの解説
- ア:不正解
関係データベースでは、各表の何行目にあるかといった行位置では関連付けません。行の並び順が変わっても、データの意味や関連が変わらないように、フィールドの値で関連付けます。
- イ:正解
関係データベースでは、対応するフィールドの値が一致することを条件に、表同士のレコードを関連付けます。主キーと外部キーによる関連付けが代表例です。
- ウ:不正解
親子関係を表すポインタで関連付ける考え方は、階層型データベースなどの特徴です。関係データベースの基本は、ポインタではなくフィールドの値で関連付けます。
- エ:不正解
ハッシュ関数は、データの検索を速くする仕組みなどで使われますが、表と表のレコードを関連付ける方法ではありません。
まとめ
関係データベースでは、複数の表のレコードは、対応するフィールドに入っている値が一致することを条件に関連付けます。代表例は、主キーと外部キーの組合せで、同じ値をもつ行同士を結び付けます。行の位置やポインタなど、物理的な仕組みによって関連付けるのが基本ではありません。
テクノロジ系 > 技術要素 > データベース
関係データベースでは、各表の何行目にあるかといった行位置では関連付けません。行の並び順が変わっても、データの意味や関連が変わらないように、フィールドの値で関連付けます。
関係データベースでは、対応するフィールドの値が一致することを条件に、表同士のレコードを関連付けます。主キーと外部キーによる関連付けが代表例です。
親子関係を表すポインタで関連付ける考え方は、階層型データベースなどの特徴です。関係データベースの基本は、ポインタではなくフィールドの値で関連付けます。
ハッシュ関数は、データの検索を速くする仕組みなどで使われますが、表と表のレコードを関連付ける方法ではありません。