《数据库课程设计模版.docx》由会员分享,可在线阅读,更多相关《数据库课程设计模版.docx(15页珍藏版)》请在三一办公上搜索。
1、铜陵学院数学与计算机系数据库课程设计设计题目:人事信息管理系统 学生姓名:孙修龙 梁立位 张鑫学 号:专业班级:信息管理与信息系统 指导教师:杨慧时间:年 月曰至 年 月曰指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计 说明书(论文)的撰写和图纸质量等):成绩指导教师签字1、开发背景错误!未定义书签。2、功能描述3、需求分析4、概念模型设计5、逻辑模型设计和优化6、物理设计和实施.错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。7、课程设计心得体会1、开发背景90年代中期,由于Internet的迅速普及,使I
2、ntranet成为Internet技术在企业管理信息 系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息 技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管 理信息系统提供了充足的条件。图书馆管理信息系统是在适应各方面需求的客观前提下,为 了满足各单位管理自己的图书馆而开发的。该系统的是终目的是要将图书馆放到网络上,以 方便更多的用户查阅使用。2、功能描述(描述该系统所需要完成的功能)在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功 能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了
3、四个部 分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能:(1)图书信息维护:主要完成图书馆新进图书的编号、登记、入馆等操作。(2)读者信息维护:主要是完成读者信息的添加、修改和删除等操作,只有是系统中的合 法读者才有资格进行图书的借阅活动。(3)借书/还书处理:主要完成读者的借书和还书活动,记录读者借还书情况并及时反映图 书的在库情况。(4)读者借阅记录:让每位读者能及时了解自己的借书情况,包括曾经借阅记录以及未还 书记录。(5)图书书目检索:读者能够根据不同的信息(如书名、作者、关键词等)对图书馆的存 书情况进行查找,以便快速的找到自己希望的图书。(6)图书超期通知:为
4、图书管理员提供一个统计信息,能够统计出到目前为止逾期未归还图书管理功能模块图3、需求分析(这一部分不对全体学生要求,对学有余力的学生可以参照下面的模式写出部分或全部)通过需求分析,得出图书馆管理信息系统的借书还书处理业务流程如图1所示(其他处 理的数据流程图请读者自行分析)D002无效信息提示S001读者D001借阅信息P001.读者信息判断D003该书全部借出T=I_P002图书库存查询F002图书库存信息D001书目信息D001借阅信息F003图书借阅记录P004借阅记录查询.P003.读者借书P005读者还书/F001读者信口息、图1借书/还书处理数据流程图3.1、数据字典(根据编号对数
5、据流程图中的各元素如数据流、数据存储、外部实体和处理逻辑进行细 节描述)(1).数据结构读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期管理员信息:管理员编号,姓名,性别,权限,登录口令,住址,电话馆藏图书信息:图书编号,索书号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态借阅信息:图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应 还日期,罚金罚款信息:读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚 款金额,处理状态,管理员编号(2)数据流的描述数据流编号:D001数据流名称:借阅信息简述:读者所
6、要借阅的图书信息单数据流来源:读者数据流去向:读者信息判断数据流组成:读者号+索书号+书名+ISBN等数据流量:1000/天高峰流量:3000/天数据流编号:D002数据流名称:读者信息无效提示简述:图书管理员发现非法读者时的提示信息数据流来源:读者信息判断数据流去向:读者数据流组成:读者号+读者名等数据流量:100/天高峰流量:500/天(3)处理逻辑的描述处理逻辑编号:P001处理逻辑名称:读者信息判断简述:判断读者信息的合法性输入的数据流:借阅信息处理描述:根据读者提供的借阅信息,验证读者信息,验证通过则继续下 移处理查看库存中是否有读者所要借的图书,验证不通过则返回 给读者信息指明为非
7、法读者。输出的数据流:D001借阅书目信息、D002无效提示信息处理频率:10次/天处理逻辑编号:P002处理逻辑名称:图书库存查询简述:查询读者所要借的图书是否有库存输入的数据流:D001借阅书目信息处理描述:根据读者提供的借阅书目信息,到仓库中查找是否有该书,有则进行借书处理,如没有则返回读者该书无库存信息。输出的数据流:D001借阅书目信息+D003该书已全部借出信息处理频率:1000次/天(4)数据存储的描述数据存储编号:F001数据存储名称:读者信息简述:读者的基本信息数据存储组成:读者号+姓名+身份证号+性别+入学年份+出生日期+学院 关键字:读者号相关联的处理:P001 数据存储
8、编号:F002数据存储名称:图书库存信息简述:保存图书库存、在库情况的文档数据存储组成:图书编号+图书名+出版社编号+出版日期+作者+数量+入库日期+ 批次备注+购入价格+定价关键字:图书编号相关联的处理:P002,P003,P0053.2.数据流图1、图书管理系统数据流程图图2顶层数据流图2、从读者角度考虑的图书馆业务流程图:图3业务流程图3.2.1读者借阅数据流图:3.2.2读者还书数据流图:图5还书数据流图3.2.3查询数据流图:(查询图书信息,查询读者信息,查询借阅历史,查询罚款信息)图6查询数据流图4、概念模型设计(可以使用工具PowerDesigner或visio画出该系统的E-R
9、图)根据系统数据流图和数据字典,得出系统的各局部概念模型(E-R)和总体概念模型(E-R)如下图所示。(a)书籍借阅罚款E-R图:(C)管理员维护图书E-R图:(d)管理员管理图书E-R图:(e)全局E-R图:(E)各E-R图各实体的属性如下所示:图书:(图书编号,图书名,作者,出版社,单价,图书类别,出版日期,副本数量,是否可借,存放馆室)读者:(读者号,姓名,性别,学号,读者类别号,系别,专业,年级,办证日期)管理员:(管理员号,姓名,性别,所在馆室,电话)馆室:(馆室号,馆室名,管理员数,地址)读者类别:(类别号,类别名,允许借阅图书数,允许借阅时限,借阅证期限)各E-R图中联系的属性如
10、下所示:借阅信息:(读者号,图书号,图书名,作者,存放馆室,借阅时间,应还时间,超期天数, 罚款金额,处理状态)借阅历史:(图书号,读者号,图书名,作者,借阅时间,归还时间)罚款信息:(图书号,读者号,图书名,借阅时间,应还时间,归还时间,罚款金额,处理状 态,管理员号)5. 逻辑模型设计和优化(根据转换规则将E-R图转换为关系模式并进行优化并至少达到3NF标准)根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型,如表1表5所示。表6.1图书信息表列名数据类型可否为空图书编号varCharnot null图书的书名varCharnot null
11、图书作者varCharnot null图书出版社varCharnot null图书的单价varChar出版日期datatime图书的分类varChar图书的副本数varChar图书是否可借varCharnot null图书所在馆室号varCharnot null表6.2读者信息表列名数据类型可否为空读者编号varCharnot null读者姓名varCharnot null读者性别varChar读者学号varCharnot null读者类别编号varCharnot null读者所在学院varChar读者所属专业varChar读者的年级varChar办证日期varCharnot null表6.3
12、管理员信息表列名数据类型可否为空管理员编号varCharnot null管理员姓名varCharnot null管理员性别varChar管理员密码varCharnot null管理员电话varChar管理员地址varChar表6.4读者类别信息表列名数据类型可否为空读者类别编号varCharnot null读者类别名varCharnot null允许借阅图书最大数varCharnot null持有图书最长期限varCharnot null借阅证期限varCharnot null表6.5借阅信息表列名数据类型可否为空读者编号varCharnot null图书编号varCharnot null图书
13、名varCharnot null作者varChar借阅时间Datenot null应还时间Datenot null超期天数tinyint罚款金额varChar处理状态varChar表6.6罚款信息表列名数据类型可否为空读者编号varCharnot null管理员编号varcharnot null图书编号varCharnot null图书名varChar借阅时间Datenot null应还时间Datenot null归还时间Date罚款金额varChar处理状态varChar6. 物理设计和实施(根据第5部分优化后的逻辑模式使用create table语句写出各关系模式的创建语句)得到系统逻辑模
14、型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要 确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。系统包括图书基本信息管理、读者基本信息管理、管理员信息管理、借阅信息管理、查 询信息管理等四大功能模块,共有6张基本表。(为输入上的方便,可以采用事先在Excel 中录入数据,然后使用SQL Server 2000数据导入/导出向导功能,直接将数据导入到相应的基 本表中。)6.1数据存储方面为数据库中各基本表建立的部分索引如下:1. 由于基本表读者信息表,图书信息表的主码读者号,图书号经常在查询条件和连接 操作的连接条件中出现,且它们的值唯一,在两个属性上建
15、立唯一性索引;2. 由于基本表读者信息表的属性系别,图书的属性出版社经常在查询条件中出现在两 个属性上建立聚簇索引;3. 借阅信息基本表的一属性读者号,图书号,经常在查询条件中出现,考虑在其之上 建立聚簇索引;4. 罚款信息基本表的一属性读者号,图书号,经常在查询条件中出现,考虑在其之上 建立聚簇索引;6.2数据库实施*/*/*= /* DataBase: LibDB,创建数据库,数据库名称为LibDB */ /*= create database LibDBgo*/*=/* Table: BorrowRec,图书借阅信息表*/*/*=create table BorrowRec (读者号 c
16、har(10) not null,图书号 char(10) not null,图书名 char(50) not null,作者 char(10) null,借阅时间 datetime null,归还时间datetime null,超期天数int null,罚款金额 decimal(5,1) null,处理状态bit null,constraint PK_BORROWREC primary key (读者号,图书号)/*主键约束*/)go 6.3应用系统设计(附上部分主要的源代码及一些应用系统界面)遵循以上原则来设计应用系统界面,本系统主要界面运行实时截图如下:【管理员登陆验证窗口】【图书管理系
17、统主界面】【图书信息对话框】7、课程设计心得体会(写出本次课程设计的收获、体会或相关建议)本次设计使用 了 Microsoft Visual .net2003 结合 Microsoft SQL Sever2000 来开发一个图 书馆管理系统。以铜陵学院图书馆管理系统作为第一参考对象,结合其他由网络获取的资料 及个人生活经验,分析了作为图书馆管理系统所需要实现的基本的管理功能,在此基础上确 定了本次课程设计所开发的系统的预期功能。受到时间限制,暂缓实现结算逾期罚款的模块 功能。数据库建设的特点是“三分技术,七分管理,十二分基础数据”。数据的收集、整理、 组织和不断更新是数据库建设中的重要环节。以
18、简化操作,方便数据收集整理为指导思想来 考虑管理流程的设计安排。要建设好一个数据库应用系统,相比开发技术,管理更为重要。 论及管理,牵涉到的细枝末节实在太多,这里只总结一些迫切需要解决的。作为图书借阅管理系统,一整套从新书录入、新读者注册到图书借阅、借书回收的流程 走下来,数据在流通过程中,能否保证其完整性和安全性就显得格外重要。因此,在DBMS 中建立数据库的时候就要设置一些主键、外键,建立一些必要的约束,借助DBMS来作为 数据的“最后一层保障”。在c#中编写数据库应用系统代码的时候,也不能因为在DBMS 中已经设置了一些数据关联上的限制就掉以轻心,个人认为这里的数据过滤应是一层层地层 层
19、净化,在提取到数据的时候就应该要开始对其进行第一遍过滤,剔掉一部分不合格的数据, 数据处理完毕将其反馈数据库存储之前,再在应用系统中进行一遍过滤,将应用系统过滤后 的数据提交DBMS,由DBMS完成最后一道过滤。这样,虽然牺牲了一些效率,但与保证 数据的完整性、安全性相比,仍然是值得的。处理得再迅速、执行效率再高的受污染数据也 没有任何意义!对于任何系统来讲,其灵活性的保证都是应该提到高度关注的层面上来的。任何企业、 单位,其业务流程、规章制度都不可能长期保持不变。业务流程或者规章制度的变化,必将 引起原先所用系统的失效。作为具有实用价值的系统,一定要考虑到保证灵活性的设计,使 得用户业务流程
20、、规章制度对原先系统所造成的影响最大限度地减小。在本图书借阅管理系 统中设置的参数配置模块,就是为了保证系统具有一定的灵活性。任何系统,都是为了人的需要而设计开发的。因此,时刻要记得“以人为本”的道理, 并将“人本”原则贯彻到系统的实际开发实施中来。既然是为了方便用户,帮助其节约时间 精力,集中注意力关心要处理的问题,而不是问题的形式等次要的方面,那么,就要保证系 统界面设计的友好性、简洁性和易理解、易操作性。在本图书借阅管理系统的界面设计中尽 可能地完善了用户帮助的建设,使得用户在学习本系统上要花费的代价可以缩减到最低。以上,只总结了开发本系统的一点点感悟,更多的是一时间难以理得脉络清晰分明的概 念,待到往后的开发中再进行挖掘。