HOME»データベーススペシャリスト令和6年秋期»午前Ⅱ 問5
データベーススペシャリスト令和6年秋期 午前Ⅱ 問5
問5
- 複合キーを構成する属性のうち,エンティティの性格を最もよく表している一つの属性を主キーとし,残りの属性を外部キー(foreign key)にする。
- 複合キーを構成する属性のうち,エンティティの性格を最もよく表している一つの属性を主キーとし,残りの属性を代替キー(alternate key)とする。
- 連番などを値としてとる列を新たに設けて主キーとし,複合キーの代理キー(surrogate key)とする。
- 連番などを値としてとる列を新たに設けて主キーとし,複合キーを外部キー(foreign key)にする。
- [出題歴]
- データベース H16春期 問27
- データベース H18春期 問26
- データベース H20春期 問30
- データベース H22春期 問4
分類
テクノロジ系 » データベース » データベース設計
正解
ウ
解説
複合キーは、複数の属性を組み合わせて主キーとして用いる方法です。複合キーには既存の属性だけでテーブルを構成できるという利点がありますが、主キーの属性数が多すぎると、❶SQLの結合演算記述が煩雑になる、❷テーブル間の依存度が高くなる、❸コードの仕様変更の影響を受けやすい、などの問題が生じる可能性があります。
このような問題を避けたい場合、レコードを一意に識別できる新たな属性を加え、それで主キーを置き換える方法が採用されます。このようにして追加された主キーはサロゲートキー(surrogate key)と呼ばれ、通常は連番コードなど、容易に一意性を持たせられるものが選ばれます。注文番号や会社IDなど、値自体に特定の業務的意味を持たないものが典型的な例です。
サロゲートキーが主キーとなった場合、元の複合キーは主キーではなくなります。このように、主キーの条件を満たしていながら主キーに選ばれなかった属性は、オルタネートキー(alternate key)という扱いになります。
したがって「ウ」の記述が正解です。
このような問題を避けたい場合、レコードを一意に識別できる新たな属性を加え、それで主キーを置き換える方法が採用されます。このようにして追加された主キーはサロゲートキー(surrogate key)と呼ばれ、通常は連番コードなど、容易に一意性を持たせられるものが選ばれます。注文番号や会社IDなど、値自体に特定の業務的意味を持たないものが典型的な例です。
サロゲートキーが主キーとなった場合、元の複合キーは主キーではなくなります。このように、主キーの条件を満たしていながら主キーに選ばれなかった属性は、オルタネートキー(alternate key)という扱いになります。
したがって「ウ」の記述が正解です。
- 複合キーは、それを構成するすべての属性の値を使用しなければテーブルのレコードを同定できません。複合主キーのうち1つの属性だけでは一意性を満たせないので、主キーとして使用することはできません。
- 「ア」と同じ理由で不適切です。
- 正しい。複合キーの代わりにサロゲートキーを主キーとします。元の複合キーはオルタネートキーとなります。
- 外部キーは、他のテーブルの主キーを参照するために使用される属性なので用途が異なります。主キーに選ばれなかった候補キーは、オルタネートキーとなります。