音像租赁系统.docx
《音像租赁系统.docx》由会员分享,可在线阅读,更多相关《音像租赁系统.docx(28页珍藏版)》请在冰豆网上搜索。
音像租赁系统
河南城建学院
《数据库设计》课程设计报告书
设计题目:
音像租赁管理系统
指导老师:
学生学号:
083410130
学生姓名:
时间:
2012年6月13日
第1章选题及需求分析
1创作背景及需求分析
随着计算机技术的飞速发展,计算机在管理中的应用逐渐普及。
音像租借数字化渐成趋势,音像租借管理系统是一个可以为音像租借店提供音像的出租与归还业务的信息化管理系统,该系统可以把音像租借管理中一些繁琐的数据计算、信息处理为简单的指令操作,彻底的把管理人员从手工方式中解放出来。
音像租借店的管理员可以把音像制品的信息输入发系统,并且为不同类型的音像制品设定不同的租借方案:
也可以把音像制品的信息和租借方案从系统中删除。
当顾客需要租借影片时,音像管理员负责顾客信息和顾客需要租借的影片名称输入系统,并收取按金,把顾客归还的影片从租借信息中删除,并归还押金。
顾客可以申请成为会员,音像店管理员把顾客的基本信息记录保存在系统中。
每位会员都会有一个账户,会员可以对账户充值。
在租借影片时。
只要会员账户的余额足够就不需要交付押金;
该系统设计八大模块:
会员管理、音像管理、基本业务管理、数据管理、统计、
库存管理、系统维护。
1.1.1数据流图
顶层
租借
购买提示
归还
管理租借记录
第一层租借最大值
租借、购买
提示
租借记录
第二层
顾客租借信息租借限制
租借
租借人的详细信息
没有归还
提示
1.1.2数据字典
数据项
序号
数据名称
类型
长度
数据项含义内容说明
约束
1
顾客证件号
Char
20
主键
2
顾客姓名
Varchar
50
非空
3
顾客性别
Char
2
性别选一
可空
4
顾客联系电话
Char
20
方便联系顾客及时获得反馈
可空
5
顾客家庭住址
varchar
50
方便做市场调查
可空
6
注册日期
Datetime
指是计算借书的时间
非空
7
注销时间
Datetime
和注册时间一起决定借书时间
非空
8
到期时间
Datetime
借书的最大期限
非空
9
音像编号
Char
20
每个音像的编号,方便区分
主键
10
音像名称
Varchar
50
非空
11
音像类别
Char
10
划分歌曲、电影等类别
非空
12
碟片数目
Int
4
方便记录
非空
13
进价
Money
非空
14
售价
Money
非空
15
内容简介
Varchar
50
非空
16
租借单号
Char
20
租借的音像单号
主键
18
条形码
Char
20
每本书的出借依据
非空
19
租借金额
Money
根据时间计算
非空
20
押金金额
Money
非空
21
折扣
Float
可空
22
出租日期
Datetime
非空
23
到期日期
Datetime
非空
24
购买单号
Char
20
说明购买的音像的单号
非空
25
购买日期
Datetime
可空
26
员工工号
Char
20
辨别员工的身份
主键
27
员工姓名
Varchar
50
非空
28
联系电话
Char
20
联系员工
非空
29
部门编码
Char
20
辨别部门
主键
30
部门名称
Varchar
50
非空
31
订购单号
Char
20
主键
32
入库单号
Char
20
登记货物信息
非空
33
货柜编号
char
20
记录存放信息
主键
34
供应商编号
Char
20
提供供应商信息
主键
数据结构
顾客信息
证件号,姓名,性别,出生年月,家庭住址,联系电话,顾客类型,注册日期,注销日期,到期日期
音像信息
音像编号,音像名称,音像类别,碟片数目,进价,售价,内容简介
出租信息
证件号,条形码,租金金额,出租日期,到期日期,是否归还,折扣,租借单号
购买信息
证件号,音像编号,售价,数量,折扣,购买日期,购买单号
员工信息
员工工号,职位,所属部门,姓名,联系电话,性别,家庭住址,出生年月,工种
部门信息
部门编号,部门名称,地点,联系电话
订购信息
订购单号,音像编号,供应商编号,订购单价,订购数量,订购日期
入库信息
订购单号,货柜编号,入库日期,入库数量,入库单号
货柜信息
货柜编号,货柜名称,位置
供应商信息
供应商编号,供应商名称,联系人电话,地址,联系电话
存放信息
音像编号,货柜编号,数量
第2章系统概念设计
2.1局部E-R图设计
2.2整体E-R图
11
nn
nm
mnnm
nnm
m
2.3E-R图中的冲突分析
由于属性值域和属性取值单位不存在冲突所以E-R图中不存在属性冲突。
有些地方出现命名时出现冲突,例如:
音像表中的碟片数目,在购买表中则以数量命名,还有出现同名异的冲突,例如:
联系电话在顾客表中则表示联系人电话,而在员工表中则表示员工的联系电话,在部门表中则表示部门的联系电话,在供应商表中则表示供应商的联系电话。
在以上的冲突中,还存在结构冲突,由个别同一实体在不同应用中属性组成不同,可能是属性个数或属性次序不同。
解决办法就是合并后实体的属性组成为各局部E-R图中的同名实体属性的并集,然后再适当调整属性的次序。
第3章逻辑结构
3.1关系模式设计及范式的判断
顾客(证件号,姓名,性别,出生年月,家庭住址,联系电话,顾客类型,注册日期,注销日期,到期日期)
该关系模式属于3NF,证件号是主属性其他属性均为非主属性由上述关系可知证件号决定其他非主属性所以顾客属于2NF在顾客表中非主属性不传递函数依赖于主关系键证件号,因此该关系模式属于3NF。
音像(音像编号,音像名称,音像类别,碟片数目,进价,售价,内容简介)
该关系模式属于3NF音像编号是主属性其他属性均为非主属性同顾客表可得该关系模式属于3NF
租借(租借单号,证件号,条形码,租借金额,押金金额,折扣,出租日期,到期日期)
该关系模式属于3NF证件号—/>条形码,租借金额等属性且函数依赖(租借单号,证件号)—到期日期,所以该关系式属于3NF.
购买(购买单号,证件号,售价,数量,折扣,购买日期)
该关系式属于3NF购买单号和证件号是主属性,同租借关系模式。
员工(员工工号,所属部门,姓名,性别,出生年月,家庭住址)
该关系式属于3NF员工工号是主属性同顾客关系模式。
部门(部门编号,经理编号,部门名称,地点,联系电话)
该关系模式属于3NF部门编码是主属性,同顾客关系模式。
订购(订购单号,音像编号,供应商编号,订购日期,订购单价,订购数量)
该关系模式属于3NF,订购单号,音像编号,供应商编号是主属性,同租借关系模式
入库(订购单号,货柜编号,入库日期,入库数量,入库单号)
该关系模式属于3NF订购单号,货柜编号属于主属性,同租借关系模式。
货柜(货柜编号,货柜名称,位置)
该关系模式属于3NF货柜编号属于主属性,同顾客关系模式。
供应商(供应商编号,供应商名称,联系人姓名,联系电话,地址)
该关系模式属于3NF供应商编号属于主属性,同顾客关系模式。
存放(音像编号,货柜编号,数量)
该关系模式属于3NF音像编号和货柜编号属于主属性,同租借关系模式。
第4章物理结构
4.1系统表的设计
顾客表
字段编码
字段名称
数据类型
GK_zjh
证件号
Char(20)
主键非空
GK_xm
姓名
Varchar(50)
非空
GK-xb
性别
Char
(2)
Check(GK_xbin(‘男’,女))
GK_jtzz
家庭住址
Varchar(50)
允许为空
GK_lxdh
联系电话
Char(20)
非空
GK_zcrq
注册日期
Datetime
非空
GK_zxrq
注销日期
Datetime
非空
GK_dqri
到期日期
Datetime
非空
音像表
字段编码
字段名称
数据类型
YX_bh
音像编号
Char(20)
主键非空
YX-mc
音像名称
Varchar(50)
非空
YX_lb
音像类别
Char(10)
非空
YX-dpsm
碟片数目
Int
非空
YX-jj
进价
Money
非空
YX-sj
售价
Money
非空
YX_nrjj
内容简介
Varchar(50)
允许为空
租借表
字段编码
字段名称
数据类型
ZJ_dh
租借单号
Char(20)
主键
GK_zjh
证件号
Char(20)
非空
CZYX_txm
条形码
Char(20)
非空
ZJ_zjje
租借金额
Money
非空
ZJ_yjje
押金金额
Money
非空
ZJ_zk
折扣
Float
非空
ZJ_czrq
出租日期
Datetime
非空
ZJ_dqrq
到期日期
Datetime
非空
ZJ_sfgh
是否归还
Char
(2)
Check(ZJ_sfghin(‘Yes’,’No’))
购买表
字段编码
字段名称
数据类型
GM_dh
购买单号
Char(20)
主键
GK_zjh
证件号
Char(20)
非空
XSYX_yxbh
音像编号
Char(20)
非空
GM_sj
售价
money
非空
GM_sl
数量
Int
非空
GM_zk
折扣
Float
非空
GM_gmrq
购买日期
Datetime
非空
员工表
字段编码
字段名称
数据类型
YG_yggh
员工工号
Char(20)
主键
BM_bmbh
所属部门编号
Char(20)
非空
YG_xm
姓名
Varchar(50)
非空
YG_xb
性别
Char
(2)
非空
YG_jtzz
家庭住址
Char(30)
非空
YG_lxdh
联系电话
Char(20)
非空
YG_gz
工种
Char(10)
非空
YG_zw
职位
Char(10)
非空
部门表
字段编码
字段名称
数据类型
BM_bh
部门编号
Varchar(20)
主键
BM_bmmc
部门名称
Char(20)
非空
BM_dd
地点
Varchar(50)
非空
BM_lxdh
联系电话
Char(20)
非空
订购表
字段编码
字段名称
数据类型
DG_dgdh
订购单号
Char(20)
主键
XSYX_yxbh
音像编号
Char(20)
非空
GYS_dgrq
供应商编号
Char(20)
主键
DG_dgrq
订购日期
Datetime
非空
DG_dgdj
定购单价
money
非空
DG_dgsl
订购数量
int
非空
入库表
字段编号
字段名称
数据类型
RK-dh
入库单号
Char(20)
主键
HG_bh
货柜编号
Char(20)
非空
RK_rq
入库日期
Datatime
非空
RK_sl
入库数量
Int
非空
DG_dh
订购单号
Char(20)
非空
货柜表
字段编码
字段名称
数据类型
HG_bh
货柜编号
Char(20)
主键
HG_mc
货柜名称
Varchar(50)
非空
Wz
位置
Varchar(50)
非空
供应商表
字段编码
字段名称
数据类型
GYS_bh
供应商编号
Char(20)
主键
GYS_mc
供应商名称
Varchar(50)
非空
lxrxm
联系人姓名
Varchar(50)
允许为空
Lxdh
联系电话
Char(15)
非空
dz
地址
Varchar(50)
允许为空
存放表
字段编码
字段名称
数据类型
Yxbm
音像编码
Char(20)
主键
hgbm
货柜编码
Char(20)
非空
sl
数量
Int
非空
4.2建表代码
顾客表
createtableGK
(
GK_zjhchar(20)notnullprimarykey,
GK_xmvarchar(50)notnull,
GK_xbchar
(2)check(GK_xbin('男','女')),
GK_jtzzvarchar(50)null,
GK_lxdhchar(20)notnull,
GK_zcrqdatetimenotnull,
GK_zxrqdatetimenotnull,
GK_dqrqdatetimenotnull
)
音像表
createtableYX
(
YX_bhchar(20)notnullprimarykey,
YX_mcvarchar(50)notnull,
YX_lbchar(10)notnull,
YX_dpsmintnotnull,
YX_jjmoneynotnull,
YX_sjmoneynotnull,
YX_nrjjvarchar(50)null,
)
租借表
createtableZJ
(
ZJ_dhchar(20)notnullprimarykey,
GK_zjhchar(20)notnull,
txmchar(20)notnull,
ZJ_zjjemoneynotnull,
ZJ_yjjemoneynotnull,
ZJ_zkfloatnotnull,
ZJ_czrqdatetimenotnull,
ZJ_dqrqdatetimenotnull,
ZJ_sfghchar
(2)check(ZJ_sfghin('Yes','No'))
)
购买表
createtableGM
(
GM_dhchar(20)notnullprimarykey,
GM_zjhchar(20)notnull,
YX_bhchar(20)notnull,
GM_sjmoneynotnull,
GM_slmoneynotnull,
GM_zkfloatnotnull,
GM_gmrqdatetimenotnull
)
员工表
createtableYG
(
YG_ygghchar(20)notnullprimarykey,
BM_bmbhchar(20)notnull,
YG_xmvarchar(50)notnull,
YG_xbchar
(2)check(YG_xbin('男','女')),
YG_jtzzchar(20)notnull,
YG_lxdhchar(20)notnull,
YG_gzchar(10)notnull,
YG_zwchar(10)notnull,
)
部门表
createtableBM
(
BM_bhchar(20)notnullprimarykey,
BM_bmmcchar(20)notnull,
BM_ddvarchar(50)notnull,
BM_lxdhchar(20)notnull
)
订购表
createtableDG
(
DG_dgdhchar(20)notnullprimarykey,
YX_bhchar(20)notnull,
GYS_bhchar(20)notnull,
DG_dgrqdatetimenotnull,
DG_dgdjmoneynotnull,
DG_dgslintnotnull
)
入库表
createtableRK
(
RK_dhchar(20)notnullprimarykey,
HG_bhchar(20)notnull,
RK_rqdatetimenotnull,
RK_slintnotnull,
DG_dhchar(20)notnull
)
货柜表
createtableHG
(
HG_bhchar(20)notnullprimarykey,
HG_mcchar(30)notnull,
)
供应商表
createtableGYS
(
GYS_bhchar(20)notnullprimarykey,
GYS_mcvarchar(50)notnull,
lxrxmvarchar(50)notnull,
lxdhchar(20)notnull,
dzvarchar(50)notnull
)
存放表
createtableCF
(
YX_bmchar(20)notnullprimarykey,
HG_bmchar(20)notnull,
slintnotnull
)
4.3运行表(主要是数据库表抓图)
部门表
图4.3-1
购买表
图4.3-2
存放表
图4.3-3
订购表
图4.3-4
顾客表
图4.3-5
供应商
图4.3-6
货柜表
图4.3-7
入库表
图4.3-8
员工表
图4.3-9
音像表
图4.3-10
租借表
图4.3-11
4.4创建视图代码及截图
createviewsub_T
asselectGK.GK_zjh,GK_xm,GK.GK_dqrq,YX_mc,ZJ_czrq
fromGK,YX,ZJ
whereGK.GK_zjh=ZJ.GK_zjh
截图
图4.4-1
权限
grantselectonsub_Ttopublic
go
createviewsub_RK
asselectRK_dh,RK.HG_bh,RK_sl,HG_mc
fromRK,HG
whereRK.HG_bh=HG.HG_bh
截图
图4.4-2
4.5创建索引
createuniqueindexGKIonGK(GK_zjh)
第5章数据库的备份和还原计划
5.1概述
备份和还原是sqlserver的重要组成部分。
备份是对sqlserver数据库和事务日志进行复制,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,如果数据库文件的磁盘遭到损坏,这些备份文件将在数据库还原时用来还原数据库。
备份主要分为四部分
数据库备份,事务日志备份,差异备份,文件和文件组备份进行有规律的备份计划,备份时间一般放在晚上,备份的时间间隔不应该间隔太大。
在相邻的两次差异备份之间进行事务日志备份。
5.2创建备份和还原截图
创建备份设备
图5.2-1
图5.2-2
备份数据库
图5.2-3
还原数据库
图5.2-4
第6章结束语
通过这次课程设计,让我对数据库设计这门课有了进一步的认识。
这次课程设计是对这门课程的一个总结,是对数据库知识的应用。
通过这次设计对我们独自解决问题的能力也有所提高。
在整个过程中,我查阅了相关书籍及文献,取其相关知识要点应用到课程设计中,而且其中有很多相关内容可以直接选取,这样设计出来的程序更加符合要求。
在设计中穿插了很多的知识还有的地方需要经过思考反复的操作才可以得出结论,使我对数据库有了更深刻的理解。
课程设计是培养学生综合运用多学习的知识,平时没事什么发现,真正到做到的时候才发现做起来困难重重,从这次设计中发现自己的不足之处,设计知识的欠缺是阻碍设计的一个主要的方面,刚开始做的时候确实遇到了各种各样的问题,同过查资料,借助于图书,和向老师和同学询问,问题逐渐得到解决。
虽然一周的课程设计时间有点短,自己做的设计由于知识有限,还有有许多地方需要改进,但是经过一周的努力最终完成了自己的设计任务,虽然在设计的过程中遇到各种各样的困难,但是随着问题的解决,自己的知识明显的增加,认识问题的水平也相应的提高,通过课程设计发现好多需要我们了解的知识我没有理解到位,不能灵活的运用于实际,不能很好的进行解决问题
从开始设计就翻阅了大量的图书资料,从需求分析,概念设计,逻辑结构设计,物理结构设计,很多东西书上写的很清楚,看着好像很简单,但是真正在做的时候就会发现设计中存在着这样或那样的错误,经常做到后面的突然就发现自己一开始的设计有问题你,然后又要回去返工,在各种反复中不断完善自己的想法。
这样的问题应该不只是我自己会遇到,我相信大多数同学在做课程设计的时候也会遇到这种问题。
很多事情不是想象的那么简单,它涉及到的各种实体、属性、数据流程、数据处理等。
在做物理设计时,一开始索引部分不知从何处入手,通过看书和向老师、同学请教最终明白了索引就是对一些经常使用的搜索的列,外键上建立索引,它的作用就是明显加快检索速度。
在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。
设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。
最后感谢老师对这次课设的评阅!
参考文献
[1]陈志泊.数据库原理及应用教程