-- 第3正規化されたテーブル群の検索クエリ例
SELECT
o.order_id,
c.customer_name,
p.product_name,
d.quantity
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN order_details d ON o.order_id = d.order_id
JOIN products p ON d.product_id = p.product_id;
もう少し詳しく
正規化には段階(第1正規形〜第5正規形、ボイス・コッド正規形など)が存在します。第1正規形は「繰返し項目や配列を排除し、すべての列のセル(値)を単一の原子値(Atomic Value)にする」、第2正規形は「複合主キーの一部にのみ依存する部分関数従属(Partial Functional Dependency)を排除する」、第3正規形は「主キー以外の列に依存する推移的関数従属(Transitive Functional Dependency)を排除する」という手順を踏みます。実務やOracle資格試験では第3正規形までの正確な理解が不可欠です。正規化によりデータの整合性が高まり、無駄なストレージ消費を防ぐことができます。
試験でのポイント