単一テーブル継承(たんいつてーぶるけいしょう、英称 : Single table inheritance)は、オブジェクト指向プログラミングにおける継承オブジェクト関係マッピングにおいて実現するための一手法である[1]

解説 編集

オブジェクト関係マッピングにおいては、関係データベースにおける(テーブル)とオブジェクト指向プログラミング言語におけるオブジェクトを1対1に対応させている。このとき、関係データモデルでは、オブジェクト指向プログラミングにおける「継承」を表す方法を提供していない。そこで、表の一つの属性(フィールド)を用いて、対応するオブジェクトが継承関係にあるクラス群のうちどのクラスに属しているのかを識別する方法が単一テーブル継承である。

Ruby on Rails (Active Record) では、'type'という属性をクラスの識別に使用している[2].Net Frameworkにおいては、Discriminator columnと呼ばれている。


脚注 編集


参考文献 編集

  1. ^ Fowler, Martin (2003). Patterns of Enterprise Application Architecture. Addison-Wesley. p. 278. ISBN 978-0321127426 
  2. ^ Ruby on Rails 4.1.6: ActiveRecord::Base < Object” (English). 2014年10月26日閲覧。

推薦文献 編集

関連項目 編集

外部リンク 編集