応用情報技術者試験 令和5年秋期 問27
関係モデルにおける外部キーの説明として,適切なものはどれか。
ア:ある関係の候補キーを参照する属性,又は属性の組
出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05a_ap_am_qs.pdf
イ:主キー以外で,タプルを一意に識別できる属性,又は属性の組
ウ:タプルを一意に識別できる属性,又は属性の組の集合のうち極小のもの
エ:タプルを一意に識別できる属性,又は属性の組を含む集合
外部キーとは
リレーショナルデータベースでは1つの表に全ての情報が保存されているわけではなく、保守性や可用性、障害対策などの面から複数の表に保存して、それぞれの表同士でリンクさせて管理しています。
例えば商品の販売管理で次のような表があったとします。売上表に商品名や単価などを含めたデータを保存するとデータ量が非常に大きくなります。※実際にはこの他にも会員IDや決済方法なども保存されます。
そのため、できるだけデータを軽くするために商品IDだけを保存して商品名や単価は必要に応じて参照する形を採っています。
このように他の表にあるデータを参照するデータのことを「外部キー」と言います。外部キーは参照先の表では「主キー」として設定されていることが多くあります。
主キーとは
表にある数多くのデータから、あるレコード(行)を特定するためのデータです。基本的には、特定のレコードを特定するためのデータが保存された列に対して設定します。
他にも複数の列に対して設定することもできます。
主キーには次のルールがあります。
必ずデータを入れなければならない(NOT NULL制約)
主キーが設定された列内では同じデータを保存できない(ユニーク制約)
正解は「ア:候補キーを参照する属性」です。