車のモデルが 1 つあるとします。各車には、色、サイズ、重量などの属性があります。車のオブジェクトごとに新しい属性を作成できるようにする必要があります。ただし、「属性」を共有して、属性「サイズ」がデータベースに一度だけ存在し、ユーザーが追加したオブジェクトごとに値が存在するようにします。
私の古いアプローチは 2 つのモデルでした。Car、KeyValue(key: String、value:String) で、Car は KeyValue と 1:m の関係にありました。
さて、上記の制約を確実にするために、次のことを考えました。
- 3 つのオブジェクト: Car、Key、Value
- 値(キー: キー)
- 車 (値に対して 1:m の関係)
ただし、この逆のアプローチは非常にうまく機能しますが、私には「きれい」に見えません。したがって、よりクリーンなアプローチが可能かどうかを尋ねたいと思います。