EN - FR - DE - ES - IT - PT -

LexiconDream

📐 正規化

データの重複を減らし、整合性を向上させるためにデータを整理します。

正規化

正規化は、データの冗長性を減らし、整合性を向上させるためにデータを整理する手法です。目標は、各情報を一度だけ保存することです。顧客の住所がすべての注文記録に記載されている場合、住所変更は数百箇所で更新する必要があります。1箇所でも更新漏れがあると、データに矛盾が生じます。正規化では、住所を顧客テーブルに移動します。注文はIDによって顧客を参照します。住所は一度だけ保存されます。そこで住所を変更すれば、すべての注文に新しい値が反映されます。

このプロセスは正規形に従います。第 1 正規形では繰り返しグループが削除されます。第 2 正規形では部分的な依存関係が削除されます。第 3 正規形では推移的な依存関係が削除されます。各形式は、冗長性をさらに削減する制約を追加します。より高次の形式も存在しますが、実際にはほとんど使用されません。ほとんどのトランザクション データベースは第 3 正規形を目指します。正規化にはトレードオフがあります。テーブルが増えると結合も増え、クエリが遅くなる可能性があります。トランザクション システムでは、整合性の利点がパフォーマンス コストを上回ります。分析システムでは、その逆が当てはまることがよくあります。幅の広いテーブルと冗長な列を持つ非正規化スキーマは、結合を回避するためクエリが速くなります。そのため、データ ウェアハウスでは、意図的に非正規化するスター スキーマやスノーフレーク スキーマが使用されます。適切な正規化レベルはワークロードによって異なります。トランザクション システムでは正規化します。分析システムでは非正規化します。どちらもそれぞれの目的に適しています。

標準形

正規化とは、データの整合性を確保することです。各事実を一度だけ保存すれば、データの一貫性は保たれます。しかし、何度も保存すると、不整合が生じるのは避けられません。


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments

No comments yet. Be the first to share a thought.

Leave a comment