sqlserver数据库综合实验报告格式

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

华北科技学院计算机系综合性实验实验报告课程名称数据库原理与应用实验学期2009至2010学年第一学期学生所在系部管理系年级三年级专业班级商务B071班学生姓名李荣妹学号200704064121任课教师郭红实验成绩计算机系制华北科技学院计算机系综合性实验报告8《数据库原理与应用》课程综合性实验报告开课实验室:基础七2009年12月16日实验题目数据库的设计及应用一、实验目的利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。二、设备与环境(1)硬件设备:PC机一台(2)软件环境:安装Windows操作系统,安装数据库管理系统SQLServer2000或2005等。三、实验内容人才信息管理系统1、需求分析:(1)功能需求分析图书馆中收藏的大量图书供读者借阅,其中图书分成不同的类别,如自然科学类、社会科学类等;借阅者可分为老师和学生。不同的借阅者最多可借书的数量和期限不同,如教师最多可借书10本,期限为3个月,学生最多可借5本,期限为1个月,无论是老师还是学生,借阅超期都要受到罚款处理。以上就是图书馆管理系统所要完成的主要功能。(2)信息需求分析。①读者的基本信息借书证号、读者姓名、性别、读者类别、是否有超期②图书基本信息图书编号、条形码号、书名、作者、出版社、出版日期、类别、借阅状态、借阅次数③借阅的信息借出日期、归还日期④罚款的基本信息罚款金额、超期天数、处罚日期⑤读者用户管理信息用户名;密码:是有6个数字组成;记录用户最近一次登录的时间:年月日2、概念分析:读者与其属性关系如图1所示,图书与其属性关系如图2所示。1.读者实体与其属性读者借书证号姓名是否有超期读者类别性别华北科技学院计算机系综合性实验报告82、图书实体与其属性经分析,本系统涉及到的实体只有读者和图书,二者之间存在借阅和罚款的联系,据此刻画出系统的E-R图,如图3所示。3.图书管理系统的E-R图3、逻辑设计(1)、完成关系模式的转化根据关系模式的转换规则可得到如下的关系模式,加下划线的属性为相应的主码。读者(借书证号,读者姓名,性别,读者类别,是否有超期)图书(条形码号,图书编号,书名,作者,出版社,出版日期,书的类别,借阅状态,借阅次数),其中属性“借阅状态”给出该图书是否在库的信息。借阅(借书证号,条形码号,借出日期,归还日期),主码为三个属性的组合,因为同一个读者可能重复借同一本书,只有加上借出日期才能区分出不同的借阅记录。罚款(借书证号,条形码号,处罚日期,超期天数,罚款天数,罚款金额),主码为三个属性的组合,理由同上。另外,为了保证系统安全的安全性,采用了登录的措施,用户名和密码存放在密码表中。密码表(借书证号,密码)(2)、关系模式分析用规范化理论对上述关系模式进行分析,除“罚款”关系外,其他4个关系模式中主键是本模式的唯一决定因素,所以这4个关系模式都属于BCNF,在函数依赖的范畴内,规范化程度已达到最高。但是在“罚款”关系中,罚款金额=日罚款金额×超期天数,所以超期天数罚款金额,而(借书证号,条形码号,处罚日期)超期天数,所以(借书证号,条形码号,处罚日期)罚款金额,存在传递函数依赖,所以“罚款”关系属性2NF,存在冗余现象。但根据实际情况,读者往往既关心超期天数,又关心罚款金额,所以“处罚金额”是必要的冗余。条形码号出版日期借阅状态借阅次数作者书名图书编号出版社类别图书读者图书借出日期归还日期超期天数出发日期罚款金额借阅罚款传递mnpq华北科技学院计算机系综合性实验报告8(3)建表如下图:图书表的结构读者表的结构罚款表的结构借阅表的结构密码表的结构输入数据:图书读者S只学生,t指老师,1指没有超期,0表示超期借阅罚款华北科技学院计算机系综合性实验报告8密码:(4)、创建视图。以sa的身份登录数据库,创建视图V1,V2,V3createVIEWV1createVIEWV2createVIEWV3ASASASselect*from图书select*from借阅select*from罚款建立视图V5,查看在库的图书:createviewV5asselect*from图书where借阅状态=‘在库’建立已被借出去的图书视图createviewV6asselect*from图书where借阅状态='出库'华北科技学院计算机系综合性实验报告8建立逾期未还的图书的学生视图:createviewV7asselect*from借阅wheredatediff(day,convert(smalldatetime,借出日期),getdate())’30’and借书证号in(select借书证号from读者,借阅Where借阅.借书证号=读者.借书证号and读者类别=‘s’四、物理设计和自定义完整性建立索引:为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是表中建立索引的表项:图书表(图书编号,条形码号)读者(借书证号)借阅(借书证号,条形码号)罚款表(借书证号,条形码号)密码(借书证号)(2)建立触发器a.对已有借书证的读者进行查询借书是否超期(这里归定30天):createtriggerT1on读者forinsertasselect借阅.借书证号,读者.读者姓名,图书.图书编号,图书.书名,借阅.借出日期from读者,借阅,图书where读者.借书证号=借阅.借书证号and图书.条形码号=借阅.条形码号and读者类别='s'andDatediff(day,convert(smalldatetime,借出日期),getdate())=30b.建立触发器T2(还书时):createtriggerT2on借阅forinsertasbeginupdate图书set借阅状态='在库'where条形码号=(select条形码号frominserted)update借阅set归还日期=getdate();update读者set书数=书数-1where借书证号=(select借书证号frominserted)endc.建立触发器T3(借书书时):createtriggerT3on借阅forinsertasbeginupdate图书set借阅状态='入库'where条形码号=(select条形码号frominserted)update借阅set借出日期=getdate();update读者set书数=书数+1where借书证号=(select借书证号frominserted)endd.建立触发器T4,实现超出借书数目时禁借(针对老师的):createtriggerT4on读者forinsertasif(select书数frominsertedwhere读者类别='t'and书数'10')beginprint'该用户不能再借'华北科技学院计算机系综合性实验报告8rollbackende.建立触发器T5,实现超出借书数目时禁借:createtriggerT4on读者forinsertasif(select书数from读者where读者类别=‘s’and书数’5’)beginprint'该用户不能再借'rollbackend;五、设置权限本图书馆系统中权限角色有:系统管理员lrm,拥有所有的权限图书管理员lib密码lib,对图书的管理,包括增、删、改、查,借阅表和罚款表的管理,读者表的查询。读者用户read,对密码表中自己密码的更改,图书表的查询,借阅表的查询。用户在自己的权限下对表进行管理则可以进行,若超出权限范围则不可,如下图,是以lib身份登录对读者表进行插入,则不行。四、实验结果及分析结果如下:华北科技学院计算机系综合性实验报告8华北科技学院计算机系综合性实验报告8分析:通过实验,更进一步了解了数据库的设计与建立。数据库的设计过程包括需求分析,结构设计和物理设计。又分为概念结构设计,逻辑结构设计,物理结构设计。本次实验中的图书管理系统数据库设计,综合运用了数据库中的select,insert,update,delete,语句,对记录进行了全面查询。同时,更完整的实现了数据库的实体完整性,参照完整性,和自定义完整性。该图书管理系统实现了系统管理员对系统数据库的管理,图书管理员对图书的添加,修改,借阅的基本管理,用户对自己信息的管理,和图书的基本查询,利用视图方便用户特定的需求,利用触发器对数据进行安全有效的管理。教师评价评定项目ABCD评定项目ABCD需求分析清楚完整性设计完善概念结构符合需求游标或存储过程的使用逻辑结构设计合理操作熟练索引设计合理文字流畅安全性的设置报告规范其他:评价教师签名:年月日

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功