テーブルの設計 その2”情報と項目の整理"
■ 今は良い時代
現代(2024年1月時点)は、良い時代になりました。
それは、AIをユーザー側で利用できる時代になったこと。
私が良く利用するのが、Open AIが提供するChat GTPです。
有料版は契約していないですが、無料版でも、結果に対して正しい判断ができれば、十分に活用できます。
今回の事例に対して、こんな質問をしてみました。
すると、こんな回答を出してくれます。
一見、正しそうですが、料金設定テーブルに欠陥があり、実際には使用できません。また、キー、項目の設定もイマイチ。
ですが、主要なエンティティを3個提案してくれる所は優秀です。
全部を信用して使うことはダメです。
ですが、アイディアを提供してくれる相棒だとすると、利用する価値が十分にあると思います。
今回私は、AIに頼っていませんが、AIはアプリ作成の初心者🔰の人は、良き相談相手として、テーブル設計に役に立つかもしれません。
はい!余談は、ここまで。本題に入ります。
ワイの経験からテーブル設計手法を数回に分けて紹介していきます。
ただし、感覚的に脳内処理されることが多く、上手に表現できるか心配ですが、それでも頑張って文字起こしします。
■ 項目(データ)と情報を洗い出す
さて、ここからが本番です。
現状把握で調べた内容(細かい項目等)と、前回の情報の整理で残った情報に書き加えていきます。
データインターフェースの制限で、一確するケースもあります。
残った情報は、下の3つ。
宅配指示書
送料の早見表
梱包箱
これらの情報に、関連する項目を書き加えていきます。
ここでは、間違っていても良いです。兎に角、項目を洗いざらい書き出すことが重要になってきます。
もし、情報に加えられない項目(データ)が出た時は、追加で情報を追加します。
| 宅配指示書
この情報は、R/3からのダウンロードデータなので、一確。
テキストデータの情報をそのまま定義します。
出荷伝票番号
出荷区分
出荷先コード
受注先
出荷先名
配達方法
郵便番号
住所1
住所2
宛先
電話番号
備考
| 送料の早見表
運賃を決定する早見表。まぁ、リアルに紙です。
紙に書いてある情報を全て書き出しします。
地方
都道府県
梱包箱
重量
メジャーメント
梱包サイズ
宅配業者
運賃
| 梱包箱
紙に出力している宅配指示書に手書きしている使用した段ボールの種類です。
梱包箱
| その他の項目
情報を整理して、情報に入らない項目(データ)を、とりあえず、その他で書き出し。
受注キャンセル
同梱出荷
営業所止め
口数
出荷日
表示順番
とりえず、これで入り口は終了です。
次の工程に移ります。
■ 項目のグルーピング
その他の情報の項目を再度、情報に割り付けるか、新しく情報として作成して、項目を情報毎に、分けていきます。
ここで、1つの情報じゃなく、分割したい場合は、ここで分割してしまいます。
私は、ここで、QC手法のKJ法を良く活用します。
KJ法をわかりやすく解説してくれているwebサイトがありましたので、リンクをペタリとします。
私は、ここを手書き(超アナログ)で仕上げることが多いです。
ですが、手書きは、記事でアップできないので、イメージだけでも。
先ずは、こんな感じで始まります。
今回の場合、その他の情報は、全て、宅配指示書に入れました。
Excelでシェイプを作るのは、結構面倒なので、下のようなマクロを作ると作業性が上がります。
Sub Macro1()
Dim textA As String
textA = ActiveCell.Text
Dim shapeA As Shape
Set shapeA = ActiveSheet.Shapes.AddShape(msoShapeFoldedCorner, 100, 100, 120, 19)
shapeA.TextFrame2.TextRange.Characters.Text = textA
shapeA.TextFrame2.TextRange.Font.NameFarEast = "BIZ UDPゴシック"
shapeA.TextFrame2.TextRange.Font.Size = 9
shapeA.TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignLeft
shapeA.TextFrame2.VerticalAnchor = msoAnchorTop
shapeA.ShapeStyle = msoShapeStylePreset2
shapeA.Placement = xlMove
End Sub
アクティブセルの表示テキストでシェイプを作るマクロです。
■ 手続きと情報の関連付け
で、ここが結構重要な所になります。
手続きの流れと情報をリンクさせます。
もし、不足している情報がある場合、追加したり、不要な情報は削除したり、柔軟に絵を描いていきます。
要件定義で描いた改善案の絵を元に描いていきます。
こうやって、データの流れ、必要とされる項目(データ)を描くことで、余分なデータ、必要な項目、不足している情報(エンティティ)、必要な画面(更に、トランザクション)が、可視化されてきます。
今回は、ここまでです。
実は、まだテーブル設計の入り口には、まだ入っていません。
ここまでの作業は、テーブルの設計に入るための準備です。
■ まとめ
私の完全な自論になってしまいますが、システムを作れる人と作れない人の差は、「処理とデータを絵にすることができる」にあると思います。
今回のような、小さなツールだけでも、多い情報です。
情報とデータ、業務を一つの絵にすることができなければ、システムのメニューも作れないですし、テーブルの設計もできません。
描いたKJ法は、そのまま仕様書としても役に立ちますし。
何と言っても、テーブルの設計とシステムの処理画面の原案になります。
小さなシステムを作る人は、KJ法を学んで欲しいと思います。
ここまで、読んでくれて、本当にありがとうございました。
次回は、やっとテーブルの正規化にステージに入ります。
この記事が気に入ったらサポートをしてみませんか?