1、数据库课程设计碟片出租系统一、系 统概述现如今影碟出租行业发展迅速,大大小小的影碟出租行(店)到处可见,特别是一些发展较大的影碟出租店采用大规模的连锁经营方式。随着规模的扩大传统的碟片管理已经不能适应发展的需要。我们正是基于这一点,开发了这个碟片出租管理系统,它将影碟出租这一传统行业进行信息化。我们这一系统满足了对日常的碟片管理;碟片的出租与归还的管理;营业额的记录统计;客户会员的管理以及管理者对员工的管理等。这一数据库系统基本实现了对影碟出租店的数据库管理,大大的提高了工作效率和经济效益。开发背景:我们对世面上的影碟行和学校里的影碟店进行了初步的了解,发现其业务主要是集中在对碟片的管理和碟片
2、的出租归还上。对碟片的管理工作量较大,采用手工的方式还容易出错,并且不能满足顾客对碟片的详细的查询功能;在碟片的出租和归还上由于一般顾客和客户的收费方式的不同也增大了工作量和出错的机率。在现有的碟片出租中对顾客或是对会员的管理也很重要,传统的登记方式不仅费时而且不能对其出租日志进行系统的管理,造成了不必要的经济损失。本系统在设计中考虑和克服了上诉的诸多问题,增强了实用性。开发工作量:本系统的开发是从 10 月 28 日开始到 11 月 22 日结束,经历了近一个月左右的时间。进行了建立数据库的必要性和可行性的分析,需求分析,数据库的概念设计;逻辑设计;物理设计和数据库的实现、运行、维护以及相应
3、的前台的主要功能模块的开发。开发环境:CPU:Intel Pentium4 2GHz内存:512MB操作系统:Microsoft Windows Server 2000 + IIS5后台数据库在 Microsoft SQL Server 2000 中文企业版 前台最终用户接口程序在 Insprise Delphi 7.0 Enterprise 英文版 推荐用户配置:CPU:Intel Pentium3 1.2 GHz 或更高内存:256MB 或更高操作系统:Windows 2000 Server 或更高数据库系统:Microsoft SQL Server 2000 二、系统分析与 设计1系统目
4、标与要求:要求本系统能够投入实际的使用并且满足基本的功能要求。要求具有极高的可靠性、安全性和易维护性,具有较高的可移植性。本系统实现了以下的功能:(1) 管理者(店长)模块:查询碟片的信息;查询相关的财务信息;会员的管理。(2) 营业员(操作员)模块:查询碟片信息;进行碟片的出租;进行碟片的归还;现金的收支记录;会员的管理。(3) 顾客模块:一般的顾客只能进行碟片信息的查询,会员可以查询碟片信息;查询自己的碟片出租日志。说明:我们根据对现实世面上的影碟出租业务,一般将顾客分为一般顾客和会员。一般顾客就是日常的散户,会员是指经常出租碟片出租量较大的较为固定的客户群体,其享有一般顾客没有的服务。我
5、们的系统涉及的会员是目前重庆市较常见的一种:支付 50 元钱可以出租 100 张碟片的顾客。2系统可行性分析:系统现阶段的发展过程中,利用现有人力和物力是完全具备能力开发出来的,作为阶段性产品,日后的发展空间大,实现方法简单容易。本系统采用 delphi 和 SQL SERVER 相结合的方法来实现。要求所有数据信息的储存都由数据库来完成,而这些数据信息的调用由 delphi 完成。系统采用 Client/Server(客户/服务器)模式,与传统主机终端模式和文件服务器相比,既能够降低对服务器要求过高的要求,又能大大减少网络通信量,而且在结构上也具有很大的灵活性,在安全上也可以得到充分地保证。
6、所以本系统在技术上是完全可以实现的。由于目前世面上的影碟出租店很多,许多都要求使用计算机进行管理,并且实际中也有系统的使用。所以本系统的使用市场非常的广阔,易于推广和普及到现实中应用。所以本系统在市场应用上是完全可行的。本系统的开发设计;相应设备的购买;系统的维护和管理大体总共的花费为 5500 元。所以本系统在经济上是可以实现的。还有本系统简单、易学、易懂、易用,具有有亲和力的界面。能够满足管理者和操作员对碟片和出租、归还的管理,对于顾客可以很方便的进行特殊的查询从而进行碟片的选择。所以本系统在操作上是可行的。结论:综上所述,本系统技术成熟,有较好的市场应用价值,开发设计成本低,因此本系统完
7、全可行。3系统分析:(1).用户活动及活动图店长(管理者)所涉及到的相关活动如下图所示:店长在这里参与的活动主要是查询日常的碟片出租情况和财务状况以便了解该店的经营状况,作出相应的决策。还有就是对会员的管理,店长对会员的管理主要是了解会员的数量等查询工作并有权注消有问题的会员;而对员工的管理只是了解不同员工的上班时间和他的相关的业绩。营业员的活动图如下:由于营业员是本系统的主要的使用者所以其涉及的活动较多。碟片管理是指对碟片信息的录入、更新、修改和删除。查询碟片信息是在出租碟片时进行的,以了解是否有该碟片和库存等信息。碟片的出租和归还是指在碟片的出租和归还时进行信息的记录。现金收支是指对进出帐
8、目的记录统计等。顾客的活动图如下:顾客分为一般顾客和会员,他们都能对碟片信息进行查询以便其出租,而会员还可以查询他自己的出租日志,了解其已租的碟数、信息和未租碟数。(2)工作流程图(3)数据流程图( DFD):在数据流程图中我们可以很清楚的看到数据的流向,碟片信息表的信息分别能够流向店长、操作员和顾客。现金表的信息也流向店长。碟片出租归还记录表记录的是碟片出租和归还的信息。会员信息表从会员流出又可以流回到会员和操作员、店长处。(4)E-R 图:关系模式:操作员(操作员编号,姓名,性别,密码,工作时间)一般顾客(编号,经办人,经办时间)会员(会员编号,姓名,证件号,密码,剩余碟数,经办人,经办时
9、间)碟片信息表(碟片编号,名称,类型,国家,主演,单价,库存,购入时间,经办人)资金记录表(自动编号,客户编号,碟片编号,交易时间,操作员编号,操作,支出,收入,余额,备注)会员资金记录表(会员编号,收入,经办时间,经办人)借还过程表(自动编号,碟片编号,客户编号,租借时间,归还时间,租碟操作员,还碟操作员,会员验证,备注)三、 后台数据库设计 1对以上 E-R 图所需的实体需要的几个关键表的设计如下:表名:一般用户字段名 编号 办理时间 经办人类型 整型 时间 字符型长度 4 8 10约束 主键表名:会员客户字段名 编号 名字 证件号 密码 办理时间 经办人 剩余碟数类型 整型 字符型 字符
10、型 字符型 时间 字符型 整型长度 4 10 10 10 8 10 4约束 主键表名:会员资金记录表字段名 编号 收入 办理时间 经办人类型 整型 money 时间 字符型长度 4 8 8 10约束 主键表名:借还过程表字段名 类型 长度 约束自动编号 字符型 10 主键碟片号 字符型 10客户号 字符型 10租借时间 时间 8归还时间 时间 8租碟操作员 字符型 10还碟操作员 字符型 10会员验证 整型 4 0/1备注 字符型 20表名:操作员管理表字段名 编号 姓名 性别 身份 密码 工作时间类型 整型 字符型 字符型 字符型 字符型 时间长度 4 10 2 4 10 8约束 主键表名:
11、碟片管理表字段名 类型 长度 约束编号 整型 4名称 字符型 10类别 字符型 10国家 字符型 10主演 字符型 10表名 资金记录表字段名 类型 长度 约束编号 字符型 10 主键客户号 字符型 10押金 money 8碟片号 字符型 10余额 money 8操作 字符型 2交易时间 时间 8操作员号 字符型 10收入 Money 8支出 money 8备注 字符型 102后台数据库的选择和部分重要的 SQL 代码由于该系统要求严格的事务处理和相对较快的速度,并且该系统是一个中小规模的系统。因此我们选择了 Microsoft 的商用数据库 SQL Server 2000 企业版 作为我们的
12、后台数据库。部分重要的后台 SQL 代码如下:包括 7 个表,2 个存储过程,1 个触发器。IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N碟片出租系统)DROP DATABASE 碟片出租系统GOCREATE DATABASE 碟片出租系统 ON (NAME = N碟片出租系统_Data, FILENAME = ND:Program FilesMicrosoft SQL ServerMSSQLdata碟片出租系统_Data.MDF , SIZE = 1, FILEGROWTH = 10%) LOG ON (N
13、AME = N碟片出租系统 _Log, FILENAME = ND:Program FilesMicrosoft SQL ServerMSSQLdata碟片出租系统_Log.LDF , SIZE = 1, FILEGROWTH = 10%)COLLATE Chinese_PRC_CI_ASGOuse 碟片出租系统GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.dp_zj) and OBJECTPROPERTY(id, NIsTrigger) = 1)drop trigger dbo.dp_zjGOif ex
14、ists (select * from dbo.sysobjects where id = object_id(Ndbo.insert_资金记录表_1) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure dbo.insert_资金记录表_1GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.update_会员用户_1) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure dbo.update
15、_会员用户_1GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.一般租借资金流量表) and OBJECTPROPERTY(id, NIsView) = 1)drop view dbo.一般租借资金流量表GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.会员资金流量) and OBJECTPROPERTY(id, NIsView) = 1)drop view dbo.会员资金流量GOif exists (select * f
16、rom dbo.sysobjects where id = object_id(Ndbo.一般客户) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.一般客户GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.会员用户) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.会员用户GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.会员资金记录表) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.会员资金记录表GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.借还过程表) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.借还过程表GO