0

asp.net 4.0 c#アプリケーションがあり、ユーザーはテーブルを作成してそのテーブルにデータを保存できるようになります。バージョン1で決定された1つのことは、テーブルが作成されると編集できないということです。これは、純粋に複雑さを軽減するためです。スキーマを編集できる場所の解決策があると便利です。

私の最初の考えは、データベースにテーブルがあり、各行が各「テーブル」を表し、1つの列がスキーマをxmlに格納し、次に2番目の列がデータを格納することです。データをプルしようとすると、xmlをデータテーブルに読み込んでデータを処理し、データベースのxmlに保存し直します。これを試みている他の人への考えの提案やリンクは大歓迎です!

前もって感謝します。

4

1 に答える 1

0

それを行うには多くの方法があります:

  1. 「テーブルの作成」SQL を使用して実際のテーブルを生成できます。これにより最高のパフォーマンスが得られますが、DB 管理者の観点からは悪夢です。未経験の場合は、これを行わないでください。

  2. テーブルを作成します: MyTable、MyColumn、MyRow、および MyCell。

    • MyTable には MyTableID (主キー) と Name があり、
    • MyColumn には、MyColumnID (主キー)、MyTableID (外部キー)、名前があります。
    • MyRow には MyRowID (主キー)、MyTableID (外部キー) があります。
    • MyCell には、MyCellID (主キー)、MyColumnID (外部キー)、MyRowID (外部キー)、および Value (大きな可変長文字列) があります。

    この方法では、少なくとも SQL を使用してデータのクエリ、検索、および変更を行うことができ、パフォーマンスは XML よりも優れています (ただし、「テーブルの作成」SQL を使用する場合ほどではありません)。

  3. NoSQL データベースを使用できます。それらの多くは厳密な構造を持たず、JSON のようなものを格納できるため、実質的にすべてを格納できます。このソリューションには多くの欠点があります (SQL が存在しない、ACID トランザクションの整合性がないなど) が、あなたのケースではうまくいくかもしれません。まず、.NET 向けの NoSQL ソリューションにはどのようなものがありますか?

于 2012-07-09T15:08:18.397 に答える