在电影院票务管理系统数据库设计(1)中我们从一道面试题展开,最后给出如下影院票务管理系统的表关系图
以上的设计是否易用?
首先想一下订票最简单的过程,不包括意外情况。 顾客先来到柜台,跟柜台服务员说要买哪场电影的哪几个空位的票
服务员创建一个订单(在Table_OrderHead中插入一条记录)
若顾客为会员,刷会员卡(Update Table_OrderHead中的Customer_ID的值)
服务员选择顾客指定场次的多个位子
服务员点击出票(在Table_OrderDetail和Table_OrderSeat中插入相应记录)
若顾客还需要买其他场次的电影,重复步骤4~5
想了一下这个过程,我自己感觉步骤1比较累赘,服务员每次都需要创建一个空订单头,之后才真正开始选位出票,比较麻烦。
而且如果在选位子之前,顾客突然决定不看电影了,服务员必须把前面创建的订单头删除,否则会在系统中留下孤立的OrderHead记录,会破坏数据完整性。
同时想到平日自己去电影院买票时,服务员都是直接选位子出票的,所以我们修改设计如下: