検索
連載

概念データモデル設計における「スーパタイプ」「サブタイプ」とは「データベーススペシャリスト試験」戦略的学習のススメ(6)(1/3 ページ)

あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「概念データモデル設計の基礎」を解説します。

Share
Tweet
LINE
Hatena

連載目次

ポケットスタディ データベーススペシャリスト [第2版]

書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍ポケットスタディ データベーススペシャリスト [第2版](2015年12月22日発行)』からの抜粋です。

ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。


※編集部注:前回記事「「E-R図」を理解する」はこちら

スーパタイプとサブタイプ

出題頻度 午前II:●-- 午後I:●-- 午後II:●●●


 ●--:過去14年間での過去問出題数が1〜9回
 ●●-:過去14年間での過去問出題数が10〜19回
 ●●●:過去14年間での過去問出題数が20回以上


Key Word

スーパタイプ、サブタイプ、包含による汎化関係、午後演習(1)、午後演習(2)、制約条件を伴う表現


スーパタイプとサブタイプ

 概念データモデル設計において一通りの種類のインスタンスを抽出した後、あるエンティティのインスタンスが業務上何かの基準に従って区分できる場合、これを表現するためにスーパタイプサブタイプを用います。これは「オブジェクト指向」における汎化/特化、基底クラス/派生クラスに該当し、例えば「会員」が「無料会員」と「有料会員」に分けられる時、次のように表現します。

スーパタイプとサブタイプ

 午後IIでは、スーパタイプ、サブタイプの設計は頻出です。これを意識したリレーションシップの設計に受験者様は悩みがちですが、以下のルールにより一部を機械的に素早く設計したあと、ゆっくり本文を読み、必要な属性を追加するという進め方が非常に有効です。

ルール1 スーパクラスとサブクラスは主キーが一致する。
ルール2 スーパクラスには、インスタンスを各サブクラスに割り振るための区分が存在する。
鉄則:スーパタイプ設計問題では、ルールを駆使して時間を稼げ

包含(がん)による汎化関係

 あるエンティティに含まれるインスタンスが、別のエンティティの一部として全て含まれるとき、以下のようにスーパタイプ、サブタイプの関係を結ぶことができます。

包含(がん)による汎化関係

午後演習(1) 本文からの概念モデル設計

販売業務変更後の会員管理について答えよ。

販売業務の変更に当たり、顧客、親会員及び子会員の関係について、次のルール(ア)〜(ウ)を設定する。

(ア)1人の顧客に対して、親会員は一つである。

(イ)一つの子会員に対して、親会員は一つである。

(ウ)会員の関係は親と子の2階層で、かつ親と子の関係が循環しない。

(1) 図3は、ルール(ア)〜(ウ)に従って、“顧客”、“会員”、“親会員”及び“子会員”の各エンティティタイプ間のリレーションシップを表す概念データモデルである。図3に示したエンティティタイプ間にリレーションシップを記入して、図を完成させよ。

図3 “顧客”、“会員”、“親会員”及び“子会員”の概念データモデル
図3 “顧客”、“会員”、“親会員”及び“子会員”の概念データモデル

(H19春DB午後I問2設問3(1)


※筆者注: リレーションシップについては、各エンティティ間におけるオプショナリティ(対応関係にゼロを含むか否かの表記)も記載して下さい。

 *解答は次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る