前提条件: DBMSの導入
レコードまたは行とも呼ばれるタプルは、リレーショナル データベース管理システム (DBMS) におけるデータの基本単位です。タプルは、データベース内のリレーションまたはテーブルの単一のインスタンスを表します。各タプルには、リレーションの列またはフィールドに対応する値または属性のセットが含まれています。
E.F. コッドはリレーショナル データベース管理システムを発明し、関係を一意のタプルのコレクションとして定義しました。リレーショナル モデルは、一意のキーを使用してデータを行と列からなる少なくとも 1 つのテーブルに編成します。これらの行はテーブルとして表すことができます。
データベース管理システムのタプルは、リレーショナル データベースのコンテキストにおける 1 つのレコード (1 行) です。データベースに存在するデータを、さまざまなデータ型を表す行 (タプルと呼ばれる) と列 (フィールドまたは属性と呼ばれる) を含むスプレッドシートと比較できます。
DBMS では、要素の編成と識別に使用される一意のキーが各テーブルに割り当てられます。このキーはテーブルの主キーとして知られ、存在するレコードごとに一意です。 DBMS では、ユーザーは別のテーブルの列の値を含む列を追加できます。これにより、ユーザーは異なるテーブルのタプルをリンクできるようになります。
テーブルの行はデータベース内のレコードを表し、列はエンティティに関連付けられた属性を表します。
DBMS でのタプルの操作
リレーショナル データベースでは、関係は一連の属性と、それらの属性の値を持つ一連のタプルによって定義されます。
例:
CUSTOMER というリレーションには、customer_id、first_name、last_name、email などの属性が含まれる場合があります。関係内の各タプルは、customer_id 属性の一意の値と、first_name の John や last_name の Smith など、他の属性の対応する値を持ちます。
顧客テーブル
| 顧客ID | ファーストネーム Linuxでディレクトリの名前を変更する | 苗字 | Eメール |
|---|---|---|---|
| 1 Pythonの差分 | ジョン | スミス | |
| 2 | アビシェク | ボースレ | |
| 3 | ナターシャ | 魔女 |
タプルは、リレーショナル データベースの正規化プロセスでも使用されます。正規化は、データベース内のデータを整理してデータの冗長性を最小限に抑え、データの整合性を向上させるプロセスです。正規化のプロセスでは、リレーションは複数の小さなリレーションに分割され、それぞれに特定の目的があり、特定の属性とタプルのセットが含まれます。
例
正規化されていない関係では、ORDER 関係に order_id、customer_id、product_id、数量などの属性が含まれる場合があります。正規化のプロセスでは、リレーションは 2 つの別個のリレーションに分割される場合があります。1 つは order_id や customer_id などの属性を含む order と呼ばれるリレーション、もう 1 つは product_id や数量などの属性を含む order_details と呼ばれるリレーションです。
注文テーブル
| 注文ID | 顧客ID | 製品番号 | 量 |
|---|---|---|---|
| あ | 1 | AAA1 | 5 |
| B | 2 | BBB1 | 6 |
| C | 3 | CCC1 | 7 |
タプルは、リレーショナル データベースにクエリを実行するプロセスでも使用されます。クエリはデータベースから特定のデータを取得するために使用され、クエリの結果は、クエリで指定された基準に一致するタプルのセットです。たとえば、特定の電子メール アドレスを持つ顧客の姓名を取得するクエリでは、条件に一致する各顧客の属性を含むタプルのセットが返されます。
タプルの種類
データベース管理システムには 2 種類のタプルがあります。
- 物理タプル: 物理タプルは、データベースの記憶メディアに保存されている実際のデータです。レコードまたは行とも呼ばれます。
- 論理タプル: 論理タプルはメモリ内のデータ表現であり、データはディスクに書き込まれる前またはクエリ操作中に一時的に保存されます。
物理タプルと論理タプルはどちらも同じ属性を持ちますが、その表現と使用法は操作のコンテキストに基づいて異なる場合があります。
結論
結論として、タプルはリレーショナル データベース管理システムにおけるデータの基本単位です。これはリレーションの単一インスタンスを表し、そのリレーションの属性に対応する値のセットが含まれます。タプルは、正規化のプロセスで使用されるだけでなく、リレーショナル データベースにクエリを実行して、特定のデータを取得するためにも使用されます。これらは、データベース内のデータを整理および構造化し、データの整合性を向上させ、データの検索を容易にする上で重要な役割を果たします。
よくある質問
1. DBMS の属性とは何ですか?
データベース管理システムでは、属性はエンティティ セットの各エンティティによって反映されるプロパティまたは特性です。
C++での継承