0

フォームを処理するデータベースを設計する必要があります。

基本的に、フォームは(正確に)7人を1人ずつ通過する必要があります。各人は、フォームに同意するか拒否することができます。辞退するとチェーンが止まり、フォームがある
ことを次の人にも通知されません。

今、私はこれらの3つのテーブルについて考えました:FORM、PERSON、およびRESPONSEの間。ただし、各フォームに最大7つの応答がある可能性があるため、最初のソリューションは重すぎるように聞こえます。

v1
ここにテーブルがあります。つまり、成功した各フォームには、テーブルRESPONSEに7つの行があります。

v2
ここに、フォーム内に直接応答情報があります。見た目は醜いですが、少なくともすべてを可能な限り特異なものに保ちます。悪い面としては、回答日を追跡することはできませんが、それが重要であるとは思いません。

これについてどう思いますか?どちらも間違っているような気がして、どうやって直せばいいのかわからない。
それが重要な場合は、Oracle9を使用します。

4

2 に答える 2

3

2つのうち、最初のオプションを推奨します。これは、ビジネスプロセスが変更された場合に柔軟性が高く、(たとえば)9つの応答が必要になるためです。

ストレージについて心配している場合は、大きいフォームの1つのコピーよりも、小さいフォームの「最大」7つのコピーを格納するために平均して少ないスペースで済むと思います。

于 2010-04-15T11:07:58.713 に答える
2

最初の解決策の方が良いようです。簡単なSQLを実行することで、誰かがそれを否定したかどうかを確認できます。... WHERE response.isauthorized=False。それ以外の場合は、メインテーブルの7つのフィールドすべてをチェックする必要があります。

于 2010-04-15T11:09:42.950 に答える