導出属性とは?どうしゅつぞくせい
導出属性とは、他の属性や関連するレコードから計算で求められる属性で、UMLのクラス図では属性名の前に「/」を付けて示す。在庫数量(入庫合計−出庫合計)や年齢(生年月日と現在日付から)が典型。格納するかどうかは物理設計の判断で、格納すれば参照は速いが元データ更新のたびに再計算が要る。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
計算で出せる値を表に持つと、元の値と食い違う更新時異状が起きる。正規化の考え方では持たないのが原則だが、集計のたびに数百万行を足すのでは応答が持たないため、意図的に持つ場合は「導出であること」を設計図に明示して整合維持の責任を負う。支援士試験では、アクセス権の実効値(グループ継承の結果)のような導出値をキャッシュしたとき、元の変更が反映されず権限が残る問題として現れる。
具体例
会員テーブルの「アカウントロック状態」を、失敗回数と最終失敗時刻から導出する属性にするか、ロック時に書き込む実属性にするかは設計判断。Active Directoryの実効アクセス権はグループのネストから導出される値で、Windowsの「有効なアクセス」タブはそれをその場で計算して表示する。
試験での引っ掛け
導出属性を格納するかどうかは物理設計の話で、論理設計では「/」を付けて導出であることを示すだけ。格納した導出値は元データの更新時に必ず再計算しないと不整合になり、権限のような値では「取り消したはずの権限が残る」事故になる。
関連用語
出典・参考
公式シラバスの4 開発技術 > 2. 設計 > (9) ソフトウェア設計手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。