2014年5月27日火曜日

データベースの索引設定 

 <各大中小分類マスタにidを付けるか付けないかの判断>


今回、大分類idとか中分類id、小分類idなど数字key(索引または照合)にしていますが、idを省いて、直接文字など名称をkeyにすることも可能です。(検索が早いです)
しかし、作り終えてしまってから「あちゃー;;」と反省することもあるのですが、データベース開発はなるべく別途
数字によるkeyでコードであるとか、idとして照合することをお奨めします。

その判断は各項目のデータ量ではなく、変動があるかないかで決まるのですが、

例えば、

○開始
○継続
○完了

のような、名称が比較的変わらないものであれば、名称をkeyにして照合しても構わないのですが、

○わたなべさん
○たなかさん
○たかはしさん

という担当者の様な名前で照合すると、異動、退社した時など困ります。消してしまうと他の関連ファイルが参照できなくなる可能性があります。
しかし、担当テーブルなどに別途、数字などのidフィールドを持たせておけば、idkeyにして担当が変わってもそのままでよく、文字の名前フィールドだけを変えれば、そのまま引継ぎデータなども閲覧できるので、これ等の照合に関するジャッジは必要です。
慣れなければ、とにかくリレーションは数字フィールドをkey(索引)にする習慣をつけるといいかもです。めんどくさいかもしれませんが・・・。

○事件名は公的に変えられないものであっても、絞込の内容を好きに変えたいのであれば
小分類の名称だけは決まった定型の事件名にして、大分類の名称や、中分類の名称は好きに設定すればいいと考えます。すなわち数字idのkeyを持たせるということです。

○また、小分類など今後増えたり、事件では無く、「苛め相談」のような定まっていない名称の相談内容であれば、たぶん変動する可能性があるのかと思います。ですので、これも数字のidを別途、持たせています。



後々、自分でメンテナンスをするときに楽です。






0 件のコメント:

コメントを投稿

JT00000001を「JTスぺ-ス1とかで検索したい!」という人のために

「JTスぺ-ス1とかで検索したい!」 とかいう人のために。 -------------------------------------------------------------- 計算フィールの結果(テキスト) J JT JT0 JT00 JT000 JT0000 JT00...