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