logo资料库

大作业-图书管理系统.docx

第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
资料共26页,剩余部分请下载后查看
1设计目的
2设计需求
3设计报告
3.1系统整体架构
ER图设计(一)
ER图设计(二)
3.2数据库表结构
1、书(book)
2、管理员(librarian)
3、借书证(reader)
4、借书记录(borrowbooks)
3.3模块流程图
1.管理员登陆
2.主窗口
3.单本入库
4.批量入库
5.图书查询
6.借书
7.还书
8.借书证管理
1)删除借书证
2)添加借书证
3.4程序所采用的技术
3.4.1 ODBC开放数据库互联
3.4.2 ADO .NET
1.架构
2.类库
4最终系统
4.1 登陆界面
4.2主界面
4.3单本入库
4.4批量入库
4.5图书查询界面
4.6 借书界面
4.7还书界面
4.8借书证管理
5总结
图书管理系统设计 数据库系统原理大作业报告 指导老师: 姓名: 学号: 2013/4/29
图书管理系统设计 1 设计目的  设计并实现一个简单的图书馆系统, 要求具有图书入库、查询、借书、还书、 借书证管 理等功能。  通过该图书馆系统的设计与实现,提高学生的系统编程能力,加深对数据库系统原理及 应用的理解。 2 设计需求 数据对象 对象名称 书 借书证 管理员 借书记录 包含属性 书号, 类别, 书名, 出版社, 年份, 作者, 价格, 总藏书量, 库存 卡号, 姓名, 单位, 类别 (教师 学生等) 管理员 ID, 密码, 姓名, 联系方式 卡号, 借书证号 ,借期, 还期, 经手人(管理员 ID) 功能模块 模块名称 管理员登陆 图书入库 图书查询 借书 还书 功能描述 输入管理员 ID, 密码; 登入系统 或 返回 ID/密码 错误. 1. 单本入库 2. 批量入库 (方便 最后测试) 图书信息存放在文件中, 每条图书信息为一行. 一行中的内容 如下 ( 书号, 类别, 书名, 出版社, 年份, 作者, 价格, 数量 ) Note: 其中 年份、数量是整数类型; 价格是两位小数类型; 其余 为字符串类型 Sample: ( book_no_1, Computer Science, Computer Architecture, xxx, 2004, xxx, 90.00, 2 ) 要求可以对书的 类别, 书名, 出版社, 年份(年份区间), 作者, 价格(区间) 进行查询. 返回最多前五十条符合条件的图书信息, 每 条图书信息包括以下内容: ( 书号, 类别, 书名, 出版社, 年份, 作者, 价格, 总藏书量, 库存 ) 可选要求: 可以按用户指定属性对图书信息进行排序. (默认是 书名) 1.输入借书证卡号 显示该借书证所有已借书籍 (返回, 格式同查询模块) 2.输入书号 如果该书还有库存,则借书成功,同时库存数减一。 否则输出该书无库存,且输出最近归还的时间。 1.输入借书证卡号 显示该借书证所有已借书籍 (返回, 格式同查询模块) 2.输入书号 如果该书在已借书籍列表内, 则还书成功, 同时库存加一,否则
图书管理系统设计 借书证管理 输出出错信息. 增加或删除一个借书证 数据库平台以及编程软件 SQL Server 2000、Microsoft Visual .NET 2003 编程语言 C# 3 设计报告 3.1 系统整体架构 ER 图设计(一) 说明: 根据数据对象和功能模块的功能,画出 ER 图如上。借书记录作为一个关系存在,在上 图中分为“借书”和“还书”两个关系,分别有属性“借期”、“应还日期”和属性“实际还 期”。管理员 ID 在这两个不同的关系里有不同的含义,分别重命名为“借书经手人”和“还 书经手人”,以示区别,会在下面关系模型的设计中体现。
图书管理系统设计 ER 图设计(二) 这里将借书和还书并为一张表格,方便查询。上图是用 Microsoft Office Visio 画出数据库另 一种 ER 图。设计表格的时候参考该图。表格结构和字段分析见下一节。 3.2 数据库表结构 1、书(book) 键 PK 字段名称 bookID book_sort book_name publisher book_year author book_price book_amount book_remain 数据类型 char varchar varchar char int char numeric(8,2) int int 书号 类别 书名 长度 允许空 说明 10 30 30 30 4 20 8 4 4 N N N N N N N N N 作者 价格 库存 出版社 书本出版年份 总藏书量 1) 表格中所有值都是非空的,主键为 bookID 2) 建立约束:总藏书量和库存都是非负,库存不能大于总藏书量。 check book_amount>=0 check book_remain>=0 check book_amount>=book_remain
图书管理系统设计 2、管理员(librarian) 键 PK 字段名称 librarianID librarianPW librarian_name librarian_contact 数据类型 char varchar char char 键 PK 3、借书证(reader) 字段名称 readerID reader_name reader_company reader _sort 数据类型 char char varchar char 长度 允许空 说明 10 10 20 20 N N N N 姓名 管理员 ID 管理员密码 联系方式(电话号码) 长度 允许空 说明 20 20 30 10 N N N N 借书证 ID 读者姓名 读者单位 类别(教师/学生) 建立约束使借书证类别在教师和学生两者里面选取(表中内容为中文) check reader_sort in (‘教师’, ‘学生’) 借书证号 系统生成的借书时间 长度 允许空 说明 10 30 10 10 10 30 30 N N N N Y N Y 借阅书号 借书经手人 ID 还书经手人 ID 应还时间 4、借书记录(borrowbooks) 键 PK,FK PK FK FK FK 数据类型 char datetime char char char 字段名称 readerID borrow_time bookID libIDborrow libIDreturn due_return_time datetime return_time datetime 系统生成的还书时间 1) 借书经手人和还书经手人为外键指向管理员表格,没有级联关系;书号作为外键指向 book 表格,级联更新和删除;卡号作为外键指向借书证表格,级联更新和删除。 2) 还书经手人和还书时间可以为空,空值表示该书还没有被归还,可以通过 return_time 是否为 null 来判断该书是否为外借状态。 3) 时间类型 datetime 精确到秒,做出合理假定一个借书证不会在同一秒内借两本书,因 此借书证号和借书时间共同作为这张表的主键。由于格式转换限制,在本程序的实现中 时间都用 char(30)来实现。 4) 借书的同时插入当时系统时间,同时将系统时间后延一个月作为应还书时间,添加到属 性 due_return_time 中。 3.3 模块流程图 根据设计要求,本程序的实现分下面几个模块(主要窗口),有图形界面。 模块名称 管理员登陆 login.cs(程序入口) 输入管理员 ID, 密码; 登入系统 或 返回 ID/密码 错 实现文件 功能描述 误.
主窗口 MainForm.cs 单本入库 addbook.cs updatebkamount.cs 批量入库(从 MainForm.cs 文件) 图书查询 search.cs 借书 borrow.cs 还书 Returncheck.cs 图书管理系统设计 1、 主窗口标题上显示管理员姓名; 2、选项有“单本入库”、“批量入库”、“图书查询”、“借 书”、“还书”、“借书证管理”、“退出系统”。 管理员手动输入图书信息,若检测到 bookID 已经存在, 则跳出新对话框,管理员在对话框中输入添加的数量即 可。 点击后弹出选择文件对话框,图书信息存放在 txt 文件 中,格式同设计要求中的格式 1、可以对书的类别、书名、出版社、作者进行模糊查 询,对年份区间、价格区间进行区间查询(包含边界). 返回最多前 50 条符合条件的图书信息。 2、可以按用户指定属性对图书信息进行排序(默认是 书名)。 1、输入借书证卡号,点击“查询”,返回该借书证所有 已借书籍; 2、输入书号 如果该书还有库存,则借书成功,同时库存数减一。 否则输出该书无库存,且输出最近归还的时间。 如果该书已经被这个借书证借出一本,则不能再借。 1、输入借书证卡号,点击“查询”,返回该借书证所有 已借书籍; 2、输入书号,如果该书在已借书籍列表内, 则还书成 功, 同时库存加一,否则输出出错信息. 借书证管理 readermanager.cs 增加或删除一个借书证,如果删除的时候还有书未归 还,则要归还后才能删除。 1. 管理员登陆
图书管理系统设计 2. 主窗口 3. 单本入库
图书管理系统设计 4. 批量入库 该模块代码直接写在 MainForm.cs 中,利用 Windows 自带的文件选择弹窗选择文件后 将符合要求格式的文件内容读入数据库中,循环输入图书入库信息,并进行判断(插入新行 还是修改已有图书库存)。 5. 图书查询
分享到:
收藏