インフラエンジニアは人間じゃない

インフラエンジニアのブログ。毎日19:00更新。

サブタイプとスーパータイプとは?違いは? データベーススペシャリスト試験(DB)対策

どうもインフラエンジニアのねるです!

18年度春季試験のデータベーススペシャリスト試験を受験予定です。

 

今回はタイトルの通り、

サブタイプとスーパータイプとは何か説明していきます。

 

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

 データベース設計のモデル図作成時に必要な知識となります。

 例えば、テーブルの構成が以下のような構成だったとします。

 

 例:

 注文(注文番号、店舗コード、注文日時)

 注文明細(注文番号、注文明細番号、商品コード)

 

 この場合、注文テーブルと注文明細テーブルはスーパータイプサブタイプの関係になります。

 スーパータイプが注文テーブル、サブタイプが注文明細テーブルです。

 

 サブタイプとスーパータイプのリレーションシップ図は以下のようになります。

f:id:nell17world:20180209192937j:plain

 

 なんかいまいち標準化されていないのか、別の書き方をする場合もあるので、

 必要に応じて使い分けて下さい。

 

 スーパータイプには店舗情報や購入日時等の共通項目データとして入ります。

 サブタイプには商品情報等の各エンティティの差分がデータとして入ります。

 

 また、スーパータイプとサブタイプを紐づけるために、

 サブタイプにはスーパータイプの主キーが含まれることになります。

 


 

 データベーススペシャリスト試験の過去問題や予想問題で頻出しているので、

 サブタイプスーパータイプはしっかり押さえていきましょう。(自戒)

 問題としては、主キーが共有されているところがポイントとなりそうです。

当サイトに掲載されている広告について
当サイトでは、第三者配信の広告サービス(Googleアドセンス、Amazonアソシエイト、楽天アフィリエイト)を利用しています。
このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報 『Cookie』(氏名、住所、メール アドレス、電話番号は含まれません) を使用することがあります。
またGoogleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。

当サイトが使用しているアクセス解析ツールについて
当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。
このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。
このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。
この規約に関して、詳しくはこちら、またはこちらをクリックしてください。

当サイトへのコメントについて
当サイトでは、スパム・荒らしへの対応として、コメントの際に使用されたIPアドレスを記録しています。
これはブログの標準機能としてサポートされている機能で、スパム・荒らしへの対応以外にこのIPアドレスを使用することはありません。
また、メールアドレスとURLの入力に関しては、任意となっております。
全てのコメントは管理人である東海ねるが事前にその内容を確認し、承認した上での掲載となりますことをあらかじめご了承下さい。
加えて、次の各号に掲げる内容を含むコメントは管理人の裁量によって承認せず、削除する事があります。

特定の自然人または法人を誹謗し、中傷するもの。
極度にわいせつな内容を含むもの。
禁制品の取引に関するものや、他者を害する行為の依頼など、法律によって禁止されている物品、行為の依頼や斡旋などに関するもの。
その他、公序良俗に反し、または管理人によって承認すべきでないと認められるもの