「データベースの非正規化」の版間の差分

編集の要約なし
2行目: 2行目:


== 概要 ==
== 概要 ==
=== 正規化 ===
データの重複をなくし整合的にデータを取り扱えるようにデータベースを設計することを「[[データベースの正規化]]」と呼ぶ。
データの重複をなくし整合的にデータを取り扱えるようにデータベースを設計することを「[[データベースの正規化]]」と呼ぶ。
教科書に書いてある定番のウリ文句であり、情報系の学校では「データベースを設計するときは正規化しよう」と習うことだろう。
教科書に書いてある定番のウリ文句であり、情報系の学校では「データベースを設計するときは正規化しよう」と習うことだろう。
24行目: 25行目:
|}
|}


 
=== 非正規化 ===
その逆に1つのテーブルに全部詰め込む手法を「データベースの非正規化」と呼ぶ。
その逆に1つのテーブルに全部詰め込む手法を「データベースの非正規化」と呼ぶ。
{| class='wikitable'
{| class='wikitable'
38行目: 39行目:
こちらは主に膨大な量のレコードを扱う[[ITドカタ]]の現場で使われる教科書クソ食らえな必殺技である。
こちらは主に膨大な量のレコードを扱う[[ITドカタ]]の現場で使われる教科書クソ食らえな必殺技である。
数億レコードを突破するようなテーブルがいくつも存在する現実的な環境下ではテーブルのJOINなどしたらシステムは窒息死するため、このようなデータベースの設計となる事が多い。
数億レコードを突破するようなテーブルがいくつも存在する現実的な環境下ではテーブルのJOINなどしたらシステムは窒息死するため、このようなデータベースの設計となる事が多い。


非正規化という諸刃の剣に手を出すのは以下のようなケースが多い。
非正規化という諸刃の剣に手を出すのは以下のようなケースが多い。