thumbnail|right|540px|組 (tuple) を含む関係モデルの概念
組 (くみ、タプル、英: tuple)とは関係モデル (リレーショナルモデル) において、非負整数個の属性 の集合からなるデータ構造のことである。 データベースにおける組においては、次のことが言える。 関係データベースのデータベース言語であるSQLでは、組とほぼ同じ意味で行 (row) という用語が使われている。 属性は、属性名と定義域 (ドメイン、型) の名称のペアである。 定義域は、データ型と同じ意味と考えてよい。 属性は、その定義域に適合するなんらかの属性値をもつ。 すなわち、一つの組においては、その組に含まれる属性それぞれが、その属性の定義域の属性値をもつ。 属性値は、スカラ値もしくはより複雑な構造をもつ値である。 数学における組とは異なり、関係モデルにおける組を構成する属性は順序づけられていない。 組を構成する属性の数を、次数 (degree) という。 組の次数は、0もしくは正の整数である。 次数が n である組を n 組 (n-tuple) という。 関係値 (あるいは単に関係、リレーション) は、0以上の同じ型の組の集合から構成される。
例
複数の属性から構成される一つの組の型の例を示す。
+ 3つの属性から構成される組の型の例 属性名 : 定義域名 ID : 整数型 氏名 : 文字列型 住所 : 文字列型
この型の実際の組の例を示す。 この例では、便宜的に組を視覚的な図で示している。
+ 3つの属性から構成される実際の組の例 ID : 整数型 氏名 : 文字列型 住所 : 文字列型 101 "ヒュー・ダーウェン" "沖縄県那覇市"
この例の組は、IDという属性名である整数型の101という属性値をもつ属性と、氏名という属性名である文字列型の "ヒュー・ダーウェン" という属性値をもつ属性と、住所という属性名である文字列型の "沖縄県那覇市" という属性値をもつ属性の、3つの属性から構成されている。 この例の組の次数は、3である。 先述したように、組を構成する属性は順序づけられていない。 つまり、この例の組で「氏名の右側に住所がある」と述べることはまちがいであり、「住所は3番目の属性である」と述べることもまちがいである。
関係における組
同じ型の組の特定の集合は、関係 (リレーション) を構成する。 関係を構成する組の数 (濃度) は、0以上である。 関係の例を示す。
+ 同じ型の組から構成される実際の関係の例 ID : 整数型 氏名 : 文字列型 住所 : 文字列型 101 "ヒュー・ダーウェン" "沖縄県那覇市" 202 "エドガー・F・コッド" "宮城県仙台市" 104 "クリス・デイト" "熊本県熊本市" 152 "マイケル・ストーンブレーカー" "沖縄県沖縄市"
この例の関係には、同じ型の組が4つ含まれている。
関係データベースのデータベース言語 SQL では、行値構築子で組を次のように生成することができる。
(101, "ヒュー・ダーウェン", "沖縄県那覇市")
関連項目
定義域 (ドメイン、型) 関係 (リレーション) 属性 (データベース) データ管理 データモデル データモデリング データベース設計 関係の正規化 (リレーションの正規化、データベースの正規化) 関係モデル (リレーショナルモデル) 関係データベース (RDB) 関係データベース管理システム (RDBMS) データベース言語/問い合わせ言語 データ定義言語 (DDL) SQL Tutorial D
参考文献