DBMS のリレーショナル データ モデル |データベース Concepts & 例
リレーショナルモデルとは何ですか?
リレーショナル モデル (RM) データベースをリレーションのコレクションとして表します。 リレーションは値のテーブルにすぎません。 テーブル内の各行は、関連するデータ値のコレクションを表します。 表内のこれらの行は、現実世界の実体または関係を示します。
テーブル名と列名は、各行の値の意味を解釈するのに役立ちます。 データは一連の関係として表されます。 リレーショナル モデルでは、データはテーブルとして保存されます。 ただし、データの物理的なストレージは、データが論理的に編成される方法とは無関係です。
一般的なリレーショナル データベース管理システムには次のようなものがあります。
- DB2 および Informix ダイナミック サーバー – IBM
- Oracle そしてRDB – Oracle
- SQL サーバーとアクセス – Microsoft
関係モデル Concepts DBMSで
- 属性: テーブルの各列。 属性は関係を定義するプロパティです。 例: Student_Rollno、NAME など。
- テーブル類 – リレーショナル モデルでは、関係はテーブル形式で保存されます。 エンティティとともに保存されます。 テーブルには行と列の XNUMX つのプロパティがあります。 行はレコードを表し、列は属性を表します。
- タプル – これは、単一のレコードを含むテーブルの単一の行にすぎません。
- 関係スキーマ: 関係スキーマは、関係の名前とその属性を表します。
- 度: 関係に含まれる属性の総数は、関係の次数と呼ばれます。
- カーディナリティ: テーブルに存在する行の合計数。
- カラム: 列は、特定の属性の値のセットを表します。
- 関係インスタンス – リレーションインスタンスは、RDBMS システム内のタプルの有限セットです。 リレーションインスタンスには重複したタプルが存在することはありません。
- リレーションキー – すべての行には、リレーションキーと呼ばれる XNUMX つ、XNUMX つ、または複数の属性があります。
- 属性ドメイン – すべての属性には、属性ドメインと呼ばれる事前定義された値と範囲があります。
リレーショナル Integrity 制約
リレーショナル Integrity DBMS の制約は、有効な関係が存在するために必要な条件を指します。DBMS のこれらのリレーショナル制約は、データベースが表すミニワールドのルールから派生します。
多くの種類があります。 Integrity DBMS の制約。リレーショナル データベース管理システムの制約は、主に次の 3 つのカテゴリに分けられます。
- ドメインの制約
- 主な制約
- 参考文献 Integrity 制約
ドメインの制約
属性値が対応するドメインに表示されない場合、または属性値が適切なデータ型ではない場合、ドメイン制約に違反する可能性があります。
ドメイン制約は、各タプル内で、各属性の値が一意でなければならないことを指定します。これは、標準データ型の整数、実数、文字、ブール値、可変長文字列などを含むデータ型として指定されます。
例:
Create DOMAIN CustomerName CHECK (value not NULL)
示されている例は、CustomerName が NULL ではないようなドメイン制約の作成を示しています。
主な制約
リレーション内のタプルを一意に識別できる属性は、テーブルのキーと呼ばれます。 リレーション内の異なるタプルの属性の値は一意である必要があります。
例:
指定されたテーブルでは、CustomerID は Customer テーブルのキー属性です。 1 人の顧客に対して XNUMX つのキーを持つ可能性が最も高く、CustomerID =XNUMX は CustomerName =” Google” に対してのみです。
顧客ID | 顧客名 | ステータス |
---|---|---|
1 | グーグル | 従軍中 |
2 | Amazon | 従軍中 |
3 | Apple | 非アクティブ |
参考文献 Integrity 制約
参考文献 Integrity DBMS の制約は、外部キーの概念に基づいています。外部キーは、他のリレーションシップで参照されるリレーションの重要な属性です。参照整合性制約状態は、リレーションが異なるまたは同じリレーションのキー属性を参照する場合に発生します。ただし、そのキー要素はテーブル内に存在している必要があります。
例:
上の例では、Customer と Customer という 2 つのリレーションがあります。 Billる。
CustomerID =1 のタプルがリレーション内で XNUMX 回参照されています Billつまり、CustomerName=Googleの請求額は300ドルであることがわかります。
Operaリレーショナル モデルのオプション
リレーショナルデータベースモデルで実行される4つの基本的な更新操作は、
挿入、更新、削除、選択。
- Insert はリレーションにデータを挿入するために使用されます。
- Delete は、テーブルからタプルを削除するために使用されます。
- 変更を使用すると、既存のタプルの一部の属性の値を変更できます。
- [選択] を使用すると、特定の範囲のデータを選択できます。
これらの操作のいずれかが適用される場合は、リレーショナル データベース スキーマで指定された整合性制約に違反してはなりません。
インセット Opera生産
挿入操作は、リレーションに挿入される新しいタプルの属性の値を提供します。
アップデイト Opera生産
以下の関係テーブルでは、CustomerName= 'Apple' が非アクティブからアクティブに更新されていることがわかります。
削除 Opera生産
削除を指定するには、リレーションの属性に関する条件によって、削除するタプルが選択されます。
上記の例では、CustomerName= “Apple” がテーブルから削除されます。
削除されたタプルが同じタプル内の他のタプルの外部キーによって参照されている場合、削除操作は参照整合性に違反する可能性があります。 データベース.
選択 Opera生産
上記の例では、CustomerName=”Amazon”が選択されています
リレーショナル モデル作成のベスト プラクティス
- データは関係の集合として表現される必要がある
- それぞれの関係を表に明確に示す必要があります
- 行にはエンティティのインスタンスに関するデータが含まれている必要があります
- 列にはエンティティの属性に関するデータが含まれている必要があります
- テーブルのセルには単一の値を保持する必要があります
- 各列には一意の名前を付ける必要があります
- XNUMX つの行が同一であることはできません
- 属性の値は同じドメインのものである必要があります
リレーショナル データベース モデルの利点
- 単純: DBMS のリレーショナル データ モデルは、階層型およびネットワーク モデルよりも単純です。
- 構造的独立性: リレーショナル データベースはデータのみを扱い、構造は扱いません。 これにより、モデルのパフォーマンスが向上する可能性があります。
- 簡単に使える: DBMS のリレーショナル モデルは、行と列で構成されるテーブルが非常に自然で理解しやすいため、簡単です。
- クエリ機能: 次のような高レベルのクエリ言語が可能になります。 SQL 複雑なデータベースナビゲーションを回避するため。
- データの独立性: アプリケーションを変更することなく、リレーショナル データベースの構造を変更できます。
- スケーラブル: レコードまたは行の数とフィールドの数に関しては、データベースを拡張して使いやすさを向上させる必要があります。
リレーショナル モデルの欠点
- リレーショナル データベースには、超過できないフィールド長の制限があるものはほとんどありません。
- リレーショナル データベースは、データ量が増え、データ間の関係がより複雑になるにつれて、複雑になることがあります。
- 複雑なリレーショナル データベース システムでは、データベースが孤立し、あるシステムから別のシステムへ情報を共有できなくなる可能性があります。
まとめ
- リレーショナル データベース モデリングは、データベースを関係 (テーブル) の集合として表現します。
- 属性、テーブル、タプル、関係スキーマ、次数、カーディナリティ、列、関係インスタンスは、リレーショナル モデルの重要なコンポーネントです。
- リレーショナル Integrity 制約は、DBMSにおける有効な関係アプローチに存在しなければならない条件を指します。
- 属性値が対応するドメインに表示されない場合、または属性値が適切なデータ型ではない場合、ドメイン制約に違反する可能性があります。
- 挿入、選択、変更、削除はリレーショナルモデル制約で実行される操作です。
- リレーショナル データベースはデータのみを対象とし、モデルのパフォーマンスを向上させる構造には関係しません。
- のメリット DBMS のリレーショナル モデル シンプルさ、構造の独立性、使いやすさ、クエリ機能、データの独立性、スケーラビリティなどです。
- リレーショナル データベースには、超過できないフィールド長の制限があるものはほとんどありません。