【デスペ8問】ER図の個数対応(データベーススペシャリスト)
このNoteでは、デスペAMIIからER図の問題を特集します。
私はデスペはデータベース設計に絞って合格しました。データベース設計では「問題文から仕様読み取り→スキーマ(表)の作成→ER図の作成」がメインです。
このNoteで基礎と過去問をすることで、AMII通過は勿論、午後問題対策の入口にも立てるので、是非読んで行ってくださいね。APでは扱わなかった、デスペならではのER図(リレーション)もありますよ。
それでは始めましょう!
ER図についてまとめたNoteです。PMIを解き始めたぐらいに見るのがお薦めです。
私の4ヶ月の勉強法に興味が出たらどうぞ。私が独学合格した経験と、IT専門学校での授業内容を基に作っています。
2問 | ER図の基本とコツ
E-R図は、実体(エンティティ, E)と実体間の関係(リレーション, R)を図示したものです。IT資格ではデータベースの設計でよく見ます。
ではITパスポートの問題で基礎試しです。

正答はア。
リレーション「ー」「→」「←」を一気には決めません。左右別々に決めていきます。
あるエンティティを1個にして、相手エンティティを見たら何個対応してそうか、を考えます。その後に、今度は相手エンティティを1個にして、自分が何個対応しているかを見て決めます。

1つコツがあります。
多対多「⇔」は、考えなくてOK。

多対多はデータベースでは避けるべきですから。多対多の中間に「連関エンティティ」を新設して1対多と多対1に分割します。[E]→[連関E]←[E]。
>ITパスポートDB-4|ER図の解説Note
>ER図の解説Note(デスペ用)
ITパスポートよりも簡単な問題が、デスペAMIIでも出たんですよ。

正答はイ。
簡単です。1名の社員は入社年は1つなので、bは1。1つの入社年に複数の社員さんが入社する(0名もあり得る)ので、aは多(0を含む)。
詳しい解説は以下。飛ばしてもOKですよ。
片方を1個に固定して相手の個数を決めています。なお、問題文にヒントがあれば優先してください。明記がない場合は一般常識で解きます。
まずは、社員を1にして、入社年を見ます。「(1)入社年を特定できる」から、1つの入社年が決まります。よって1で、0はなさそう。
1社員が複数回入社するわけはないので、1より大きい数もなさそうです。
したがって、【b】は「1」と判断します。選択肢はイかエ。
次は、入社年を1つにして、社員を見ます。
「(2)入社しないこともある」より、ある入社年に該当する社員が「0」名の場合があります。
また、ある入社年に入社した社員は複数名いることはあり得ますね。
よって0~多数。
したがって【a】は「0…*」
以上より正答はイ。
1問 | スキーマからER図
デスペのデータベース設計において、「問題文読み取り→スキーマ完成→ER図完成」は王道です。必ず出題されます。
>令和5年秋午後1問2の解説Note
>令和5年秋午後1問1の解説Note

データベーススペシャリスト 平成31年午前2問05より
データベーススペシャリスト 令和03年午前2問04より
正答はイ。
問題文に個数対応に関する記述がないので、常識で判断します。

具体的なデータを考えると良いですね。
以下に詳しい解説もしますが、上図で理解できたなら飛ばしてもOKです。
医師と診療科を見ます。
医師スキーマにて「医師番号」で特定された1人に、1つの「診療科コード」がついているので、診療科側は「1」。
1つの診療科には、複数の医師が所属しているでしょうから、「0~多」と当たりをつけ、選択肢を見て医師側は多「*」。
以上より「医師*ー1診察科」。アかイに絞られます。
次は、診察と患者の関係を見てみます。分かりやすいので。
一般的に、1つ診察は1人の患者さんですよね。よって患者側は「1」になるはず。
同様に1人の患者さんは、色んな日時に、色んな診察科で診察を受けますよね。よって診察側は多「*」になるはず。
以上より「診察科*ー1患者」。選択肢はイかエ。
ここまでで、「医師*ー1診察科」よりアかイ、「診察科*ー1患者」よりイかエに絞ったので、正答はイ。
では診察科と診察で確認してみます。
正答がイなら「診察科1ー*診察」。
1つの診察科は多くの診察を実施している
1つの診察は1つの診察科で実施される
一般的な感覚で受け入れられる個数対応ですね。
イで大丈夫でしょう。
かならず必要なスキルなので、頃合いを見て過去問にも取り組んで下さいね。
>令和5年秋午後1問2の解説Note
>令和5年秋午後1問1の解説Note
2問 | 少し複雑なリレーション
1つのエンティティが複数のエンティティとつながることはあります。
午後問題なら、もっともっと複雑なリレーションでつながりますよ。

正答はエ。
ア:学期名は、学期エンティティが持つべき
イ:科目名は、授業科目エンティティが持つべき
ウ:氏名は、学生エンティティが持つべき
エ:正しい。
ア~ウを特段、受講エンティティに記録する必要性はないです。
受講には「ある学生のある学期に受けたある授業科目の何が記録されるかな」と考えます。するとエ「成績」が該当すると判断します。

データベーススペシャリスト 平成28年午前2問01より
正答はア。
アについて。ER図より「商品」1つが「在庫商品」に1~多だけ記録されるのでOK。「在庫商品」1つは「倉庫」1つに紐づけされています。
よって2つの倉庫に入庫すると、在庫商品には各倉庫での在庫数を記録するので、選択肢文の「2件追加」は正しいです。
イについて。ER図より「商品」1つが「在庫商品」に1~多だけ記録されます。よって「商品」2つは「在庫商品」2つ以上に記録されます。
ER図より「在庫商品」1つは「入庫」に1~多だけ記録されます。よって「在庫商品」2つは「入庫」に2つ以上に記録されます。設問文の「1件」は誤り。
ウについて。ER図より「在庫数量」1つは「倉庫」1つに紐づけされます。「商品」1つは「在庫数量」に1~多だけ紐づけされます。
どこも0を許していないので、倉庫と紐づいていない商品はありません。よって選択肢文の「格納先が確定してない商品が存在する」は誤り。どこかに格納されます。
エについて。ER図より「在庫商品」1つは「出庫」に0~多で紐づけされます。0があるため、出庫実績のない商品が存在します。入庫されてそのままってことですね。よって選択肢文の「存在しない」は誤り。
3問 | デスペならでのER図
APまでは「1対1」と「1対多」でつなげるだけでしたよね。
デスペではリレーションを、自分に返してきたり、同じエンティティに2本引くこともあります。>ER図の解説Note(デスペ用)


階層構造をER図で表現する問題です。

データベーススペシャリスト 平成28年午前2問04より
データベーススペシャリスト 平成31年午前2問03より
データベーススペシャリスト 令和03年午前2問02より
正答はエ。
私の一番のお薦めはモデルB。モデルAでは3層までしか表現できませんが、モデルBならいくらでも可能です。モデルCは制約があって使いにくい面がありますね。
モデルBの形は覚えて置いて下さい。組織階層・社員階層(上司と部下)の典型的な例です。午後問題で使いまくります。
アについて。例えば、モデルAの「係」の下に少人数の「グループ」を新設するとき、ER図に追記する必要があります。
イについて。モデルCが記述できます。子の立場で「組織」1つは、「組織構造」に多で紐づけられています。つまり「組織構造」の中で複数の親組織コードと紐づけられます。
ウは誤り。「子の組織コード」を外部キーにするとは、「親の組織コード」を主キーにすること。1つの親組織は、複数の子組織を持ちます。よって、「子の組織コード」を主キー、「親の組織コード」を外部キーにします。
「子の組織コード」を主キーにすれば、1つの子は1つの親に所属するので、問題ありません。

エは正しい。モデルCの「組織構造」にて、子組織コードを「部署A」・親組織コードも「部署A」と自分自身を上層組織に指定できるので、自己循環が起こってしまいます。よって設問文の通り「親子関係が巡回しないように制約を課す」必要があります。

正答はア。
ア:正しい。1つの在庫取引で、在庫品の移動元データ・在庫品の移動先データを更新します。
イ:「過去の在庫数量」も記録したいなら、在庫を確認した日時が必要ですが、ありません。ER図より倉庫コートと品目コードを複合主キーに在庫数量を記録していると判断できます。
ウ:倉庫コードにより「倉庫別」、品目コードより「品目別」、在庫取引エンティティより「入出庫の状況」を把握できます。
エ:在庫取引エンティティの右上に「制約:同一品目間の移動だけを許す」とあるため、設問文の「品目の異なる~在庫取引データを記録」できません。

正答はエ。
色んな解き方がありますが、特徴的な「△」から考えてみます。
品目より「品目番号」「品目名」「型区分」があるエンティティがあるはず。選択肢を見ると、アに型区分がないためが消えます。
次は親子関係を考えます。品目のうち組立品は、さらに構成する部品が品目にあります。そして構成する部品の数の情報が加わります。よって、「(組立品, 親の)品目番号, (子の)品目番号, (構成に必要な子の)数」が揃っているエンティティがあるはず。イに親子関係をつなげるエンティティがないので消えます。
残りはウとエ。違いは、組立品Eと部品Eを作るか作らないか。この場合、作る必要はありません。なぜならウの組立品Eと部品Eの項目が実質同じですから。もしどちらかに独自情報が追加さえるなら新設する必要がありました。
以上より、正答はエ。
なお、今回は分類(排他的サブクラス)でしたが、両立する(共存型サブタイプ)の場合は違った書き方になります。>ER図の解説Note(デスペ用)

まとめ
お疲れ様でした!
APの「ー」か「→」か、よりは難しくなっていましたね。
デスペならではの新たな記号・複雑なリレーションを体験しました。これらはAMIIのみならず、PMIとPMIIでも必要不可欠です。
これぐらいの問題は、さくさくと解けるぐらいにはなっておいてくださいね。
PMI演習を始めたら、以下を読んでください。ヤラレつつ、ヤリ返すを繰り返して、素早く正確なデータベース設計ができるようになれば、合格にぐぐぐっと近づきます。頑張ってくださいね!
私が合格してきた勉強法についてもNoteにしました。まずは書籍の読み倒し方、AMIIの勉強だけでも参考にして頂ければ、嬉しいです。
p.s. 普段は >> 専門学校とIT就職のブログ << をやってます。
でわでわ(・ω・▼)ノシ
いいなと思ったら応援しよう!
学習方法・問題特集のNoteは全て無料提供を続けます▼
もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼
もちろんコメントでも結構です(・ω・▼)ノシ