景点门票销售管理系统数据库设计_第1页
景点门票销售管理系统数据库设计_第2页
景点门票销售管理系统数据库设计_第3页
景点门票销售管理系统数据库设计_第4页
景点门票销售管理系统数据库设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、景点门票销售管理系统数据库设计学生姓名: 李丙崇 学 号: 2010508009 学生姓名: 任欣月 学 号: 2010508041 专 业:计算机科学与技术 指导老师: 于宝华 目录1引言31.1编写目的31.2背景31.3 参考资料32需求分析42.1目标42.2运算坏境42.3 需求概述43结构设计53.1逻辑结构设计53.1.1 局部 E-R 图53.1.2 全局 E-R 图6关系模式7关系图83.2物理结构设计84.存储过程104.1统计指定日期的门票销售情况104.2统计指定月份的门票销售情况104.3统计指定日期各种价格的门票销售情况114.3统计指定营业员指定日期的收费情况12

2、5 触发器136完整性约束157.数据库备份161引言随着全球信息化的发展,我们也步入信息时代,各类管理也更加系统化,公司利用管理信息系统来管理各类业务已经非常普遍。各类系统也相应的得到飞速发展,为了让我们的管理更加系统,更加清晰,更加科学,从而也开发了一个简单,易操作的管理管理系统。1.1编写目的根据门票销售管理的特点,对被开发软件系统的主要功能、性能进行完整描述,为软件开发进行详细设计和编程提供基础。为软件提供测试和验收的依据,即为选取测试用例和进行验收的依据。1.2背景a.该软件系统的名称:门票管理信息系统;b.本项目的任务提出者:石河子大学c.本项目的开发者:李丙崇,任欣月d.本项目用

3、户:景点门票销售部1.3 参考资料 1王珊,萨师煊.数据库系统概论M.高等教育出版社,2006年5月第4版2郑人杰,马素霞,殷人昆.软件工程概率M.机械工业出版社,2009年11月3马晓梅.SQL Server实验指导M.清华大学出版社,2009年9月第3版2需求分析2.1目标这个门票管理系统主要是处理旅客买票,订票,退票,以及各类查询结算。该系统针对的用户是门票销售部门,由于门票销售,查询以及计算各天或者不同时间段的收入比较繁琐,此系统方便简单的实现了这些功能,使得管理员与职工方便很多,让这个门票销售都变得条条有理。2.2运算坏境(1)软件资源服务器端软件选择的具体说明:操作系统:Windo

4、ws 2007 Server 或 Windows XP。数据库管理系统:SQL Server。开发工具:visual studio 2008.软件平台:windows+iis+mssql。客户端软件选择的具体说明:web浏览器。2.3 需求概述本系统的开发是为了提高门票销售以及管理的效率,尽可能杜绝各个销售环节中可能出现的资金流失不明现象,满足系统化的门票管理域收入需求。系统功能主要包括:登陆管理(包括管理员登陆以及职工登陆,职工注册情况),系统管理(系统启用,及其系统截止),直接销售(个人购买与团购),订票管理(订票与查看订票状态),退票管理(处理当天所要退的票),查询管理(按时间查询,按职

5、工号查询,游客种类查询,按时间票号查询,按时间,职工号查询,按时间,游客种类查询,以及当天销售查询),结算管理(具体时间查询以及时间段查询),最后是系统简介。3结构设计3.1逻辑结构设计3.1.1 局部 E-R 图图4. 营业员E-R图图5. 游客E-R图图6. 门票E-R图图7. 门票类型E-R图3.1.2 全局 E-R 图图8总体E-R图3.1.3关系模式Admin_T( Sell_operator,User_name,password,Sex,Realname,Cardnumber,Age,Phone,User_type)该表为管理表,表项包括销售营业员,用户姓名,密码,性别,真实姓名,

6、卡号,年龄,电话号码,用户类型的信息。主键为销售营业员。Dd_T( Order_ID,Custom_ID,Ticker_ID,Ticker_type,Ticker_Price,Sell_operator,Sell_date,Sell_month)该表为订单表,表项有订单号,游客号,门票号,门票类型,门票价格,销售营业员,销售日期和销售月份。该表的主键为订单号,外键有游客号,门票号,门票类型,门票价格和销售营业员。Custom_T(Custom_ID,Custom_name,Sex,Age,Cardnumber,Custom_type,Custom_phone)该表为游客信息表,表项有游客号,游

7、客姓名,身份证号,游客类型,游客电话。该表主键为游客号,无外键。Ticket_summary(Sell_ID,Ticket_type, Sell_amount,Sell_money,Sell_month)该表为门票信息统计表,表项有出售号码,门票类型,出售时间,出售月份,出售价格。该表主键为出售号,外键为门票类型。Ticket_T(Ticket_type,Ticket_type_name,Ticket_price,Ticket_Count,Ticket_comment,Date)该表为门票信息表,表项有门票类型,类型名,门票价格,门票数量,日期。主键为门票类型,无外键。Ticket_List(

8、Ticket_ID,Ticket_type,Sell_flag)该表为门票属性信息表,表项为门票号,门票类型,和是否出售标记。主键为门票号,外键为门票类型。关系图3.2物理结构设计表1 Admin_T表列名数据类型允许空Sell_operatornvarchar(10)NO NULLUser_namevarchar(20)NO NULLPasswordvarchar(20)NO NULLSexchar(5)NULLRealnamevarchar(20)NULLcardnumberchar(18)NULLAgeintNULLPhonechar(11)NULLUser_typechar(10)NU

9、LL表2 Custom_T表列名数据类型允许空Custom_IDchar(10)NO NULLCustom_namevarchar(20)NO NULLSexchar(5)NULLAgeintNULLCardnumberchar(18)NULLCustom_typechar(10)NULLCustom_phonechar(11)NULL表3 dd_T表列名数据类型允许空Order_IDchar(10)NO NULLCustom_IDchar(10)NO NULLTicket_IDchar(17)NO NULLTicket_typechar(3)NO NULLTicket_Pricedecima

10、l(5,2)NO NULLSell_operatornvarchar(10)NO NULLSell_datedatetimeNO NULLSell_monthnvarchar(10)NO NULL表4 Ticket_List表列名数据类型允许空Ticket_IDchar(17)NO NULLTicket_typechar(3)NULLSell_flagintNULL表5 Ticket_summary表列名数据类型允许空Sell_IDchar(20)NO NULLTicket_typechar(3)NO NULLSell_datedatetimeNULLSell_amountintNULLSel

11、l_moneydecimal(5,2)NULLSell_monthnvarchar(10)NULL表6 Ticket_T表列名数据类型允许空Ticket_typechar(3)NULLTicket_type_name char(50)NULLTicket_pricedecimal(5,2)NO NULLTicket_CountintNO NULLTicket_commentchar(200)NO NULLDatedatetimeNO NULL4.存储过程4.1统计指定日期的门票销售情况create Procedure Pro_QTicsinfstarttime datetime,endtime

12、 datetime,sSell_amount_out int output,sSell_money_out decimal(5, 2) outputAS select sSell_amount_out=count(Ticket_ID),sSell_money_out=sum(dd_T.Ticket_Price)from dd_T,Ticket_Twhere Ticket_T.Ticket_type=dd_T.Ticket_type and Sell_date between starttime and endtimedeclare starttime datetime, endtime dat

13、etime,sSell_amount_out int ,sSell_money_out decimal(5, 2) select starttime='2013/1/13 00:00:00'select endtime='2013/1/13 19:40:00'exec Pro_QTicsinf starttime,endtime,sSell_amount_out output,sSell_money_out outputselect sSell_amount_out as 门票数量,sSell_money_out as 金额4.2统计指定月份的门票销售情况cre

14、ate Procedure Pro_QTicsminfsSell_month nvarchar(10),sSell_amount_out int output,sSell_money_out decimal(5, 2) outputAS select sSell_amount_out=count(Ticket_ID),sSell_money_out=sum(dd_T.Ticket_Price)from dd_T,Ticket_Twhere Ticket_T.Ticket_type=dd_T.Ticket_type and Sell_month=sSell_monthdeclare sSell_

15、month nvarchar(10),sSell_amount_out int,sSell_money_out decimal(5, 2) select sSell_month='2013/1'exec Pro_QTicsminf sSell_month,sSell_amount_out output,sSell_money_out outputselect sSell_amount_out as 门票数量,sSell_money_out as 金额4.3统计指定日期各种价格的门票销售情况create Procedure Pro_QTicsPinfstarttime datet

16、ime,endtime datetime, sTicket_type char(3),sTicket_Price_out decimal(5, 2) output,sSell_amount_out int output,sSell_money_out decimal(5, 2) outputAS select sTicket_Price_out=Ticket_Price,sSell_amount_out=count(Ticket_ID),sSell_money_out=sum(dd_T.Ticket_Price)from dd_Twhere sTicket_type=dd_T.Ticket_t

17、ype and Sell_date between starttime and endtimegroup by Ticket_Pricedeclare starttime datetime, endtime datetime,sTicket_type char(3),sTicket_Price_out decimal(5, 2),sSell_amount_out int ,sSell_money_out decimal(5, 2) select starttime='2013/1/13 00:00:00 'select endtime='2013/1/13 19:40:

18、00'select sTicket_type='T01'exec Pro_QTicsPinf starttime,endtime,sTicket_type,sTicket_Price_out output,sSell_amount_out output,sSell_money_out outputselect sTicket_Price_out as 门票价格,sSell_amount_out as 门票数量,sSell_money_out as 门票金额select sTicket_type='T02'exec Pro_QTicsPinf startt

19、ime,endtime,sTicket_type,sTicket_Price_out output,sSell_amount_out output,sSell_money_out outputselect sTicket_Price_out as 门票价格,sSell_amount_out as 门票数量,sSell_money_out as 门票金额select sTicket_type='T03'exec Pro_QTicsPinf starttime,endtime,sTicket_type,sTicket_Price_out output,sSell_amount_ou

20、t output,sSell_money_out outputselect sTicket_Price_out as 门票价格,sSell_amount_out as 门票数量,sSell_money_out as 门票金额4.3统计指定营业员指定日期的收费情况create Procedure Pro_QTicsCinfstarttime datetime,endtime datetime, sSell_operator nvarchar(10),sSell_amount_out int output,sSell_money_out decimal(5, 2) outputAS select

21、sSell_amount_out=count(Ticket_ID),sSell_money_out=sum(dd_T.Ticket_Price)from dd_Twhere sSell_operator=dd_T.Sell_operator and Sell_date between starttime and endtimegroup by Sell_operatordeclare starttime datetime, endtime datetime,sSell_operator nvarchar(10),sSell_amount_out int ,sSell_money_out dec

22、imal(5, 2) select starttime='2013/1/13 00:00:00'select endtime='2013/1/13 23:40:00'select sSell_operator='001'exec Pro_QTicsCinf starttime,endtime,sSell_operator,sSell_amount_out output,sSell_money_out outputselect sSell_operator as 营业员,sSell_amount_out as 销售门票数量,sSell_money_

23、out as 收费总金额select sSell_operator='002'exec Pro_QTicsCinf starttime,endtime,sSell_operator,sSell_amount_out output,sSell_money_out outputselect sSell_operator as 营业员,sSell_amount_out as 销售门票数量,sSell_money_out as 收费总金额5 触发器a.有人买票时,自动更改门票标志位create triggerTRIGGER_BUY_TICon dd_T for insertasbegi

24、nDeclare Ticket_ID_IN char(17)Select Ticket_ID_IN=Ticket_ID from insertedupdate Ticket_List set Sell_flag=1where Ticket_ID=Ticket_ID_INendinsert into dd_T values('O006','1005','S0006','T02',40,'001','2013/2/13 19:50:00','2013/2')b.若有人退票,对各表所有有关

25、该人的信息进行级联删除create trigger TRiGGER_EXIT_TICon dd_T for deleteas beginDeclare Order_ID_DEL char(10),Custom_ID_DEL char(10),Ticket_ID_ALT char(17)Select Order_ID_DEL=Order_ID,Custom_ID_DEL=Custom_ID,Ticket_ID_ALT=Ticket_ID from deletedupdate Ticket_List set Sell_flag=0where Ticket_ID=Ticket_ID_ALTdelet

26、e from Custom_Twhere Custom_ID=Custom_ID_DELendgoDELETE from dd_T where Order_ID='O006'c.当门票销售时自动减少该该类型门票的总量create trigger tri_Tic_Sellon Ticket_summary for insertas declare oldcount int,newcount int,sTicket_type char(3)select sTicket_type=Ticket_type,newcount=Sell_amount from insertedselect

27、 oldcount=Ticket_Count from Ticket_T where Ticket_type=sTicket_typeif newcount>0 and oldcount>0beginupdate Ticket_T set Ticket_Count=oldcount-newcount where Ticket_type=sTicket_typereturnendrollback transactioninsert into Ticket_summary values('C0004','T01','2013-01-17 18:4

28、7', '002',2,40,'2013-01')d.当门票修改类型时自动修改门票各类型的数量create trigger tri_Ticxgon Ticket_List for updateas declare sTic_ID char(17),sTicket_type char(3),saTicket_type char(3),scount int,sacount intselect sTicket_type=Ticket_type,sTic_ID=Ticket_ID from insertedselect saTicket_type=Ticket_

29、type from Ticket_List where Ticket_ID=sTic_IDselect scount=Ticket_Count from Ticket_T where Ticket_type=sTicket_typeselect sacount=Ticket_Count from Ticket_T where Ticket_type=saTicket_typebeginupdate Ticket_T set Ticket_Count=scount+1 where Ticket_type=sTicket_typereturnupdate Ticket_T set Ticket_COunt=sacount-1 where Ticket_type=saTicket_typereturnendrollback transactionupdate Ticket_List set Ticket_type='T02' where Ticket_ID='S0001'6完整性约束USE Attraction_Managegoalter table Admin_T with checkadd constraint CHECK_SEX check(Sex=&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论