システムアーキテクト暗記無料で始める

カーディナリティ(多重度)とは?かーでぃなりてぃ

カーディナリティ(多重度)とは、関連に参加するインスタンス数の上限と下限の組。上限側が1対1/1対多/多対多を、下限側が0か1かで参加の任意・必須を表し、UMLでは0..1や1..*のように書く。業務ルールをどこまでモデルで縛り、どこからアプリの入力検証へ回すかの分かれ目になる。

最終更新:2026-10-06

試験情報

システムアーキテクト試験の過去問では1回出題されています。

システムアーキテクト試験の頻出用語/午前II

別名:多重度、オプショナリティ、カーディナリティ

この語が出る過去問を解く →

背景

「1件の受注に担当者は必ず1人か、未割当もありうるか」は、聞かなければ設計者には分からない業務側の取り決めで、口頭合意のままだと実装者ごとに解釈がぶれる。多重度は、その取り決めをモデル上の1か所だけに書き、外部キーのNOT NULL・一意制約・交差エンティティの要否へ機械的に落とすための記法として使う。試験では、モデルから実装上の制約を導けるかが問われる。

具体例

Redmineのようなチケット管理では「チケットは必ず1つのプロジェクトに属する」ため project_id はNOT NULL、「担当者は未割当がありうる」ため assigned_to_id はNULL許容になる。「1件のチケットに複数のウォッチャー」は多対多なので、交差表を1枚起こす。

試験での引っ掛け

多いか少ないかの目安ではなく上下限の組で、0..*と1..*はどちらも「多」だが、下限の違いがNULL許容と必須入力の設計を分ける。UMLのクラス図では相手側の個数を関連線の向こう端に書く(自分のクラス側に書く誤りが多い)。多対多はそのままでは表に落とせない。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:午前II
  • 多いか少ないかの目安ではなく上下限の組で、0..*と1..*はどちらも「多」だが、下限の違いがNULL許容と必須入力の設計を分ける。