DBMSにおけるリレーショナルデータモデル: Concepts & 例

⚡ スマートサマリー

リレーショナルモデルは、データベースを関係の集合として表現し、各関係は行と列からなるテーブルです。リレーショナルモデルは、リレーショナルデータの一貫性を保ち、クエリを容易にするためのコアコンセプト、整合性制約、および更新操作を定義します。

  • 🗃️ コアアイデア: データはリレーションとして格納され、各行は現実世界のエンティティまたはリレーションシップを記述するタプルです。
  • 🏷️ 主な条件: 属性、タプル、次数、カーディナリティ、ドメイン、およびリレーションキーは、テーブルの構造をまとめて記述します。
  • 🛡️ 3つの制約: ドメイン、キー、および参照整合性制約により、すべての関係が有効に保たれます。
  • 🔑 キーリンクテーブル: 主キーは行を一意に識別し、外部キーは別のリレーション内のキーを参照します。
  • 🔄 四 Operaション: 定義された制約を破ることなく、リレーションに対して挿入、更新、削除、選択操作を実行します。
  • ✅ デザインルール: セルごとに1つの値、一意の列名、重複する行なし、および1つのドメインから取得した値。
  • 📈 勝因: シンプルさ、構造的独立性、高水準のクエリ言語、そしてデータ独立性。

DBMS のリレーショナル データ モデル

リレーショナル モデルとは何ですか?

リレーショナル モデル (RM) データベースをリレーションのコレクションとして表します。 リレーションは値のテーブルにすぎません。 テーブル内の各行は、関連するデータ値のコレクションを表します。 表内のこれらの行は、現実世界の実体または関係を示します。

テーブル名と列名は、各行の値の意味を解釈するのに役立ちます。データは一連の関係として表現されます。リレーショナルモデルでは、データはテーブルとして格納されます。ただし、データの物理的な格納方法は、データの論理的な構成方法とは無関係です。

このモデルは1970年にEF・コッドによって提唱され、今日使用されているほぼすべての主要なデータベースの基礎となっている。 代表的なリレーショナルデータベース管理システムには以下のようなものがあります。

  • DB2 および Informix ダイナミック サーバー – IBM
  • Oracle そしてRDB – Oracle
  • SQL サーバーとアクセス – Microsoft

関係モデル Concepts DBMSで

  1. 属性: テーブルの各列。属性とは、関係を定義するプロパティのことです。例:学生登録番号、名前など。
  2. テーブル: リレーショナルモデルでは、リレーションはテーブル形式で保存されます。テーブルはエンティティとともに保存されます。テーブルには行と列という2つのプロパティがあります。行はレコードを表し、列は属性を表します。
  3. タプル: それはテーブルの1行に過ぎず、1つのレコードが含まれている。
  4. 関係スキーマ: 関係スキーマは、関係の名前とその属性を表します。
  5. 度: 関係に含まれる属性の総数を、その関係の次数と呼ぶ。
  6. カーディナリティ: テーブルに存在する行の総数。
  7. カラム: 列は、特定の属性の値のセットを表します。
  8. 関係インスタンス: リレーションインスタンスとは、RDBMSシステムにおけるタプルの有限集合のことです。リレーションインスタンスには、重複するタプルは存在しません。
  9. 関係キー: 各行には、1つ、2つ、または複数の属性があり、これをリレーションキーと呼びます。
  10. 属性ドメイン: すべての属性には、あらかじめ定義された値と範囲があり、これは属性ドメインとして知られています。

表で示された関係モデルの概念

語彙が揃ったら、次の懸念事項はping これらの関係におけるデータが有効であること、それが整合性制約の役割です。

リレーショナル Integrity 制約

DBMSにおける関係整合性制約とは、有効な関係が存在するために満たされなければならない条件を指します。これらの関係制約は、データベースが表現するミニワールドにおけるルールから導き出されます。

整合性制約には多くの種類があります。リレーショナルデータベース管理システムにおける制約は、主に次の3つの主要なカテゴリに分類されます。

  1. ドメインの制約
  2. 主な制約
  3. 参考文献 Integrity 制約

ドメインの制約

属性値が対応するドメインに存在しない場合、または適切なデータ型でない場合、ドメイン制約に違反する可能性があります。

ドメイン制約とは、各タプル内の各属性の値がアトミックであり、かつ正しいドメインから取得されなければならないことを指定するものです。ドメインはデータ型として指定され、整数、実数、文字、ブール値、可変長文字列などの標準型が含まれます。

例:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

この例は、CustomerNameがNULLでないというドメイン制約を作成する方法を示しています。

主な制約

リレーション内のタプルを一意に識別できる属性は、テーブルのキーと呼ばれます。 リレーション内の異なるタプルの属性の値は一意である必要があります。

例:

与えられた表では、CustomerID は Customer テーブルのキー属性です。顧客 1 人につき単一のキーを持つ可能性が最も高いです。CustomerID = 1 は CustomerName のみに該当します。Google」さまざまなキータイプの詳細な説明は、ガイドに記載されています。 DBMSキー.

顧客ID 顧客名 ステータス
1 Google 有効
2 Amazon 有効
3 Apple 非アクティブ

参考文献 Integrity 制約

DBMSにおける参照整合性制約は、外部キーの概念に基づいています。外部キーとは、他のリレーションから参照されるべき、リレーションの重要な属性です。参照整合性制約は、リレーションが異なるリレーションまたは同じリレーションのキー属性を参照する場合に発生します。そのキー要素は、参照先のテーブルに存在しなければなりません。

例:

顧客と顧客間の参照整合性 Bill関係を築く

上記の例では、顧客と顧客の 2 つの関係があります。 Billる。

CustomerID = 1 のタプルは、リレーション内で 2 回参照されています。 Billing。つまり、CustomerName はわかっています。Google請求金額は300ドルです。

Opera関係モデルにおける

リレーショナルデータベースモデルでは、挿入、更新、削除、選択という4つの基本的な更新操作が実行されます。

  • INSERT文は、リレーションにデータを挿入するために使用されます。
  • Delete は、テーブルからタプルを削除するために使用されます。
  • 変更を使用すると、既存のタプルの一部の属性の値を変更できます。
  • [選択] を使用すると、特定の範囲のデータを選択できます。

これらの操作のいずれかが適用される場合、リレーショナルデータベーススキーマに指定された整合性制約に違反してはならない。

インサート Opera生産

挿入操作は、リレーションに挿入されるべき新しいタプルの属性値を返します。

挿入操作:リレーションに新しいタプルを追加する

更新 Opera生産

以下の関連テーブルを見ると、顧客名「Apple」が「非アクティブ」から「アクティブ」に更新されていることがわかります。

タプル内のステータス値を変更する更新操作

削除 Opera生産

削除を指定するには、リレーションの属性に関する条件によって、削除するタプルが選択されます。

削除操作:リレーションからタプルを削除する

上記の例では、顧客名「Apple」がテーブルから削除されます。

削除操作は、削除対象のタプルが同じテーブル内の他のタプルの外部キーによって参照されている場合、参照整合性を侵害する可能性があります。 データベース.

選択 Opera生産

特定のタプルを選択して操作を選択します

上記の例では、顧客名「Amazon」が選択されています。

関係モデルと階層モデルおよびネットワークモデルの比較

関係モデルは、それまでの2つのアプローチに取って代わり、その対比によって、なぜ関係モデルが主流になったのかが明らかになる。下の表は、これら3つのアプローチを並べて示したものである。

側面 関係モデル 階層モデル ネットワークモデル
Structure テーブル(リレーション) 木、親から子へ グラフ、多対多
データアクセス 値による宣言 経路によるナビゲーション ポインターによるナビゲーション
の関係 外部キー 親子関係 セットとポインタ
クエリ言語 SQL 手続きコード 手続きコード
柔軟性 ハイ ロー 技法

関係モデルは物理的なリンクをたどるのではなく、値によってデータを扱うため、 SQL データがどのように保存されているかを知らなくても、クエリを表現できる。

リレーショナルモデルを作成するためのベストプラクティス

  • データは、関係性の集合として表現される必要がある。
  • 表には、それぞれの関係を明確に示す必要があります。
  • 各行には、エンティティのインスタンスに関するデータが含まれている必要があります。
  • 列には、エンティティの属性に関するデータを含める必要があります。
  • 表の各セルには、単一の値が格納される必要があります。
  • 各列には固有の名前を付ける必要があります。
  • 全く同じ行は二つと存在しない。
  • 属性の値はすべて同じドメインに属している必要があります。

リレーショナルデータベースモデルの利点

  • シンプルさ: DBMSにおけるリレーショナルデータモデルは、階層型モデルやネットワーク型モデルよりも単純である。
  • 構造的独立性: リレーショナルデータベースはデータのみに関心を持ち、構造には関心を持たないため、モデルのパフォーマンスを向上させることができる。
  • 使いやすい: リレーショナルモデルは、行と列で構成される表が自然で理解しやすいため、使いやすい。
  • クエリ機能: これにより、SQLのような高水準クエリ言語が複雑なデータベースナビゲーションを回避することが可能になります。
  • データの独立性: リレーショナルデータベースの構造は、アプリケーションを変更することなく変更できる。
  • 可変的な、測定できる、登れる、はがせる: レコード数や行数、フィールド数に関して言えば、データベースは使いやすさを向上させるために拡張することができる。

関係モデルの欠点

  • リレーショナルデータベースでフィールド長に制限があり、それを超えることができないものはごくわずかである。
  • リレーショナルデータベースは、データ量が増加し、データ間の関係が複雑化するにつれて、時に複雑化することがある。
  • 複雑なリレーショナルデータベースシステムは、情報がシステム間で共有できない孤立したデータベースを生み出す可能性がある。

よくあるご質問

次数とは、リレーションにおける属性(列)の数です。カーディナリティとは、タプル(行)の数です。次数はテーブルの幅を表し、カーディナリティはテーブルの高さを表します。

リレーションは数学的な集合であり、集合には重複する要素は存在しません。主キーはこの性質を強制するため、すべてのタプルは一意に識別され、2つの行が同一になることはありません。

AIモデルは、SQLの結合や集計によってリレーショナルテーブルから抽出された特徴量に基づいて学習されることが多い。また、AIは平易な英語の質問をSQLに変換できるため、技術的な知識のないユーザーでもリレーションを直接クエリできる。

はい。サンプルデータや要件が与えられれば、AIはテーブル、主キーと外部キー、正規化形式を提案できます。ただし、正規化はAIが認識できないビジネスルールに依存するため、出力結果にはレビューが必要です。

実際には、これらは互換的に使用されます。正式には、リレーションは順序も重複もないタプルの集合であり、テーブルは格納された順序で行を表示する可能性のある、その物理的な表現です。