データベース|平成30年度 秋期 ITパスポート試験(特別措置試験) 問73
データベースにおける外部キーに関する記述のうち,適切なものはどれか。
- 外部キーがもつ特性を,一意性制約という。
- 外部キーを設定したフィールドには,重複する値を設定することはできない。
- 一つの表に複数の外部キーを設定することはできない。
- ✓ これが正解複数のフィールドを,まとめて一つの外部キーとして設定することができる。
解説
複数の列をまとめて一つの外部キーにすることができます。
関係データベースの外部キーは、別の表の行を指し示すための列です。注文の表に商品番号の列を置き、商品の表を指させる、といった使い方をします。指す側なので、同じ値が何度出てきても構いません。同じ商品が何度も注文されるからです。一つの表にいくつ置いてもよく、注文の表から商品と顧客の両方を指すこともできます。指す先が二つの列で決まるなら、二つをまとめて一つの外部キーにできます。一つの値で決まらなければならないのは、指される側の主キーのほうです。指す先が無い値を入れてしまうと、どこにもつながらない行ができます。これを防ぐために、指す先が実在することを確かめる決まりを置けます。参照の整合性と呼ばれ、元の行を消すときに、止めるか一緒に消すかを決めます。残る三つは、主キーの性質を外部キーに当てはめた誤りです。
ほかの選択肢はなぜ違うのか
- 外部キーがもつ特性を一意性制約と呼ぶという肢です。一意性制約は、同じ値を二度置けないという決まりで、主キーの特性です。外部キーには当てはまりません。社員番号やメールアドレスに置かれます。名前の付け先が違います。
- 外部キーの列に重複する値を置けないという肢です。置けます。指す先が同じ行であれば、何行が同じ値を持っていても構いません。重複を禁じるのは主キーのほうです。同じ商品番号が何行にも並ぶのが普通です。向きが逆になっています。
- 一つの表に外部キーを複数置けないという肢です。置けます。一つの表が別の表をいくつも指すことは、ごく普通にあります。注文が商品と顧客の両方を指す形がその例です。指す先の表が増えれば列も増えます。できないという断定が誤りです。
この問題に関係する言葉
- 外部キー
- 主キー
- 一意性制約
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。設計に使うE-R図は、この形での実装を前提にしません。
出典:平成30年度 秋期 ITパスポート試験(特別措置試験) 問73
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)