DBスペシャリスト 22年春午前2 問1〜10

間違えた問題だけ、解説を付け加えて行きます。
間違ってたら指摘してもらえるとありがたいです・・・。



代用キー surrogate key
:意味を持たない一意の連番


代理キー alternate key
:関係の候補キーのうち主キーに選ばれなかったキー


この場合、主キーが多すぎるので、全てキーから外して代用キーを作成し、主キーは自動的に代理キーに移すというわけです。
って、これ実際にやった気がします。
ただ、逆にわかりづらくなりましたけどね・・・。


主キーは一意だけど、子テーブルの関係や取り方がどんどん複雑になっちゃいました。
当時はいろいろ制約があって、やむをえずその形にしたはずなんですけど、見返してみれば、もっと旨いやり方があっただろうし、単純に私のDB知識不足だったといっても過言ではない。
申し訳ない。次に活かします!



解き方としては、それぞれのUMLが示している関係をそれぞれ考えてみると良いと思われます。
この場合、問題に沿った関係性を求めるのであれば、3者がそれぞれm:m:mになります。
学生はいっぱい、科目は学期が違えばOK、科目は複数選択ok
UMLがちゃんと関係性を示せるという事に気づけたのが今回のDBSP対策の中でのメリットでもありました。面白い!


答え:4 エ、5 エ