データベース 正規化 わかりやすく
投稿日: 2024年12月16日
今回はDB設計に必要な知識となる内容です!
行き当たりばったりで作成したDB設計をぶべさんへ提出したら、 たくさんのダメ出しコメントをもらいました笑
DB設計を分からない状態で作ってしまったのが悪いですが笑
調べて自分なりにまとめたので参考になれば幸いです😎
正規化とは、DB上で扱うデータの重複を最小化し、一貫性を保つことで「矛盾」や「不一致」が発生しないように設計段階で防ぐ大事になプロセスです!
また、正規化により、データの効率的な管理や「更新」「検索」が可能になる。
DB設計を行き当たりばったりで作ってデータを格納すると、色々と困ることがあります! 以下の画像は、私が作成したダメダメのDB設計を使って説明します笑笑🤣🤣
例えば、一つの情報(データ)が複数のテーブルに存在する場合。“CAFEテーブル”
に「cafe_name」
というデータがあります。
同じく”CAFEDETAILテーブル”
にも「cafe_name」
のデータがあります。
この場合、「cafe_name」
という情報が“CAFEテーブル”
にも”CAFEDETAILテーブル”
にも複数のテーブルに存在しているってことになります。
一つの情報(データ)が複数のテーブルに存在すると、一方のテーブルのデータが変更された時に、 他方のテーブルのデータと不一致が生じる可能性がある。
また、こうした重複したデータ(冗長性)を保持していると、そもそもデータを登録できなくなるテーブルを作ってしまったりすることがあります。
こうした問題を解決するために考案された方法論が正規化
です。
冗長性の最小化: データ重複の削除
一貫性の維持: データの矛盾を起きにくくする構造
効率性の向上: 検索や更新がしやすいデータ構造
簡単ではありますが、正規化の概要は理解できたかと思います!
例にあげた画像のようなDB設計にならないようにしてください笑