IT用語: データベース正規化とは|データの重複をなくすテーブル設計の基本
第1〜第3正規形(1NF・2NF・3NF)を使いデータの冗長性を排除するデータベース正規化の手順を解説。
データベース正規化とは
データベース正規化は、リレーショナルデータベースの設計において、データの**冗長性(重複)と更新異常(矛盾)**をなくすためにテーブルを分割・整理する手順です。第1正規形〜第3正規形(1NF・2NF・3NF)が実務で最もよく使われます。
正規化の段階
非正規形(問題のある設計)
| 注文ID | 顧客名 | 顧客住所 | 商品1 | 金額1 | 商品2 | 金額2 |
|---|---|---|---|---|---|---|
| 001 | 田中 | 東京 | りんご | 100 | みかん | 80 |
第1正規形(1NF): 繰り返しグループを排除し、各列に1つの値のみ 第2正規形(2NF): 複合主キーの一部に対する関数従属を排除 第3正規形(3NF): 推移関数従属(非主キー→非主キー)を排除
正規化のメリット・デメリット
| メリット | デメリット |
|---|---|
| データ整合性の確保 | JOIN が増えてSQLが複雑に |
| ストレージ効率化 | クエリのパフォーマンス低下の可能性 |
| 更新・削除の安全性 | — |
非正規化(デノーマライズ)
パフォーマンスが重要なレポート系DBでは、意図的に正規化を崩してJOINを減らす「非正規化」が行われます。データウェアハウスのスタースキーマがその例です。
関連する用語 (データベース)
全23件を見るIT用語: MongoDBとは|JSONライクなドキュメント型NoSQLデータベース
スキーマレスなJSONドキュメントを格納するMongoDBの仕組み・集計パイプライン・RDBとの使い分けを解説。
IT用語: データベースインデックスとは|検索を高速化するB-Tree構造の仕組み
フルテーブルスキャンを避けてクエリを高速化するDBインデックスの仕組み・種類・設計の注意点を解説。
MySQL(マイSQL)
オープンソースのリレーショナルデータベース管理システム。WordPressをはじめ多くのWebアプリに採用され、読み取りパフォーマンスが高く導入が容易なRDBMSの定番。
IT用語: データベーストランザクションとは|ACID特性で保証するデータ整合性
DBの一連の操作をまとめて原子的に扱うトランザクションのACID特性(原子性・一貫性・独立性・持続性)を解説。
シャーディング(データベース水平分割)
データを複数のサーバー(シャード)に水平分割して分散させるDBスケーリング手法。1台のサーバーに収まらない大規模データの処理に使われる。モンゴDBやCassandraが得意とする。
PostgreSQL(ポストグレSQL)
オープンソースのリレーショナルデータベース。ACID準拠・豊富な機能・強力なSQL拡張・JSONサポートを持ち、企業向けから個人プロジェクトまで幅広く使われる高信頼性DBMSの代表格。