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件を見るORM(オブジェクト関係マッピング)
プログラミング言語のオブジェクトとデータベースのテーブルを対応付け、SQLを書かずにDBを操作できるようにするライブラリ。Prisma・TypeORM・Sequelize等が代表的。
NoSQL
表形式(リレーショナル)ではない、柔軟なデータ構造を持つデータベースの総称。大量データの高速処理に強い。
IT用語: データベースインデックスとは|検索を高速化するB-Tree構造の仕組み
フルテーブルスキャンを避けてクエリを高速化するDBインデックスの仕組み・種類・設計の注意点を解説。
IT用語: ORM(オブジェクトリレーショナルマッパー)とは|SQLを書かずにDBを操作
プログラミング言語のオブジェクトとDBのテーブルを対応付けるORMの仕組みとN+1問題を解説。
PostgreSQL(ポストグレSQL)
オープンソースのリレーショナルデータベース。ACID準拠・豊富な機能・強力なSQL拡張・JSONサポートを持ち、企業向けから個人プロジェクトまで幅広く使われる高信頼性DBMSの代表格。
IT用語: シャーディングとは|大規模DBを水平分割してスケールアウトする手法
ユーザーIDや地域などのキーでデータを複数DBに分割するシャーディングの仕組みとデメリットを解説。