版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上光盘出租管理系统一需求分析1.课题背景及意义光盘出租管理系统是一个光盘出租商管理不可缺少的部分,它对于光盘出租商是至关重要的。光盘租赁系统提供充足的信息和快捷的查询手段。一直以来人们使用传统人工方式管理光盘的基本档案,这种管理方式有很多缺点:效率低,保密性差。另外时间一长,将产生大量的文件和数据,对于查找,更新和维护都带了不少的困难。随着科学技术的不断提高,计算机科学的日渐成熟,其强大的功能已为人们深刻认识,它已进入社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对光盘租赁进行管理,具有手工管理所无法比拟的优点。例如:检索迅速,可靠性高,存储
2、量大,保密性好,寿命长,成本低等。这些优点能极大地提到光碟档案管理的效率,也是光碟租赁管理科学化,正规化的重要条件2.业务需求业务流程图如下:丢失赔偿单归怀记录单超期罚单归还处理顾客更新租赁记录单租赁处理归还清单更新后的数据库缺货通知合法租赁清单管理员查询结果查询清单查询需求3.数据流程图抽象出系统有哪些具体功能要求即功能模型。(1)注册。信用户通过填写新信息即可成为新用户。(2)租赁。账户余额足够的情况下可以租赁光盘。(3)注册会员。成为会员后有更多的查询和租赁的权限。(4)充值。用户通过充值可以更新自己的账户及借光盘。(5)评价建议。通过用户反馈来更新了解信息。4. 数据需求需要处理的主要
3、数据对象:1.顾客信息:登陆账号、登录密码、个人基本信息等2.租借记录:起租日期、归还日期、租赁人编号、归还状态等3.账户管理:账户余额、已缴押金等数据流程图如下:二、概念结构设计1.光盘信息E-R图借出量库存量类别出版日期光盘作者光盘名字光盘编号 出版社光盘信息2.顾客信息3.管理员信息4.总的E-R图三、逻辑结构设计将E-R图转换成等价的关系模式为:顾客(顾客编号,姓名,性别,年龄,电话,地址,注册日期,账户余额,罚款金额,超出天数,借光盘数)光盘(光盘编号,光盘名字,作者,出版社,出版日期,类别,借出数量,库存量)管理员 (管理员编号,姓名,性别,年龄,电话,地址)租借 (租借编号,顾客
4、编号,光盘编号,租借费用,租借天数,租借日期)归还信息(光盘编号,归还日期,管理员编号)四物理结构设计1.光盘信息2.顾客信息3.管理员信息4.租借信息5. 归还信息五数据实施和维护1. 数据库CDmanagementsystem(光盘出租管理系统)的建立create database CDmanagesystem on primary(name=CDmanagementsystem , filename='D:CDmanagementsystem.mdf', size=10MB, maxsize=20MB, filegrowth=2MB ) log on ( name=
5、9;CDmanage', filename='D:CDsystem.ldf', size=6MB, maxsize=20MB, filegrowth=20MB ) go 2. 创建基本表(1)管理员employee信息(2)光盘CD信息(3)顾客customer信息alter table customeradd Ccount int not null添加语句:alter table customeradd Ccount int not null(4)租借rental信息(5)归还信息:3. 数据初始化(1) 将管理员信息加入表中:(2) 将光盘信息加入表中:(3) 将顾
6、客信息添加到表中(4) 将租借信息插入表中:insert into rentalvalues('','','',30,'2013/07/08' ,3.0);insert into rentalvalues('','','',45,'2013-06-25' ,4.5);insert into rentalvalues('','','',35,'2013/06/24' ,3.5);insert into re
7、ntalvalues('','','',40,'2013/06/29 ',4.0);insert into rentalvalues('','','',45,'2013/06/25',4.5);insert into rentalvalues('','','',20,'2013/07/25',2.0);4. 单表查询(1) 在employee表中查询:select * from employee(2) 在
8、customer表中查询:select * from customer(3) 在CD表中查询:select * from CD(4) 在rental表中查询:select * from rental(5) 在Creturn中查询:select * from creturn(6) 查询罚款金额大于0的顾客信息: select *from customerwhere finest>0 (7) 查询顾客一借光盘的天数 :以2013/8/2为当前日期,则语句为:select c1.customerId,customername,datediff( day,rentaldate,'2013
9、/8/2') as borrowdaysfrom customer c1,rental r1where c1.customerid=r1.customerid5.数据查询,更新及触发器,存储过程的创建 (1)创建触发器 在表中建立一个插入触发器(returnCD),功能:当还光盘操作时,要在rental记录中添加一条记录,同时删除相应光盘的租借记录。 (2)在Creturn表中再建立一个插入触发器(returnCD2),功能:当还光盘操作时,同时对相应表CD做相应的改动,inventory的属性:库存量加1,借出量减1,lending的属性:已借书数减1。SQL语句为:create t
10、rigger returnCD2on Creturnafter insertasupdate CDset inventory=inventory+1,lending=lending-1where CD.CDId in (select CD.CDId from CD,Creturnwhere CD.CDId=Creturn.CDId and CD.lending>0)update customerset Ccount=Ccount-1where customer.customerid in (select customer.customerid from customer,Creturn
11、where customer.customerid=creturn.customerid and customer.Ccount>0) 假设归还光盘编号为和代码insert into Creturnvalues('','','2013/8/7');insert into Creturnvalues('','','2013-08-9'); CD中的数据:Customer中的数据:Rental中的数据:(3)在rental表中建立一个插入触发器(rental1),当借光盘操作时,要改变custom
12、er表的部分属性,已借书数加 1,账户余额减去相应的租借费用。create trigger rentalCDon rentalafter insertasupdate customerset Ccount=Ccount+1,accountbalance=accountbalance-1(select rental.rentalfee from rental,Creturn where Creturn.CDid=rental.CDid)假设光盘编号为代码执行前customer中的数据为执行后customer的数据为(4)在rental表中建立一个插入触发器(rentalCD2),当借光盘操作时,
13、要改变CD表的部分属性,库存量减 1,借出量加 1。create trigger rentalCD2on rentalafter insertasupdate CDset inventory=inventory-1,lending=lending+1where CD.CDid in (select CD.CDid from CD,rentalwhere CD.CDid=rental.CDid)6.创建存储过程(1)创建一个按照光盘类型查找该类型光盘的所有信息的存储过程create procedure sort类别 char(10)asselect *from CDwhere sort=类别执行
14、存储过程查询歌曲光盘信息(2)创建一个存储过程根据顾客编号,查询出顾客借光盘信息create procedure customerid顾客编号char(10)asselect customer.customerid 顾客编号,customername 顾客姓名, Ccount 已借光盘, accountbalance 账户余额,CD.CDid 光盘编号,CDname 光盘名字,rentaldate 租借日期,rentaldays 租借天数,rentalfee 租借费用from rental,CD,customerwhere rental.CDid=CD.cdid and rental.cust
15、omerid=customer.customerid and customer.customerid=顾客编号查找顾客编号为代码触发器:7.超期处理(1)对已借光盘的顾客进行查询借光盘是否超期(说明:当前的日期为2013年9月1日计算select customer.customerid 顾客编号,customer.customername 顾客姓名, CD.CDId 光盘编号,CDname 光盘名字,rentaldate 租借日期,datediff(day,rentaldate,2013/9/1)-rentaldays 超出天数from CD,customer,rentalwhere rent
16、al.CDid=CD.CDid and rental.customerid=customer.customeridand datediff(day,rentaldate,2013/9/1)>=rentaldays对照rental表:(2)对超过天数的租借者进行罚款,将信息插入到customer表,按照一天0.2元的比例来罚款select rental.customerid ,rental.CDid,rentaldate,0.2*datediff(day,rentaldate,2013/9/1)-rentaldays from rental(2) where datediff(day,re
17、ntaldate,2013/9/1) >= rentaldays六课程设计小结这次的课程设计真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题。从需求分析阶段不断地搜索资料,想充分了解自己所做的课题在客户或者公司中的需求,由于画数据流图等等软件设计流程做起来很生疏,翻阅课本和网上查资料,总算整了一个像样点的需求分析,但是也不知道是不是正确,根据数据流图,不断修改需求。根据设计的大概模式,展开一步步的模块构造。经过不断地测试,不断地改进,其中还是发现了不少问题,第一次做这些工作,没有任何经验,甚至无从下手,还是很谢谢老师和同学的帮忙,从中也学到了一些代码的写法,为什么要这样写,通过和同学的讨论,找到一些书本上没有的方法,如何数据绑定等等,这些东西虽然小,但是可以体现整个数据库水平,其实并不需要建多少数据库的表,写多少复杂的存储过程,是不是用了数据库函数,触发器等等,但是至少要弄明白这些东西如果操作,清晰思路才能将功能分清晰。经过一段时间的学习与实践,使该系统具备了:添加、修改、删除、浏览、查询、输出信息,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国户外运动光学产品行业商业模式创新战略制定与实施研究报告
- 2025-2030年中国红外探测器行业商业模式创新战略制定与实施研究报告
- 建设客运服务品牌-促进客运企业发展
- 2025年中国运动鞋行业产销需求与投资预测分析报告
- 2025年中国药用玻璃管行业发展前景预测及投资战略研究报告
- 机械产品知识培训课件
- 二零二五年度房地产工程施工临时用电供应合同3篇
- 二零二五年度市政工程廉政承诺协议3篇
- 政策导向、汲取能力与卫生公平
- 中国味浓浓腊八节
- MDR医疗器械法规考核试题及答案
- 河南省郑州高新技术产业开发区2023-2024学年三年级上学期1月期末科学试题
- 女装行业退货率分析
- 领导沟通的艺术
- 纯视觉方案算法
- 道士述职报告
- 绿色贷款培训课件
- 2024年七年级语文上学期期末作文题目及范文汇编
- 云南省昆明市五华区2023-2024学年九年级上学期期末英语试卷+
- 2023年生产运营副总经理年度总结及下一年计划
- 2023年中考语文标点符号(顿号)练习(含答案)
评论
0/150
提交评论