わかればいいや、DBスペシャリスト過去問解説

厳密な解説よりも「わかればいいや」とか「わかりやすい」を基準に解説していきます。

1873 views

問4

今回は地味に色々知っていないと、しんどい問題。
解くために必要な知識は以下の3つと思われる。

  • プロパティグラフとは何か
  • UML記法の関連について
  • UML記法の制約について

プロパティグラフ

情報工学科でグラフ理論をかじった人は、理解が早いと思う。
そうでない人は「グラフ」というのが「棒グラフ」や「折れ線グラフ」といったグラフとは別物として認識し直す必要がある。
どのくらい別物かというと、「ギガデイン」と「サンダガ」くらい違う。
どっちも電撃魔法で共通する部分もあるが、そもそもゲームが違う、扱いも違う。
ドラクエだったら勇者の最強呪文扱いだけど、FFだったらメテオやホーリーのほうが上位魔法でサンダガは扱い悪い。
つまり、情報理論のグラフは別のゲームの話だと思って取り組むとよい。
情報理論のグラフは以下を入り口に調べてみるとよい。
グラフ理論

プロパティグラフについてはこちらのほうが分かりやすいので、こちらを参照してください。
プロパティグラフ

UML記法の関連について

通常、E-R図の関連線はテーブルとテーブルの間に引くものだが、上記の図は関連線に点線が接続されている。
細かいことを気にするなら、これは何図なのだ、というのに思い悩むかもしれない。
クラス図としてみた場合、こちらのUM-図9のとおり、関連クラス扱いになる。
http://www.ics.kagoshima-u.ac.jp/edu/SoftwareEngineering/uml-modeling.html

一方、以下のような形式で出題されることもあり、これはE-R図として表現されている。ちなみに答えはエ。
H24年春 午前 問4の問題

とりあえず、クラス図やE-R図で「関連」を表現したい場合は、関連線の間に点線で表記することがある、という理解でOK。
点線を使った関連はクラス図にしか使用しない、またはE-R図にしか使用しないとかそういうものではない。

H24年春 午前 問4の問題が示すとおり、現実にモノとして存在するのは「会社」と「人」で、「雇用する」という行動によって会社と人がつながる。
論理設計では「雇用する」と一言で済ませられることも、実装段階になると、会社と人をつなぐ実装が必要である。
つまり、誰がどの会社で働いているかを管理するクラス、またはテーブルが必要になる。
現実ではよくエのような記述をするが、その前段階として上述のような書き方をしたとしても、それはそれでアリである。
ただ、やっぱりエのような記述にしてくれたほうがわかりやすいとは思う(そもそも直せという問題になっている時点で設計書としてはおかしい)。

UML記法の制約について

制約についてはこちらを参照。これもUMLの記法である。
制約Constraint


問題の図中には「制約:同時には成立しない」と書かれているが、正直、何が同時に成立しないのか、わからない。
色々調べた結果、一つのプロパティがノードとエッジ両方に所属することはない、ということが言いたいらしい。
「▲所属する」と書いているくらいなのだから、「どちらか一つに所属する」と書けばよいものを、なんなんだ、この問題?
成立って単語を何故使う?
情報処理試験のこういうところが、ほんとにキライ。
ひっかけ問題のつもりだとしたら、こんなどうでもいいところで回答者の脳みそを消耗させる試験に一体何の価値があるのか…。

さて、長い前準備が整ったところで問題を考えていく。

まず、ア。これは以下の図の赤枠部分がおかしい。エッジ間同士で関連があるとは書いてないので間違い。

次にイ。これが正解。


ノード同士で接続があり、ノードとノードの接続にエッジが関連としてぶら下がるのもOK。プロパティはエッジかノードどちらか一方にだけ接続していればよく、エッジにだけ接続しているので正しい。

次にウ。


ノード同士で関連があり、ノードとノードの接続にエッジが関連としてぶら下がるのもOK。しかし、プロパティはノードに対して1以下の所属にしかできない(下図の赤枠参照)が、二つのノードに接続しているのがおかしい。

次にエ。もう、意味不明。


まず、オブジェクト図ではノードとエッジの接続にプロパティが関連としてつながっている。制約の意味が理解できれば、これはありえない。
次にエッジはノードとノードの関連なのに、オブジェクト図ではノードとエッジがマンツーマンで接続している。なんでや。
なんですぎて、逆にこれなのか?と思ってしまうくらいに謎図。

Page 4 of 13.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626