数据库系统原理与应用课程设计成果报告
- 格式:doc
- 大小:111.60 KB
- 文档页数:10
河南工程学院《数据库系统原理与应用》课程设计成果报告图书管理系统设计与开发学生学号:201310913153学生姓名:潘贝茜专业班级:计算机科学与技术1341学院:计算机学院专业课程:数据库系统原理与应用指导教师:李华2015年12月31日课程设计指导教师评分表目录一、需求分析 (1)二、概念结构设计 (3)三、逻辑结构设计 (3)四、数据库的物理设计 (5)五、数据库设计实现及运行 (6)(一)数据库的创建 (6)(二)数据表的创建 (6)(三)视图的创建 (6)(四)存储过程的定义实现 (6)(五)触发器的定义实现 (6)(六)自行设计各模块中所涉及的操作语句 (6)1.插入数据操作 (6)2.删除数据操作 (6)3.修改数据操作 (7)六、系统详细设计及实现 (7)七、设计总结及心得体会 (7)图书管理系统设计与开发一、需求分析1.问题描述:进行系统设计,首先要对系统的现状进行分析。
根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。
每个学校都有图书馆,最初由于图书数量和种类较少,人工手动管理比较方便和灵活。
随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。
该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。
需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。
数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。
明确目的之后,就可以确定我们需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。
2.系统功能描述:在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分为了两个部分:读者信息管理子系统和借书子系统。
能够实现以下功能:(1)用户可以直接在如图1所示的界面控件中输入读者的基本信息,单击“读者追加”按钮,如果该读者记录已存在,则提示用户“您输入的该读者信息已存在,请重新添加”。
如果没有该读者记录,则单击“读者追加”按钮完成读者信息的添加。
用户可以通过下拉列表框为读者选择专业,利用单选按钮选择学生性别,单击“载入照片...”,选择读者照片文件(jpeg)。
(2)输入读者的借书证号后单击“读者查询”按钮,将符合查询条件的“借书证号”、“姓名”、“性别”、“专业名”、“借书量”、“出生时间”等记录显示在相应的控件内,同时也显示在DataGrid表格内。
(3)单击“删除”按钮可以删除当前借书证号的读者记录。
(4)如果想修改读者的记录,则首先输入借书证号查询该读者现在的信息,然后进行修改,最后单击“读者修改”按钮,则提示用户修改成功。
(5)用户可以直接在如图2所示的界面控件中输入读者的借书证号,单击“查询”按钮,如果没有相应借书证号的读者记录,则提示没有该读者的借阅信息;如果有读者的记录,右边的DateGrid控件中将显示该读者的借书信息。
当用户需要借书时,输入读者的借书证号、图书的ISBN以及图书ID,单击“借”按钮,调用存储过程Book_Borrow实现图书借阅,同时刷新DateGrid控件中的信息,将读者借的所有图书显示在DateGrid控件中。
图1图2图书管理系统数据字典:表1.1 数据项列表数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-1 BookID 图书条码号char(9) 条码号DI-2 BookNo 图书索书号char(10) 索书号DI-3 BookName 图书名char(20) 书名DI-4 BookWriter 图书作者char(8) 作者DI-5 BookPublish 图书出版社char(20) 出版社DI-6 BookPrice 图书单价char(7) 单价DI-7 BookDate 图书出版日期Date 出版日期DI-8 BookClass 图书分类char(20) 类别DI-9 BookMain 图书摘要char (200) 摘要DI-10 BookPrim 图书关键字char (30) 关键字DI-11 BookCopy 图书副本数char (5) 副本数DI-12 BookState 图书是否可借char(10) 状态DI-13 BookRNo 所属馆室号同RoomNo char(5) 馆室号DI-14 ReaID 读者条码号char(9) 条码号DI-15 ReaName 读者姓名char(10) 姓名DI-16 ReaSex 读者性别char(2) 性别DI-17 ReaNo 读者学号char (9) 学号DI-18 ReaLBID 读者类别编号同LBID char(5) 类别编号DI-19 ReaType 读者类型(职务)char(20) 类型DI-20 ReaDep 读者所在学院char(20) 学院3.安全性与完整性要求:(1)安全性要求系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性。
系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面;(2)完整性要求系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
二、概念结构设计2.1概念结构设计(E-R图)E-R图是分为两部分实体和属性,每个实体可以有多个属性,这些属性用来表示实体的性质。
不同实体之间可以用关系进行连接,表明各个实体之间的内在联系。
实体和实体之间的关系有一对一的关系(1:1),一对多的关系(1:N)和多对多的关系(N:M)。
各个实体分E-R图如下图所示实体:图书,读者图书E-R图读者E-R图总体E-R图及各个实体之间的关系如下图所示三、逻辑结构设计E-R图向关系模型的转换关系模型的逻辑结构是一组关系模式的集合。
E-R图则是由实体,实体的属性和实体间的联系三个要素组成。
所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。
转换原则如下。
1. 实体类型的转换:一个实体型转换成一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
2.联系类型的转换,根据不同的情况做不同的处理。
⑴一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
⑵一个1:N的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。
⑶一个M:N联系转换为一个关系模式。
与该联系相连的各实体的码为各实体码的组合。
⑷三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
⑸具有相同码的关系模式可合并。
3. 根据图书管理系统的E-R图转换为关系模型如下。
将每一个实体转换成一个关系(关系就是给出关系名,属性就是实体属性,并标明该关系的主键用下划线来表示)关系模式:图书(图书编号,图书名称,所属类别),主码为图书编号,符合三范式。
读者(读者编码,姓名,性别,专业),主码为读者编码,符合三范式。
四、数据库的物理设计为了提高在表中搜索元组的速度,在实际实现的时候应该基于某些属性建立索引。
给出所建立的索引。
(包括按哪些表中哪些属性按升序还是降序来创建索引及相应的T-SQL的创建语句)。
五、数据库设计实现及运行(一)数据库的创建T-SQL语句:(二)数据表的创建(可同时在创建时定义相关的约束)T-SQL语句:说明:若有完整性约束的内容,可以在创建表时同时实现。
按需求及自行设计模块中所实现的情况,在该部分对完整性约束加以实现。
(三)视图的创建(仅需给出自己设计模块中所用的视图)T-SQL语句:(四)存储过程的定义实现(仅需给出自己设计模块中所用的)T-SQL语句:在宿主语言中调用存储过程代码段(粘贴):测试结果粘贴:(五)触发器的定义实现(仅需给出自己设计模块中所用的)T-SQL语句:测试结果粘贴:(六)自行设计各模块中所涉及的操作语句1.插入数据操作每个功能模块描述方法如下:功能界面(粘贴);功能界面简单描述;T-SQL语句与宿主语言嵌套使用代码段(粘贴);测试结果粘贴;2.删除数据操作每个功能模块描述方法如下:功能界面(粘贴);功能界面简单描述;T-SQL语句与宿主语言嵌套使用代码段(粘贴);测试结果粘贴:3.修改数据操作每个功能模块描述方法如下:功能界面(粘贴);功能界面简单描述;T-SQL语句与宿主语言嵌套使用代码段(粘贴);测试结果粘贴;六、系统详细设计及实现1.程序的开发环境、运行环境设置。
2.系统功能模块图及说明。
3.每个模块的关键语句、关键代码段及关键技术说明。
(注意:不是所有程序代码!)4.测试与调试七、设计总结及心得体会(一段话即可,不需要长篇大论!)对设计质量的描述,针对设计的系统本身,可以写系统实现了哪些功能,有什么特色,以及哪些问题是以后需要进一步考虑和完善的(即与实际能用的系统还有哪些差别?)。
要写得概括、简短。
课程设计过程的收获、遇到问题、对遇到的问题解决过程的思考、程序调试能力的思考、经验和体会以及对设计与实现的回顾讨论和分析;在课程设计过程中对课程的认识等内容;对于组长来说,还可以说明一下任务分工、设计协作等项目管理方面的体会和感受。