ホームページ > データベース > mysql チュートリアル > データベースの正規化とは何ですか?また、データ効率はどのように向上しますか?

データベースの正規化とは何ですか?また、データ効率はどのように向上しますか?

DDD
リリース: 2024-12-21 14:12:10
オリジナル
615 人が閲覧しました

What is Database Normalization and How Does it Improve Data Efficiency?

データベース正規化のわかりやすい英語の説明

データベース設計の領域では、正規化の概念は、データを効率的に構造化し、重複を避けてください。簡単に言うと、同じ文書のコピーが複数存在しないようにするファイリング システムを作成するようなものです。

正規化の本質を理解する

次の内容を含むテーブルを想像してください。従業員とその出身国のリスト。すべての従業員の行に「ボスニア・ヘルツェゴビナ」などの長い国名が含まれているとします。反復的なストレージを避けるために、正規化では、国ごとに別のテーブルを作成し、それぞれの国に一意の識別子を割り当てることをお勧めします。 「ボスニア & ヘルツェゴビナ」を 100 回保存する代わりに、数値 45 (国の識別子) を保存するだけです。これにより、データの重複が減り、将来の変更が簡素化されます。

正規形式の利点

正規化は 3 つの形式に分類されます:

  • 第一正規形 (1NF): 内の重複行を削除します。 table.
  • 第 2 正規形 (2NF): 非キー列が主キーの一部にのみ依存する部分的な依存関係を防ぎます。
  • Third標準形式 (3NF): 非キー列が他の非キーに依存する推移的な依存関係を削除します。

実際の正規化の例

従業員の訪問国を追跡するシナリオを考えてみましょう。次のテーブルを保存する代わりに:

Person CountryVisited AnotherInformation D.O.B.
Faruz USA Blah Blah 1/1/2000
Faruz Canada Blah Blah 1/1/2000

2NF を適用して、3 つのテーブルを作成します:

  • テーブル 1: 国のリスト (ID, CountryName)
  • 表 2: 人物のリスト (ID、人物名、 D.O.B.)
  • 表 3: 従業員-国 (個人 ID、国 ID)

これで、Faruz が別の国を訪問した場合、Faruz の ID を表 3 に 1 行だけ追加して、新しい国ID。この正規化されたアプローチにより柔軟性が提供され、データの冗長性が排除されます。

就職面接中、面接官は正規化の原理を説明し、特定のシナリオでの実装をデモンストレーションするよう求めて、正規化についてのあなたの理解度を評価する可能性があることに注意してください。

以上がデータベースの正規化とは何ですか?また、データ効率はどのように向上しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート