EVENTS と EVENT_CREATORS の 2 つのテーブルを持つイベント システムに取り組んでいます。イベント作成者は 1 人しかいないと思っていたので、イベント テーブルに作成者 ID を配置して、イベントを作成者にリンクしています。
複数の作成者がイベントを編集できるようにする必要があります。追加のフィールドを EVENTS テーブルに単純に追加する必要があります。つまり、ec_id、ec_id_2、ec_id_3 などです。
3 つのテーブルが必要です。
Event (with an ID field)
Creator (with an ID field)
EventCreator (2 fields: eventID and creatorID)
これは、イベントとクリエーターの間で考えられるすべての関係をカバーするはずです。EventCreator テーブルにインデックスを作成することで、関係を制限できます。
簡単に言えば、相互参照テーブルを追加するだけです。こうすれば、将来、誰かが何人のクリエイターを必要とするかを心配する必要がなくなります。
したがって、次のようなテーブルがあります。
xref_Events_Creators
EventId
CreatorId
これは相互参照表を使用するのが賢明なケースです。順を追って説明します。初め
Id
、Ref_Id
、Creator_ID
。イベントへの参照であるテーブルを作成しているため、EventId の必要性を省略します。イベントのテーブルはRef_Id
、すべての参照を追跡するために を保持します。
events
テーブルとストアを変更しますRef_ID
Creator
このようにして、イベントのすべての作成者を正規化された方法で取得できます。