- トップページ
- データベーススペシャリスト
- 平成23年度特別問題
- 平成23年度特別解答・解説
平成23年度特別解答
問題1
社員と年の関連が次の条件を満たす場合をUMLのクラス図で記述するとき、a、bに入る多重度の適切な組合せはどれか。 ここで、年クラスのインスタンスは毎年存在する。
(1) | すべての社員は入社年を特定できる。 | |
(2) | 年によっては社員が入社しないこともある。 |

解答:イ
<解説>
- 「(1)すべての社員は入社年を特定できる。」から社員一人につき入社年が必ず一つ存在することが分かる。
- 「(2)年によっては社員が入社しないこともある。」から入社した社員が0人のこともあれば多数のこともあることが分かる。
したがって、イが正解である。
問題2
データベースの関係モデルの候補キーの説明として、最も適切なものはどれか。ここで、極小の組とは、その組から属性が一つでも欠落すると唯一識別性を失ってしまう組をいう。
ア | 関係のタプルを一意に識別できる属性、又属性の組 |
イ | 関係のタプルを一意に識別できる属性、又属性の組で極小のもの |
ウ | 関係のタプルを一意に識別できる属性、又属性の組で極小のものから選んだ一つ |
エ | 関係のタプルを一意に識別できる属性、又属性の組で極小のものから選んだものの残り |
解答:イ
<解説>
候補キーは、特定の行を識別できる列(項目)のことであり、主キーの候補となり得るキーのことである。
ア | × | スーパーキーの説明である。 |
イ | ○ | 候補キーの説明である。 |
ウ | × | 主キーの説明である。 |
エ | × | 代理キーの説明である。 |
問題3
人の健康状態の検査では、検査項目が人によって異なるだけでなく、あらかじめ決まっていないことも多い。このような場合の概念データモデルとして、最も適切なものはどれか。 ここで、検査項目は標準値をもち、適宜見直しが発生するものとする。 また、モデルの表記にはUMLを用いる。

解答:イ
<解説>
- 1人の人は複数の項目の検査を受け、異なる日時に複数回の検査を受ける。一人の人には複数の検査値が存在する。
⇒人と検査値の多重度は1対多である。 - 検査項目は多数の人に対し実施され同一人物に対して異なった日時に複数回実行される。一つの検査項目は多数回実施される。
⇒検査項目と検査値の多重度は1対多である。
したがって、イが正解である。
問題4
次のオブジェクト図(インスタンスを表す図)に対する概念データモデルはどれか。ここで、オブジェクト図及び概念データモデルの表記にはUMLを用いる。

解答:イ
<解説>
- 地域と仕入先の関係は、一つの地域は一つ以上の仕入先と取引がある。一つの仕入れ先は一つの地域と取引がある。
⇒地域と仕入先の関係:1対多である。 - 仕入先と仕入の関係は、一つの仕入れ先は一つ以上の仕入を行う。一つの仕入は一つの仕入れ先から行なう。
⇒仕入先と仕入の関係:1対多である。 - 仕入と部品の関係は、一回の仕入には1種類の部品のみを仕入る。1種類の部品は複数回の仕入の対象となる。
⇒仕入れと部品の関係:多対1である。
したがって、イが正解である。
問題5
“社員番号”と“氏名”を列としてもつR表とS表に対して、差(R - S)を求めるSQL文はどれか。 ここで、R表とS表の主キーは“社員番号”であり、“氏名”は“社員番号”に関数従属する。
ア | SELECT R.社員番号,S.氏名 FROM R,S WHERE R.社員番号 <> S.社員番号 |
イ | SELECT 社員番号,氏名 FROM R UNION SELECT 社員番号,氏名 FROM S |
ウ | SELECT 社員番号,氏名 FROM R WHERE NOT EXISTS (SELECT 社員番号 FROM S WHERE R.社員番号 = S.社員番号) |
エ | SELECT 社員番号,氏名 FROM S WHERE S.社員番号 NOT IN (SELECT 社員番号 FROM R |
解答:ウ
<解説>
差R-SはRに存在する行からSに存在する行を除外したものである。
よって、表「R」の列「社員番号」のデータが表「S」の列「社員番号」に存在しないレコードを検索(NOT EXISTS)するウが正解である。
お問い合わせ