0

私は、データベース設計に精通した新しいASP.NET開発者です。私は自分の会社のイントラネットWebベースの予約システムを開発していますが、現在、次の2つの必須要件と1つのオプション要件の設計に苦労しています。

必要な要件:

  1. イベントには複数のタイムスロットがある場合があります。
  2. ユーザーは、これらのタイムスロットのいずれかにのみ登録できる必要があります。

オプションの要件:

  1. イベントに空席がない場合は、ユーザーを順番待ちリストに登録する必要があります。

私の単純なデータベース設計は次のとおりです。

Users Table: UserID, Name, Department
Admins Table: UserID
Event Table: ID, Title, Description, Start_Date, End_Date, Start_Time, End_Time, Location,NumberOfSeats, isActive
BookingDetails Table: BookingID, EventID, UserID

では、少なくとも必要な要件に対応するために、データベース設計に何を追加する必要がありますか?

4

1 に答える 1

4
  1. イベントには複数のタイムスロットがある場合があります。

イベントタイムスロットテーブル:TimeSlotID、EventID、Date、StartTime、EndTime

BookingDetailsテーブル:BookingID、EventID、UserID、TimeSlotID

  1. ユーザーは、イベントごとに1つのタイムスロットにのみ登録できる必要があります。

BookingDetails(EventID、UserID)に一意のインデックスを作成する

于 2012-08-09T21:42:59.620 に答える