2

家計簿をコーディングするつもりです

Nameそのため、のようなコードでプロパティCategoryを作成し、実行時に作成する必要があるものもあります。

では、人間が読める形式で SQL Server データベースに保存するにはどうすればよいでしょうか?

私の提案はProperties、2 つの列 ( Id, Name) を持つテーブルを作成することです。そのテーブルには、すべてのプロパティを格納できますが、人間が判読できなくなります。

また、1 つの大きなテーブルに各プロパティの列を作成することが賢明かどうかもわかりません。

XML「ファイル」を作成してDBに保存することもできますが、これも良い考えではありません

どんなアドバイスでも大歓迎です

4

1 に答える 1

3

基本的に、すべての値に対してこの A 列にアプローチする方法は 3 つあります。

あなたが提案しているものはエンティティ属性値モデルと呼ばれています

または、割引したものはxml(またはシリアル化されたオブジェクト)になります

それらにはすべて長所と短所があり、一部の短所は非常に深刻になる可能性があります.

すべての値の列は、より多くのデータを保存するたびにデータベースとモデルを変更する必要があることを意味します。これにより、非常に壊れやすく、メンテナンスが必要になります。

EAV は簡単にクエリを巨大な結合に導く可能性があり、それにデータの整合性を課すことは何の隠蔽にもなりません。

また、オブジェクト ベースは、最適化とメンテナンスに関する重大な問題を引き起こす可能性があります。たとえば、すべてのオブジェクトを開いて、その中に何かがあるかどうかを確認する必要があります。

リレーショナル データベースの使用を主張する場合、決定を下す時点で、これらのいずれかが最善である可能性があります (それらはすべて、何らかの点で脆弱です)。

NoSQL の代替案の 1 つを見てください。これらは、この種のデータ用に設計されています。

于 2013-01-20T15:20:19.313 に答える