ソフトウェア
 Computer >> コンピューター >  >> ソフトウェア >> ソフトウェア

データベースの正規化の基本

データベースをしばらく使用している場合は、正規化という用語を聞いたことがあるでしょう。おそらく誰かがあなたに「そのデータベースは正規化されていますか?」と尋ねられたのでしょう。または「それはBCNFにありますか?」正規化は、多くの場合、学者だけが時間を割ける贅沢と見なされます。ただし、正規化の原則を理解し、それを日常のデータベース設計タスクに適用することはそれほど複雑ではなく、DBMSのパフォーマンスを大幅に向上させることができます。

この記事では、正規化の概念を紹介し、最も一般的な正規形について簡単に説明します。

正規化とは何ですか?

正規化は、データベース内のデータを効率的に整理するプロセスです。正規化プロセスには2つの目標があります。冗長データを排除する(たとえば、同じデータを複数のテーブルに格納する)ことと、データの依存関係を確実に理解する(関連データのみをテーブルに格納する)ことです。これらは両方とも、データベースが消費するスペースの量を減らし、データが論理的に保存されることを保証するため、価値のある目標です。

正規形

データベースコミュニティは、データベースが正規化されていることを確認するための一連のガイドラインを作成しました。これらは正規形と呼ばれ、1(正規化の最も低い形式、第1正規形または1NFと呼ばれる)から5(第5正規形または5NF)まで番号が付けられます。実際のアプリケーションでは、1NF、2NF、および3NFと、ときどき4NFが表示されることがよくあります。 5番目の通常の形式はめったに見られないため、この記事では説明しません。

正規形の説明を始める前に、それらがガイドラインであり、ガイドラインにすぎないことを指摘することが重要です。場合によっては、実際のビジネス要件を満たすために、それらから逸脱する必要があります。ただし、変動が発生した場合は、システムに生じる可能性のある影響を評価し、潜在的な不整合を考慮することが不可欠です。そうは言っても、正規形を調べてみましょう。

第一正規形(1NF)

第一正規形(1NF)は、組織化されたデータベースの基本的なルールを設定します。

  • 同じテーブルから重複する列を削除します。
  • 関連データのグループごとに個別のテーブルを作成し、一意の列または列のセット(主キー)で各行を識別します。

第2正規形(2NF)

2番目の正規形(2NF)は、重複データを削除するという概念にさらに対応しています。

  • 最初の正規形のすべての要件を満たします。
  • テーブルの複数の行に適用されるデータのサブセットを削除し、それらを別々のテーブルに配置します。
  • 外部キーを使用して、これらの新しいテーブルとその前のテーブルの間に関係を作成します。

第3正規形(3NF)

3番目の正規形(3NF)は、さらに1つの重要なステップになります。

  • 第2正規形のすべての要件を満たします。
  • 主キーに依存しない列を削除します。

ボイスコッド正規形(BCNFまたは3.5NF)

Boyce-Codd正規形は、「3番目と半分(3.5)の正規形」とも呼ばれ、もう1つの要件が追加されます。

  • 第3正規形のすべての要件を満たします。
  • すべての決定要因は候補キーである必要があります。

第4正規形(4NF)

最後に、第4正規形(4NF)には、追加の要件が1つあります。

  • 第3正規形のすべての要件を満たします。
  • 多値従属性がない場合、リレーションは4NFにあります。

これらの正規化ガイドラインは累積的であることを忘れないでください。データベースを2NFにするには、最初に1NFデータベースのすべての基準を満たす必要があります。

正規化する必要がありますか?

データベースの正規化は多くの場合良い考えですが、絶対的な要件ではありません。正規化の規則に故意に違反することが良い習慣である場合があります。

データベースが正規化されていることを確認したい場合は、データベースを第一正規形にする方法を学ぶことから始めてください。


  1. データ構造のB+ツリー

    ここでは、B+ツリーとは何かを確認します。 B +ツリーは、Bツリーの拡張バージョンです。このツリーは、Bツリーのより良い挿入、削除、および検索をサポートします。 Bツリー、キー、およびレコード値は、内部ノードとリーフノードに格納されます。 B +ツリーレコードでは、リーフノードに保存できます。内部ノードはキー値のみを保存します。 B+ツリーのリーフノードもリンクリストのようにリンクされています B+ツリーの例 − これは、検索、挿入、削除などの基本的な操作をサポートします。各ノードで、アイテムが並べ替えられます。位置iの要素には、その前後に子があります。したがって、以前に痛んだ

  2. DBAとデータアーキテクトの進化

    企業の顧客、従業員、およびパートナーがユーザーフレンドリーなシステムを介してデータに簡単にアクセスできる場合、データベース管理者とデータアーキテクトの2人に感謝します。十分に構築されたデータベースが潜在的に数千または数百万のユーザーに対して確実かつ安全に機能することを保証することは大きな責任であり、あらゆる業界の企業は、データアーキテクトとDBAに依存して、それらを使用するすべてのユーザーのニーズを満たすデータネットワークを設計および監視します。 ビジネスコミュニティのデータニーズが急増するにつれて、最新のデータベーステクノロジーに対応するために必要なスキルも拡大しています。これらの役割の