単一テーブル継承(たんいつてーぶるけいしょう、英称 : )は、オブジェクト指向プログラミングにおける継承をオブジェクト関係マッピングにおいて実現するための一手法である。
解説 オブジェクト関係マッピングにおいては、関係データベースにおける表(テーブル)とオブジェクト指向プログラミング言語におけるオブジェクトを1対1に対応させている。このとき、関係データモデルでは、オブジェクト指向プログラミングにおける「継承」を表す方法を提供していない。そこで、表の一つの属性(フィールド)を用いて、対応するオブジェクトが継承関係にあるクラス群のうちどのクラスに属しているのかを識別する方法が単一テーブル継承である。
Ruby on Rails (Active Record) では、'type'という属性をクラスの識別に使用している。.Net Frameworkにおいては、Discriminator columnと呼ばれている。
脚注
参考文献
推薦文献
関連項目
オブジェクト指向プログラミング オブジェクト関係マッピング デザインパターン (ソフトウェア) アーキテクチャパターン (英語版) Active Record パターン Data Mapperパターン(英語版)
Ruby on Rails
外部リンク
Martin Fowler: P of EAA Catalog, Single Table Inheritance