用数据库设计影院售票管理系统审批稿.docx
- 文档编号:23041146
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:40
- 大小:456.60KB
用数据库设计影院售票管理系统审批稿.docx
《用数据库设计影院售票管理系统审批稿.docx》由会员分享,可在线阅读,更多相关《用数据库设计影院售票管理系统审批稿.docx(40页珍藏版)》请在冰豆网上搜索。
用数据库设计影院售票管理系统审批稿
YKKstandardizationoffice【YKK5AB-YKK08-YKK2C-YKK18】
用数据库设计影院售票管理系统
一.系统概述;
1.设计需求;
现在中国大部分的家庭都喜欢在家里置办属于自己风格的家庭影院。
但是,仍然有很多人喜欢到电影院去看电影。
因为家里的气氛毕竟不如影院好。
所以,现代家庭影院的出现并不会让电影院没有生路。
每个社会服务系统都有自己的一套管理机制。
当然,电影院也不除外。
其实电影院的管理系统应该来说比其他的社会服务系统的管理要简单一点。
电影院不外乎是引进电影,制定播放影片的时间表,买票,检票进场观看,还有就是一些数据管理方面的事。
如工作人员管理,票务管理等等。
为了工作机制简单有序,必然要引进一套管理系统。
2.需求分析;
具体而言,影院售票系统需要实现以下的需求:
(1)能够对播放电影,工作人员,售票事宜,检票事宜,无用数据进行处理。
(2)售票管理自然有专人负责,要处理各电影的电影票销售问题。
当然包括退票问题,还有就是预订电影票其实也就相当于买票。
两者可以当一回事处理。
(3)检票管理事宜要完成观众进场时检票的事宜。
其中包括了电影票的真假检测问题。
(4)数据管理要处理电影的播放的次序,工作人员的管理,以及过期电影票的处理问题。
二.结构设计
三.设计说明
1.分析与创建数据库;
根据系统的功能分析结果,影院售票管理系统将会使用MicrosoftSQLSever2000作为后台的数据库管理系统。
本管理系统是应用于电影院中,而且需要和数据库之间进行频繁数据交换,所以采用MicrosoftSQLSever2000作为后台的数据库管理系统。
在本管理系统中,需要掌握影库充实信息,职工管理信息,票务管理信息,此外,由于要进行职工管理,还需要掌握使用本系统的职工。
表1存储硬库信息列表,表2存储了电影院座位的相关数据连接关系,表3存储了电影票销售情况管理,表4存储了系统使用者职工的相关情况的管理列表。
表1影库管理表---MOVIES
字段名称
数据类型
字段属性
字段大小
作用
必填字段
索引
是否主键
Movie_id
smallint
2
电影号
是
有(无重复)
是
Movie_name
Nvarchar
50
电影名称
是
无
actor
Nvarchar
50
导演
否
无
actress
Nvarchar
50
主演
否
无
producer
Nvarchar
25
制片厂
否
无
palydate
datetime
8
上映时间
是
无
表2电影院座位管理表---SEATS
字段名称
数据类型
字段属性
字段大小
作用
必填字段
索引
是否主键
seatid
smallint
2
座位号
是
有(无重复)
是
price
float
8
票价
是
无
soldornot
smallint
2
是否售出
是
无
表3电影票信息表---TICKETS
字段名称
数据类型
字段属性
字段大小
作用
必填字段
索引
是否主键
ticketsid
smallint
2
电影票号
是
有(无重复)
是
seatid
smallint
2
座位号
是
有
Movie_id
smallint
2
电影号
是
有
Movie_name
Nvarchar
50
电影名
否
无
palydate
datetime
8
上映时间
是
无
price
float
8
价格
是
无
yanzhengma
smallint
2
验证码
是
无
是
表4职工信息表---WORKERS
字段名称
数据类型
字段属性
字段大小
作用
必填字段
索引
是否主键
workerid
smallint
2
职工号
是
无
是
password
smallint
2
职工密码
是
无
leibie
smallint
2
职工类型
是
无
根据规范化的设计理念,本管理系统的数据分成上面4个表,减少了数据的冗余,同时在这些表之间又存在着一些关联关系。
这四个表之间的这两种关系表现在下图所示的关系:
2.创建登陆窗体模块;
(1)窗体模块的功能
登陆窗体
(2)窗体界面的设计
在工程中添加一个窗体,命名为“登陆系统”,用来作为系统登陆窗体。
界面
的设计如图3所示。
(3)窗体代码
ImportsClassForm1
InheritsDimnavigatorAsBindingManagerBase'用来对记录导航
DimmyconAsNewSqlConnection'连接对象
DimmycomAsNewSqlCommand'命令对象
Dimmycom1AsNewSqlCommand
Dimfrm2AsNewForm2
Dimfrm3AsNewForm3
Dimfrm8AsNewForm8
PrivateSubTimer1_Tick(ByValsenderAs,ByValeAsHandles
(0).Text=
(1).Text="T")
EndSub
PrivateSubGroupBox1_Enter(ByValsenderAs,ByValeAsHandles
If=TrueThen
=False
=False
ElseIf=TrueThen
=False
=False
ElseIf=TrueThen
=False
=False
EndIf
EndSub
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
="E:
\实验运行场\程序设计\电影院票务系统\image\登陆界面"
=False
()
Dimtox1AsInt32
Dimtox2AsInt32
DimmydataadapterAsNewSqlDataAdapter
DimmydsAsNewDataSet
DimiAsInteger
DimjAsInteger
tox1=Val
tox2=Val
="initialcatalog=ticketbooking;userid=sa;password=;"
=mycon'通过MYCON连接对象操作数据库
='设置命令类型
="select*fromworkers"'设置要执行的命令
Try
()
=mycom
CatchexAsException
("连接失败")
Finally
()
EndTry
(myds,"workers")
Fori=0To("workers").-1
Iftox1=Val("workers").Rows(i).ItemArray(0))Then
j=0
ExitFor
Else
j=1
EndIf
Next
Fori=0To("workers").-1
Iftox2=Val("workers").Rows(i).ItemArray
(1))Then
j=0
ExitFor
Else
j=1
EndIf
Next
Ifj=1Then
("您的工号或者密码错误","错误提示",,
Else
Try
=mycon'通过MYCON连接对象操作数据库
='设置命令类型
="selectleibiefromworkerswhereworkerid="+CStr(tox1)+"andpassword="+CStr(tox2)+""'设置要执行的命令
Dimmydataadapter1AsNewSqlDataAdapter
=mycom1
Dimmyds1AsNewDataSet
(myds1,"workers")
If=TrueAndVal("workers").Rows(0)("leibie"))=1Then
()
()
ElseIf=TrueAndVal("workers").Rows(0)("leibie"))=2Then
()
()
ElseIf=TrueAndVal("workers").Rows(0)("leibie"))=3Then
()
()
Else
("您超出职责范围或未选择服务系统,请重新输入!
","错误提示",,,
EndIf
CatchexAsException
EndTry
EndIf
EndSub
PrivateSubForm1_Load(ByValsenderAs,ByValeAsHandles
="E:
\实验运行场\程序设计\电影院票务系统\image\登陆界面"
()
EndSub
PrivateSubButton2_Click(ByValsenderAs,ByValeAsHandles
DimexitformAsNewForm7
If=Then
()
()
()
EndIf
EndSub
EndClass
3.创建售票窗体模块
(1)窗体模块的功能
为观众提供买票服务。
在界面上观众可以看见座位的情况,根据此来选择自己喜欢的座位。
不同的座位有不同的价格。
此窗体还有退票功能。
(2)窗体界面的设计
在工程中添加一个窗体,命名为“售票系统”,用来作为仓管人员窗体。
界面
的设计如下图所示。
(3)代码编写
ImportsClassForm2
InheritsDimnavigatorAsBindingManagerBase'用来对记录导航
DimmyconAsNewSqlConnection'连接对象
DimmycomAsNewSqlCommand'命令对象
PrivateSubForm2_Load(ByValsenderAs,ByValeAsHandles
'()
="E:
\实验运行场\程序设计\电影院票务系统\image\销售界面.swf"
()
="E:
\实验运行场\程序设计\电影院票务系统\image\检票界面下.swf"
()
DimmydataadapterAsNewSqlDataAdapter
DimmydsAsNewDataSet
DimiAsInteger
DimjAsInteger
DimstrrowAsString
DimdtAsNewDataTable
="initialcatalog=ticketbooking;userid=sa;password=;"
=mycon'通过MYCON连接对象操作数据库
='设置命令类型
="select*fromMovies"'设置要执行的命令"
Try
()
=mycom
(myds,"Movies")
CatchexAsException
("连接失败")
Finally
()
EndTry
Try
Fori=0To("Movies").-1
strrow=("Movies").Rows(i)("movie_name")
Next
CatchexAsException
EndTry
EndSub
PrivateSubButton1_Click_1(ByValsenderAs,ByValeAsHandles
DimiAsInteger
DimtickethaoAsInteger
DimmoviehaoAsInteger
DimsuijiAsInteger
Dimmydataadapter3AsNewSqlDataAdapter
Dimmyds3AsNewDataSet
Dimdt3AsNewDataTable
Dimmycom3AsNewSqlCommand
Dimmycon3AsNewSqlConnection
Randomize()
suiji=Int(9000*Rnd()+1000)
Try
tickethao=tickets_id()
moviehao=movieid()
="initialcatalog=ticketbooking;userid=sa;password=;"
=mycon3'通过MYCON连接对象操作数据库
='设置命令类型
CatchexAsException
EndTry
Iftickethao=0Then
Try
("此座位已售出,请重新选择!
","错误")
=""
=""
=""
=""
=""
=""
CatchexAsException
EndTry
Else
Try
()
="insertintotickets(ticketsid,seatid,movie_id,movie_name,palydate,price,yanzhengma)values("+CStr(tickethao)+","++","+CStr(moviehao)+",'"++"','"++"',"++","+CStr(suiji)+")"
DimsqlAsString
sql="insertintotickets(ticketsid,seatid,movie_id,movie_name,palydate,price,yanzhengma)values("+CStr(tickethao)+","++","+CStr(moviehao)+",'"++"','"++"',"++","+CStr(suiji)+")"
=mycom3
Try
()
("售票成功!
","谢谢观看")
CatchexAsException
MsgBox
EndTry
CatchexAsException
EndTry
()
=""
=""
=""
=""
=""
=""
EndIf
revoke_seat()
EndSub
PrivateSubComboBox1_SelectedIndexChanged_1(ByValsenderAs,ByValeAsHandles
revoke_seat()
Dimmydataadapter1AsNewSqlDataAdapter
Dimmydataadapter11AsNewSqlDataAdapter
Dimmyds1AsNewDataSet
Dimmyds11AsNewDataSet
Dimdt1AsNewDataTable
Dimdt11AsNewDataTable
Dimmycom1AsNewSqlCommand
Dimmycom11AsNewSqlCommand
="initialcatalog=ticketbooking;userid=sa;password=;"
=mycon'通过MYCON连接对象操作数据库
='设置命令类型
=mycon
=
Try
()
="selectpalydatefromMovieswheremovie_name='"++"'"
="select*fromticketswheremovie_name='"++"'"
=mycom1
=mycom11
(myds1,"tickets")
(myds11,"Movies")
dt1=("tickets")
dt11=("Movies")
CatchexAsException
EndTry
Try
If=0Then
("还未出售!
")
=(0)("palydate")
revoke_seat()
Else
ShowSellInfo(dt1)
=(0)("palydate")
EndIf
CatchexAsException
EndTry
()
EndSub
PrivateSubButton2_Click_1(ByValsenderAs,ByValeAsHandles
DimtickethaoAsInteger
Dimmydataadapter4AsNewSqlDataAdapter
Dimmyds4AsNewDataSet
Dimdt4AsNewDataTable
Dimmycom4AsNewSqlCommand
Dimmycon4AsNewSqlConnection
Try
="initialcatalog=ticketbooking;userid=sa;password=;"
=mycon4'通过MYCON连接对象操作数据库
='设置命令类型
tickethao=tuipiao()
CatchexAsException
EndTry
Iftickethao=0Then
("座位号输入错误,请重新输入!
","错误")
Else
Try
()
="deletefromticketswhereticketsid="+CStr(tickethao)+""
Try
()
("退票成功!
","谢谢观看")
CatchexAsException
MsgBox
EndTry
CatchexAsException
MsgBox
EndTry
EndIf
()
=""
=""
=""
=""
=""
=""
revoke_seat()
EndSub
PrivateSubButton3_Click_1(ByValsenderAs,ByValeAsHandles
=
=
If=""Then
("请输入座位号!
","提示")
EndI
Dimmydataadapter2AsNewSqlDataAdapter
Dimmyds2AsNewDataSet
Dimdt2AsNewDataTable
Dimmycom2AsNewSqlCommand
="initialcatalog=ticketbooking;userid=sa;password=;"
=mycon'通过MYCON连接对象操作数据库
='设置命令类型
Try
()
="select*fromseatswhereseatid="++""
=mycom2
(myds2,"seats")
dt2=("seats")
CatchexAsException
EndTry
=(0)("price")
()
EndSub
PrivateSubButton4_Click(ByValsenderAs,ByValeAsHandles
DimexitformAsNewForm7
If=Then
()
()
()
EndIf
EndSub
EndClass
4.创建检票界面
(1)创建模块的功能
对进场观众检票,如果发现有假票或无票观众不允许入内。
(2)创建模块的窗体
在工程中添加一个窗体,命名为“检票系统”,用来作为检票系统窗体。
界面
的设计如下图所示。
(3)代码编写
ImportsClassForm3
InheritsDimds1AsNewDataSet
Dimsqlda1AsNewSqlDataAdapter
DimRecordCountAsInteger
PrivateSubForm3_Load(ByValsenderAs,ByValeAsHandles
="E:
\实验运行场\程序设计\电影院票务系统\image\检票界面.swf"
()
="E:
\实验运行场\程序设计\电影院票务系统\image\检票界面下.swf"
()
Dimsqlcmd1AsNewSqlCommand
Dimstr1AsString="select*fromtickets"
=sqlcn1
=str1
=sqlcmd1
Try
()
()
CatchexAsSqlException
MsgBox
Finally
()
EndTry
Try
(ds1)
CatchexAsSqlException
MsgBox
EndTry
RecordCount=(0).
=RecordCount
EndSub
PrivateSubButton1_Click_1(ByValsenderAs,ByValeAsHandles
DimiAsInteger
DimflagAsBoolean=False
If=""Then
="请认真填写票号!
"
()
ExitSub
EndIf
If=""Then
="请填写验证码!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 影院 售票 管理 系统 审批