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件を見るレプリケーション(データベース複製)
データベースのデータを複数のサーバーに自動的にコピーする仕組み。読み取り負荷の分散・障害時のフェイルオーバー・バックアップ目的で使われる。プライマリ/レプリカ構成が一般的。
Redis(リモートディクショナリサーバー)
インメモリ型のキーバリューストア。超高速な読み書きを実現し、キャッシュ・セッション管理・リアルタイム処理に広く使われるOSSデータベース。
ORM(オブジェクト関係マッピング)
プログラミング言語のオブジェクトとデータベースのテーブルを対応付け、SQLを書かずにDBを操作できるようにするライブラリ。Prisma・TypeORM・Sequelize等が代表的。
データベースマイグレーション
データベースのスキーマ(テーブル構造)変更をバージョン管理し、順序立てて適用する仕組み。Prisma Migrate・Flyway・Liquibaseが代表的なツール。
IT用語: MongoDBとは|JSONライクなドキュメント型NoSQLデータベース
スキーマレスなJSONドキュメントを格納するMongoDBの仕組み・集計パイプライン・RDBとの使い分けを解説。
NoSQL
表形式(リレーショナル)ではない、柔軟なデータ構造を持つデータベースの総称。大量データの高速処理に強い。