複数の事業部、部、課及び係のような組織階層の概念データモデルを、第3正規形の表、
組織(組織ID, 組織名, …)
として実装した。
組織の親子関係を表示するSQL文中のaに入れるべき適切な字句はどれか。
ここで、“組織”表記中の下線部は、主キーを表し、追加の属性を想定する必要がある。
また、モデルの気泡としてUMLを用いる。
{階層}は組織の親子関係が循環しないことを支持する制約記述である。
SELECT 組織1.組織名 AS 親組織, 組織2.組織名 AS 子組織
FROM 組織 AS 組織1, 組織 AS 組織2
WHERE a
ア | 組織1.親組織ID = 組織2.子組織ID |
イ | 組織1.親組織ID = 組織2.組織ID |
ウ | 組織1.組織ID = 組織2.親組織ID |
エ | 組織1.組織ID = 組織2.子組織ID |
答え ウ
【解説】
問題のSQL文の『SELECT 組織1.組織名 AS 親組織, 組織2.組織名 AS 子組織』から組織1が親組織であり、組織2が子組織である。
したがって、 a に入るのは、組織の親子関係を抽出するには、親組織である組織1がもつ子組織の組織IDが子組織である組織2の組織IDとの一致(組織1.子組織ID = 組織2.組織ID)。
または、親組織である組織1の組織IDが子組織である組織2がもつ親組織の組織IDと一致(組織1.組織ID = 組織2.親組織ID)する条件文である。(ウ)
【キーワード】
・SQL文