属性(ぞくせい、英語: attribute)は、関係モデル (リレーショナルモデル) においては、属性名と定義域の名称のペア (属性名と定義域名から構成されるコンポーネント) である。

定義域は、データ型と同じ意味と考えてよい。属性は、その定義域に適合するなんらかの値をもつ。この値を属性値 (attribute value) という。属性値は、スカラ値[要曖昧さ回避]もしくはより複雑な構造をもつ値である。関係データベースデータベース言語 SQL では、属性とほぼ同じ意味で (カラム英語: column) という用語が使われている。

組 (タプル、行) は、ある特定の属性の順序づけられていない集合とそれぞれの属性値から、構成される。

関係 (リレーション表、テーブル) の見出しは、順序づけられていない属性の集合から、構成される。

組における属性

編集

組 (タプル、行) は、ある特定の属性の順序づけられていない集合とそれぞれの属性値から、構成される。

複数の属性 (列、カラム) から構成される一つの組の型の例を示す。

3つの属性から構成される組の型の例
属性名 定義域
ID 整数型
氏名 文字列型
住所 文字列型

この型の実際の組の例を示す。 この例では、便宜的に組を視覚的な図で示している。

3つの属性から構成される実際の組の例
ID : 整数型 氏名 : 文字列型 住所 : 文字列型
101 "ヒュー・ダーウェン" "沖縄県那覇市"

関係における属性

編集

関係 (リレーション表、テーブル) の見出しは、順序づけられていない属性の集合から構成される。関係は、一つの見出しと0以上の同じ型の組の順序づけられていない集合からなるデータ構造である。見出しを構成する属性の数を、次数 (degree) という。関係の次数は、0もしくは正の整数である。

関係の例を示す。この例では、便宜的に関係を視覚的に表 (テーブル) で示している。

実際の関係の例
ID : 整数型 氏名 : 文字列型 住所 : 文字列型
102 "ヒュー・ダーウェン" "沖縄県那覇市"
202 "エドガー・F・コッド" "宮城県仙台市"
104 "クリス・デイト" "熊本県熊本市"
152 "マイケル・ストーンブレーカー" "沖縄県沖縄市"

属性は、関係モデルの演算体系である関係代数および関係論理において使われる。 関係代数および関係論理は、1つ以上の関係を元にして演算結果として1つの関係を生成する。たとえば、関係代数の射影 (projection) 演算では、1つの関係に対していくつかの属性を指定する。射影演算は、関係を構成する属性集合から、いくつかの属性を抽出する。

射影の例を示す。

R:
A B C
1 2 3
4 5 6
R[A,B]:
A B
1 2
4 5
R[A]:
A
1
4

関係データベースデータベース言語 SQL では、CREATE TABLE 構文で属性を指定して関係 (表、テーブル) を定義することができる。

CREATE TABLE 人名録 (
  ID INTEGER,
  氏名 CHAR(40),
  住所 CHAR(200),
  PRIMARY KEY (ID)
)

関連項目

編集

参考文献

編集
  • 『データベースシステム概論 原著第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