数据库课程设计-碟片出租系统.doc_第1页
数据库课程设计-碟片出租系统.doc_第2页
数据库课程设计-碟片出租系统.doc_第3页
数据库课程设计-碟片出租系统.doc_第4页
数据库课程设计-碟片出租系统.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库课程设计 一、系统概述现如今影碟出租行业发展迅速,大大小小的影碟出租行(店)到处可见,特别是一些发展较大的影碟出租店采用大规模的连锁经营方式。随着规模的扩大传统的碟片管理已经不能适应发展的需要。我们正是基于这一点,开发了这个碟片出租管理系统,它将影碟出租这一传统行业进行信息化。我们这一系统满足了对日常的碟片管理;碟片的出租与归还的管理;营业额的记录统计;客户会员的管理以及管理者对员工的管理等。这一数据库系统基本实现了对影碟出租店的数据库管理,大大的提高了工作效率和经济效益。开发背景:我们对世面上的影碟行和学校里的影碟店进行了初步的了解,发现其业务主要是集中在对碟片的管理和碟片的出租归还上。对碟片的管理工作量较大,采用手工的方式还容易出错,并且不能满足顾客对碟片的详细的查询功能;在碟片的出租和归还上由于一般顾客和客户的收费方式的不同也增大了工作量和出错的机率。在现有的碟片出租中对顾客或是对会员的管理也很重要,传统的登记方式不仅费时而且不能对其出租日志进行系统的管理,造成了不必要的经济损失。本系统在设计中考虑和克服了上诉的诸多问题,增强了实用性。开发工作量:本系统的开发是从5月26日开始到6月24日结束,经历了一个月左右的时间。进行了建立数据库的必要性和可行性的分析,需求分析,数据库的概念设计;逻辑设计;物理设计和数据库的实现、运行、维护以及相应的前台的主要功能模块的开发。开发环境: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系统目标与要求:要求本系统能够投入实际的使用并且满足基本的功能要求。要求具有极高的可靠性、安全性和易维护性,具有较高的可移植性。本系统实现了以下的功能:(1) 管理者(店长)模块:查询碟片的信息;查询相关的财务信息;会员的管理。(2) 营业员(操作员)模块:查询碟片信息;进行碟片的出租;进行碟片的归还;现金的收支记录;会员的管理。(3) 顾客模块:一般的顾客只能进行碟片信息的查询,会员可以查询碟片信息;查询自己的碟片出租日志。说明:我们根据对现实世面上的影碟出租业务,一般将顾客分为一般顾客和会员。一般顾客就是日常的散户,会员是指经常出租碟片出租量较大的较为固定的客户群体,其享有一般顾客没有的服务。我们的系统涉及的会员是目前重庆市较常见的一种:支付50元钱可以出租100张碟片的顾客。2系统可行性分析:系统现阶段的发展过程中,利用现有人力和物力是完全具备能力开发出来的,作为阶段性产品,日后的发展空间大,实现方法简单容易。本系统采用delphi 和sql sever相结合的方法来实现。要求所有数据信息的储存都由数据库来完成,而这些数据信息的调用由delphi完成。系统采用client/server(客户/服务器)模式,与传统主机终端模式和文件服务器相比,既能够降低对服务器要求过高的要求,又能大大减少网络通信量,而且在结构上也具有很大的灵活性,在安全上也可以得到充分地保证。所以本系统在技术上是完全可以实现的。由于目前世面上的影碟出租店很多,许多都要求使用计算机进行管理,并且实际中也有系统的使用。所以本系统的使用市场非常的广阔,易于推广和普及到现实中应用。所以本系统在市场应用上是完全可行的。本系统的开发设计;相应应用设备的购买;系统的维护和管理大体总共的花费为6500元。所以本系统在经济上是可以实现的。还有本系统简单、易学、易懂、易用,具有有亲和力的界面。能够满足管理者和操作员对碟片和出租、归还的管理,对于顾客可以很方便的进行特殊的查询从而进行碟片的选择。所以本系统在操作上是可行的。结论:综上所述,本系统技术成熟,有较好的市场应用价值,开发设计成本低,因此本系统完全可行。3系统分析: (1).用户活动及活动图 店长(管理者)所涉及到的相关活动如下图所示: 店长在这里参与的活动主要是查询日常的碟片出租情况和财务状况以便了解该店的经营状况,作出相应的决策。还有就是对会员的管理,店长对会员的管理主要是了解会员的数量等查询工作并有权注消有问题的会员;而对员工的管理只是了解不同员工的上班时间和他的相关的业绩。营业员的活动图如下:由于营业员是本系统的主要的使用者所以其涉及的活动较多。碟片管理是指对碟片信息的录入、更新、修改和删除。查询碟片信息是在出租碟片时进行的,以了解是否有该碟片和库存等信息。碟片的出租和归还是指在碟片的出租和归还时进行信息的记录。现金收支是指对进出帐目的记录统计等。顾客的活动图如下:顾客分为一般顾客和会员,他们都能对碟片信息进行查询以便其出租,而会员还可以查询他自己的出租日志,了解其已租的碟数、信息和未租碟数。(2)工作流程图 (3)数据流程图(dfd): 在数据流程图中我们可以很清楚的看到数据的流向,碟片信息表的信息分别能够流向店长、操作员和顾客。现金表的信息也流向店长。碟片出租归还记录表记录的是碟片出租和归还的信息。会员信息表从会员流出又可以流回到会员和操作员、店长处。(4)e-r图:关系模式:操作员(操作员编号,姓名,性别,密码,工作时间)一般顾客(编号,经办人,经办时间)会员(会员编号,姓名,证件号,密码,剩余碟数,经办人,经办时间)碟片信息表(碟片编号,名称,类型,国家,主演,单价,库存,购入时间,经办人)资金记录表(自动编号,客户编号,碟片编号,交易时间,操作员编号,操作,支出,收入,余额,备注)会员资金记录表(会员编号,收入,经办时间,经办人)借还过程表(自动编号,碟片编号,客户编号,租借时间,归还时间,租碟操作员,还碟操作员,会员验证,备注) 三、后台数据库设计 1对以上e-r图所需的实体需要的几个关键表的设计如下:表名:一般用户字段名编号办理时间经办人类型整型时间字符型长度4810约束主键表名:会员客户字段名编号名字证件号密码办理时间经办人剩余碟数类型整型字符型字符型字符型时间字符型整型长度41010108104约束主键表名:会员资金记录表字段名编号收入办理时间经办人类型整型money时间字符型长度48810约束主键表名:借还过程表字段名类型长度约束自动编号字符型10主键碟片号字符型10客户号字符型10租借时间时间8归还时间时间8租碟操作员字符型10还碟操作员字符型10会员验证整型40/1备注字符型20 表名:操作员管理表字段名编号姓名性别身份密码工作时间类型整型字符型字符型字符型字符型时间长度41024108约束主键表名:碟片管理表字段名类型长度约束编号整型4名称字符型10类别字符型10国家字符型10主演字符型10表名 资金记录表字段名类型长度约束编号字符型10主键客户号字符型10押金money8碟片号字符型10余额money8操作字符型2交易时间时间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 (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碟片出租系统, 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, nfalsegoexec 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 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, ntruegouse 碟片出租系统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.insert_资金记录表_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.一般租借资金流量表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.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.操作员管理表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.资金记录表gocreate table dbo.一般客户 (编号 int identity (1, 1) not null ,办理时间 datetime not null ,经办人 char (10) collate chinese_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 ,剩余碟数 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_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 primarygocreate 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 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 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 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_prc_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_会员用户 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 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 ck_会员验证 check (会员验证 = 0 or 会员验证 = 1)goalter table dbo.操作员管理表 with nocheck add constraint ck_操作员身份 check (身份 = 员工 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.资金流量表asselect 编号, 收入, 支出, 操作员号, 备注, 日期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 on 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 资金记录表 ( 编号,压金, 收入, 支出, 余额, 借或还, 日期, 备注) 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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论