当前位置:首页 期刊杂志

电影院系统数据库设计与实现

时间:2024-05-04

刘湘龙 曾丽

摘要:随着电影行业的日益发展,电影院每天会产生大量的数据,数据管理是电影院管理系统中十分重要的部分,数据库是存储数据和处理数据的必要工具。电影院管理组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理[1]。该文从电影院系统数据库的需求分析,概念设计,逻辑设计,物理设计,数据库实现等方面详细阐述了电影院系统的建立和实现过程,为电影院中信息的数据化提供技术上的支持,本文使用SQL语言,设计并实现了针对电影院数据管理的数据库。

关键词:数据库技术;电影院管理系统;SQLServer 2012

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2022)06-0016-03

开放科学(资源服务)标识码(OSID):

1 概述

近些年来,国家经济水平飞速发展,人们消费水平日益增高,同时网络的飞速发展也给人们生活带来巨大便利,我国电影行业也因此蓬勃发展,全国各地新增电影院数量大大增加,各种类型电影层出不穷,人们去电影院观影的频率大大增加,电影院产生的各种信息随之大量增加。当前,我国影院市场普遍面临着人力成本高,工作效率低,故障率高,技术人员流动性大等诸多问题[2]。并且数据量的剧增也带来了一些弊端,如数据庞大,难以存储,难以有效分析利用。影院作为最应该利用好人流发挥文化社交属性的场所,却并没有将资源有效利用[3]。为了有效利用信息,提高影院的工作效率,满足数据存储和信息管理,处理等需求,本文根据电影院相关需求设计了电影院系统数据库,电影院系统数据库有利于电影院信息的存储,管理和利用,有助于电影行业统计分析各种数据,提高影院工作效率,也有助于对电影的营销和根据大量信息中有效数据来预测未来电影行业的发展趋势和前景。

2 数据库设计

2.1 需求分析

需求分析是根据顾客,影院等不同用户角色的要求,采取调研问卷等方法获取他们的需求,将非形式化的需求转化为完整的需求定义。电影院管理系统主要是方便电影院的数据管理和存储,电影院需要了解售票情况,上映电影受欢迎程度,电影的场次时间安排,查询对应购票顾客是否为会员并给予相应的折扣,不同岗位员工的工作职责范围等。顾客则需要查询自己购买的电影票对应的影厅号和自己所观看电影的开场时间和位置等操作。

2.2 数据库概念设计

数据库的概念设计是根据需求分析阶段产生的需求来建立一个抽象的,面向用户的,面向现实世界的独立于具体DBMS的数据库概念层数据模型。本文对于影院系统数据库使用实体-联系模型(E-R模型)来进行概念设计,概念设计中,采用自下而上的ER设计。首先进行数据抽象和局部E-R图的设计,再将局部E-R图集成为全局E-R图,在进行集成时需要消除各分E-R图的合成时产生的属性冲突,命名冲突,结构冲突。最终集成的全局E-R图如图1所示:

2.3 数据库逻辑设计

数据库逻辑结构设计的任务是将在概念设计中设计的全局E-R模型转换为具体的数据库管理系统支持的数据模型,需先将概念设计中的E-R模型转化为关系数据模型,将电影院系统中分析出来的实体,实体属性和实体间的联系转化为关系模式。转换为关系模式完成后,为了提高数据库系统的性能,还需对数据模型进行优化,消除数据模型中的依赖、冗余,為数据库的物理设计以及数据库高效,正确地运行打下基础。基于E-R图1转化为以下的关系模式:

(1) 顾客(顾客号,姓名,性别,手机号,会员)

(2) 会员(会员类型,折扣)

(3) 影厅(影厅号,容纳人数)

(4) 电影类型(类型名,描述)

(5) 影片(影片号,影片名,主演,导演,类型,供片商,票价,时长)其中类型是外键

(6) 岗位(职位,工资)

(7) 职工(职工号,姓名,年龄,职位)其中职位为外键

(8) 管理表(员工号,影厅号)其中员工号影厅号是外键

(9) 观影表(顾客号,影厅号,影片号,开场时间,座位号)其中顾客号,影厅号,影片号为外键

2.4 数据库物理设计

数据库物理结构是影响数据库系统功能和性能的重要因素,数据库的物理设计是针对已经确定好的数据库逻辑结构,利用数据库管理系统设计出高效的,可实现的物理数据库结构。设计物理结构时,目标是设计一个占用存储空间少,具有较高的数据访问效率和较低的维护代价的数据库存储模式。电影院系统使用的是SQLServer2012进行设计,下面以顾客表举一个实际的例子:

其中顾客号为顾客表的主键,性别具有非空约束,并在插入时会检查是否为男或女,若否则会插入失败,电话号码也具有非空约束,会员类型是顾客表中的外键,引用了会员表中的会员类型,若为空则代表不是会员,买票时无折扣,若非空,可在会员表中查询会员类型到对应的折扣。

3 数据库实现

数据库的实现就是根据对数据库的逻辑设计和物理设计创建数据库表格、视图等。根据对关系模式,逻辑结构,物理设计的分析建立了九个表,分别为:顾客表、会员表、影厅表、影片表、职工表、岗位表、电影类型表、管理表、观影表。下面选择部分数据表进行介绍:

(1) 表的创建

在数据库中创建相关表,给定名称,数据类型以及约束,得到相应的表,某些表之间具有联系。展示一个影片表创建的实例:

createtable影片(

影片号nvarchar(10)primarykey,

影片名nvarchar(20)notnull,

主演nchar(8)notnull,

导演nchar(8)notnull,

类型nvarchar(15)references电影类型(类型),

供片商nvarchar(50),

票价floatnotnull,

时长smallintnotnull

(2) 关系图

本数据库有九个表,完成表格创建完成后的具体关系图如图2所示:

(3) 视图

视图是数据库中的一个对象,是数据库管理系统提供给用户的以多种角度观察数据库中数据的一种重要机制,视图提供了一定程度的逻辑独立性,可以使用户从多角度看待同一数据。在顾客购票时,售票人员需要经常查询影片对应的票价,所在影厅与开场时间的信息,所以创建了“影片播放具体信息”的视图:

createview影片播放具体信息as

selectdistinct影片.影片号,影片名,票价,影厅号,开场时间

from影片 join 观影

on影片.影片号 = 观影.影片号

(4) 触发器

触发器是一段由对数据的更改操作引发的自动执行的代码,触发器通常用来保证业务规则和数据完整性。电影院上映电影也需具备良好性价比,票价过高不利于电影票销售,所以这里创建名为“票价限制”的触发器用来限定电影票价不得超过60元,并且提示信息。实现代码如下:

createtrigger票价限制

on影片afterinsert

as

declare @price float

select @price=票价from inserted

if @price > 60

begin

ROLLBACK

print'票价请不要超过60元'

end

注释:触发器内容可以根据影院的实际需求进行调整,以便于针对各种不同情况

(5) 存储过程

存储过程可以改善数据库性能,减少网络流量消耗,一个需要多条SQL代码完成的操作现在只需要一条执行存储过程的代码即可实现。影院工作人员在某些特定场景下,可能会需要查询不同类型的电影,于是创建了名为“类型查询”的存储过程,可以查询某一类型的电影。实现代码如下:

createproc类型查询

@類型nvarchar(15)

as

selectdistinct影片.影片号,影片名,类型,票价

from影片 join 观影

on影片.影片号 = 观影.影片号

where类型=@类型

注释:调用“类型查询”的存储过程时,调用语句格式为exec<存储过程><赋值>.例如若想查询动作片类型的电影时,调用语句为:exec类型查询 动作片

4 测试

4.1 输入测试

成功向影片表中插入了'怒火·重案'的影片信息:

insert影片 values('009','怒火·重案','甄子丹,谢霆锋','陈木胜','动作片','供片商5',35,128)

4.2 修改和删除测试

(1) 成功把编号为009的电影类型改为犯罪片:

update 影片set类型='犯罪片'where影片号='009'

(2) 成功将电影名为怒火·重案的影片下架:

deletefrom影片where影片名='怒火·重案'

5 总结

基于这个网络飞速发展的时代,电影行业的蓬勃发展给电影院带来了大量的信息。在线票务行业提供海量购票信息的积累,动态把握用户需求,在电影产品宣传以及后续商业行为中做出正确决策[4]。为有效配合在线票务服务,需要建立电影院系统数据库协助数据处理和存储。数据库中的数据按照一定的数据模型进行组织,描述和储存,具有冗余度小,独立性高和易扩展性的特点,而且数据能为各种信息用户所共享[5]。数据库与影院系统相结合能提高影院的工作效率,数据库设计首先需要对需求进行分析,再根据分析出的需求进行数据库的概念设计,抽象出影院系统的E-R图,根据E-R图再进行逻辑结构设计,将E-R图中内容转化为对应的关系模式,关系模式转化为物理结构,最后对数据库进行创建表,创建视图等实现操作,本文使用SQLServer2012对电影院系统数据库进行设计和实现。影院数据库管理系统的实现提高了影院数据存储利用率,加快了查找和存储数据的速度,对数据的管理更加方便,当数据库中存有一定量的数据后,还可以对数据进行分析,了解和预测电影行业的未来发展,或是什么类型,什么题材的电影更受人们欢迎,分析得出的数据可以协助导演了解市场需求做出拍什么类型电影的决策,也可以协助电影院对引进的电影进行排片量的安排,帮助影院实现利益最大化。

参考文献:

[1] 肖娜,史争军,岳东辉.基于数据库的影院管理系统设计[J].电脑编程技巧与维护,2011(10):48-49,98.

[2] 张海悦.新一代信息技术在影院智能化升级中的应用探讨[J].现代电影技术,2021(8):38-41.

[3] 孙艺珈.电影院营销策略浅析[J].现代营销(经营版),2021(4):32-33.

[4] 陈浩.“互联网+”模式下电影在线票务平台的发展现状与问题[J].广西质量监督导报,2021(2):38-39.

[5] 李跃明.数据库系统的创新发展[J].电脑知识与技术,2011,7(2):269-270,273.

【通联编辑:梁书】

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!