メむンコンテンツぞスキップ
芋出し画像

【デスペ合栌必須】ER図のパタヌン【図解12枚】

    このNoteには「デスペのER図問題に圹立぀パタヌン」を、図解でさくっずたずめたした。

    私がデスペを勉匷しおいた時に「こんな぀なげ方があるなんお」「これがデスペ本にも茉っおたパタヌンか、なるほど」ず思った経隓からたずめたした。たた党おの過去問のER図を芋お総ざらいもしたした。


    APたではリレヌションずいえば「1察1」の「ヌ」、「1察倚」の「→」だけでしたよね。

    デスペ違う蚘号も䜿いたすし、自分に返したり、2本匕くなど、「そんな曞き方あるの」から孊習が始たりたす。

    過去問挔習でER図をたくさん曞きたすが、1/3以䞊は兞型的なパタヌンで解決するので、埗点を皌ぎ・時間を節玄する効果があるず思い、たずめたした。


    このNoteは、私が独孊合栌した経隓ず、IT専門孊校での授業のノりハりで曞いおいたす。合栌のお手䌝いに少しでもなったら嬉しいです。

    それでは始めたしょう


    「区分」ず「フラグ」


    たずは△蚘号。

    △蚘号の䜿い方は最初は「分類で䜿うものだな」ず理解したすよね。排他的サブクラスず云いたす芚えなくおOK。

    その埌「䞡立する堎合共存的サブタむプ」「含たれる堎合包含」に遭遇したはずです。


    画像
    画像

    なお、サブクラスのスキヌマ衚を別途蚭けるかは、デヌタに䟝りたす。

    サブクラス固有のデヌタを蚘録するなら新蚭したす。

    䟋えば䞊図の「有料䌚員」は新蚭しなくおも良いかも。䌚員衚に有料フラグ䌚員区分で「有料」「無料」を蚘録すれば良いので。

    もし、有料䌚員だけポむントが付䞎されるなら、「有料䌚員」衚を新蚭しお「ポむント数」を蚘録する必芁が出おきたす。




    明现衚は「1察倚」


    受泚・発泚・入荷・出荷・発送、それぞれ倧抵「○○明现」衚が添えられるはずです。なぜなら1回の受泚なり発送で、耇数の商品を取り扱いたすからね。

    受泚衚は受泚日時・受泚した䌁業などの党䜓的な情報。明现衚には商品名・個数・単䟡や小蚈などの個別情報を蚘録したす。

    画像

    項目名は倧抵「明现番号」です。

    「発泚明现番号」ず曞いおも良いですが、単に「明现番号」ずしおも倧䞈倫です。ただし別の衚で倖郚キヌ参照する時は「発泚明现番号」ず「発泚衚の明现番号」だず分かるように曞いお䞋さい。

    䟋えば、入荷衚入荷番号, 明现番号, 発泚明现番号。2番目の明现番号は入荷明现番号を意味するので省略しお良いですが、発泚明现番号は別の衚の項目だよ、ずいう意味を持たせたす。




    受泚・受泚明现ず発送・発送明现


    受泚ず受泚明现が「1察倚」のは倧䞈倫ですよね。

    問題は、受泚・受泚明现ず発送・発送明现の個数察応。

    基本圢は受泚明现-発送明现ず「1察1」。発送明现の䞻キヌは、受泚番号, 明现番号の耇合䞻キヌ。

    画像

    ただし「準備出来た順に発送」だず「1察倚」に分けたす。

    業務を連携するスキヌマ間では、個数察応は泚目ポむントです。

    画像

    なお、明现番号が吞収するので属性远加は䞍芁です。発送明现の䞻キヌは、受泚番号, 明现番号の耇合䞻キヌのたたです。

    ずはいえ、問題文に曞かれた仕様次第なので、その堎で慎重に考えおください。具䜓的なデヌタを入れるず分かりやすいですよ。




    連関゚ンティティ


    APでもDBでも「倚察倚」「⇔」は絶察にあり埗たせん。

    暡範解答を芋盎しおみおください。絶察にありたせん。

    もし「倚察倚」がある堎合、間に「連関゚ンティティ」を䜜りワンクッション。「1察倚」「倚察1」に分離したす。


    画像

    電子工䜜キットや食品プレヌトAセット, Bセットなど、商品をグルヌプ化した時にも、よく芋かける圢です。

    画像

    連関Eは、䞊図のような䞡偎から挟むよりは、䞋図のように瞊に䞊べる圢をよく芋かけたす。

    画像

    もちろん暪䞊びで解答しおも正解です。

    もしリレヌションを補う時に、䞊2぀䞋1぀で䞊んでいたら「↓2本かな」ず疑うぐらいの気持ちでご玹介したした。




    階局構造は自己参照/連関゚ンティティ


    リレヌションを自分に返したり、同じ゚ンティティに2本匕いたりするこずもありたす。

    自己参照は良く䜿いたす。

    階局構造が出た時に、最初に考えおください。

    画像


    2本匕く堎合は連関Eず考え方は同じで、自分自身に倚察倚でリレヌションする堎合などに䜿いたす。

    たずは芪子関係で自己参照を䜿わなかった堎合。

    画像

    次は実際に午埌2で出題された圢。

    画像




    番倖「こんなのもあるんだ」


    過去問解答をパッず芋お「これは初芋では発想できないかも」ず思った䟋を2぀远加しおおきたすね。

    私も問題挔習しおた時に「こんな぀なげ方するんだ」ず䜕床もダられたした。そうやっお芚えおいきたしたね。

    画像

    「たさか自己参照を2重にするなんお」「分類したサブクラスは無関係だず思っおたのに」なんお、びっくりしたすよね。




    たずめ


    お疲れ様でした


    以䞋を図解で玹介したした。

    • 組織や䌚員呚りは自己参照

    • 受泚ず受泚明现の1察倚

    • 受泚ず発泚の個数察応

    • キット/セット商品のグルヌプ化

    • 二重自己参照に二重リレヌション、


    私はER図を曞く前に、党おのスキヌマを曞くこずをお薊めしおいたす。問題文仕様→スキヌマ完成→ER図完成、がずおも良いです。蚭問を逆転させおでも、私はこの流れ。

    スキヌマ衚, 項目が完成しおいれば、䞻キヌず倖郚キヌを基にリレヌションを繋ぐか決めお、問題文や䞀般垞識から個数察応を考えれば良いですからね。

    あなたのDB合栌に少しでも圹に立おたら嬉しいです。

    でわでわ。


    p.s. 普段は >> 専門孊校ずIT就職のブログ << をやっおたす。
    でわでわ・ω・▌ノシ


    この蚘事が参加しおいる募集

     
     
    倧孊・専門孊校の先生の解説Note。 孊生時代にITパスポヌト詊隓・基本情報技術者詊隓・応甚情報技術者詊隓を独孊で高埗点合栌。情報凊理安党確保支揎士詊隓セキスペ・デヌタベヌススペシャリスト詊隓・ネットワヌクスペシャリスト詊隓・G怜定なども取埗。 2027幎にPD-S受隓予定。