Single Table Inheritance
継承関係にある複数のモデルのDB設計パターンの1つ
長所
必要なテーブルは1つのみで、サブクラスが増えてもテーブル数は増えない
論理的なレコード全体を取得するのにジョイン不要
レコードのサブクラスの変更が容易
Railsなどフレームワークによってはサポートされているのでコーディングが容易
短所
特定のサブクラスに固有の属性に対してNOT NULL制約を適用できない
特定のサブクラスのみを参照すべき他テーブルの外部キー制約が、誤ったサブクラスを参照することを防げない
テーブルのカラム数が多くなりやすい
一部のサブクラスでしか使われない列の値はNULLばかりとなり、見た目がスパースになる