在电影院票务管理系统数据库设计(1)中我们从一道面试题展开,最后给出如下影院票务管理系统的表关系图

以上的设计是否易用?

首先想一下订票最简单的过程,不包括意外情况。 顾客先来到柜台,跟柜台服务员说要买哪场电影的哪几个空位的票

服务员创建一个订单(在Table_OrderHead中插入一条记录)

若顾客为会员,刷会员卡(Update Table_OrderHead中的Customer_ID的值)

服务员选择顾客指定场次的多个位子

服务员点击出票(在Table_OrderDetail和Table_OrderSeat中插入相应记录)

若顾客还需要买其他场次的电影,重复步骤4~5

想了一下这个过程,我自己感觉步骤1比较累赘,服务员每次都需要创建一个空订单头,之后才真正开始选位出票,比较麻烦。

而且如果在选位子之前,顾客突然决定不看电影了,服务员必须把前面创建的订单头删除,否则会在系统中留下孤立的OrderHead记录,会破坏数据完整性。

同时想到平日自己去电影院买票时,服务员都是直接选位子出票的,所以我们修改设计如下:

现在系统的订票流程如下: 顾客先来到柜台,跟柜台服务员说要买哪场电影的哪几个空位的票

服务员选择顾客指定场次的多个位子

若顾客为会员,刷会员卡

服务员点击出票

若顾客还需要买其他场次的电影,重复步骤2~4

这个流程去除了每次服务员创建订单的动作,简化了最一般的情况,即顾客买某场电影的多张票。但若顾客要买多场电影的票时,需要多次刷会员卡,这里变麻烦了但这种情况不多,我觉得这更符合影院的实际需求。

统计一下票房收入

统计某段时间内,某部电影总共销售收入应该是比较常见的需求,我们用T-SQL来实现这一需求。

输入:电影ID(@MovieID),起始时间(@StartDate),终止时间(@EndDate)

输出:总票房收入(@TotalBoxOffice) if object_id(N'Proc_GetBoxOffice') is not null

begin

drop procedure dbo.Proc_GetBoxOffice;

end

go

create procedure dbo.Proc_GetBoxOffice

@MovieID int,

@StartDate datetime,

@EndDate datetime,

@TotalBoxOffice money output

as

if @MovieID is null

begin

raiserror('@MovieID is null in Proc_GetBoxOffice', 16, 1);

end

if @StartDate is null

begin

raiserror('@StartDate is null in Proc_GetBoxOffice', 16, 1);

end

if @EndDate is null

begin

raiserror('@EndDate is null in Proc_GetBoxOffice', 16, 1);

end

;With OrderTotalAmount as

(

select

OrderInfo.Order_ID,

OrderInfo.Order_AdjustedPrice * count(*) as OrderTotalAmount

from

dbo.Table_Order OrderInfo

inner join

dbo.Table_Schedule Schedule

on

OrderInfo.Schedule_ID = Schedule.Schedule_ID

inner join

dbo.Table_OrderSeat OrderSeat

on

OrderInfo.Order_ID = OrderSeat.Order_ID

where

OrderInfo.Order_BuyDate >= @StartDate

and

OrderInfo.Order_BuyDate < dateadd(day, 1, convert(varchar(10), @EndDate, 120))

and

Schedule.Movie_ID = @MovieID

group by

OrderInfo.Order_ID,

OrderInfo.Order_AdjustedPrice

)

select

@TotalBoxOffice = sum(OrderTotalAmount)

from

OrderTotalAmount;

电影院订票系统mysql表结构_电影院票务管理系统数据库设计(2)相关推荐

  1. 基于安卓电影院订票系统

    随着社会经济的发展,计算机.智能手机的不断普及,人们的生活已和高科技息息相关.智能手机逐步融入.影响.改变着我们的生活.现代人手机购物越来越多,例如网上手机电影票的预定,人们生活水平的提高,精神消费越 ...

  2. (附源码)计算机毕业设计ssm电影院订票系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  3. 计算机毕业设计SSM电影院订票系统【附源码数据库】

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  4. 基于Spring+SpringMVC+Mybatis开发电影院订票系统前后台

    你知道的越多,你不知道的越多 点赞再看,养成习惯 源码分享在文末,点赞关注,解锁更多毕业设计项目 企鹅:869192208 如果您有疑问或者见解,欢迎指教: 文章目录 一.开发背景 二. 需求分析 三 ...

  5. [附源码]Java计算机毕业设计SSM电影院订票系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. java电影定票系统_Java实现电影院订票系统代码

    程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势...但是由于时间原因,小编并未在代码中添加可视化图形界面,有兴趣的朋友可自行添加. 可参阅:Java图形化界面设计之 ...

  7. java电影院购票系统总结_Java实现电影院订票系统代码

    程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势...但是由于时间原因,小编并未在代码中添加可视化图形界面,有兴趣的朋友可自行添加. 演示结果: 下面是具体实现代码: ...

  8. 基于SSM的电影院订票系统(Spring+SpringMVC+Mybatis)

    运行环境,jdk1.8或者jdk1.7.tomcat8或者tomcat8.5.mysql5.7.eclipse或者myeclipse开发环境.使用框架Spring+SpringMVC+Mybatis. ...

  9. 基于SSM的电影院订票系统(Spring+SpringMVC+Mybatis)简洁版

    运行环境,jdk1.8或者jdk1.7.tomcat8或者tomcat8.5.mysql5.7.eclipse或者myeclipse开发环境.使用框架Spring+SpringMVC+Mybatis. ...

  10. 电影院票务管理系统数据库设计(1)

    这两天听到一道面试题:设计一个电影院票务管理系统的表结构. 挺有意思的,我自己也试着做了一做,感觉还是有不少收获的.在本文中我想把做这道题的整个思路重新理一下,也算做个整理了. 现在能得到的需求只有一 ...

最新文章

  1. 【RecyclerView】 三、RecyclerView 布局 ( 线性布局管理器 LinearLayoutManager )
  2. 使用rmi实现ehcache集群模式
  3. go语言map遍历时删除是安全的, 且可以完全删除
  4. 【转载】可复用的FS
  5. 微软“黑历史”:一个活了 45 年的愚蠢 Bug!
  6. java提取姓名_java获取类型名字的不同方法
  7. java对excel加密_java 加密 excel
  8. t检验及python代码实现
  9. ip地址块的聚合,计算其聚合后的可用地址数
  10. 换个思维学领域建模方法和实践
  11. 空间直角坐标转大地坐标
  12. 广东省数字经济行业发展动态及十四五前景预测分析报告2022-2027年
  13. AN INTRODUCTION TO MOOS
  14. 倒角距离(Chamfer distance)
  15. 反差检测自动对焦(CDAF)与相位检测自动对焦(PDAF)原理
  16. ANSYS Electronics Suite 2021 R2
  17. r ridge回归_手把手带你画高大上的lasso回归模型图
  18. Spring Cloud中Hystrix仪表盘与Turbine集群监控 1
  19. 艾伦图灵——人类亲手毁灭的第n个科学家
  20. 158_百度输入法如何sj打出当前时间戳

热门文章

  1. javascript教程
  2. PDFlib TET Crack,文本提取工具包
  3. 浅谈python爬取数字书苑图书
  4. 暴风影音2007全功能完美版和Symantec Norton的冲突
  5. C++执行shell命令
  6. Google Chrome 所有版本下载
  7. 绝对式编码器的ssi协议 stm32 hal
  8. 高等代数第3版下 [丘维声 著] 2015年版_一文搞懂代数几何发展史(一)
  9. 2009年具有中国特色的脑筋急转弯
  10. android 4.0.4模拟器,Android 4.0.4模拟器安装(转自51CTO)