私はSpring MVCとHibernateによって構築されたSAAS製品を持っています。一般的にSAAS製品は、ユーザがテーブルに余分なフィールドを追加するように製品をカスタマイズすることを可能にする。
だから私は、テーブルにカスタムフィールドを作成するための柔軟性をユーザに与えたいと思っています。
これを達成するための実行可能なソリューションをすべて提供してください。
ありがとうございました。私のアプリケーションにカスタムフィールドを追加する
答えて
私はこれをリレーショナルデータベースに戻そうとしています。主な問題は、リレーショナルデータベースは物をテーブルに格納し、テーブルは実際に自由形式のデータをうまく処理しないということです。
XMLのような柔軟性のあるドキュメント構造を使用することもできますが、データベースには優れた機能がありますので、データベースを使用するアプローチについても考えてみましょう。
あなたはExtendedTable
の列(複合主キー)を持っているだろう「カスタムフィールド」テーブルを作成することができColumnNameに
いますが、(どこか
データを格納する必要があると思いますExtendedKey) DataItem
そして今、私たちは本当に厄介なビットに入ります。このデータにどのように制約を適用しますか?つまり、タイプはDataItem
のは何ですか?一般的な解決法は、かなり複雑なもの(自由形式データベースの一種)です。うまくいけば、あなたは解決が必要な問題だけを解決するようにソリューションを制限することができます。
もう1つのアプローチは、独自の「列と値」拡張を埋め込んだXMLレコードを含む単一の「余分な」列を使用することですが、効率的な表を表示したい場合は、あらゆる分野のすべてのXML文書が理想的ではありません。
これらのアプローチのどちらも、既存のSQLクエリ言語ではうまくいかないため、独自のクエリ言語の構築を開始します。
私はあなたのテーブルの "と他の何かが必要かもしれない"セットのテーブルの下でそれらを掃除するのではなく、実際のデータ要件を見直すことをお勧めします。
あなたの要件は、NoSQLデータベース(MongoDBなど)の最適な使用例です。これらは、あなたがそれらを慎重に処理しない場合は非常に強力で、ケース内にあるDDL操作を伴うよう
は動的にアプリケーションにユーザーの要求に応じ、リレーショナルデータベーステーブル&列(スキーマの変更)を作成することは、ベストプラクティスではありませんアプリケーションのデータベース全体が一貫性のない状態になります。
私はNoSqlを使用したくない、私はgr8を動作するMySQLがあります。以下のように(ExtendedKey)DataItemアプローチの例を挙げることができます –
各行のデータサイズはどのくらいですか?それは巨大ですか? – developer
あなたの質問を理解できませんでした –
- 1. RORアプリケーションのオブジェクトにカスタムフィールドを追加
- 2. Django-registration-reduxカスタムフィールドをアプリケーションに追加
- 3. タスクリストにプロジェクトのカスタムフィールドを追加する
- 4. Magento - レビューフォームにカスタムフィールドを追加
- 5. SugarCRM 6.2 - ユーザープロフィールにカスタムフィールドを追加する
- 6. テーブルにカスタムフィールドを追加する - joomla
- 7. Refinery CMS:カスタムエンジンインデックスページにカスタムフィールドを追加する
- 8. カスタムフィールドをモデルに追加する方法
- 9. 注文にカスタムフィールドを追加するMagento2
- 10. カスタムフィールドにルールを追加する
- 11. RadSchedulerにカスタムフィールドを追加するアポイントメント
- 12. Google gsa - keymatchesにカスタムフィールドを追加する
- 13. Ploneグループにカスタムフィールドを追加する
- 14. 私のアプリケーションにメニューを追加する
- 15. TFSバグテンプレート+カスタムフィールドの追加
- 16. paypalフォームにカスタムフィールドを追加してリダイレクトページに追加
- 17. 私のパスワードを忘れてしまったカスタムフィールドを追加するには?
- 18. WooCommerceのチェックアウトページにカスタムフィールドを追加するには?
- 19. Drupal 7のブロックにカスタムフィールドを追加するには?
- 20. 1つのページにカスタムフィールドを追加するには
- 21. woocommerceのチェックアウトページのカスタムフィールドに日付を追加する
- 22. WooCommerceのカスタムフィールドの値をカートに追加する合計
- 23. あなたのコメントフィールドの横にカスタムフィールドを追加する
- 24. wordpressのカスタムフィールドに別の名前を追加するfunction.php
- 25. カスタムフィールドをdjangoモデルに追加する(ソースコードを変更せずに)
- 26. Magentoで注文するカスタムフィールドを追加するには?
- 27. WordPress:カスタムフィールドの追加を無効にする
- 28. IPBのフォームにカスタムフィールドを追加する方法
- 29. ATTopicの条件にカスタムフィールドを追加する
- 30. Djangoのauth_userテーブルにカスタムフィールドを追加する
私は(ExtendedKey)DataItemアプローチのいくつかの垣間見る例を与えることができます.. –