0

我是一名新的 ASP.NET 开发人员,在数据库设计方面拥有丰富的知识。我正在为我的公司开发一个基于 Intranet Web 的预订系统,现在我正在努力设计以下必需的两个要求和一个可选要求:

要求:

  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. 一个事件可能有超过 1 个时隙。

事件时隙表:TimeSlotID、EventID、Date、StartTime、EndTime

BookingDetails 表:BookingID、EventID、UserID、TimeSlotID

  1. 用户必须能够在每个事件中仅注册一个时间段。

在 BookingDetails(EventID、UserID)上创建唯一索引

于 2012-08-09T21:42:59.620 回答