テーブル設計は正規化を基本にして設計する手法しか成功しない気がしてる。
DBやテーブル設計系の書籍を読むとどれにも「正規化」による設計手法が書かれているけど、現場ではなぜかあまり正規化に重きをおいた設計が行われていない場合が多かった。
先人の経験から「教科書通りにいけば理想的だが、現実はなかなかそうは行かない」という事なのかと思っていたが、結局はどれもあまりうまくはいっていないように見えた。
個人プロジェクトは正規化をベースに設計したテーブルで開発を行っているが、とてもうまくいっている。 テーブル設計はやはり正規化を基本にして行うべきだと、改めて思ったので書いてみる。
- 正規化とは?
- 正規化を使わない設計手法とは?
- エクセル表現がそのままテーブルとして定義されている
- データ取得・保存がシンプルになるようにテーブル分割を避ける
- 1テーブルにデータがまとまっていれば、データ内容の把握がしやすい
- コード(ロジック)側の都合に合わせる
- パフォーマンスを心配する
- まとめ:不整合が発生するようなテーブル設計をするとずっと苦しむことになる
正規化とは?
テーブルからデータの重複を排除し整合性を保持してデータを扱えるようにするための手法。
続きを読む