「データベースの非正規化」を編集中
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
4行目: | 4行目: | ||
=== 正規化 === | === 正規化 === | ||
データの重複をなくし整合的にデータを取り扱えるようにデータベースを設計することを「[[データベースの正規化]]」と呼ぶ。 | データの重複をなくし整合的にデータを取り扱えるようにデータベースを設計することを「[[データベースの正規化]]」と呼ぶ。 | ||
− | + | 教科書に書いてある定番のウリ文句であり、情報系の学校では「データベースを設計するときは正規化しよう」と習うことだろう。 | |
− | {| class= | + | {| class='wikitable' |
|+ | |+ | ||
! メーカー !! 住所 | ! メーカー !! 住所 | ||
14行目: | 14行目: | ||
|} | |} | ||
− | {| class= | + | {| class='wikitable' |
|+ | |+ | ||
! 商品ID !! 商品名 | ! 商品ID !! 商品名 | ||
27行目: | 27行目: | ||
=== 非正規化 === | === 非正規化 === | ||
その逆に1つのテーブルに重複クソ食らえで全てを詰め込む手法を「データベースの非正規化」と呼ぶ。 | その逆に1つのテーブルに重複クソ食らえで全てを詰め込む手法を「データベースの非正規化」と呼ぶ。 | ||
− | {| class= | + | {| class='wikitable' |
|+ | |+ | ||
! メーカー !! 住所 !! 商品名 | ! メーカー !! 住所 !! 商品名 | ||
40行目: | 40行目: | ||
数億レコードを突破するようなテーブルがいくつも存在する現実的な環境下ではテーブルのJOINなどしたらシステムは窒息死するため、このようなデータベースの設計となる事が多い。 | 数億レコードを突破するようなテーブルがいくつも存在する現実的な環境下ではテーブルのJOINなどしたらシステムは窒息死するため、このようなデータベースの設計となる事が多い。 | ||
− | + | 非正規化という諸刃の剣に手を出すのは以下のようなケースが多い。 | |
# 正規化した状態で設計・開発する | # 正規化した状態で設計・開発する | ||
# サービス開始直後に過負荷でシステムダウン | # サービス開始直後に過負荷でシステムダウン |