単純な (関連のない) 値を表す多くのオブジェクトを含む大規模なプロジェクトで作業しています。これらの値は単一の文字列の場合もあれば、2 つの文字列の場合もあり、文字列と整数の場合もあります...
Id
現在、リレーショナル データベースに 、Category
、String1
、String2
...、Int1
、Int2
...などの列を含む「値」テーブルがありますDouble1
。便利ですが、混乱しています。
すべての値には次のプロパティがあります。
- 同じ属性を持つすべてのオブジェクト
Category
は、同じ属性を持ちます (つまり、タイプされます)。 - 関連するオブジェクトはありません (唯一のキーは
Id
主キーです)。
この混乱から抜け出すにはどうすればよいでしょうか。私が見ているように、私たちのオプションは次のとおりです。
- 必要に応じて列を追加し続け、テーブルとオブジェクト間のセマンティック マッピングは忘れてください。重ねるだけ。
- 値オブジェクトごとに新しいテーブルを作成します。これにより、多数のテーブルがデータベースに追加されますが、そのほとんどは 6 行未満です。これらすべての余分なテーブルがデータベースに追加するノイズが心配です。
- これらのオブジェクト専用のスキーマフリー データベースを展開します (展開シナリオでは実際には可能ではありません)。
Id
with 、Category
列、および BLOB列のテーブルを作成しValue
、値オブジェクトを値列にシリアル化します。これは実行可能ですか?
この投稿では、私たちの選択肢をもう一度述べます。シリアル化を使用する際の注意事項や落とし穴はありますか? 私が知らないオプションはありますか?アドバイス大歓迎です。