1

私はeBayのようなフィードバックシステムを作成しています。(アイテムを購入したら、購入時にフィードバックを残すことができます)

しかし、製品の代わりにそのイベント(パーティー、会議)。ユーザーはイベントに参加でき、イベントが終了すると、参加を確認したユーザーのみがフィードバックを残すことができます(event_overブール値で知られています)。

行を作成し、ユーザーがフィードバックを提供できるようにするための最良の方法は何でしょうか。ユーザーがクリックすると、新しいEvent_RSVP行が作成されます。

  1. また、同時に「参加」をクリックしたユーザーにフィードバック行を作成する必要があります(イベントの前にいつでもRSVPステータスを変更できます)。しかし、イベントが終了したときにのみフィードバックへのアクセスを許可しますか?

  2. または、イベントに参加したすべてのユーザーのイベントが終了したときに、一度に数百のフィードバック行を作成する必要がありますか?次に、フィードバックを使用できるようにします

現在のスキーマ

Event       Event_RSVP      Feedback
------      -----------     -----------
id          id              id 
user_id     user_id         user_id
event_over  event_id        event_id 
            rsvp_status     message

意見や提案はありますか?

4

1 に答える 1

1

フィードバックに関しては、KISSを使用します。実際のフィードバックが入力された場合にのみ、「フィードバック」テーブルに新しい行を挿入します。行を事前入力する必要はありません。

もう1つのオプションは、フィードバックの「メッセージ」フィールドを「Event_RSVP」テーブルに戻すことです。フィードバックに応じてそのフィールドを更新します。ここでの欠点は、必要であると判断した場合、同じフィードバック内に複数のメッセージを含めることができないことです。一方、フィードバックごとに複数のメッセージを収容するために、個別のフィードバックテーブルを変更する方がはるかに簡単です。

また、フィードバックとは関係なく、参加者IDの場合はuser_idをイベントから削除します(origanizer IDの場合は、お詫びしてそのままにしておきます)。イベントにはユーザーのリストを含めないでください。招待の送信先を追跡する場合は、新しい「招待」テーブル(event_id、user_id)を作成するか、招待の送信時に新しい行を挿入して更新することにより、RSVPテーブルを介して招待を追跡することをお勧めします。ユーザーが実際に出欠確認を行う場合は「rsvp_status」。

于 2010-08-01T17:42:44.173 に答える