問100
頻出度★★★
レコードの関連付けに関する説明のうち,関係データベースとして適切なものはどれか。
この問題の解説と、これまでの解答の記録です。
レコードの関連付けに関する説明のうち,関係データベースとして適切なものはどれか。
「各表の先頭から数えた同じ行位置」で関連付けるのは誤り。関係データベースのレコードには順序(行位置)の意味はなく、並び順が変わっても関連は保たれる。位置による対応付けは関係モデルの考え方ではない。
正解 関係データベースでは、表と表のレコードを「対応するフィールドの値」で結び付ける。具体的には、一方の表の主キーの値を、もう一方の表の外部キーが同じ値として持つことで、両レコードが同じ実体を指していると判断する。行の位置や物理的なポインタに依存せず、あくまで値そのものが一致するかどうかで関連が決まる点が関係モデルの特徴であり、選択肢イがこれを正しく述べている。
「親子関係を表すポインタ」でレコードをつなぐのは階層型データベース(ないし網型)の方式であり、関係データベースの説明ではない。関係モデルはポインタではなく値で関連付ける。
ハッシュ関数はデータの格納位置決定や検索の高速化(インデックス実装)に使われる技法であって、レコード間の論理的な関連付けの仕組みではない。関係付けの根拠は値の一致であり、ハッシュ関数ではない。