剧院数据库架构

时间:2012-10-24 14:34:17

标签: database-schema

我必须使用php实现售票服务,用户输入他/她想要的座位数,系统检查可用性,然后呈现随机座位,用户确认并完成预订。

我要做的第一件事是对我将使用的数据库模式的结论。我有点困惑,所以我会告诉你到目前为止我的想法。我真的需要你的建议,以便继续实施。

我已经得出以下表格的结论:

  • Customerid, name
  • Ticketticket_id, time, price, seat_id
  • Bookingid, customer_id, ticket_id
  • Seatid, status

关键是我不确定这一点,并且很确定这是错误的。例如,剧院有容量(标准座位数)。那么,我应该在哪里存储这个?我应该有一个表Theater: id, name, capacity,当管理员完成例如capacity = 60时,我会自动创建一个查询,将{60}记录插入Seatsstatus=1(用)?

我很困惑。我将不得不更仔细地考虑它,但第二种意见对我来说真的很有帮助。

1 个答案:

答案 0 :(得分:0)

您认为当前架构不正确是正确的。您现在预订的方式只能有一个座位,但您的要求是您需要能够选择多个座位。您需要的是多对多关系。请谷歌找出这意味着什么。

以下是我认为应该有效的方法:

  • 客户:id,name
  • 票证:ticket_id,时间
  • 预订:id,customer_id,ticket_id
  • 座位:身份,身份,价格
  • seat_ticket_map:seat_id,ticket_id

因此,要为故障单附加新席位,您需要创建一个新的seat_to_ticket_map实例。

我不知道在哪里放价格,但我认为这对座位有意义。这取决于你的要求