碟片出租后台数据库设计_第1页
碟片出租后台数据库设计_第2页
碟片出租后台数据库设计_第3页
碟片出租后台数据库设计_第4页
碟片出租后台数据库设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、综合性、设计性实验报告 实验课程名称 碟片出租系统的后台数据库设计 专业 计算机科学与技术 班级 03 学号 541412010315 姓名 马普原 指导教师及职称 王华 开课学期 2015 至 2016 学年 第二 学期设计时间 6月12日-6月24日 设计题目 碟片出租系统的后台数据库设计1 实验目的:本课程设计的目的是为了让学生能够全面了解数据库应用系统的整个开发过程,逐步掌握系统开发的以下相关技术:(1)巩固数据库理论知识,熟悉一种具体的数据库管理系统(例如:SQL Server)的使用方法。(2)掌握针对特定应用环境数据库的设计。(3)综合使用SQL Server中数据库、表、视图、

2、索引、触发器、存储过程的创建使用方法。(4)体会运用软件工程的设计思想进行软件系统开发的过程与方法。2 软硬件环境:软件环境:Visual studio 2010,SQL Server Management 2005系统环境:Windows7及以上版本操作系统硬件环境:硬盘:50G,内存:2G CPU:2.5GHZ;3 实验设计简述:3.1 研究内容碟片出租管理系统将碟片的整个采购、租借、归还的全过程记录在数据库中,根据真实音像店的具体应用情况来进行该系统的设计。1.提供对音像店业务和光盘信息管理的支持,包括:采购光盘、光盘租借及归还、光盘信息统计管理等等。2.为租借者和员工全面、准确得介绍音

3、像店相关信息、光盘剩余信息、光盘归还信息及各类光盘更新情况。3.2 研究目的1.实现 光盘 的借还管理。入库登记时自动修改现货和库存,借、还时自动修改现货数量;2.实现 光盘 类型及信息的管理,实现 光盘 的入库管理;3.建立音像店员工外借数据库,方便员工对租借者的有效管理;4.实现音像店对新光盘入库,不可使用光盘注销的简单处理。4 系统需求分析与功能设计4.1 需求分析根据不同租借者音响店 光盘 租借管理系统的使用情况及需求不同,分别从租借者、音像店管理员、采购员、系统维护员和店长的角度对该数据库进行需求分析,具体内容如下:(1)租借者租借者在音像店使用到音响店 光盘 租借管理系统的情况大致

4、分四种,第一,查询所需要的光盘资料,以方便找到光盘存放位置;第二,查询自己的租借记录,以知道自己当前所借光盘,及光盘的租借情况,如是否在租借期内或已逾期须及时归还;第三,租借光盘,输入光盘编号及副本编号后可进行光盘租借;第四,归还或续借已借光盘,归还光盘时,系统相应消除该租借者的当前租借信息中的该条记录,若逾期返还,应做出相应处理,如扣除逾期罚款,满足续借要求的光盘可以续借,根据租借者类别光盘应还日期做相应延期处理。对于第一需求,租借者登录后进入光盘查询界面查询光盘信息,当租借者输入所需查询光盘的名称或编号后,系统显示出符合查询条件的所有的光盘的信息,包括光盘名称、光盘编号、导演、光盘类别、可

5、借数量、购入日期等。对于第二需求,租借者登录租借查询界面后可查询自己的租借情况,系统显示出该租借者当前租借数量,逾期租借数量,并逐条列出每个租借光盘的名称、租借时间及应归还时间,及光盘当前租借状态,如正常租借、续期租借、逾期租借。对于第三需求,租借者登录后进入光盘租借界面,输入光盘的编号及副本编号,在系统确定该光盘可租借后方可租借,租借日期为当日日期,应还日期根据租借者类别不同在租借日期上加上可租借天数方可得到,须注意,只有系统标明“可借”的光盘才可租借;租借成功后,相应租借明细添加到当前租借信息中,相应副本的光盘状态根据光盘租借情况做相应变化,光盘的可借数量减1,相应租借者的当前租借数量和历

6、史租借数量分别加1。对于第四需求,租借者登陆后可归还光盘,输入光盘编号及副本编号后对光盘的归还进行处理,处理完毕后,系统显示光盘编号、光盘名称、光盘租借日期、光盘归还如期及光盘归还结果,光盘归还结果主要有正常归还及逾期归还两种,当逾期归还时,系统根据逾期期限对租借者扣除相应罚款并记录至逾期归还次数中。光盘归还后,系统自动将该个光盘的租借信息从该租借者的当前租借信息中删除,并加入系统的历史租借信息中。对于第五需求,租借者登录后进入租借者个人信息界面,可查询到自己的租借者编号、租借者姓名、联系电话及租借数量相关信息,进入修改密码界面后,在输入旧密码及新密码,且重复输入新密码确认无误后可修改密码。(

7、2)音像店管理员音像店管理员主要对音像店的光盘进行光盘副本状况查询、光盘信息修改、清点、下架、销毁等工作。因而音像店管理员在租借者权限的基础上还可通过系统查询全馆光盘每个副本的情况,包括光盘所有基个信息及每个外借副本的租借者及该租借者的相关信息;当有光盘信息例如库存数量和可借数量与实际情况不符的时候,可对系统中的光盘信息进行相应修改;当有光盘不可使用不再接受租借时,可将光盘下架,下架后虽然可以查找到光盘信息但不可租借浏览;当仓库中已下架光盘无须再保留时,可对光盘进行销毁操作,销毁后在光盘查询系统中无法再查到该光盘的信息,但可在已销毁表中查找到该光盘的基个信息和销毁数量、销毁时间、销毁人员。(3

8、)采购人员采购人员主要负责光盘的采购和新光盘上架工作,当采购员购买到指定数量某光盘后,该光盘的采购工作完成,采购员可对该光盘进行上架操作,采购员负责将光盘基个信息录入系统,系统根据录入信息对光盘副本进行编号,并根据上架时可租借数量对光盘的光盘状况进行可借和不可借标注。(4)系统维护人员系统维护人员主要负责光盘租借系统的租借者维护工作,即负责租借者的增删及信息修改,进行密码初始化操作。(5)店长店长拥有整个系统的最大权限,可对所有信息进行查询,并可修改采购员的采购单,增删查改管理员信息,增删查改租借者类别信息。4.2 系统功能结构分析系统功能结构图如下图4-1所示: 图4-1 系统功能结构图5

9、概念模型设计 (按数据库设计方法和规范化理论,从实践概括抽象出ER模型) 5.1 实体与属性分析根据上述光盘租借系统需求分析,我认为该数据库主要涉及的实体有租借者、光盘、副本、管理员,各实体具体属性如下:租借者:租借者编号、租借者姓名、性别、联系电话、客户类型、居住地址; 光盘类别:类别编号,类别名称,类别描述;光盘:光盘编号、光盘名称、导演、语种、光盘价格、光盘类别、可借数量,内容简介;管理人员:姓名、员工编号、登录密码、联系电话、管理类别。光盘租借系统数据库各实体间联系如下:一个租借者可以租借多个光盘,一个光盘可以被多个租借者借阅,一个采购员可以采购多个光盘,一个光盘也可以被多个采购员采购

10、。管理员与租借者及光盘间并无具体联系,为方便系统操作因而单设一个实体记录管理员信息。5.2 系统总体E-R图设计系统总体E-R图如下图5-1所示:图5-1 系统功能结构图6逻辑模型设计(按数据库设计方法和规范化理论得出符合3NF的逻辑模型, ER图设计,ER图转化为相应的关系模式,设计数据库的逻辑模型)关系模式设计如下:(其中下划线是主码,粗体是外键)员工(职工号,姓名,性别,操作密码,职务,婚姻状况,入职日期)光盘类别(类别编号,类别名称,类别描述)光盘(编号,名称,导演,语种,单价,类别,可借数量,剧情简介)采购(员工号,光盘编号,采购数量,采购日期,供应商)租借(客户号,光盘编号,租借数

11、量,租借日期,押金)归还(客户号,光盘编号,归还日期,总费用)优化后的关系模式如下:员工(职工号,姓名,性别,操作密码,职务,婚姻状况,入职日期)光盘类别(类别编号,类别名称,类别描述)光盘(编号,名称,导演,语种,单价,类别,可借数量,剧情简介)采购(序号,员工号,光盘编号,采购数量,采购日期,供应商)租借(借阅号,客户号,光盘编号,租借数量,租借日期,押金)归还(借阅号,归还日期,总费用,备注信息)6 物理模型设计(存储记录结构设计,物理文件的安排和建立索引)1) 员工表结构2) 光盘类别表结构3) 光盘表结构4) 客户表结构、5) 采购表6) 借阅表7 实现(数据库结构设计的程序代码,基

12、本操作的程序代码)7.1数据库表设计if exists (select * from sysobjects where name='光盘租借管理系统')drop DataBase 光盘租借管理系统GOCreate DataBase 光盘租借管理系统goUse 光盘租借管理系统goif exists (select * from sysobjects where name='类别表')drop table 类别表GOCreate table 类别表(类别编号 varchar(10) not null,类别名称 nvarchar(20) not null,类别描述

13、nvarchar(100) ,primary key(类别编号)if exists (select * from sysobjects where name='光盘表')drop table 光盘表GOCreate table 光盘表(编号varchar(20) not null,名称varchar(50) not null,导演varchar(20),语种varchar(50),单价float check(单价>0),类别varchar(10) not null,可借数量smallint check(可借数量>=0),剧情描述nvarchar(200),prima

14、ry key(编号),Foreign key(类别) references 类别表(类别编号)if exists (select * from sysobjects where name='员工表')drop table 员工表goCreate table 员工表(职工号varchar(15) not null,姓名varchar(20) not null,性别char(2) check(性别in('男','女'),职务varchar(15),操作密码varchar(30) not null,婚姻状况char(4) check(婚姻状况in(&#

15、39;未婚','已婚','离异') ,入职时间smalldatetime,primary key(职工号)if exists (select * from sysobjects where name='客户表')drop table 客户表goCreate table 客户表(客户号varchar(18) not null,客户姓名varchar(20) not null,性别char(2) not null check(性别in ('男','女'),电话varchar(15),-联系电话类型varchar

16、(20),-客户类型居住地址nvarchar(100),Primary key(客户号)if exists (select * from sysobjects where name='采购记录')drop table 采购记录goCreate table 采购记录(序号 int identity not null,光盘编号varchar(20) not null,员工号varchar(15) not null,采购数量int not null,采购日期smallDatetime,供应商nvarchar(50),primary key(序号),Foreign key(光盘编号)

17、references 光盘表(编号) on delete cascade,Foreign key(员工号) references 员工表(职工号) on delete cascade)if exists (select * from sysobjects where name='借阅表')drop table 借阅表goCreate table 借阅表(借阅号int identity(150001,1) not null,光盘编号varchar(20) not null,客户号varchar(18) not null,借阅数量int not null,借阅日期datetime

18、default getDate(),押金数float,归还char(2) check(归还in ('是','否') default '否',备注信息nvarchar(50)primary key(借阅号),Foreign key(光盘编号) references 光盘表(编号) on delete cascade,Foreign key(客户号) references 客户表(客户号) on delete cascade)Create table 归还表(借阅号int not null,归还日期datetime default getDate()

19、,总费用float,备注信息nvarchar(50)primary key(借阅号),Foreign key(借阅号) references 借阅表(借阅号) on delete cascade)7.2视图设计-创建采购信息视图if exists (select * from sysobjects where name='采购记录信息')drop View 采购记录信息goCreate view 采购记录信息asSelect 序号,光盘编号,名称,员工号,采购数量,采购日期,供应商from 光盘表,采购记录Where 光盘表.编号= 采购记录.光盘编号-创建交易记录视图if e

20、xists (select * from sysobjects where name='交易记录')drop view 交易记录goCreate View 交易记录asSelect 归还表.借阅号,光盘编号,客户号,借阅数量,总费用,借阅日期,归还日期from 归还表,借阅表where 归还表.借阅号= 借阅表.借阅号-创建光盘信息视图Create view 光盘信息asSelect 编号,名称,导演,语种,单价,类别名称,可借数量,剧情简介from 类别表,光盘表Where 类别= 类别编号7.2触发器设计-当采购成购后,自动修改光盘库存数量if exists (select

21、 * from sysobjects where name='Tri1')drop trigger Tri1goCreate trigger Tri1on 采购记录After Insertasdeclare ID varchar(20);declare count int;Select ID = 光盘编号,count =采购数量from inserted;Update 光盘表Set 可借数量=可借数量+count Where 编号= ID7.3存储过程设计if exists (select * from sysobjects where name='BorrowReco

22、rd')drop proc BorrowRecordgoCreate proc BorrowRecord(cid varchar(18)asSelect 借阅号,名称as 光盘名称,客户姓名,借阅数量,借阅日期,押金数,备注信息from 借阅表,光盘表,客户表Where 归还= '否' and 借阅表.客户号= Cidand 借阅表.光盘编号= 光盘表.编号and 借阅表.客户号= 客户表.客户号9实验总结(主要对本实验开发过程进行归纳和总结,还应包括在设计过程中所遇到的技术难点及解决方法,尚存在的问题以及进一步开发的见解与建议。) (1)完成情况:除数据库不完整外,其他基本完美的做好了,不足之处就是数据库不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论