0

現在のプロジェクトについて質問があります。ある組織のオンライン登録システムです。

特定の「会議」でメンバーの出席をどのように判断できるかについて、この問題があります。

私のデータベースには、登録に関するすべての情報を含む「メンバー」という名前のテーブルと、「会議」テーブルもあります。毎年会議があり、会員はその会議に参加できるように登録します。「管理者」が前回の会議に誰が参加したかを確認するためのビュー機能が必要です。

私がすでに考えているのは、「メンバー」テーブルに「first_conference」列を追加し、そのメンバーが「first_conference」に登録または出席した場合は「1」のような値を設定して、管理者が最初の出席を表示することを選択した場合です。 「first_conference」列の値が「1」のメンバーがページに表示されます。

事は、それが毎年であり、私はこれのためのより良いアルゴリズムのようなものを見つけています. 私が自分の考えに従えば、テーブル 'members' に毎年新しい列を追加するようなものになるからです。

4

1 に答える 1

2

この関係はmany-to-many、メンバーごとに複数の会議があり、会議ごとに複数のメンバーが存在することを意味します。

3 番目のテーブルを使用してこの関係を壊す必要があります。それconf_membersを呼び出すことができます。その列は次のようなものid, member_id, conference_id, attendedです。会議があるときはいつでも、テーブルに新しい行を作成します。conferenceたとえば、新しい会議 ID は10、メンバーに招待状を送信します。新しい招待ごとに、新しいテーブルに新しい行を追加します。たとえば、次のようになります。

id, member_id, conference_id, attended
1 , 2        , 10           , 0
1 , 5        , 10           , 0
1 , 4        , 10           , 0
1 , 3        , 10           , 0

メンバーが出席したら、 まだメンバーではない人を招待している場合は、出席者を出席者からに変更し、テーブルにそのメンバーのレコードを0追加してから、そのメンバーへの参照をこのテーブルに追加する必要があります。1members

そのため、データベースに触れる必要がなくなり、、、、テーブル間で使用してビューを簡単に生成できjoinますmembersconferencesconf_member

于 2013-09-29T06:00:25.887 に答える