1

Rails アプリケーションのデータベースを整理する方法をゼロにすることはできません。ここと Google で見つけた質問では、クラスの継承が制限されている問題について説明しています。クラスの数が非常に多い場合はどうなりますか。schema.org 階層で識別されるすべてのタイプに対して、タイプごとに 1 つのクラスを作成したい場合、クラスをどのように編成すればよいですか?

CITIERと呼ばれるこの宝石のようなクラステーブル継承のサポートを見つけましたが、単一テーブル継承を実装する方が簡単で、サポートされているようです。

STI に固執するべきですか、それとも MTI を使用しようとするべきですか?

4

1 に答える 1

0

IMHO、STIは、クラスによってカプセル化される2つのオブジェクトが関連する属性のほとんどすべてを共有する場合に意味があります。したがって、新聞社では、それを継承する Editor クラス (クラス Editor < Employee) を持つ Employee クラスを持つことは理にかなっているかもしれません。一方を他方のサブクラスと見なすことは理にかなっていますが、モデリングしているtoオブジェクトに共通点が多すぎる場合、STIの問題が発生する可能性があります。1 つのテーブルのデータがまばらになりすぎる可能性があります。この場合、「has」と「belongs to」を使用してオブジェクトをモデル化する方が効率的です。YMMV。

于 2012-06-14T12:55:35.367 に答える