多重度とは?
多重度とは、関連の一方のインスタンス1つに対して、相手側のインスタンスが何個対応し得るかを表す指定。UMLでは「1」「0..1」「1..\*」「\*」などと書く。
データベーススペシャリスト試験の過去問では6回出題されています(2016年度〜2025年度)。
たじゅうど
多重度の意味
関連の一方のインスタンス1つに対して、相手側のインスタンスが何個対応し得るかを表す指定。UMLでは「1」「0..1」「1..\*」「\*」などと書く。
多重度の具体例
「社員は必ず1つの組織に所属し、組織には0人以上の社員が所属する」なら、社員側から組織へ「1」、組織側から社員へ「0..\*」となる。
多重度は試験でどう引っ掛けられる?
UMLの多重度は「相手1つに対する自分側の個数」を、関連線の相手寄りではなく自分寄りに書く。読む向きを取り違えると1対多が逆転する。兼務なし=従業員から組織への多重度が1。
多重度と関連する用語
多重度が出た過去問
UMLを用いて表した商品と倉庫のデータモデルに関する記述のうち、適切なものはどれか。ここで、商品の倉庫間の移動はないものとする。
正解:1種類の商品を二つの倉庫に初めて入庫すると、“在庫商品”データが2件追加される。
要点:在庫商品は商品と倉庫の組合せごとに1件識別される
このモデルでは“在庫商品”が商品と倉庫の組合せごとに1件存在する。商品側から見た多重度は1対1..*、倉庫(格納先)側から見た多重度は1対0..*なので、同じ商品でも格納先の倉庫が違えば別の“在庫商品”になる。したがって1種類の商品を二つの倉庫へ初めて入庫すれば、“在庫商品”は2件生成される。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問1(IPA)B+木インデックスとビットマップインデックスを比較した説明のうち、適切なものはどれか。
正解:少数の異なる値をもつ列への検索は、ビットマップインデックスの方が有効である。
要点:値の種類が少ない列にはビットマップインデックスが有効
ビットマップインデックスは、列がとり得る値ごとに行の該当有無をビット列で表す方式である。値の種類(カーディナリティ)が少ないほどビット列の本数が少なく済んで効率がよく、性別や区分コードのような列に向いている。
出典:平成30年度 春期 データベーススペシャリスト試験 am2 問15(IPA)四つの表の関係を表すE-R図として、適切なものはどれか。ここで、実線の下線は主キーを、破線の下線は外部キーを表す。 医師(医師番号,医師名,診療科コード(外部キ…
正解:医師*—1診療科1—*診察*—1患者
要点:外部キーを持つ側が多。多重度は参照の向きで決まる
外部キーを持つ側が「多」になる。医師は診療科コードを外部キーに持つので医師が多で診療科が1、診察は診療科コードと患者番号を外部キーに持つので診察が多で診療科・患者がそれぞれ1になる。この向きをすべて満たす多重度の組合せはイである。
出典:令和3年度 秋期 データベーススペシャリスト試験 am2 問4(IPA)社員と年との対応関係をUMLのクラス図で記述する。二つのクラス間の関連が次の条件を満たす場合、a、bに入れる多重度の適切な組合せはどれか。ここで、"年"クラスの…
正解:a=0..*、b=1
要点:UMLの多重度は相手1つに対する自分の個数を表す
UMLでは関連端に付けた多重度が「相手1つに対して自分がいくつ対応するか」を表す。すべての社員に入社年が1つ定まるので年の側は1、ある年に入社した社員は0人のこともあれば複数のこともあるので社員の側は0..*となる。よってイの組合せが正しい。
出典:令和4年度 秋期 データベーススペシャリスト試験 am2 問2(IPA)階層構造をもつ組織と、従業員の組織への所属を表すUMLのクラス図のうち、"従業員は組織階層中のどの組織にも所属できるが、兼務はしない"とするものはどれか。
正解:選択肢エ:組織(下位*、上位0..1の自己再帰)が従業員と「所属する」関連(1対*)を持つ。上位組織・末端組織の汎化は無し。
要点:兼務なしは従業員側から組織への多重度1で表す
「どの組織にも所属できる」とは、末端の組織に限らず階層のどのノードにも従業員が結び付けられるということなので、従業員は上位・末端を区別しない組織クラスそのものと関連を持つ必要がある。また「兼務はしない」は、従業員1人から見た所属組織が1つであることを意味し、従業員側から組織への多重度が1になる。階層は組織クラス自身の再帰関連(上位0..1、下位は複数)で表す。この3点を満たす図が正解である。
出典:令和6年度 秋期 データベーススペシャリスト試験 am2 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。