属性とドメインの主な違いは、属性が実体を表すプロパティであるのに対し、ドメインは属性に割り当てることができる値の集合体であることです。
データベースを開発する前に、データベースを設計することが重要です。
ER図(Entity Relationship Diagram)は、データベースの概念図を得るために役立ちます。
ER 図は、データベースの論理構造を図式化したものです。
また、データ間の関係を理解するのにも役立ちます。
このような場合、「Attribute」(属性)と「Domain」(領域)は、ER 図に関連する 2 つの概念です。
エンティティとは
エンティティとは、現実世界のオブジェクトのことである。
例えば、大学のデータベースを想定してみましょう。
学生、講師、コースはエンティティです。
リレーションシップは、これらのエンティティを結びつけるのに役立ちます。
エンティティは、データベースのテーブルです。
さらに、エンティティセットとは、類似のエンティティタイプの集まりを指す。
学生エンティティの場合、全学生のレコードセットまたは完全なデータセットがエンティティセットと呼ばれます。
アトリビュートとは
属性は、実体を表現するのに役立ちます。
各属性には値があります。
例えば、Courseエンティティを仮定します。
このエンティティは、course_id、name、duration、lecturerなどの属性を持っています。
図1:ER図
属性には次のような種類があります。
単純属性 – これらの属性は原子的です。
例:id, name, etc.など。
Composite attribute – この属性は単純な属性の集まり。
派生属性 – これらの属性はデータベースでは利用できないが、他の属性を使用して見つけることができる。
したがって、これは派生属性です。
Single-valued attribute – これらの属性は1つの値のみを持つ。
Multi-valued attribute – 複数の値を持つことができる属性。
ドメインとは
ドメインとは、属性に割り当てることができる値の集合を指します。
各属性はドメインを持っています。
さらに、Nameは文字列でなければなりません。
数値は使えません。
Ageは正の数でなければなりません。
さらに、年齢は20〜35歳であるべき、国籍はアメリカ、イギリス、カナダのいずれかであるべき、というようなドメインがありうる。
つまり、これらの属性には、それぞれドメインと呼ばれる割り当てるべき値の集合があります。
属性とドメインの違い
定義
属性とは、エンティティセットの各エンティティが所有する記述的なプロパティであり、ドメインとは、属性に許可される値の集合のことである。
したがって、これが属性とドメインの主な違いです。
使用方法
重要なのは、属性が実体を記述するのに役立つのに対して、ドメインは特定の属性に適合する値の範囲を定義するのに役立つということです。
したがって、この点も属性とドメインの違いです。
例
名前と年齢が属性の例です。
しかも、名前はアルファベットでなければならず、年齢はドメインを説明するために正でなければならない。
結論
データベース設計において、ER図に関連する用語として属性とドメインがあります。
属性とドメインの主な違いは、属性がエンティティを表すプロパティであるのに対し、ドメインは属性に割り当てることができる値のコレクションであることです。