組 (データベース)

データベースにおける「組」とは



データベースにおける「組(くみ)」、または「タプル(tuple)」とは、関係モデル(リレーショナルモデル)において、データを構成する基本的な要素となるデータ構造です。具体的には、非負整数個の属性の集合から成り立ちます。

組の構成要素



組は、複数の属性から構成されます。それぞれの属性は、属性名とその属性が取りうる値の範囲(定義域またはドメイン)のペアで定義されます。定義域は、データ型(例えば、整数型、文字列型など)と同じ意味で捉えることができます。

各属性は、定義域に適合する値を持ちます。つまり、組は、各属性に対して、その属性のデータ型に合った具体的な値を持つことになります。属性値は、単一の値(スカラ値)であることもあれば、より複雑な構造を持つ値であることもあります。

数学における組との違い



数学における組とは異なり、関係モデルにおける組を構成する属性には順序がありません。この点は重要なポイントです。つまり、属性がどの順番で並んでいるかは、組の本質的な意味には影響を与えません。

次数について



組を構成する属性の数を「次数(degree)」と呼びます。次数は、0または正の整数です。次数がnである組をn組(n-tuple)と表現します。例えば、3つの属性を持つ組は3組となります。

関係(リレーション)における組



同じ型の組の集合を「関係(リレーション)」と呼びます。関係は、0個以上の組から構成されます。関係データベースでは、この関係がテーブルとして表現されます。

関係データベースデータベース言語であるSQLでは、「組」とほぼ同じ意味で「行(row)」という用語が使われます。SQLで行を生成する際には、行値構築子を利用します。



具体例として、ID(整数型)、氏名(文字列型)、住所(文字列型)の3つの属性からなる組を考えてみましょう。

例えば、以下の様なデータが、この組の具体例となります。

ID: 101
氏名: ヒュー・ダーウェン
住所: 沖縄県那覇市

この例では、組の次数は3です。この組を構成する属性には順序がないため、「氏名の右側に住所がある」といった表現は誤りです。属性は、概念的に集合として存在すると捉えるべきです。

関係の例



同じ型の組が複数集まることで、関係が形成されます。例えば、以下のようなデータは関係の一例です。

ID 氏名 住所
- --- --
101 ヒュー・ダーウェン 沖縄県那覇市
102 アリス・スミス 東京都新宿区
103 ボブ・ジョンソン 大阪府大阪市
104 キャロル・ブラウン 福岡県福岡市

この関係には、同じ構造を持つ4つの組が含まれています。

まとめ



組は、データベースにおける基本的なデータ構造であり、属性と属性値の集合としてデータを表現します。関係モデルにおいて、組は関係(テーブル)を構成する要素として重要な役割を果たします。組の概念を理解することは、データベースの設計や操作を行う上で不可欠です。

関連項目



定義域 (ドメイン、型)
関係 (リレーション)
属性 (データベース)
データ管理
データモデル
データモデリング
データベース設計
関係の正規化 (リレーションの正規化、データベースの正規化)
関係モデル (リレーショナルモデル)
関係データベース (RDB)
関係データベース管理システム (RDBMS)
データベース言語/問い合わせ言語
データ定義言語 (DDL)
SQL
Tutorial D

参考文献



『データベースシステム概論 原著第6版』丸善、東京、1997年。ISBN 4-621-04276-9。
『データベース実践講義—エンジニアのためのリレーショナル理論』オライリー・ジャパン、東京、2006年。ISBN 4-87311-275-3。
* Database in Depth : Relational Theory for Practitioners. 北京: O'Reilly Media. (2005). ISBN 0596100124

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。