参照関係は1対N関係の1種です。
参照関係は上位エンティティの存在が必ずしも必須ではなく、下位エンティティは、上位エンティティのキー(群)を属性として継承します。
例えば、ある部門に所属する社員が複数存在し、社員は一つの組織にのみ所属する(兼務はない)ような関係(図1)で、下位エンティティ(社員)の属性として上位エンティティ(部門)のキーを属性として継承します。
このような関係を参照関係といいます。
(図1)参照関係
これまでは、相手側のエンティティが最大何個存在するかということで、1対1、1対Nを説明してきましたが、最大があるのであれば、最低何個存在するのかという考え方も当然あります。
このような、相手が最低何個存在するのかということをオプショナリティ(あるいは最小カーディナリティ)といいます。
相手が最低何個存在するかということに着目した場合、参照関係については、下位エンティティの値(参照キーの値)が必ず入っている場合と、任意の場合があります。
【参照関係(任意)】
参照関係(任意)の場合とは、上記の部門と社員の関係で説明しますと、部署と社員の関係で社員の所属部署コードに必ずしも部署コードが入っていないというケースです。
ある会社では新入社員については所属部署が決定していないので、値を入力しないという場合は、下位エンティティ側の所属部署コードには値が入っていないということになります。
(図2)任意の参照関係
【参照関係(必須)】
参照関係(必須)の場合とは、上記の部門と社員の関係で説明しますと、社員であれば必ずどこかの部署に所属しており、所属部署コードが必ず存在するというケースです。
新入社員の場合でも、正式な所属部署が決定するまでは総務部付けとし、総務部の部署コードを設定しておくというやり方です。
(図3)必須の参照関係
参照関係は上位エンティティの存在が必ずしも必須ではなく、下位エンティティは、上位エンティティのキー(群)を属性として継承します。
例えば、ある部門に所属する社員が複数存在し、社員は一つの組織にのみ所属する(兼務はない)ような関係(図1)で、下位エンティティ(社員)の属性として上位エンティティ(部門)のキーを属性として継承します。
このような関係を参照関係といいます。
(図1)参照関係
これまでは、相手側のエンティティが最大何個存在するかということで、1対1、1対Nを説明してきましたが、最大があるのであれば、最低何個存在するのかという考え方も当然あります。
このような、相手が最低何個存在するのかということをオプショナリティ(あるいは最小カーディナリティ)といいます。
相手が最低何個存在するかということに着目した場合、参照関係については、下位エンティティの値(参照キーの値)が必ず入っている場合と、任意の場合があります。
【参照関係(任意)】
参照関係(任意)の場合とは、上記の部門と社員の関係で説明しますと、部署と社員の関係で社員の所属部署コードに必ずしも部署コードが入っていないというケースです。
ある会社では新入社員については所属部署が決定していないので、値を入力しないという場合は、下位エンティティ側の所属部署コードには値が入っていないということになります。
(図2)任意の参照関係
【参照関係(必須)】
参照関係(必須)の場合とは、上記の部門と社員の関係で説明しますと、社員であれば必ずどこかの部署に所属しており、所属部署コードが必ず存在するというケースです。
新入社員の場合でも、正式な所属部署が決定するまでは総務部付けとし、総務部の部署コードを設定しておくというやり方です。
(図3)必須の参照関係
※コメント投稿者のブログIDはブログ作成者のみに通知されます