数据库课程设计碟片出租系统.doc

上传人:文库蛋蛋多 文档编号:2395663 上传时间:2023-02-17 格式:DOC 页数:21 大小:720KB
返回 下载 相关 举报
数据库课程设计碟片出租系统.doc_第1页
第1页 / 共21页
数据库课程设计碟片出租系统.doc_第2页
第2页 / 共21页
数据库课程设计碟片出租系统.doc_第3页
第3页 / 共21页
数据库课程设计碟片出租系统.doc_第4页
第4页 / 共21页
数据库课程设计碟片出租系统.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数据库课程设计碟片出租系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计碟片出租系统.doc(21页珍藏版)》请在三一办公上搜索。

1、数据库课程设计 一、系统概述现如今影碟出租行业发展迅速,大大小小的影碟出租行(店)到处可见,特别是一些发展较大的影碟出租店采用大规模的连锁经营方式。随着规模的扩大传统的碟片管理已经不能适应发展的需要。我们正是基于这一点,开发了这个碟片出租管理系统,它将影碟出租这一传统行业进行信息化。我们这一系统满足了对日常的碟片管理;碟片的出租与归还的管理;营业额的记录统计;客户会员的管理以及管理者对员工的管理等。这一数据库系统基本实现了对影碟出租店的数据库管理,大大的提高了工作效率和经济效益。开发背景:我们对世面上的影碟行和学校里的影碟店进行了初步的了解,发现其业务主要是集中在对碟片的管理和碟片的出租归还上

2、。对碟片的管理工作量较大,采用手工的方式还容易出错,并且不能满足顾客对碟片的详细的查询功能;在碟片的出租和归还上由于一般顾客和客户的收费方式的不同也增大了工作量和出错的机率。在现有的碟片出租中对顾客或是对会员的管理也很重要,传统的登记方式不仅费时而且不能对其出租日志进行系统的管理,造成了不必要的经济损失。本系统在设计中考虑和克服了上诉的诸多问题,增强了实用性。开发工作量:本系统的开发是从5月26日开始到6月24日结束,经历了一个月左右的时间。进行了建立数据库的必要性和可行性的分析,需求分析,数据库的概念设计;逻辑设计;物理设计和数据库的实现、运行、维护以及相应的前台的主要功能模块的开发。开发环

3、境:CPU:Intel Pentium4 2GHz内存:512MB操作系统:Microsoft Windows Server 2000 + IIS5后台数据库在Microsoft SQL Server 2000 中文企业版 前台最终用户接口程序在 Insprise Delphi 7.0 Enterprise英文版 推荐用户配置:CPU:Intel Pentium3 1.2GHz 或更高内存:256MB 或更高操作系统:Windows 2000 Server 或更高数据库系统:Microsoft SQL Server 2000 二、系统分析与设计1系统目标与要求:要求本系统能够投入实际的使用并且

4、满足基本的功能要求。要求具有极高的可靠性、安全性和易维护性,具有较高的可移植性。本系统实现了以下的功能:(1) 管理者(店长)模块:查询碟片的信息;查询相关的财务信息;会员的管理。(2) 营业员(操作员)模块:查询碟片信息;进行碟片的出租;进行碟片的归还;现金的收支记录;会员的管理。(3) 顾客模块:一般的顾客只能进行碟片信息的查询,会员可以查询碟片信息;查询自己的碟片出租日志。说明:我们根据对现实世面上的影碟出租业务,一般将顾客分为一般顾客和会员。一般顾客就是日常的散户,会员是指经常出租碟片出租量较大的较为固定的客户群体,其享有一般顾客没有的服务。我们的系统涉及的会员是目前重庆市较常见的一种

5、:支付50元钱可以出租100张碟片的顾客。2系统可行性分析:系统现阶段的发展过程中,利用现有人力和物力是完全具备能力开发出来的,作为阶段性产品,日后的发展空间大,实现方法简单容易。本系统采用delphi 和SQL SEVER相结合的方法来实现。要求所有数据信息的储存都由数据库来完成,而这些数据信息的调用由delphi完成。系统采用Client/Server(客户/服务器)模式,与传统主机终端模式和文件服务器相比,既能够降低对服务器要求过高的要求,又能大大减少网络通信量,而且在结构上也具有很大的灵活性,在安全上也可以得到充分地保证。所以本系统在技术上是完全可以实现的。由于目前世面上的影碟出租店很

6、多,许多都要求使用计算机进行管理,并且实际中也有系统的使用。所以本系统的使用市场非常的广阔,易于推广和普及到现实中应用。所以本系统在市场应用上是完全可行的。本系统的开发设计;相应应用设备的购买;系统的维护和管理大体总共的花费为6500元。所以本系统在经济上是可以实现的。还有本系统简单、易学、易懂、易用,具有有亲和力的界面。能够满足管理者和操作员对碟片和出租、归还的管理,对于顾客可以很方便的进行特殊的查询从而进行碟片的选择。所以本系统在操作上是可行的。结论:综上所述,本系统技术成熟,有较好的市场应用价值,开发设计成本低,因此本系统完全可行。3系统分析: (1).用户活动及活动图 店长(管理者)所

7、涉及到的相关活动如下图所示: 店长在这里参与的活动主要是查询日常的碟片出租情况和财务状况以便了解该店的经营状况,作出相应的决策。还有就是对会员的管理,店长对会员的管理主要是了解会员的数量等查询工作并有权注消有问题的会员;而对员工的管理只是了解不同员工的上班时间和他的相关的业绩。营业员的活动图如下:由于营业员是本系统的主要的使用者所以其涉及的活动较多。碟片管理是指对碟片信息的录入、更新、修改和删除。查询碟片信息是在出租碟片时进行的,以了解是否有该碟片和库存等信息。碟片的出租和归还是指在碟片的出租和归还时进行信息的记录。现金收支是指对进出帐目的记录统计等。顾客的活动图如下:顾客分为一般顾客和会员,

8、他们都能对碟片信息进行查询以便其出租,而会员还可以查询他自己的出租日志,了解其已租的碟数、信息和未租碟数。(2)工作流程图 (3)数据流程图(DFD): 在数据流程图中我们可以很清楚的看到数据的流向,碟片信息表的信息分别能够流向店长、操作员和顾客。现金表的信息也流向店长。碟片出租归还记录表记录的是碟片出租和归还的信息。会员信息表从会员流出又可以流回到会员和操作员、店长处。(4)E-R图:关系模式:操作员(操作员编号,姓名,性别,密码,工作时间)一般顾客(编号,经办人,经办时间)会员(会员编号,姓名,证件号,密码,剩余碟数,经办人,经办时间)碟片信息表(碟片编号,名称,类型,国家,主演,单价,库

9、存,购入时间,经办人)资金记录表(自动编号,客户编号,碟片编号,交易时间,操作员编号,操作,支出,收入,余额,备注)会员资金记录表(会员编号,收入,经办时间,经办人)借还过程表(自动编号,碟片编号,客户编号,租借时间,归还时间,租碟操作员,还碟操作员,会员验证,备注) 三、后台数据库设计 1对以上E-R图所需的实体需要的几个关键表的设计如下:表名:一般用户字段名编号办理时间经办人类型整型时间字符型长度4810约束主键表名:会员客户字段名编号名字证件号密码办理时间经办人剩余碟数类型整型字符型字符型字符型时间字符型整型长度41010108104约束主键表名:会员资金记录表字段名编号收入办理时间经办

10、人类型整型money时间字符型长度48810约束主键表名:借还过程表字段名类型长度约束自动编号字符型10主键碟片号字符型10客户号字符型10租借时间时间8归还时间时间8租碟操作员字符型10还碟操作员字符型10会员验证整型40/1备注字符型20 表名:操作员管理表字段名编号姓名性别身份密码工作时间类型整型字符型字符型字符型字符型时间长度41024108约束主键表名:碟片管理表字段名类型长度约束编号整型4名称字符型10类别字符型10国家字符型10主演字符型10表名 资金记录表字段名类型长度约束编号字符型10主键客户号字符型10押金money8碟片号字符型10余额money8操作字符型2交易时间时间

11、8操作员号字符型10收入Money8支出money8备注字符型102后台数据库的选择和部分重要的SQL代码 由于该系统要求严格的事务处理和相对较快的速度,并且该系统是一个中小规模的系统。因此我们选择了Microsoft的商用数据库SQL Server 2000企业版 作为我们的后台数据库。部分重要的后台SQL代码如下:包括7个表,2个存储过程,1个触发器。IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N碟片出租系统)DROP DATABASE 碟片出租系统GOCREATE DATABASE 碟片出租系统 ON

12、(NAME = N碟片出租系统_Data, FILENAME = ND:Program FilesMicrosoft SQL ServerMSSQLdata碟片出租系统_Data.MDF , SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N碟片出租系统_Log, FILENAME = ND:Program FilesMicrosoft SQL ServerMSSQLdata碟片出租系统_Log.LDF , SIZE = 1, FILEGROWTH = 10%) COLLATE Chinese_PRC_CI_ASGOexec sp_dboption N碟片

13、出租系统, Nautoclose, NtrueGOexec sp_dboption N碟片出租系统, Nbulkcopy, NfalseGOexec sp_dboption N碟片出租系统, Ntrunc. log, NtrueGOexec sp_dboption N碟片出租系统, Ntorn page detection, NtrueGOexec sp_dboption N碟片出租系统, Nread only, NfalseGOexec sp_dboption N碟片出租系统, Ndbo use, NfalseGOexec sp_dboption N碟片出租系统, Nsingle, Nfal

14、seGOexec sp_dboption N碟片出租系统, Nautoshrink, NtrueGOexec sp_dboption N碟片出租系统, NANSI null default, NfalseGOexec sp_dboption N碟片出租系统, Nrecursive triggers, NfalseGOexec sp_dboption N碟片出租系统, NANSI nulls, NfalseGOexec sp_dboption N碟片出租系统, Nconcat null yields null, NfalseGOexec sp_dboption N碟片出租系统, Ncursor

15、close on commit, NfalseGOexec sp_dboption N碟片出租系统, Ndefault to local cursor, NfalseGOexec sp_dboption N碟片出租系统, Nquoted identifier, NfalseGOexec sp_dboption N碟片出租系统, NANSI warnings, NfalseGOexec sp_dboption N碟片出租系统, Nauto create statistics, NtrueGOexec sp_dboption N碟片出租系统, Nauto update statistics, Nt

16、rueGOuse 碟片出租系统GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.dp_zj) and OBJECTPROPERTY(id, NIsTrigger) = 1)drop trigger dbo.dp_zjGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.insert_资金记录表_1) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure dbo.inser

17、t_资金记录表_1GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.update_会员用户_1) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure dbo.update_会员用户_1GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.一般租借资金流量表) and OBJECTPROPERTY(id, NIsView) = 1)drop view dbo.一般租借资金

18、流量表GOif 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, NIsUserTable) = 1)drop table dbo.一般客户GOif exists (select * from dbo.

19、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 = obje

20、ct_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 OBJE

21、CTPROPERTY(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.资金记录表GOCREATE TABLE dbo.一般客户 (编号 int IDENTITY (1, 1) NOT NULL ,办理时间 datetime NOT NULL ,经办人 char (10) COLLATE Chinese

22、_PRC_CI_AS NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.会员用户 (编号 int NOT NULL ,名字 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,证件号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,密码 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,办理时间 datetime NOT NULL ,经办人 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,剩余碟数

23、 int NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.会员资金记录表 (编号 int IDENTITY (1, 1) NOT NULL ,收入 int NOT NULL ,办理时间 datetime NOT NULL ,经办人 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.借还过程表 (自动编号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,碟片号 char (10) COLLATE Chinese_PRC_

24、CI_AS NOT NULL ,客户号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,租借时间 datetime NOT NULL ,归还时间 datetime NOT NULL ,租碟操作员 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,还碟操作员 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,会员验证 int NOT NULL ,备注 char (20) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREAT

25、E TABLE dbo.操作员管理表 (编号 int NOT NULL ,姓名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,性别 char (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,身份 char (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,密码 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,工作时间 datetime NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.碟片管理表 (编号 int N

26、OT NULL ,名称 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,类别 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,国家 char (10) COLLATE Chinese_PRC_CI_AS NULL ,主演 char (10) COLLATE Chinese_PRC_CI_AS NULL ,单价 int NOT NULL ,库存数量 int NOT NULL ,购买时间 datetime NOT NULL ,办理人 char (10) COLLATE Chinese_PRC_CI_AS NOT

27、 NULL ) ON PRIMARYGOCREATE TABLE dbo.资金记录表 (编号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,客户号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,碟片编号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,压金 money NOT NULL ,收入 money NOT NULL ,支出 money NOT NULL ,余额 money NOT NULL ,操作 char (2) COLLATE Chinese_PR

28、C_CI_AS NOT NULL ,交易时间 datetime NOT NULL ,操作员号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,备注 char (10) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOALTER TABLE dbo.一般客户 WITH NOCHECK ADD CONSTRAINT PK_一般客户 PRIMARY KEY CLUSTERED (编号) ON PRIMARY GOALTER TABLE dbo.会员用户 WITH NOCHECK ADD CONSTRAINT PK_

29、会员用户 PRIMARY KEY CLUSTERED (编号) ON PRIMARY GOALTER TABLE dbo.会员资金记录表 WITH NOCHECK ADD CONSTRAINT PK_会员资金记录表 PRIMARY KEY CLUSTERED (编号) ON PRIMARY GOALTER TABLE dbo.借还过程表 WITH NOCHECK ADD CONSTRAINT PK_借还过程表 PRIMARY KEY CLUSTERED (自动编号) ON PRIMARY GOALTER TABLE dbo.碟片管理表 WITH NOCHECK ADD CONSTRAINT P

30、K_碟片 PRIMARY KEY CLUSTERED (编号) ON PRIMARY GOALTER TABLE dbo.资金记录表 WITH NOCHECK ADD CONSTRAINT PK_资金记录表 PRIMARY KEY CLUSTERED (编号) ON PRIMARY GOALTER TABLE dbo.借还过程表 WITH NOCHECK ADD CONSTRAINT CK_会员验证 CHECK (会员验证 = 0 or 会员验证 = 1)GOALTER TABLE dbo.操作员管理表 WITH NOCHECK ADD CONSTRAINT CK_操作员身份 CHECK (身

31、份 = 员工 or 身份 = 店长),CONSTRAINT CK_员工性别 CHECK (性别 = 男 or 性别 = 女)GOALTER TABLE dbo.碟片管理表 WITH NOCHECK ADD CONSTRAINT DF_碟片管理表_编号 DEFAULT (0) FOR 编号GOALTER TABLE dbo.资金记录表 WITH NOCHECK ADD CONSTRAINT CK_资金记录表 CHECK (操作 = 借 or 操作 = 还)GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOCREATE VIEW dbo.资金流量表A

32、SSELECT 编号, 收入, 支出, 操作员号, 备注, 日期FROM dbo.资金记录表GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOCREATE VIEW dbo.会员资金流量ASSELECT 编号, 收入, 办理时间, 经办人FROM dbo.会员资金记录表GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS O

33、N GOCREATE PROCEDURE insert_资金记录表_1(编号_1 char(10), 编号_2 char(10), 压金_4 money, 收入_5 money, 支出_6 money, 余额_7 money, 借或还_8 char(10), 日期_9 datetime, 备注_11 char(10)AS INSERT INTO 碟片出租系统.dbo.资金记录表 (客户号,碟片编号,操作员号)select 客户号,碟片号,租碟操作员from 借还过程表where 自动编号=编号_2insert into 资金记录表 ( 编号,压金, 收入, 支出, 余额, 借或还, 日期, 备

34、注) VALUES ( 编号_1,压金_4, 收入_5, 支出_6, 余额_7, 借或还_8,getdate(), 备注_11)GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOCREATE PROCEDURE update_会员用户_1(编号_1 int)AS UPDATE 碟片出租系统.dbo.会员用户 SET 剩余碟数= 剩余碟数-1WHERE ( 编号 = 编号_1)GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_

35、NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOCREATE TRIGGER dp_zj ON dbo.借还过程表 FOR INSERT,updateAsdeclare pd datetimeselect pd=归还时间from 借还过程表if (pd=null)begin update 碟片管理表set 库存数量=库存数量-1endelse update 碟片管理表set 库存数量=库存数量+1GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO 四、前台开发 在前台,我们选择

36、了Insprise Delphi 7.0 企业版作为前台开发工具。Delphi支持市面上绝大多数的关系数据库。并且,作为一款优秀的RAD开发工具,其集成的大量数据库连接、控制的控件,可以使得开发难度低,开发周期缩短。部分前台开发的功能模块截图说明如下:图1:登陆界面 图2会员管理界面:图3:操作员管理界面 图4:碟片查询界面 图5:碟片出租界面图6:流水账查询界面 五、开发心得通过这个系统的开发,让我本人初步的了解到了做一个小项目的全过程。让我们经历了从系统规划、分析、设计到后台数据库的搭建和前台开发的一个相对较为完整的过程。在此过程中我们遇到了许多实际的问题在课堂讲的教材上是找不到的。为了解

37、决这些实际的问题我们要实际调查,查询资料等等,在这过程中不仅让我们学到了许多专业知识而且锻炼了我的分析问题、解决问题的能力以及实际的动手能力。并且让我们感受最深的一点是做项目最最重要的是一个团队的团结协作,只有这样才能很好的完成一个工程项目 六、参考资料1SQL Server 2000 基础教程 清华大学出版社 DUSAN PETKOVIC 著 2SQL Server 2000 实用教程 人民邮电出版社 黄梯云 编著 3.DELPHI 6.0 数据库开发与专业应用 国防工业出版社 扬锋 编筑4.程序设计 DELPHI 7.0 中国铁道出版社 魏志强 编著5DELPHI 7.0 开发指南 清华大学出版社 施云锋 编著6.DELPHI 课程设计与系统开发案例 清华大学出版社 伍俊良 编著7.DELPHI 6.0 数据库系统开发实例导航 人民邮电出版社 陈预龙 编著8软件工程 清华大学出版社 王春生 编著

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号