ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:127.67KB ,
资源ID:269652      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-269652.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库实验报告存车记录Word格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库实验报告存车记录Word格式.docx

1、存车v_Pay-1取车存车人查询登记信息存车记录表2.1.3 数据流图2.1.4 数据字典数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。2.1.4.1 数据项定义数据项是不可在分的数据单位。下面定义了客房管理系统需要的数据项: 表2.1 数据项定义数据项编号数据项名称简述类型及宽度

2、I1tno自行车类型编码char(10)I2Bname自行车类型char(20)I3bno自行车品牌编码char(4)I4Cuncheliang自行车数量intI5Bdate存车日期I6Rdate还车日期I7Rno顾客编码I8bname顾客姓名char(2)I19Pay付款char(18)I110payDate付款时间datetime2.1.4.2 数据结构数据结构反映了数据之间的组合关系,。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括数据结构名、含义等。 表2-2 数据结构数据结构定义数据结构名数据结构含义组成D

3、S-1Bicycleinfo自行车信息表iBno,bname,kucunliang,tnoDS-2bicycletypeTno,tnameDS-3borrowBno,rno,bdate,rdateDS-4cyclelistinfo顾客明细表Rno,rname,DS-5payinfo付款记录Rno,pay,paydate2.1.4.3 数据流数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:数据流名、说明、数据流来源、数据流去向、组成等。 表2-3 数据流数据流编号数据流名称数据流来源数据流去向数据流组成F1存车用户存车顾客管理员Rno,bdate,bnoF2还车 用户还车Rn

4、o,bno,rdateF3用户付款rdate,bdate,pay,paydate,rno,bno2.1.4.4 数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。他可以是手工文档或手工凭单,也可以是计算机文档。 表 2-4 数据存储数据存储编号数据存储名称数据存储组成相关处理S1存车取车几率记录存车取车几率Rno,bno,rdate,bdateP1,p2S2记录顾客付款的信息Rdate,bdate,pay,paydateP1.p2.p32.1.4.5 处理过程处理过程的具体处理逻辑一般是用判定表或判定树来描述。数据字典中只需要描述处理过程的说明信息,通常包括处理过程编号、

5、名称、说明、输入数据流、输出数据流、处理等。 表 2-5 处理过程处理过程编号处理过程名称输入的数据流处理输出地数据流P1更新存车信息有顾客后,要及时更新存车信息存车登记表对存车信息数据进行更新操作新的存车信息P2更取驱车信息顾客取车取车信息对取车时间进行登记取车记录P3顾客付款顾客选择服务付款2.2 概念设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。2.2.1 分E-R图面对每一个局部应用主义设计分E-R图:名字编号自行车类型品牌存车量存车,取车2.2.2 总E-R图存取登记表付款信息表各子系统的E-R图设计好以后,下一步就是要将所有的

6、分E-R图综合成一个系统的总E-R图。多个分E-R图一次集成总E-R图,如下图所示:在消除各种冲突和不必要的冗余之后,基本E-R图就生成了,下一步就是根据概念结构设计结果来进行逻辑结构设计了。2.3 逻辑设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与所选用的DBMS产品所支持的数据模型想符合的逻辑结构。2.3.1 E-R 图向关系模型转换把总E-R图转换成为关系模式,关系的码用下划线标出。顾客(顾客编号,顾客姓名,)此为顾客实体所对应的关系模式。自行车(自行车编号,自行车类型,自行车存车辆,自行车编号)此为房间实体所对应的关

7、系模式。存取登记表(顾客编号,自行车编号,存车如期,取车日期)此为存车登记表所对应的关系模式,该关系模式已包含了联系“存取”所对应的关系模式。付款(付款钱数,付款日期,付款人)此为付款实体对应的关系模式。 2.3.2 数据模型的优化数据逻辑设计的结果不是唯一的。为了进一步提高数据库应用系统的性能,还应该分局应用系统的需要适当的修改,调整数据模型的结构,这就是数据模型的优化。关系数据库模型的优化通常以规范化理论为指导,方法为:1. 确定数据依赖。2. 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3. 按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依

8、赖、多值依赖等,确定个关系模式分别属于第几范式。4. 按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要求对某些模式进行合并或分解。5. 对关系模式进行必要的分解,提高数据操作的效率和存储空间利用率。常用的两种分解发事水平分解法和垂直分解法。规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可以来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。2.3.3 设计用户子模式视图 将概念模型转换为全局逻辑模型之后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。 目前关系数据库管理系统一般都提供了视图(view)概念,可利用这一功

9、能设计更符合局部用户需要的用户外模式。 对于本系统,综合顾客和管理者的角度,设计了如下视图:对于顾客,只需要建立状态为空的房间信息的视图:1. 建存车视图,方便顾客查询自行车。自行车(名城)对于管理者,则要建立如下几个视图:2建立付款视图,方便管理者了解入住顾客的信息付款(付款,付款人编号姓名)3.建立自行车库存的视图,方便管理者管理自行车信息 自行车(类型,编号,数量) 服务费用(房间编号,服务综费用) 总费用(房间编号,总费用)2.4 物理设计 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构

10、的过程,就是数据库的物理设计。2.4.1 建立触发器 这个系统为数据表的更新建立了两个触发器,一个是在有新的客人入住时,插入客人入住信息,触发触发器,使房间信息得到更新。另外就是在有客人退房结账之后,使触发器触发,更新房间信息表。表 2-6 定义触发器触发器名触发器的作用View_delete在顾客退房之后,触发器触发,删除住房登记表中的入住记录in_status用来在插入了一条顾客订房纪录之后触发,使该房间状态由空更新为满Out_status用来在插入了一条顾客退房记录之后触发,使该房间状态由满更新为空2.4.2 建立存储过程存储过程是存储在服务器端由一组编译的TransactSQL语句构成

11、的SQL Sever数据库应用程序,它能够检索系统信息、管理数据库或执行其他操作。为了方便操作,为本系统建立了如下存储过程:表2-7 存储过程存储过程编号存储过程名称存储过程作用Chaxun登记自行车信息Daizou 登记取车记录查询某个自行车登记记录2.5 数据库实施阶段2.5.1 建立数据库用SQL语句建立数据库,具体定义如下: create database BicycleManagement2.5.2 建立数据表用SQL语句建立数据表,具体定义如下:create table Bicycletype( tno int identity(1,1) PRIMARY KEY NOT NULL,

12、 tname varchar(20) NOT NULL,)INSERT INTO Bicycletype VALUES(山地普通goselect * from Bicycletypecreate table BicycleInfo bno int NOT NULL PRIMARY KEY identity(1,1), tno int NOT NULL FOREIGN KEY REFERENCES Bicycletype(tno), bname varchar(20) NOT NULL, cuncheliang int NOT NULL,insert into BicycleInfo value

13、s(1,凤凰,0)你好永久insert into BicycleInfo values(2,巨力select * from BicycleInfocreate table Cyclelistinfo rno int NOT NULL PRIMARY KEY identity(1,1), rname varchar(10) NOT NULL,INSERT INTO Cyclelistinfo VALUES(李一王二张三select * from Cyclelistinfocreate table borrowinfo( rno int NOT NULL, bno int NOT NULL, bd

14、ate Smalldatetime NOT NULL, rdate Smalldatetime) select * from borrowinfocreate table Payinfo Pay Float NOT NULL, Paydate Smalldatetime NOT NULL-select * from Payinfocreate procedure cuncher_rno int,b_bno intAs INSERT INTO borrowinfo(bno,rno,bdate )VALUES(b_bno,r_rno,GETDATE()2.5.3 数据库入库 本次数据采用插入数据导

15、入的方法导入数据。数据导入后基本表如下所示:1. 基本表bicycletype2. 3. 基本表 bicycleinfo4. 5. 6. 基本表Cyclelistinfo7. 8. 基本表 borrowinfo9. 10. 基本表 payinfo11. 2.6 调试与测试2.6.1 触发器定义定义信息在有人存车之后更新的触发器CREATE TRIGGER insert_borrowinfo ON borrowinfo AFTER INSERTASDECLARE b intSET b=(SELECT bno FROM Inserted) UPDATE BicycleInfo SET Bicycl

16、eInfo.cuncheliang=BicycleInfo.cuncheliang+1 Where BicycleInfo.bno=bGO定义登记信息在有人取车之后更新的触发器CREATE TRIGGER update_borrowinfo AFTER update UPDATE BicycleInfo SET BicycleInfo.cuncheliang=BicycleInfo.cuncheliang-1 Where BicycleInfo.bno=b-drop TRIGGER t_update_bor_Pay定义还车之后差法付款触发器CREATE TRIGGER t_update_bor

17、_Pay DECLARE b SmalldatetimeDECLARE rno intDECLARE r SmalldatetimeSET r=(SELECT rdate FROM Inserted)SET rno=(SELECT rno FROM Inserted)SET b=(SELECT bdate FROM Inserted)insert INTO Payinfo(rno,Pay,Paydate)VALUES(rno,5*DATEDIFF(day,b,r)+5,GETDATE()2.6.2 视图的定义建立空房间信息视图create view v_borrow-1 AsSelect bn

18、o,rname from borrowinfo,Cyclelistinfo where Cyclelistinfo.rno=borrowinfo.rno and borrowinfo.rdate is NULL group by rname,bno建立付款视图create view v_Pay-1 As Select Cyclelistinfo.rno,rname,Payinfo.Pay as sumPayfrom Cyclelistinfo,Payinfo where Cyclelistinfo.rno=Payinfo.rno group by Cyclelistinfo.rno,rname

19、,Payinfo.Pay建立视图自行车存储数据create view v_stock-1Select bno,bname,cuncheliang from BicycleInfo group by bno,bname,cuncheliang2.6.3 存储过程定义1存储过程,存车-drop procedure daizou2存储过程,取车create procedure daizou r_rno int,b_bno intAsUPDATE borrowinfo SET rdate=GETDATE()Where rno=r_rno and bno=b_bno and rdate is NULL3

20、存储过程,查询create procedure chaxunr_rno intselect rname,bname, borrowinfo.bdate as ydate,tnofrom BicycleInfo,borrowinfo,Cyclelistinfo where borrowinfo.rno=r_rno and BicycleInfo.bno=borrowinfo.bno and Cyclelistinfo.rno=r_rno and borrowinfo.rdate is NULLo2.6.4 数据操纵验证数据操纵验证见附录3 收获与体会经历了两周的数据库课程设计,我从开始只知道写几

21、句SQL语句到对数据库设计有了一个全新的认识,从理论上升到了实践的高度,收获颇丰。 在实习的过程当中,我遇到了很多问题,特别是在开始需求分析阶段,觉得什么也不会做,什么也不知道去做。后来在网上了解到了好多关于客房管理的知识,对数据库设计也有了一定的了解,在自己的努力下和老师悉心教导了下,我学到了课堂上学不到的很多东西,虽然也被老师批评过,但是批评之后,我对知识的记忆将更加深刻。 从中我知道了,只要我们不畏艰辛,坚持不懈,我们能做到很多不敢想不敢做的事情,只有从失败中不断学习,才能进步4 存在的问题与建议4.1 存在问题1. 对书本知识不熟悉,课程设计过程当中需要不断的查阅课本,这样造成了时间的

22、浪费。2. 对SQL Server 2000 操作不熟悉,导致导入数据是经常出错,造成了一些不必要的麻烦,应该提高操作熟练程度。3. 对于触发器和存储过程定义不是很熟悉,有的稍微难点的语句写不出来,对于数据库定义语句应该要熟练掌握。4.对数据库设计总体把握不是很准确,导致中间多次反复的改动前面的业务流程图、数据流图和E-R图。5对于流程图和业务流程图er图的掌握还差很多4.2 感受 在实习中,老师对我们细心辅导让我很感动,同学也热情的解答了我问的问题,唯一觉得不太适应的就是数据库实习的时间太短暂,没有充分的时间去全面考虑整个数据库的设计,这使得数据库的设计有很多方面不是很全面。但总体来说,这次数据库课程设计给我提供了一个锻炼自我,提高自我的机会,让我觉得计算机专业课其实很有意思,改变了我对计算机专业课难、没意思的看法,也改变了以前不想动手的烂习惯,这些都对让我有了很大的进步,能够更好的学习进步

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2