ソフトウェア開発技術者試験では、リレーションシップを記入させる問題が、
しばしば出題されます。
(「リレーションシップ」とはエンティティー同士の対応数や依存関係といった関連性の事を言います。)
そして、ソフトウェア開発技術者試験で使用されるリレーションシップの表記は、
実務ではあまり使用されない「バックマン線図」を必ず用います。
ここに大きなポイントがあります。この「バックマン線図」表記だと、
依存関係や、繰り返し数の最小値、最大値等を表現することがそもそもできません。
なので、実装テーブルイメージまでデータが整理(正規化)されている状態で、
「バックマン線図」表記の表現できる関連性はただ一つ。
「あるテーブルのユニークキーが、もう一方のテーブルの外部キーになっている」
という関連性だけです。
また、ソフトウェア開発技術者の場合、ユニークキーは100パーセント主キーです。
その為、「リレーションシップを記述せよ。」という設問があった場合、
機械的に主キーから外部キーに向かって矢印を引けば良い
ことになります。さらにソフトウェア開発技術者試験の場合、
主キーは先頭に記述するクセがあり、外部キーは主キーと同じ名称になっているので、
主キー、外部キーを探し出す事はいとも簡単です。
この法則を知っていると、リレーションシップを記述する問題を、
おそるべきスピードで解く事ができます。
試しに、平成14年の問6を解いてみましょう。
|
設問3、以下の<関係表>を元に、<ER図>にリレーションシップを記述せよ。 |
|
<関係表> |
|
<ER図> |
|
|
|
さて、真面目に「『科目』に対して『教職員』は一人だからN対1で・・・」なんて考えている方。
時間がもったいないです。
上記で述べた法則を利用しましょう。
|
STEP1.まずは主キーの特定です。主キーに下線が引いてありますから簡単ですね。 |
|
|
STEP2.続いて、主キーから外部キー(主キーと同じ名称の項目)へ矢印を引きます。 |
|
|
STEP3.後はその矢印をER図に転記しておしまいです。 |
|
|
|
いかがでしょうか?簡単ですね。リレーションシップを記述させる問題はちょくちょく出てくるので、
クセ付けて覚えてしまうと良いと思います。
|