ServiceNow CIS-ITSM 無料問題 10 / 10 ・ 分野6: Configuration Management Database
実装担当者が、ロードバランサ専用のカスタムCIクラスを新規作成し、機種固有の属性を追加しようとしている。ServiceNowのCMDBにおけるテーブル構造として正しいものはどれか。
- CIクラスは cmdb_ci ではなく親テーブル cmdb を直接拡張し、cmdb_ci はレポート専用ビューとして機能する。
- CIクラスの階層はハードウェアとソフトウェアの2階層に固定され、それ以上の細分化はできない。
- すべてのCIクラスは基底テーブル cmdb_ci を継承(テーブル拡張)し、親から属性を受け継いだ上で固有属性を追加する。
- 各CIクラスは cmdb_ci とは継承関係を持たない独立テーブルとして作成され、共通属性は都度複製される。
正解と解説を見る
正解: C
正解の理由
CMDB のすべてのCIクラスは基底テーブル cmdb_ci をたどって拡張されている。cmdb_ci_hardware → cmdb_ci_computer → cmdb_ci_server のように、親の属性を受け継いだうえで固有属性を足していく。
違う選択肢
「継承関係を持たない独立テーブル」… 共通属性を都度複製すると、名前や所有者の意味がクラスごとにずれる。横断のレポートも組めない。
「cmdb を直接拡張し、cmdb_ci はビュー」… cmdb_ci はビューではなく実テーブルで、CIの基底そのものである。
「ハードウェアとソフトウェアの2階層に固定」… 階層の深さに制限はない。ロードバランサ専用クラスのように、必要なだけ細分化できる。
押さえどころ
カスタムクラスを作るときも、一番近い既存クラスを拡張するのが基本。cmdb_ci を直接拡張すると、継承できたはずの属性を自前で作り直すことになる。