0

私は本質的に大きなフォームであるアプリを持っていますが、そのフォームの 1 ページは、ユーザーの選択に応じて変化します。約 50 の異なるページがあり、それぞれに特定のリストと可能なユーザー入力の数があります。

データを SQLite データベースに保存したいのですが、どうすればよいですか? 考えられるすべての入力に対して列を作成し、使用されていないフィールドには何も保存しないでください。または、保存されているデータにデータベースを適応させることは可能ですか?

4

2 に答える 2

2

ここで行うことは多くありませんが、フォーム用のテーブル、各ページ用のテーブル、および各 1 対多リスト用のテーブルを作成することをお勧めします。

たとえば、請求書には 2 つのテーブルが必要です。1 つは請求書用、もう 1 つは請求書明細用です。「ドケット」または「顧客」レコードには、すべての請求書が含まれる場合があります。

最初FormIDのテーブルで主キーを作成し、テーブルで外部キーを作成しPagesます。関連"Page[n]ID"するページに添付する必要があるもののリストがあるテーブルに外部キーを作成します。

于 2013-07-10T23:17:46.847 に答える
1

クエリで実際に使用する必要があるフィールドを検討してください。うまくいけば、そのセットは小さいか、少なくとも扱いやすいものです。残りのフィールドについては、単一の列に格納します。たとえば、キーと値のペアの JSON 文字列として。

いいえ、リレーショナル データベースは可変列に「適応」できません。他の唯一のオプションは、提案したように、可能なすべてのフィールドの列を定義することです。ただし、それを行うことは、最初は負担になるだけでなく、フォームが将来変更されるため、メンテナンスが悪夢になるでしょう。

于 2013-07-10T23:24:21.250 に答える