![...](/f/8df6e7ed483ecc43edd3eb9cddcb484b.jpg)
リレーションデータベースと階層型データベースは、最も一般的な種類のデータベースの2つです。
データベースは、データまたは「レコード」を格納するコンピュータプログラムです。 さらに重要なことに、それらはそのデータがデータベース内の他のデータとどのように関連しているかについても説明します。 階層型、ネットワーク、リレーショナル、オブジェクト指向など、さまざまな種類のデータベースがあります。 それらはすべて異なる目的を果たし、それらの記録を異なる方法で記述することを可能にします。
階層データベース
階層型データベースは、最も古く、最も単純な種類のデータベースの一部です。 これらは、データを「ツリー」構造に配置します。これは、コンピューター上のフォルダーやファイルに似ています。 コンピューター上のファイルが1つのフォルダーにあるように、データベース内のすべてのレコードには1つの「親」があります。 階層的に配置されたデータは、親子関係のみを持つと説明されることがよくあります。
今日のビデオ
階層データベースの問題
階層モデルは単純な構造に適していますが、各「子」は1つの「親」しか持てないため、問題がどのように発生するかを簡単に確認できます。 データベースの場合 会社内の実際の親とその子供たちの名前が含まれている場合、一人っ子の両方の親がそのために働いたという事実を説明することはできません 会社。 データベースの言語では、これは「多対1」(または複数の子が関係している場合は「多対多」)の関係であり、階層型データベースはそれらを適切に記述しません。
リレーショナルデータベース
リレーショナルデータベースには、多対1または多対多の関係に問題はありません。 それらのレコードは、ツリー構造ではなく複数の「テーブル」として構築され、テーブル上の各レコードには一意の識別子があります。 その場合、会社はすべての親の名前を含むテーブル、すべての子の名前を含むテーブルを持つことができ、親テーブルの各レコードは1つ(または 子テーブルの一意のレコードの数が多い、またはない)-その関係は「の親」です。 レコードにそのような関係を与える能力は、リレーショナルデータベースにそのような関係を与えるものです 名前。
リレーショナルデータベースの利点
リレーショナルデータベースは、1つのレコードを他の任意の数のテーブルに適用できるようにすることで、エラーを防ぎます。 子レコードは「の子である」関係で使用でき、同じレコードは「出席している子」のテーブルで参照できます。 会社のピクニック。」重複を防ぐことにより、誤って変更することなく、同じ情報をさまざまな方法で使用できます。 記録。
また、リレーショナルデータベースは、構造化クエリ言語(SQL)で記述されたクエリを使用して、レコードに隠された他の種類のデータを提供するのに非常に適しています。 これにより、特定の年齢以上のすべての子供、または3人以上の子供を持つすべての親を見つけるなど、すぐにはわからない方法でデータベースを探索できます。
階層型データベースの使用
リレーショナルデータベースは階層型データベースよりも優れているように見えるかもしれませんが、それは確かに柔軟性があります。 ただし、このような柔軟性は、すべてのデータベースに必ずしも必要なわけではありません。 デューイ十進法は本質的に階層型であるため、図書館は本を記録するために階層型データベースを使用します。 連絡先の電話番号のリストは、階層型データベースによって完全に提供される可能性があります。 データベースはツールであり、ジョブに適したツールは手元のジョブによって異なります。