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