收藏 分销(赏)

光盘出租综合管理系统.doc

上传人:w****g 文档编号:3032354 上传时间:2024-06-13 格式:DOC 页数:30 大小:1.70MB 下载积分:12 金币
下载 相关 举报
光盘出租综合管理系统.doc_第1页
第1页 / 共30页
光盘出租综合管理系统.doc_第2页
第2页 / 共30页


点击查看更多>>
资源描述
光盘出租管理系统 一.需求分析 1 1.课题背景及意义 1 2.业务需求 2 3.数据步骤图 2 4. 数据需求 2 二、概念结构设计 3 1.光盘信息E-R图 3 2.用户信息 3 3.管理员信息 4 4.总E-R图 6 三、逻辑结构设计 6 四.物理结构设计 7 1.光盘信息 7 2.用户信息 7 3.管理员信息 7 4.租借信息 8 5. 归还信息 8 1. 数据库Cmanagementsystem(光盘出租管理系统)建立 8 2. 创建基础表 9 3. 数据初始化 12 4. 单表查询 14 5.数据查询,更新及触发器,存放过程创建 17 6.创建存放过程 21 7.超期处理 23 六.课程设计小结 24 一.需求分析 1.课题背景及意义 光盘出租管理系统是一个光盘出租商管理不可缺乏部分,它对于光盘出租商是至关关键。光盘租赁系统提供充足信息和快捷查询手段。一直以来大家使用传统人工方法管理光盘基础档案,这种管理方法有很多缺点:效率低,保密性差。另外时间一长,将产生大量文件和数据,对于查找,更新和维护全部带了不少困难。伴随科学技术不停提升,计算机科学日渐成熟,其强大功效已为大家深刻认识,它已进入社会各个领域并发挥着越来越关键作用。作为计算机应用一部分,使用计算机对光盘租赁进行管理,含有手工管理所无法比拟优点。比如:检索快速,可靠性高,存放量大,保密性好,寿命长,成本低等。这些优点能极大地提到光碟档案管理效率,也是光碟租赁管理科学化,正规化关键条件 2.业务需求 业务步骤图以下: 丢失赔偿单 归怀统计单 超期罚单 归还处理 用户 更新 租赁统计单 租赁处理 归还清单 更新后数据库 缺货通知 正当租赁清单 管理员 查询结果 查询清单 查询需求 3.数据步骤图 抽象出系统有哪些具体功效要求即功效模型。 (1)注册。 信用户经过填写新信息即可成为新用户。 (2)租赁。 账户余额足够情况下能够租赁光盘。 (3)注册会员。 成为会员后有更多查询和租赁权限。 (4)充值。 用户经过充值能够更新自己账户及借光盘。 (5)评价提议。 经过用户反馈来更新了解信息。 4. 数据需求 需要处理关键数据对象: 1.用户信息:登陆账号、登录密码、个人基础信息等 2.租借统计:起租日期、归还日期、租赁人编号、归还状态等 3.账户管理:账户余额、已缴押金等 数据步骤图以下: 二、概念结构设计 1.光盘信息E-R图 借出量 库存量 类别 出版日期 光盘作者 光盘名字 光盘编号 出版社 光盘信息 2.用户信息 3.管理员信息 4.总E-R图 三、逻辑结构设计 将E-R图转换成等价关系模式为: 用户(用户编号,姓名,性别,年纪,电话,地址,注册日期,账户 余额,罚款金额,超出天数,借光盘数) 光盘(光盘编号,光盘名字,作者,出版社,出版日期,类别,借出 数量,库存量) 管理员 (管理员编号,姓名,性别,年纪,电话,地址) 租借 (租借编号,用户编号,光盘编号,租借费用,租借天数, 租借日期) 归还信息(光盘编号,归还日期,管理员编号) 四.物理结构设计 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='CDmanage', filename='D:\CDsystem.ldf', size=6MB, maxsize=20MB, filegrowth=20MB ) go 2. 创建基础表 (1)管理员employee信息 (2)光盘CD信息 (3)用户customer信息 alter table customer add Ccount int not null 添加语句: alter table customer add Ccount int not null (4)租借rental信息 (5)归还信息: 3. 数据初始化 (1) 将管理员信息加入表中: (2) 将光盘信息加入表中: (3) 将用户信息添加到表中 (4) 将租借信息插入表中: insert into rental values('2689574','387659','569',30,'/07/08' ,3.0); insert into rental values('2689575','268495','578',45,'-06-25' ,4.5); insert into rental values('2689576','387658','601',35,'/06/24' ,3.5); insert into rental values('2689577','387657','602',40,'/06/29 ',4.0); insert into rental values('2689578','387656','603',45,'/06/25',4.5); insert into rental values('2689579','387655','604',20,'/07/25',2.0); 4. 单表查询 (1) 在employee表中查询: select * from employee (2) 在customer表中查询: select * from customer (3) 在CD表中查询: select * from CD (4) 在rental表中查询: select * from rental (5) 在Creturn中查询: select * from creturn (6) 查询罚款金额大于0用户信息: select * from customer where finest>0 (7) 查询用户一借光盘天数 : 以/8/2为目前日期,则语句为: select c1.customerId,customername, datediff( day,rentaldate,'/8/2') as borrowdays from customer c1,rental r1 where c1.customerid=r1.customerid 5.数据查询,更新及触发器,存放过程创建 (1)创建触发器 在表中建立一个插入触发器(returnCD),功效:当还光盘操作时,要在rental统计中添加一条统计,同时删除对应光盘租借统计。 (2)在Creturn表中再建立一个插入触发器(returnCD2),功效:当还光盘操作时,同时对对应表CD做对应改动,inventory属性:库存量加1,借出量减1,lending属性:已借书数减1。 SQL语句为: create trigger returnCD2 on Creturn after insert as update CD set inventory=inventory+1,lending=lending-1 where CD.CDId in (select CD.CDId from CD,Creturn where CD.CDId=Creturn.CDId and CD.lending>0) update customer set Ccount=Ccount-1 where customer.customerid in (select customer.customerid from customer,Creturn where customer.customerid=creturn.customerid and customer.Ccount>0) 假设归还光盘编号为‘578’和‘569’代码 insert into Creturn values('569','387659','/8/7'); insert into Creturn values('578','268495','-08-9'); CD中数据: Customer中数据: Rental中数据: (3)在rental表中建立一个插入触发器(rental1),当借光盘操作时,要改变customer表部分属性,已借书数加 1,账户余额减去对应租借费用。 create trigger rentalCD on rental after insert as update customer set Ccount=Ccount+1, accountbalance=accountbalance-1 (select rental.rentalfee from rental,Creturn where Creturn.CDid=rental.CDid) 假设光盘编号为‘569’代码 实施前customer中数据为 实施后customer数据为 (4)在rental表中建立一个插入触发器(rentalCD2),当借光盘操作时,要改变CD表部分属性,库存量减 1,借出量加 1。 create trigger rentalCD2 on rental after insert as update CD set inventory=inventory-1,lending=lending+1 where CD.CDid in (select CD.CDid from CD,rental where CD.CDid=rental.CDid) 6.创建存放过程 (1)创建一个根据光盘类型查找该类型光盘全部信息存放过程 create procedure sort @类别 char(10) as select * from CD where sort=@类别 实施存放过程查询歌曲光盘信息 (2)创建一个存放过程依据用户编号,查询出用户借光盘信息 create procedure customerid @用户编号char(10) as select customer.customerid 用户编号,customername 用户姓名, Ccount 已借光盘, accountbalance 账户余额,CD.CDid 光盘编号, CDname 光盘名字,rentaldate 租借日期,rentaldays 租借天数,rentalfee 租借费用 from rental,CD,customer where rental.CDid=CD.cdid and rental.customerid=customer.customerid and customer.customerid=@用户编号 查找用户编号为‘387655’代码 触发器: 7.超期处理 (1)对已借光盘用户进行查询借光盘是否超期(说明:目前日期为9月1日计算 select customer.customerid 用户编号,customer.customername 用户姓名, CD.CDId 光盘编号,CDname 光盘名字,rentaldate 租借日期, datediff(day,rentaldate,/9/1)-rentaldays 超出天数 from CD,customer,rental where rental.CDid=CD.CDid and rental.customerid=customer.customerid and datediff(day,rentaldate,/9/1)>=rentaldays 对照rental表: (2)对超出天数租借者进行罚款,将信息插入到customer表,根据一天0.2元百分比来罚款 select rental.customerid ,rental.CDid,rentaldate, 0.2*datediff(day,rentaldate,/9/1)-rentaldays from rental (2) where datediff(day,rentaldate,/9/1) >= rentaldays 六.课程设计小结 这次课程设计真做起来困难重重,深刻体会到做一个软件,里面需要很多知识我们没有接触过,去图书馆找书时候发觉,我们学仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发觉还有很多知识没有吃透,这需要我们不停实践,不停地自学习,不停地发觉问题去思索问题。从需求分析阶段不停地搜索资料,想充足了解自己所做课题在用户或企业中需求,因为画数据流图等等软件设计步骤做起来很生疏,翻阅书本和网上查资料,总算整了一个像样点需求分析,不过也不知道是不是正确,依据数据流图,不停修改需求。依据设计大约模式,展开一步步模块结构。经过不停地测试,不停地改善,其中还是发觉了不少问题,第一次做这些工作,没有任何经验,甚至无从下手,还是很谢谢老师和同学帮忙,从中也学到了部分代码写法,为何要这么写,经过和同学讨论,找到部分书本上没有方法,怎样数据绑定等等,这些东西即使小,不过能够表现整个数据库水平,其实并不需要建多少数据库表,写多少复杂存放过程,是不是用了数据库函数,触发器等等,不过最少要弄明白这些东西假如操作,清楚思绪才能将功效分清楚。经过一段时间学习和实践,使该系统含有了:添加、修改、删除、浏览、查询、输出信息,实现了依据用户需求查看等功效。作为一个光盘出租管理系统,本系统所提供功效确实太少了部分,仅仅只实现了部分基础功效,有很多地方还有待扩展和改良。人假如没有自信,没有目标,没有信心就不可能把事情做好,当其它人全部在迷茫时候,自己一定要坚信目标,从学习这个专业,到以后做这方面工作全部需要不停地去学习去实践,这次实践能够给我们敲一个警钟,在困难面前要勇于尝试,这是这次课程设计给我最大感想。 数据库系统原理课程设计 课题名称: 光盘出租管理系统 姓 名: 刘欣茹 班 级: 信管1101 学 号: 指导老师: 刘小燕 12 月 30 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服