本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成29年度 技術士第二次試験問題【必須科目】

T−12

次のデータモデルで、左のモデル中の表「科−講−教」を右のように、表「科−教」と表「科−講」に情報無損失分解した。次のうち、分解前の「科−講−教」に認識された関数の制約として最も適切なものはどれか。ここで、「科−講−教」はBCNF (Boyce-Codd normal form) である。また、モデル表記にはUMLを用いる。

@ 3項関連

A 関数従属

B 結合従属

C 参照制約

D 多値従属


正解

D


解説

@ 3項関連は、3つのエンティティの多重度が互いに多対多の関係にあることで、中心にひし形を描き、3つエンティティと実線で結ぶ。

A 関数従属は、ある属性の値が決まると、他の属性の値も一意に決まる関係のことである。

B 結合従属は、1つの表を分解して得られる複数の表が、結合によって元の表に戻ることができる関係のことである。

C 参照制約は、DBMSにおいて、データの追加や更新及び削除の際に、関連するデータ間で不一致を発生させないようにするものである。

D 正しい。問題の場合、講師は科目が決まれば教科書に関わらず、決定される。このような場合、「科目 →→ 講師」と表し、講師は科目に対して多値従属であるという。
また、教科書は科目が決まれば講師に関わらず、決定される。従って、「科目 →→ 教科書」と表し、教科書は科目に対して多値従属である。
問題の左の図の場合は、対称性のある多値従属性 (自明でない多値従属性) が成り立っており、「科目 →→ 講師 | 教科書」という式で表現ができる。
なお、対称性のある多値従属性を分解すると、第4正規形となる。言い換えると、自明でない多値従属性を分解すると、第4正規形となる。

T−11 目次 T−13