光盘出租管理系统.doc

上传人:b****1 文档编号:234268 上传时间:2022-10-07 格式:DOC 页数:26 大小:1.69MB
下载 相关 举报
光盘出租管理系统.doc_第1页
第1页 / 共26页
光盘出租管理系统.doc_第2页
第2页 / 共26页
光盘出租管理系统.doc_第3页
第3页 / 共26页
光盘出租管理系统.doc_第4页
第4页 / 共26页
光盘出租管理系统.doc_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

光盘出租管理系统.doc

《光盘出租管理系统.doc》由会员分享,可在线阅读,更多相关《光盘出租管理系统.doc(26页珍藏版)》请在冰豆网上搜索。

光盘出租管理系统.doc

光盘出租管理系统

一.需求分析 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(光盘出租管理系统)的建立

createdatabaseCDmanagesystem

onprimary

(name=CDmanagementsystem,

filename='D:

\CDmanagementsystem.mdf',

size=10MB,

maxsize=20MB,

filegrowth=2MB

logon

name='CDmanage',

filename='D:

\CDsystem.ldf',

size=6MB,

maxsize=20MB,

filegrowth=20MB

go

2.创建基本表

(1)管理员employee信息

(2)光盘CD信息

(3)顾客customer信息

altertablecustomer

addCcountintnotnull

添加语句:

altertablecustomer

addCcountintnotnull

(4)租借rental信息

(5)归还信息:

3.数据初始化

(1)将管理员信息加入表中:

(2)将光盘信息加入表中:

(3)将顾客信息添加到表中

(4)将租借信息插入表中:

insertintorental

values('2689574','387659','2013569',30,'2013/07/08',3.0);

insertintorental

values('2689575','268495','2013578',45,'2013-06-25',4.5);

insertintorental

values('2689576','387658','2013601',35,'2013/06/24',3.5);

insertintorental

values('2689577','387657','2013602',40,'2013/06/29',4.0);

insertintorental

values('2689578','387656','2013603',45,'2013/06/25',4.5);

insertintorental

values('2689579','387655','2013604',20,'2013/07/25',2.0);

4.单表查询

(1)在employee表中查询:

select*fromemployee

(2)在customer表中查询:

select*fromcustomer

(3)在CD表中查询:

select*fromCD

(4)在rental表中查询:

select*fromrental

(5)在Creturn中查询:

select*fromcreturn

(6)查询罚款金额大于0的顾客信息:

select*

fromcustomer

wherefinest>0

(7)查询顾客一借光盘的天数:

以2013/8/2为当前日期,则语句为:

selectc1.customerId,customername,

datediff(day,rentaldate,'2013/8/2')asborrowdays

fromcustomerc1,rentalr1

wherec1.customerid=r1.customerid

5.数据查询,更新及触发器,存储过程的创建

(1)创建触发器

在表中建立一个插入触发器(returnCD),功能:

当还光盘操作时,要在rental记录中添加一条记录,同时删除相应光盘的租借记录。

(2)在Creturn表中再建立一个插入触发器(returnCD2),功能:

当还光盘操作时,同时对相应表CD做相应的改动,inventory的属性:

库存量加1,借出量减1,lending的属性:

已借书数减1。

SQL语句为:

createtriggerreturnCD2

onCreturn

afterinsert

as

updateCD

setinventory=inventory+1,lending=lending-1

whereCD.CDIdin

(selectCD.CDId

fromCD,Creturn

whereCD.CDId=Creturn.CDIdandCD.lending>0)

updatecustomer

setCcount=Ccount-1

wherecustomer.customeridin

(selectcustomer.customerid

fromcustomer,Creturn

wherecustomer.customerid=creturn.customerid

andcustomer.Ccount>0)

假设归还光盘编号为‘2013578’和‘2013569’代码

insertintoCreturn

values('2013569','387659','2013/8/7');

insertintoCreturn

values('2013578','268495','2013-08-9');

CD中的数据:

Customer中的数据:

Rental中的数据:

(3)在rental表中建立一个插入触发器(rental1),当借光盘操作时,要改变customer表的部分属性,已借书数加1,账户余额减去相应的租借费用。

createtriggerrentalCD

onrental

afterinsert

as

updatecustomer

setCcount=Ccount+1,

accountbalance=accountbalance-1

(selectrental.rentalfee

fromrental,Creturn

whereCreturn.CDid=rental.CDid)

假设光盘编号为‘2013569’代码

执行前customer中的数据为

执行后customer的数据为

(4)在rental表中建立一个插入触发器(rentalCD2),当借光盘操作时,要改变CD表的部分属性,库存量减1,借出量加1。

createtriggerrentalCD2

onrental

afterinsert

as

updateCD

setinventory=inventory-1,lending=lending+1

whereCD.CDidin

(selectCD.CDid

fromCD,rental

whereCD.CDid=rental.CDid)

6.创建存储过程

(1)创建一个按照光盘类型查找该类型光盘的所有信息的存储过程

createproceduresort

@类别char(10)

as

select*

fromCD

wheresort=@类别

执行存储过程查询歌曲光盘信息

(2)创建一个存储过程根据顾客编号,查询出顾客借光盘信息

createprocedurecustomerid

@顾客编号char(10)

as

selectcustomer.customerid顾客编号,customername顾客姓名,

Ccount已借光盘,accountbalance账户余额,CD.CDid光盘编号,

CDname光盘名字,rentaldate租借日期,rentaldays租借天数,rentalfee租借费用

from

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1