ryotankの備考録日記

趣味の電子工作についての備考録などなど

タスク管理Webアプリその9

ER図を書く為に必要な予備知識
 1.エンティティ
「エンティティ」とは、データのまとまりの事
エンティティの中にアトリビュートという属性情報がある

2.アトリビュート(属性)
アトリビュート」とは、エンティティの中の属性情報の事で
 そのアトリビュートの中で、「主キー」や「外部キー」も表す

主キーとなる項目は、エンティティ上部で四角に囲いをして明示する

外部キーとなるものは、その項目名の後ろに「(FK)」と書く
その他の項目は、項目名のみ記述する。

3.リレーション
リレーションとは、エンティティ同士の関係性を表現する線。
リレーションの詳細は、「カーディナリティ」という記号を使って表現する。


4.カーディナリティ(多重度)
カーディナリティとは、「1対1」や「多対多」など、リレーションの詳細を
表現する記号。「0以上」といった表現もできる。
リレーションの始点と終点を定められた記号で表現する

本題であるER図の書き方は5段階になる。

1段階目:システムシナリオを確認する
     ---ユースケース図やユースケース記述などをインプットとして設計していく
       上記の設計が終わっていなければ、ER図を書く段階ではない

2段階目:エンティティ洗い出し
     1段階で登場したユースケース図やユースケース記述を
もとにエンティティ洗い出しを行う

3段階目:エンティティをマスタとトランザクションに分ける


4段階目:アトリビュート(属性)を洗い出す

  この洗い出しには、画面設計書や疑似システムの画面をもとに行うと
  効率良く出来る 画面項目がアトリビュートになったりする

  そのアトリビュートを図にして視覚的に整理する


最終段階:ER図に落とし込む

   リレーションや主キー、外部キーを設計してER図に落とし込む。
リレーションの詳細であるカーディナリティに注意する
どのようなリレーションになるのかは、シナリオによって変化する

   業務フローや"アクティビティ図"をもとに当てはめて設計を進める

となると、データベースを使った電子工作作業報告書管理ewrnのWEBアプリや
アリンコス部品管理GUIもER図から書き直すハメになる・・・・

うーんデータベースって奥が深いんだ~~

早速1段階のシステムシナリオの確認から

f:id:ryotank:20211216090149p:plain
ユースケース
f:id:ryotank:20211216090210p:plain
ユースケース記述

次に2段階目のエンティティ洗い出し
赤丸部分がエンティティ

f:id:ryotank:20211216090345p:plain
ユースケース図からエンティティ洗い出し
f:id:ryotank:20211216090418p:plain
ユースケース記述からエンティティ洗い出し


エンティティをマスタとトランザクションに分ける

f:id:ryotank:20211216090527p:plain
エンティティをマスタなどに分ける
f:id:ryotank:20211216090614p:plain
ユースケース記述のエンティティをマスタとトランザクションに分ける

今回は3段階目でやめておく

ソフトをインストールせずに
CSSやjavascpipt,HTMLのコードをブラウザ上で
編集しつつ画面の確認が出来るものを見つけた
「CodePen」というらしい

これを活用しながらDjango開発に役立てたいな

次回はアトリビュート(属性)を洗い出す事から