影院管理系统概要.docx
《影院管理系统概要.docx》由会员分享,可在线阅读,更多相关《影院管理系统概要.docx(20页珍藏版)》请在冰豆网上搜索。
影院管理系统概要
摘要
国内电影院的售票系统不完善,有很多问题存在,售票效率低下,管理混乱。
现今社会是个讲究效率的社会,时间就是金钱。
开发简单,便于操作的的软件不仅可以节省时间,还可以节省人力,物理,财力等。
建立的影院售票系统,要把影院的售票管理、订票管理,财务管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。
通过本系统软件,能帮助售票人员利用计算机,快速方便地对影院售票情况,订票情况,剩余座位查询等进行高效的管理。
关键字:
SQL语句,影院管理系统,数据库设计
第一章绪论
课题简介
设计目的
设计内容
第二章需求分析
需求分析的任务
系统目标
数据字典与流程图
系统框架
第三章概念结构设计
概念结构设计的方法与步骤
概念结构设计的方法
概念结构设计的步骤
数据抽象与局部视图设计
视图的集成
第四章逻辑结构设计
E-R图向关系模型的转换
数据模型的优化
数据库的结构
第五章数据库的实现
数据库的建立
安全性的实现
完整性的实现
恢复技术的实现
第六章运行与结果
简单查询和连接查询
嵌套查询
组合查询和统计查询
第一章绪论
课题简介
国内电影院的售票系统不完善,有很多问题存在,售票效率低下,管理混乱。
现今社会是个讲究效率的社会,时间就是金钱。
开发简单,便于操作的的软件不仅可以节省时间,还可以节省人力,物理,财力等。
建立的影院售票系统,要把影院的售票管理、订票管理,财务管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。
通过本系统软件,能帮助售票人员利用计算机,快速方便地对影院售票情况,订票情况,剩余座位查询等进行高效的管理。
设计目的
应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。
实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立
方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系
统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
设计内容
本软件的使用对象有影院负责人或管理人员(更新维护系统),影院售票人员(办理售
票,订票,退票)和买票人(购买影票人员)。
通过这些信息制成表格,输入到数据库中,使之能够进行所需的操作。
需求分析阶段就是要研究系统的具体分类和实施过程流图。
概念
设计阶段要完成数据抽象与局部视图设计还有视图的集成。
逻辑结构设计阶段要把E-R图转
化为关系模式。
最后就是要运行和实施数据库。
第二章需求分析
需求分析的任务
科学发展,社会进步,人们的生活水平日渐提高,人们日益增长的物质文化需要也渐渐提高,去电影院看电影来缓解生活与工作的压力成为当下一种潮流。
随着需求量增大,传统
的人工管理方式已经不能很好的对影院进行系统的管理,出现了诸如安排不合理、统计不全
以及对顾客的要求不能及时满足等问题。
为杜绝此现象的发生,我们开发了现代化的管理信
息系统。
本管理系统操作简单而且实用,包括销售管理、预定影票管理、退票管理、查询管
理和用户管理等管理系统,包括影票基本信息、影院基本信息、放映时间信息、人员管理等,完成这些信息的增加、删除、修改查询统计功能,同时,还可以将这些信息打印输出。
该系统对影院以及影票统一进行自动化管理,大大提高了工作人员的效率,降低了对资源的浪费,
可以说是管理者的好帮手。
影院预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。
该系统可以满足的需求有:
1.高效管理:
数据处理速度快,通过对某一时间段的经营数据进行统计分析,供经营者分析经营状况,以便采取相应的经营、促销策略。
2.客户资源充分利用:
通过分析顾客的消费信息,制定出有针对性的促销措施,为顾客提供更为得体的服务。
与顾客形成互动,加深印象,促进消费。
3.效益最大化:
通过票房分析和排片情况,院线经理可对影院票房收益有一个直观的了解,通过最优的影片安排和促销活动来最大限度的增加院线收益。
需求分析的过程
影院为了方便管理,需开发一个管理系统。
该系统分为两个部分,首先方便顾客查看所有影片信息,然后确定购买其所需要的的电影票,由影院雇员查询顾客是否为会员并提供会
员办理。
其次方便影院经理查询雇员信息与影片、影厅信息,以便于合理排片。
数据字典与流程图
数据流程分析是把数据在组织内部的流动情况抽象地独立出来,舍去了具体的组织机构
②客购票需求
购票办理会员卡
③经理管理需求
查询功能:
影片信息
影厅信息
管理功能
④影片信息需求
查询功能:
导演
主演
场次
上映时间
影片格式
系统框架
在调查完了用户需求之后,就要开始分析用户需求。
在此,我们采用自顶向下的结构
化分析方法(SA方法)。
首先,定义全局概念结构的框架,如图所示。
第三章概念结构设
概念结构设计的方法与步骤
概念结构设计的方法
概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的
最终合成一个全局概念
进行概念结构设计。
对已经细化到无法再分的阶段逐步集成在一起,
模式。
3.1.3概念结构设计的步骤
第一步是进行局部视图的设计:
由于高层的数据流图只能反映系统的概貌,而中层流图
E-R图。
能较好的反映系统中各局部应用的子系统组成。
因此我们先逐一的设计分
第二步是进行视图的集成:
各子系统的E-R图设计好之后,下一步就是要将所有的分
E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次
集成两个分E-R图。
我想采用一次集成两个分E-R图的方式。
数据抽象与局部视图设计
会员卡(会员编号,会员姓名,会员联系电话,会员级别,顾客编号)
电影票(购笠缅号_,_.影邛号?
一…因影票编号,场次,时间,座位号,购买数量)
影院经理(经理编号,经理姓名,经理联系电话,经理性别)
管理(影厅号,电影编号,经理编号)-L—LLLLLLL——LF—_J-i-'l-J---J-,1m-J--
影厅(影厅号,座位数,影厅规格)
影片信息(电影编号,电影名,导演,主演,上映时间,影片格式)
数据模型的优化
将转化的关系模式进行优化,最终达到第三范式。
1、确定数据依赖
影院职员(职员编号,职员姓名,职员性别,联系电话)
职员编号一职员姓名,职员编号一职员性别,职员编号一联系电话
顾客(顾客编号,职员编号,姓名,性别)
(顾客编号,职员编号)一姓名,(顾客编号,职员编号)一性别
会员卡(会员编号,会员姓名,会员联系电话,会员级别,顾客编号)
会员编号一会员姓名,会员编号一会员联系电话,会员编号一会员级别
电影票(顾客缅号一?
一影五号」电影票编号,场次,时间,座位号,购买数量)
(顾客编号,影厅号,电影票编号)一场次,(顾客编号,影厅号,电影票编号)一时间,
(顾客编号,影厅号,电影票编号)一座位号,(顾客编号,电影票编号)一购买数量
影院经理(经理编号,经理姓名,经理联系电话,经理性别)
经理编号一经理姓名,经理编号-经理联系电话,经理编号-经理性别
影厅(影厅号,座位数,影厅规格)
影厅一座位数,影厅一影厅规格
影片信息(电影编号,电影名,导演,主演,上映时间,影片格式)
电影编号一电影名,电影编号一导演,电影编号一主演,电影编号一上映时间,
电影编号一影片格式
2、对各关系模式间数据依赖进行极小化处理,消除冗余
职员编号一职员姓名,职员编号一职员性别,职员编号一联系电话,(顾客编号,职员编号)一姓名,(顾客编号,职员编号)一性别,会员编号一会员姓名,会员编号一会员联系电话,会员编号一会员级别,顾客编号,影厅号,电影票编号)一场次,(顾客编号,影厅号,电
影票编号)一时间,顾客编号,影厅号,电影票编号)一座位号,(顾客编号,电影票编号)
一购买数量,经理编号一经理姓名,经理编号一经理联系电话,经理编号一经理性别,
影厅一座位数,影厅一影厅规格,电影编号一影片格式,电影编号一电影名,电影编号一导
演,电影编号一主演,电影编号一上映时间,
3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解,最终分解成第三范式:
(订单号,电话号,身份证号)(订单号,旅客姓名)(旅客姓名,取票时间,性别,工作单位,机票类型)(旅客姓名,航班号)(旅客姓名,座位号)(航班号,座位号,机票类型)(航班号,起飞地,目的地,起飞时间)
基本表结构
职员信息表:
staff
顾客信息表:
customer
字段名
数据类型
长度
是否为空
主/外键
描述
customernumber
char
10
否
主键
顾客编号
staffnumber
char
10
否
外键
职员编号
Customername
varcharr
20
否
姓名
Customersex
char
2
否
性别
字段名
数据类型
长度
是否为空
主/外键
描述
staffnumber
char
10
否
主键
职员编号
staffname
varchar
20
否
职员姓名
Staffsex
char
2
否
职员性别
Staffphonenumber
varchar
20
否
联系电话
会员卡信息表:
member
字段名
数据类型
长度
是否为空
主/外键
描述
Membernumber
char
10
否
主键
会员编号
membername
varchar
20
否
会员姓名
Member
phonenumber
varchar
20
是
会员联系电话
memberlevel
varchar
10
否
会员级别
customernumber
char
10
否
外键
顾客编号
电影票信息表:
ticket
字段名
数据类型
长度
是否为空
主/外键
描述
customernumber
char
10
否
主键
外键
顾客编号
locations
char
10
否
影厅号
ticketnumber
char
10
否
电影票编号
number
varchar
10
否
场次
time
datetime
否
时间
seatnumber
varchar
10
否
座位号
purchasequantity
int
否
购买数量
经理信息表:
manager
字段名
数据类型
长度
是否为空
主/外键
描述
managernumber
char
10
否
主键
经理编号
manager'sname
varchar
10
否
经理姓名
manager
phonenumber
varchar
20
否
经理联系电话
managersex
char
2
否
经理性别
管理表:
GL
字段名
数据类型
长度
是否为空
主/外键
描述
locations
char
10
否
主键
外键
影厅号
filmnumber
char
10
否
电影编号
managernumber
char
10
否
经理编号
影厅信息表:
screen
字段名
数据类型
长度
是否为空
主/外键
描述
locations
char
10
否
主键
影厅号
Seating
Int
否
座位数
Screens
specifications
varchar
10
是
影厅规格
电影信息表:
film
字段名
数据类型
长度
是否为空
主/外键
描述
filmnumber
char
10
否
主键
电影编号
name
varchar
10
否
电影名
director
varchar
10
是
导演
star
varchar
10
是
主演
Showtime
datetime
是
上映时间
videoformat
varchar
10
是
影片格式
第五章数据库的实现
数据库的建立
建数据库,SQ用句:
CreatedatabaseYYGLONPRIMARY
(NAM=YYGL
FILENAME=袁博文\',SIZE=4096KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB
)
LOGON
(NAME=YYGL_log,
FILENAME=袁博文\',
SIZE=1024KB,
MAXSIZE=2048GB,FILEGROWTH=10%)
数据库基本结构的建立
1、基本表的建立
(1)职员信息表:
STAFFUSEYYGL
GO
CREATETABLESTAFF
(staffnumberchar(10)NOTNULL,staffnamevarchar(20)NOTNULL,staffsexchar
(2)NOTNULL,staffphvarchar(20)NOTNULL,PRIMARYKEYstaffnumber)
)
GO
⑵顾客信息表:
CUSTOMERUSEYYGL
GO
CREATETABLECUSTOMER
(customernumberchar(10)NOTNULL,Customernamevarchar(20)NOTNULL,Customersexchar
(2)NOTNULL,Staffnumberchar(10)NOTNULL,PRIMARYKEY(staffnumber,customernumber),
FOREIGNKEYstaffnumber)REFERENCESTAFF(staffnumber))
GO
(3)会员卡信息表:
MEMBER
USEYYGL
GO
CREATETABLEMEMBER
(membernumberchar(10)NOTNULL,membernamevarchar(20)NOTNULL,memberphvarchar(20)NULL,memberlevelvarchar(10)NOTNULL,customernumberchar(10)NOTNULL,staffnumberchar(10)NOTNULL,PRIMARYKEY(membernumber),FOREIGNKEYstaffnumber,customernumber)REFERENCECSUSTOME(Rstaffnumber,customernumber))
GO
(4)电影票信息表:
TICKET
USEYYGL
GO
CREATETABLETICKET
(staffnumberchar(10)NOTNULL,customernumberchar(10)NOTNULL,locationschar(10)NOTNULL,ticketnumberchar(10)NOTNULL,numbervarchar(10)NOTNULL,timedatetimeNOTnull,seatnumbervarchar(10)NOTNULL,purchasequantityintNOTNULL,PRIMARYKEY(staffnumber,customernumber,locations,ticketnumber),FOREIGNKEYstaffnumber,customernumber)REFERENCESCUSTOME(Rstaffnumber,customernumber),FOREIGNKEYlocations)REFERENCESCREENlocations)
)
GO
(5)经理信息表:
MANAGER
USEYYGLGO
CREATETABLEMANAGER
(managernumberchar(10)NOTNULL,managernamevarchar(20)NOTNULL,managersexchar
(2)NOTNULL,managerphvarchar(20)NOTNULL,
PRIMARYKEYmanagernumber))
GO
(6)管理表:
GLUSEYYGL
GO
CREATETABLEGL
(managernumberchar(10)NOTNULL,filmnumberchar(10)NOTNULL,locationschar(10)NOTNULL,PRIMARYKEY(filmnumber,locations),FOREIGNKEYlocations)REFERENCESCREENlocations),FOREIGNKEYmanagernumber)REFERENCESANAGERmanagernumber),FOREIGNKEYfilmnumber)REFERENCESILM(filmnumber))
GO
(7)影厅信息表:
SCREEN
USEYYGLGO
CREATETABLESCREEN
(locationschar(10)NOTNULL,seatingintNOTNULL,screensvarchar(10)NULL,PRIMARYKEYlocations))
GO
(8)电影信息表:
FILM
USEYYGLGO
CREATETABLEFILM
(filmnumberchar(10)NOTNULL,namevarchar(10)NOTNULL,directorvarchar(10)NULL,starvarchar(10)NULL,showtimedatetimeNULL,videoformatvarchar(10)NULL,PRIMARYKEYfilmnumber))
GO
2、插入数据
USEYYGL
INSERTINTOSTAFF
VALUES'006','于开晨','M',)
GO
USEYYGL
INSERTINTOCUSTOMER
VALUES'0201','赵红','F','001')GO
USEYYGL
INSERTINTOFILM
VALUES'020','智取威虎山‘,‘徐克‘,‘张涵予‘)GO
USEYYGL
INSERTINTOMANAGER
VALUES'0101','胡星','M','')
GO
USEYYGL
INSERTINTOMEMBER
VALUES'1001','赵红','','1','0201','001')GO
USEYYGL
INSERTINTOSCREEN
VALUES'1','200','2')
GO
3、视图建立
建立管理人员为男性的视图A:
4、建立索引
为会员卡信息表的memberlevel列创建名为A勺索引useYYGL
GOcreateindexAonMEMBERmemberlevel)GO
5、创建游标
声明一个名为A的游标,用于读取由001号雇员服务的顾客USEYYGLGO
DECLAREAAcursor
FORSELECT*
FROMCUSTOMERwherestaffnumber='001'openAAfetchfromAA
GO
6、存储过程的创建
USEYYGL
GO
createprocedure[dbo].[MEMBER(@membernam田archar(20))AS
insertintoMEMBERmembernamevalues(@membernan)e
GO
7、触发器建立
创建一个触发器B,使在对会员卡信息表进行修改插入时都会自动提示:
useYYGL
GOcreateTRIGGERBonMEMBERfor
INSERT,UPDATE
AS
PRINT对会员表进行才t入或修改’
GO
验证:
更改“赵红“为”赵宏“:
安全性的实现
1、利用图形化工具
为了提高安全性,建立系统用户,SQLSERVE印户,数据库用户,写出你所建立的三个用
户名。
为SQLSERVE网户,数据库用户分配角色,写出分配的角色名。
(1)系统用户名
SQLSERVE刘户数据库名角色创建
2、利用Transact—SQL
设计一个SQLserver登录账户,并设置密码,写出相应的SQL语句
代码:
sp_addlogin'YYGL,'123456'为登陆账户,设计创建一个数据库用户,写出相应的SQL语句
代码:
sp_grantbaccess'YYGL','123456'
为数据库用户创建数据库角色,写出相应的SQL语句
代码:
sp_addrolemember'db_owner','login'
完整性的实现
1、UNIQUE勺束代码:
altertableMEMBER
addconstraintPK_ZKZH
primarykeyclustered(ZKZH)
2、CHECK勺束
代码:
altertableMEMBER
addconstraintcheck_CJ
check(CJ>=80andCJ<100)
约束
代码:
altertableMEMBER
addconstraintdefault_CJ
default2forCJ
4、NOTNUL囱束
代码:
ALTERTABLE[dbo].[MEMBER]WITHCHECKADDCONSTRAINTcheck_CJ]CHECK((CJISNOTNULL))
GO
ALTERTABLE[dbo].[MEMBER]CHECKCONSTRAINT[check_CJ]
GO
恢复技术的实现
完成所有数据的设计工作后,备份数据库,写出备份文件存放位置和文件名。
如:
影院.bak
第六章运行与结果
简单查询和连接查询
1、简单查询
(1)查询所有影片的信息:
(2)查询职员信息
2、连接查询
(1)查询所有顾客的会员卡信息:
(2)查询职员给顾客服务的对应情况:
嵌套查询
(1)查询顾客赵红的电话:
(2)查询职员号为001服务过的顾客
统计查询
(1)男女职员的人数:
(2)每个职员接待顾客人数: