見出し画像

何はさておきER図作らんと。


そんなこんなテーブルで遊んだり、Joinとか言っている前にスキーマすら無い。
それでは設計すらできないので、ER図(テーブルの依存関係図)を作らなきゃいけないのですね。
すっかり飛んでいました。
なので、ER図を使用するのが一度きりではないので必要なものをインストールします。

即時性且つ、今後スキーマ追加もあると思うので、色々ドローイングツールを調べていました。
そうしたら昔は絵的な概念でER図を作っていたのですが、やはりEditorと連携して、且つパラレル作業でドローイングしたいとなります。
そこで、以下のツールを選択しました。

PlantUML

UML工場??

と、、その前にPlantUMLのパッケージ自体がJarファイルだった、、
という訳でJavaですね。
私は現在WindowsPCを使用しているので、OpenJDKが必要となります。
(あぁ昔はMacBookだったから常にJava使用していたのに。。。)
そんな訳で、以下よりOpenJDKをDownload→Installします。


そして、いよいよプラグインをインストールします。

もうインストール済みなので、Uninstallと出ていますが。。。

PCを再起動、VSCodeを起動します。
File→NewFileで、「名前.pu」というファイルを作成。
(Thank you Chosing PlantUML~とか出ます。)

実際に以下の書式の様に必要な情報を入力して行きます。

VSCodeは使い勝手が良いですね~。

一旦、以下のように書き込みました。

@startuml JRA_Race
entity Race_MS {
    + race_id[PK]
    --
    着順
    枠番
    馬番
    馬名
    性齢
    斤量
    騎手
    タイム
    着差
    単勝
    人気
    馬体重
    調教師
    # 馬名id [FK]
    # 騎手id [FK]
    # 調教師id [FK]
}
entity 馬名_MS {
    + 馬名id [PK]
    + 調教師id [PK]
    馬名
    生年月日
    調教師
    馬主
    生産者
    産地
    父
    父母
    父父
    父父母
    父父父
    父父父母
    父父父父
    父父父父母
    父父父父父
    父父父父父母
    母
    母父
    母母父
    母母
    母母母父
    母母母
    母母母母父
    母母母母
    母母母母母父
    母母母母母
    # 父id [FK]
    # 母id [FK]
    # 馬主id [FK]
    # 生産者id [FK]
} 
entity 騎手_MS {
    + 騎手id [PK]
    順位
    騎手名
    所属
    生年月日
    123着
    着外
    出走数
    重賞出走
    重賞勝利
    特別出走
    特別勝利
    平場出走
    平場勝利
    芝出走
    芝勝利
    ダート出走
    ダート勝利
    勝率
    連対率
    複勝率
    獲得賞金
}
entity 調教師_MS {
    + 調教師id [PK]
    順位
    調教師名
    所属
    生年月日
    123着
    着外
    出走数
    重賞出走
    重賞勝利
    特別出走
    特別勝利
    平場出走
    平場勝利
    芝出走
    芝勝利
    ダート出走
    ダート勝利
    勝率
    連対率
    複勝率
    獲得賞金
}
entity 種牡馬_MS {
    + 父id [PK]
    順位
    出走頭数
    勝利頭数
    出走回数
    勝利回数
    重賞出走
    重賞勝利
    特別出走
    特別勝利
    平場出走
    平場勝利
    芝出走
    芝勝利
    ダート出走
    ダート勝利
    勝馬率
    EI
    入着賞金
    平均距離(芝)
    平均距離(ダート)
}
entity BMS_MS {
    + 母id [PK]
    順位
    出走頭数
    勝利頭数
    出走回数
    勝利回数
    重賞出走
    重賞勝利
    特別出走
    特別勝利
    平場出走
    平場勝利
    芝出走
    芝勝利
    ダート出走
    ダート勝利
    勝馬率
    EI
    入着賞金
    平均距離(芝)
    平均距離(ダート)
}
entity 馬主_MS {
    + 馬主id [PK]
    順位
    馬主名
    123着
    着外
    出走数
    重賞出走
    重賞勝利
    特別出走
    特別勝利
    平場出走
    平場勝利
    芝出走
    芝勝利
    ダート出走
    ダート勝利
    勝率
    連対率
    複勝率
    獲得賞金
}
entity 生産者_MS {
    + 生産者id [PK]
    順位
    生産者名
    123着
    着外
    出走数
    重賞出走
    重賞勝利
    特別出走
    特別勝利
    平場出走
    平場勝利
    芝出走
    芝勝利
    ダート出走
    ダート勝利
    勝率
    連対率
    複勝率
    獲得賞金
}
Race_MS }o--|| 騎手_MS
Race_MS }o--|| 馬名_MS
Race_MS }o--|| 調教師_MS
馬名_MS }o--|| 調教師_MS
馬名_MS }o--|| 馬主_MS
馬名_MS }o--|| 生産者_MS
馬名_MS }o--|| 種牡馬_MS
馬名_MS }o--|| BMS_MS
@enduml

大体書けたらプレビューします。
「Alt+D」でDiagramを表示します。
これで作成済みのスキーマが表示できます。

一旦こんな感じで作りました。
後々修正もあるでしょうし、あくまでも一旦です(苦笑)

物凄く面白いです。
どうやらコイツはSQLからもER図を作成できるようです。
スゲェなぁw
申し訳ありませんが又もや徹夜で作業してしまいました。。。(´;ω;`)
四苦八苦とまでは行きませんでしたが、次回はコード作成です。
テーブル作成とか繰り返しとか色々やることが多そうですね。
それに必要なものが見つかり、未だScrapingが必要そうです。
なのでそのコードも書かないとですね。

道は険しい!
といいつつ、Editorとか色々吟味したい所もあります。
コンテナで開発環境作るとかOpenAIが標準装備のEditorも、ねぇ。
もう少しPCが良いモノだったら考えたい所。
一旦は(一旦ばかりな一反木綿w)VSCodeでやっていくか。
ではまた!!

追記
実はこのER図はご承知の通り、実際に取りたいデータに不足分も多い上に、これでは予想に使用できない情報になっております。
この通りのコピペ利用では無意味の情報になります。
ご承知おきの程、お願い致します。
あくまでもPlantUMLの使用方法や、ER図描写方法の説明に特化しております。
なので、実際に「各人での調整を行いつつ」のご使用をお願い致します<(_ _)>

この記事が気に入ったらサポートをしてみませんか?