




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录 一、题目(问题)描述和要求0 二、需求分析阶段0 2.1 用户对系统的要求 1 2.11 管理员1 2.12 读者1 2.2 数据流图 3 2.3 数据字典 5 2.4安全性需求 7 2.5一致性需求 8 2.6完整性需求 8 三、概念结构设计8 3.1 把所有局部图综合成一个系统的总图12 4.1 读者关系模型14 4.2 管理员关系模型14 4.3 图书关系模型14 五、数据库物理设计阶段 14 5.1 确定数据库的物理结构14 5.2 各个管理系统功能图15 5.2.1、读者管理系统 15 5.2.3、管理员系统 16 六 数据库实施阶段 6.3 编制与调试应用程序 18 6.4 数据库试运行 18 七、数据库的运行与维护 18 7.1 系统集成效果18 7.2 调试过程中遇到的问题 18 7.3 总结体会 18 八系统的部分界面的截图 一、题目(问题)描述和要求一、题目(问题)描述和要求 图书管理系统是学校、政府、企业管理机制中的重要组成部分,通过对我 校图书管理系统的查询和对图书管理员的咨询,开发了图书管理系统。系统中 解决了图书管理事务中的图书入库、图书入库、图书检索、借还图书等情况的 问题。系统中包含七个功能模块:系统登录、图书信息查询、读者信息查询、 管理员对系统的维护、图书入出库,借还图书和其他。 系统使有 sybase 公司推出的 pb 进行前端开发,pb 是基于 windows 的面向 对象的可视化开发工具。它采用了当今软件设计的最新技术,具有开发效率高、 设计灵活、生成的软件界面友好美观等特点。系统中通过 pb 和数据库进行无缝 连接,大量应用了 pb 中的控件和触发事件。后端的开发工具是 microsoft sql server 2005,整个数据库都是相互关联的,使数据库具有较高的完整性,一致 性和安全性。 二、需求分析阶段二、需求分析阶段 图书综合信息管理系统的最终读者包括管理员,读者。从两个不同的读者视角 出发管理和查询图书信息系统。 2.12.1 读者对系统的要求读者对系统的要求 2.112.11 管理员管理员 (1)信息需求。管理员能够查询读者借书有关的全部信息,包括读者的基本信 息,读者借书还书以及违规现象的所有信息,还应能够查询当前图书信息。 (2)处理需求。 管理员应能够查询修改读者的基本信息; 查询修改图书信息包括图书的入库出 库的更新。 (3)安全性与完整性要求 安全性要求: 系统应设置访问读者的标识以鉴别是否是合法读者及其密码。 系统应对不同的数据设置不同的访问级别,限制访问读者可查询和处理 1 完整性要求: 各种信息记录的完整性,信息记录不能为空 各种数据间相互联系的正确性 相同的数据在不同记录中的一致性 2.122.12 读者读者 (1)信息需求。查询本人基本信息、图书的基本信息;根据检索类型检索图书 信息。 (2)处理需求:借书、还书。 (3)安全性与完整性要求 安全性要求: 读者拥有读者名及其密码。仅仅可以查询本人基本信息和借还图书 完整性要求: 各种信息记录的完整性,信息记录不能为空;各种数据间相互联系的正确性; 相同的数据在不同记录中的一致性 2.22.2 数据流图数据流图 、管理员数据流图:、管理员数据流图: 管理员 查询 增删 改 读者信息,借还书信息以及罚款 信息 读者信息 读者表 查询 增删 改 读者信息 读者表 查询 增删 改 图书表,图书类 别表图书,图书 状态表 图书信息 图书信息 、读者数据流图数、读者数据流图数 2 读者 查 询 读者信息 读者表 查 询 图书表 读者信息 图书信息 图书信息 借 还 书 图书信息 图书表 图书信息 、总数据流图、总数据流图 管理员 查询 增删 改 读者信息 读者表 借书表,罚款表 查询 增删 改 图书表 图书信息 图书信息 查 询 读者 查 询 查 询 读者 查 询 书 借还书,以及罚款信 息 查 询 读者信息 3 2.32.3 数据字典数据字典 1)数据项: book 表中数据项 列名:book 别名:图书编号 描述:唯一标识每一本图书的数字编号 数据类型:varchar 长度:20 列名:kindname 别名:图书类别 描述:图书的所属的一种类别 数据类型:varchar 长度:20 其他数据项的定义同理。其他数据项的定义同理。 (2)数据结构: 名称:读者档案 描述:记录读者的个人信息及借还书情况。 定义:读者信息=读者编号+读者姓名+密码+允许借书量+已借书量+性别+工作单 位+住址+电话 其他数据结构的描述同理。 (3 3)数据流:)数据流: 数据流名:图书信息数据流 说明:图书信息数据结构在系统内的流向 数据流来源:管理员接收事务 数据流向:管理员处理事务 (4 4)数据存储:)数据存储: 数据存储名:图书信息 说明:图书信息存储,作为备用信息保存 编号:最为图顺唯一标识,有管理员编辑 输入的数据流:图书信息数据流,来自图书 输出的数据流:图书档案,用于管理员与读者 数据结构:图书档案 存取频度:每天50 次,查询300 次 存取方式:检索与更新 (5 5)处理过程:)处理过程: 处理过程名:管理员对图书的登记处理 说明:图书的入库,需要对图书进行登记,存档 输入:图书入馆 输出:图书的各种信息 处理:图书登记过程就是对图书的登记,处理频度为每月一次,每当有新书入 4 库时,都需要对其进行登记存档便于以后的处 2.42.4安全性需求安全性需求: 考虑到不同读者的权限不同,第一次进入该系统时系统会根据你输得读者名判 断你是管理员还是读者还是读者,进入数据库主窗口中。这样系统就可赋予不 同读者不同的权限。每位读者根据自己的身份不同,可以进行不同的操作。对 于读者来说当进行不属于自己权限允许的步骤时无法打开,因为进入时不能进 行的操作就已经变为灰色无法执行。管理员有权力行使所有的管理功能,读者 只能进行一般的查询及借还书。例如读者无权增删图书信息,无权修改其他读 者相应信息。 2.52.5一致性需求一致性需求: 在图书管理系统相关的表之间,有较强的关联性,为了实现一致性的需求, 我们在各个表之间建立起了一致性约束。在此主要以实体完整性约束、参照完 整性约束为主描述和说明,因为这两种完整性约束是关系数据库最重要的完整 性约束。两表中任何一个的改变都将影响对方在系统中的信息,顾而在添加及 删除的时候作用十分重要,减少信息的被破坏和不正确信息的录入。 另外就是数据类型的约束,防止不匹配数据的录入造成的信息失真。 2.62.6完整性需求完整性需求: 根据图书管理系统的要求,为保持数据的完整性,采用了数据库的事务机制, 防止出现操作故障。 三、三、概念结构设计概念结构设计 图书信息管理系统中的实体有管理员、图书,读者 5 读者 姓名性别密码允许借书量已借书量 编号 学生实体的属性 联系电话 图书 书名作者出版社 登记日 期 isbn编号 图书实体的属性 关键词 6 管理员 密码姓名性别 出生日 期 权限 登录名 图书实体的属性 3.13.1各个实体间关系 (1) 读者可以借书还书,可以查询图书信息和自己本人信息。 (2) 管理员可以查询图书信息和读者信息以及读者借还书信息;还可以修改 读者,图书信息。还可以维护系统(包括图书信息维护,图书状态维护, 读者信息维护,图书类别维护) e-r 图: 读者 管理员 管 理 借阅图书 归还 管 理 借阅日期 还书日期 罚款 1 n 1 n 1 1n n 7 四、逻辑结构设计 本系统的数据库管理系统使用 sql server 2005.下面将概念设计的 e-r 图转换 成关系模型。关系的候选码用下划线标出。 读者关系模型 4.1 读者关系模型 读者(读者编号,姓名,性别,密码,允许借书量,已借书量,联系电话, 登录名) 此为读者实体对应的关系模式。 4.2 管理员关系模型 管理员(登录名,密码,姓名,性别,出生日期,权限) 此为管理员实体对应的关系模式。 4.3 图书关系模型 图书(编号,书名,作者,出版社,登记日期,isbn,关键词,登录名, 借阅日期,还书日期,罚款) 此为图书实体对应的关系模式。 五、数据库物理设计阶段 5.1 确定数据库的物理结构:在整个系统中总共建了 9 张表: book 表主要用来存储图书信息 字段名字段中文名数据类型是否为空 book图书编号varchar(20) no isbn isbn varchar(50) no b_name图书名称varchar(40) no kindnumber图书类别varchar(20) no statenumber图书状态varchar(20) no b_author图书作者varchar(20) yes b_print出版社varchar(50) yes b_kw关键词varchar(40) yes b_wt登记日期smalldatetime yes 8 reader 表主要存储读者的个人信息及借还书记录 字段名字段中文名数据类型是否为空 readernumber读者编号varchar(20) no r_name读者姓名varchar(50) no r_password密码varchar(50) no r_pbn允许借书量int no r_abn已借书量int no r_sex性别char(2) yes r_wp工作单位varchar(50) yes r_address住址varchar(50) yes r_phone电话varchar(20) yes libririan 表主要记录图书管理员的信息 librarian 表 字段名字段中文名数据类型是否为空 l_login登录名varchar(10) no l_password密码varchar(10) no l_grant权限tinyint no l_name姓名varchar(50) no l_sex性别char(2) yes l_bt出生日期smalldatetime yes kind 表是记录区分图书种类 kind 表 字段名字段中文名数据类型是否为空 kindnumber类别编号varchar(20) no k_value值varchar(10) no state 表表现的是图书状态 state 表 字段名字段中文名数据类型是否为空 statenumber状态编号varchar(20) no s_value值varchar(10) no bookborrow 表 字段名字段中文名数据类型是否为空 book图书编号varchar(20) no readernumber读者编号varchar(20) no b_name图书名称varchar(20) no r_bt借书日期datetime no r_rt应还日期datetime no fine 表记录读者的罚款明细 fine 表 字段名字段中文名数据类型是否为空 9 f_number罚款编号varchar(20) no book图书编号varchar(20) yes readerrnumber渎者编号varchar(20) yes f_datetime罚款日期smalldatetime yes f_money应罚金额money yes input 表 字段名字段中文名数据类型是否为空 book图书编号varchar(20) no b_name图书名称varchar(40) yes b_print出版社varchar(20) yes kindnumber图书类别varchar(20) yes incount入库数量int yes intime入库时间datetime yes output 表 字段名字段中文名数据类型是否为空 book图书编号varchar(20) no b_name图书名称varchar(40) yes b_print出版社varchar(20) yes kindnumber图书类别varchar(20) yes outcount出库数量int yes outtime出库时间datetime yes 数据库涉及到的主键,外键,索引表 建立主键 表名主键名主键字段 bookpk_bookbook(图书编号) readerpk_readernumberreadernumber(读者编号) librarianpk_loginlogin(登录名) statepk_statenumberstatenumber(状态编号) kindpk_kindnumberkindnumber(类别编号) finepk_f_numberf_number(罚款编号) 建立外键 10 表名外键名称字段名对应表 bookfk_book_statenumberstatenumberstate bookfk_book_kindnumberkindernumberkind bookfk_book_readernumberreadernumberreader finefk_fine_bookbookbook finefk_fine_readernumberreadernumberreader inputfk_input_kindnumberkindernumberkind outputfk_output_kindnumberkindernumberkind 建立索引 表名索引名字段名唯一索引 booki_book_bookbook是 booki_book_isbnisbn否 booki_book_b_nameb_name否 booki_book_readermunberreadernumber否 booki_book-kindnumberkindnumber否 5.3 各个管理系统功能图 5.2.15.2.1、读者管理系统、读者管理系统 读者可以进行图书的检索,可以按图书编号查询图书信息查看自己需要的书目 的相关信息,可以查询自己的信息和借书情况,可以借阅和归还相关图书,当 自己的图书过期时会提示让读者罚款等等 11 读者 系 统 查询读者 信息 查询图 书信息 借阅图 书 归还图 书 按图书编号检 索 按读者编号 检索 5.2.2、管理员系统 读者可以进行图书的检索查看图书信息库存从而确定是否图书入库,查看图书 借阅记录统计各类书的借阅情况从而确定该书是否属于冗余书目来确定出库。 管理读者信息系统读者退学了及时删除读者信息取消其操作权限,读者入学了 及时插入读者信息增加其操作权限。管理读者信息系统读者离职了及时删除读 者信息取消其操作权限,及时对图书的类别,状态,进行维护 12 管 理 员 系 统 查询读 者信息 按图 书编 号 按读 者编 号 插 入 图 书 修改图 书信息 保 存 图 书 修 改 图 书 查询图 书信息 系统维 护 图 书 类 别 图 书 信 息 读 者 信 息 图 书 状 态 删 除 图 书 六、数据库的实施阶段六、数据库的实施阶段 6.16.1 编制与调试应用程序编制与调试应用程序 6.1.1 数据库的模块:七个功能模块:系统登录、图书信息查询、读者信息查 询、管理员对系统的维护、图书入出库,借还图书和其他。 6.1.1.16.1.1.1 系统登录模块系统登录模块:在登录模块中我们实现了一些权限的约束,只有在授 权范围内的用户才有权利登录系统,其他情况系统自动报错,而且在用户输入 错误信息次数超过 3 次,则会退出登录系统,防止了一些非法用户登录 string correct_pswd if sle_1.text=“ then /pop a message box messagebox(“信息提示“,“用户名不能为空“) /sle_1 get the focus sle_1.setfocus() elseif sle_2.text=“ then /pop a message box 13 messagebox(“信息提示“,“密码不能为空“) /sle_2 get the focus sle_2.setfocus() else g_input_time=g_input_time+1 g_user=sle_1.text g_pwd=sle_2.text /取出数据库用户口令表格中对应用户的口令 select r_password into:correct_pswd from reader where readernumber=:g_user; /将数据库中保存的口令和用户输入的口令作比较 if g_pwd=correct_pswd then open(w_parent) close(w_reader) else if g_input_time3 then messagebox(“警告“,“输入用户口令的次数太多!“) close(w_reader) else messagebox(“警告“,“输入的用户口令有误,请重新输入“) end if end if end if 6 61.1.21.1.2 图书信息查询模块图书信息查询模块:图书信息查询模块主要实现了根据图书的编号检 索图书的信息,主要实现的代码:string ll_number string isbn,name,author,keyword ll_number=trim(em_1.text) isbn=sle_1.text name=sle_2.text author=sle_3.text keyword=sle_4.text dw_3.retrieve(ll_number) if dw_3.rowcount()=0 then messagebox(“错误! “,“输入的用户编号或密码错误!“) dw_3.insertrow(0) return end if 14 open 事件中: sqlca.autocommit=true dw_1.retrieve(ll_number) dw_3.settransobject(sqlca) dw_3.insertrow(0) dw_1.settransobject(sqlca) dw_3.retrieve(“) /dw_1.retrieve(“) 6.1.1.36.1.1.3 读者信息查询模块读者信息查询模块:读者信息查询模块主要是通过调用后台的存储过 程来实现的,代码如下: use librarysystem go create procedure getdetails number varchar(20) as select * from reader where readernumber=number 6.1.1.46.1.1.4 读者借还书模块读者借还书模块:读者借还书模块主要实现的是先根据读书的图书的 编号先检索出图书信息,然后读者输入自己的编号查看自己的借书记录,读者 在看见自己的允许借书量不为零时,此时读者借书,其中借书按钮的代码如下: 借书代码: string bmc,bbh,dbh integer rk,pk dbh=trim(em_2.text); bbh=trim(em_1.text); select b_name into:bmc from book where book=:bbh; insert borrowbook (book,bookname,readernumber) values(:bbh,:bmc,:dbh); select r_pbn into:pk from reader where readernumber=:dbh; select r_abn into:rk from reader where readernumber=:dbh; / sle_1.text=string(pk) / sle_2.text=string(rk) pk = pk - 1 rk = rk + 1 update reader set r_pbn=:pk , r_abn=:rk where readernumber=:dbh; messagebox(“提示“,“借阅成功!“) /end if 15 在图书还书时,读者在输入图书的编号后,会检索出图书借阅表的信息,显示 用户归还的时间是否过期,如果过期读者不能归还图书,必须在交完罚款单后 才能借书,这样就实现了对用户的约束,其中部分代码如下: 还书按钮代码:string bbh,dbh integer rk,pk dbh=trim(em_2.text); bbh=trim(em_1.text); delete from borrowbook where book=:dbh; select r_pbn into:pk from reader where readernumber=:bbh; select r_abn into:rk from reader where readernumber=:bbh; pk=pk + 1 rk=rk - 1 update reader set r_pbn=:pk , r_abn=:rk where readernumber=:bbh; if sqlca.sqlcodeyh then 16 je=jh*0.5 else messagebox(“错误!“,“无需罚款!“) end if 6.1.1.46.1.1.4 图书出入库模块:图书出入库模块:图书出入库模块是通过增加图书和删除图书的记录 实现的,部分代码如下:增加记录:图书入库: dw_1.scrolltorow(dw_1.insertrow(0) dw_1.setfocus() dw_1.setcolumn(1) messagebox(“提示!“,“入库成功!“) cb_3.enabled=false cb_4.enabled=false 6.1.1.56.1.1.5 系统维护模块:系统维护模块:在系统维护模块中,管理员通过了对读者信息的维护, 图书信息的维护,图书类别的维护,图书状态的维护,来实现对 信息的修改, 读者信息的修改,图书类别以及图书状态的修改 在图书类别的维护中,如果输入的图书类别的编号不满足所定义的字符长度, 则系统报错,这主要是调用了触发器来实现:触发器代码如下: use librarysystem go create procedure getdetails number varchar(20) as select * from reader where readernumber=number 6.1.1.66.1.1.6:其他模块:其他模块:该模块包括关于和退出两个界面,关于主要是这个系统版 权所有和开发信息,退出就是退出该界面 说明:说明:1 定义 reader 表的过程中,对性别字段使用了 check 约束:在 check 约 束的对话框中输入:c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 20833.2-2025旋转电机绕组绝缘第2部分:定子绕组绝缘在线局部放电测量
- 浙江省杭州五校2026届高二化学第一学期期末教学质量检测试题含答案
- 汉字的演变课件
- 汉字思维上课课件
- 2024-2025学年广东省云浮市云城区人教版四年级下册期末考试数学试卷(含答案)
- 《世说新语》的国学密码解析知到智慧树答案
- 餐饮行业OO模式发展趋势分析
- 2025校园文化墙内容更新合同
- 2025年密封件项目规划申请报告
- 医院品质管理FOCUS-PDCA品管圈获奖案例-降低手术室腹腔镜器械分配缺陷率成果汇报课件
- 2025年福建中闽能源股份有限公司招聘笔试参考题库含答案解析
- 科研项目管理质量承诺
- 北师大版小学数学教材教法培训
- 物业小区安全生产管理制度
- 医院培训课件:《主动脉夹层的护理》
- 2024版《皮肌炎的临床表现》课件
- 2024年广东湛江廉江市部分机关(镇街道)单位招聘政府雇员11人易考易错模拟试题(共500题)试卷后附参考答案
- 醉里乾坤大壶中日月长-初中语文九年级第六单元名著导读《水浒传》整本书阅读精读研讨课 公开课一等奖创新教学设计
- 第一章 有理数 大单元教学设计-2024-2025学年七年级数学上册(人教版2024)
- AQ 2029-2010 金属非金属地下矿山主排水系统安全检验规范(正式版)
- JGJ153-2016 体育场馆照明设计及检测标准
评论
0/150
提交评论