定義域 (データベース)
定義域(ていぎいき、ドメイン、英: domain)は、データ管理およびデータモデリング、データベース設計の文脈では、あるデータ要素が値としてとる可能性のある一意な値すべてから構成される、名前つきの有限集合をいう。 データ型と同じ意味と考えてよい。 現在は単に型(タイプ、type)と略されることも多い。
定義域の境界を決定する規則は、数え上げ(列挙)リストで定義されるデータ型と同じくらいに簡潔である可能性もある。
例として、関係データベース(リレーショナルデータベース)で人物についての情報を収める関係(リレーション、テーブル、表)を考える。 この関係では、一人の人物につき一つの組(タプル、行)が対応する。 組は、0以上の属性の集合からなるデータ構造である。 この関係は、ジェンダーという属性(列、カラム)をもつ。 属性は、属性名と定義域の名称のペアである。 属性は、その定義域に適合するなんらかの属性値をもつ。 このジェンダー属性は、2つのコード値のうち一つをもつことができる。 すなわち、"F" を女性 (Female) に、"M" を男性 (Male) に、それぞれ対応するコード値とするのである。 NULL については、ジェンダーが不明であるか、ジェンダーをあてはめられない場合に使う。 あるいは特別なコード値として "U" を不明な (Unknown) 場合に使う。 このように、ジェンダー属性の定義域は {"F", "M"}(あるいは {"F", "M", "U"})となる。
定義域のほかの例としては、{"赤", "緑", "青", ...} で定義される光の定義域や、整数型や文字列型などが考えられるであろう。
この項目で説明している定義域の定義は、ある領域としての定義域の概念である。 ここでいう領域とは、数学における関数の定義における独立変数という値の集合という、概念である。
関係データベースのデータベース言語 SQL では、CREATE DOMAIN
構文で定義域を定義することができる。
CREATE DOMAIN PHONE_NUMBER AS CHAR(20)
関連項目
[編集]- 関係 (データベース)
- 属性 (データベース)
- 組 (データベース)
- データ管理
- データモデル
- データモデリング
- データベース
- データベース設計
- 関係の正規化
- 関係モデル
- 関係データベース
- 関係データベース管理システム
- データベース言語/問い合わせ言語
- ISO/IEC 11179 メタデータ標準
参考文献
[編集]- 『データベースシステム概論 原著第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