图书管理系统_课程设计报告.doc_第1页
图书管理系统_课程设计报告.doc_第2页
图书管理系统_课程设计报告.doc_第3页
图书管理系统_课程设计报告.doc_第4页
图书管理系统_课程设计报告.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京信息工程大学 课程设计报告 课程名称 数据库系统基础 设计题目 图书管理系统 姓名 学号 专业班级 2011 级计科 2 班 2013 年 12 月 26 号 1 引引 言言 1 1 问题的提出问题的提出 图书管理系统是一个学校不可缺少的部分 它的内容对于学校的管理者和 读者来说都至关重要 直接关系到图书的借用率 所以开发图书管理系统能够为 管理员和读者提供充足的信息和快捷的查询手段 编写程序系统主要实现图书馆的增加图书 查询图书 删除图书 借阅图 书 还书 增加借书证 查询借书证 删除借书证 借书信息 借书限制等智 能化管理过程 图书管理者只需略懂电脑知识就可以简易的操作该图书管理系 统 1 2 任务与分析任务与分析 本课题主要的目的是 1 强化和巩固理论基础 掌握数据库编程的基本技巧 2 要求用 C 语言或其它语言及相应开发环境 实现一个小型完整程序的 设计与开发 系统概述 1 图书管理 每种图书都有书名 书号 ISBN 一名或多名作者 译者 出版社 定价和内容简介 图书信息登入 查询和维护 2 读者管理 包括增加读者 修改读者信息 查询借书证持有人 删除读 者信息等功能 4 借还图书 资料的登记 超期处理等 5 图书 资料查询 借 还图书和资料情况查询 6 图书 资料借阅情况的统计分析 以此作为图书馆图书 资料订够的依 据之一 设计要求 1 进行需求分析 编写数据字典 2 设计 E R 图 3 实现新进图书的数据录入 4 实现对所有购进图书的分类查询和分类统计 5 能够按图书编号 图书名等分类查询现有图书的数量 6 记录借阅者的个人资料和所借图书的书名 书号数据等 2 2 程序的主要功能程序的主要功能 2 1 添加功能添加功能 添加一本图书的基本信息 包括书名 书号 名作者 译者 出版社和 图书简介 添加读者的相关信息 添加图书借阅的基本信息 包括书号 借书证号 借书日期 应还书日期 2 2 删除功能删除功能 删除一本图书的基本信息 删除读者的基本信息 删除图书借阅基本信息 删除读者相关信息 2 3 显示功能显示功能 显示所有图书信息 包括图书代码 图书名称 作者 出版社和简介 显示所有借阅信息 包括读者号 图书号 借书日期 应还书日期 2 4 查找功能查找功能 图书信息查找 可以更具图书代码 图书名称 作者 出版日期和出版社 进行查找 读者信息查找 可更具读者姓名 读者编号 年龄 性别和所在系进行查 找 借阅信息查询 可更具图书编号和读者编号进行查询 2 5 修改功能修改功能 对图书和读者的信息进行修改 2 62 6 备份和还原功能备份和还原功能 对数据库数据进行备份和还原 保护数据库的安全 3 3 系统的总体结构系统的总体结构 3 13 1 模块描述模块描述 图书馆信息管理系统可以分为四个模块 综合查询模块 读 者登陆模块 借还图书模块 和 系统维护模块 为了区分不同的用户 我们设置管理员和普通用户的登录 分 别对管理员和普通用户进行不同的用户权限设置 对他们的所能进 行的操作进行不同的限制 图书馆信息管理系统的功能模块如下图 2 1 所示 图2 1 2 2 系统总体流程图系统总体流程图 图书管理系统 综合查询 借还管理 读者登录 系统维护 图 书 信 息 查 询 多 条 件 查 询 借 书 管 理 还 书 管 理 密 码 修 改 管 理 员 登 录 修 改 密 码 借 阅 查 询 读 者 信 息 维 护 图 书 信 息 维 护 管 理 员 信 息 维 护 备 份 与 还 原 用户进入图书馆管理系统 成功登陆后 首先进行权限验证 对于普通管理员可以进行借 书处理 还书处理 逾期处理 读者可以进行图书信息查询 修改自己的密码 查阅自己 的借阅记录 图书续借 罚金信息查询 系统管理员可以进行图书 读者信息维护 系统 维护等操作 开始 登录 判断 普通用户登录 管理员登录 图 书 查 询 借 阅 查 询 密 码 修 改 图 书 信 息 管 理 用 户 信 息 管 理 密 码 修 改 管 理 员 信 息 安 全 管 理 退出 第第 3 章章 数据库设计数据库设计 3 1 数据库需求分析数据库需求分析 用户的需求具体体现在各种信息的提供 保存 更新和查询 这就要求数据库结构能 充分满足各种信息的输出和输入 收集基本数据 数据结构以及数据处理的流程 组成一 份详尽的数据字典 为后而后具体设计打下基础 根据分析 可以列出以下数据项和数据 结构 图书信息 包括的数据项有 ISBN 号 索书号 书名 作者 价格 出版日期 出版社 管理员信息 管理员号 姓名 电话 身份证号 密码 权限 借阅信息 读者账号 借出时间 应还时间 罚金信息 读者账号 金额 读者信息 读者账号 姓名 性别 身份证号 系别 密码 3 2 数据库物理结构设计数据库物理结构设计 得到上面的数据项和数据结构后 就可以设计出能够满足用户需求的各种实体 以及 它们之间的关系 为后面的逻辑结构设计打下基础 以下分别是读者 E R 图 图书 E R 图 借阅信息 E R 图 出版社 E R 图 书库 E R 图 读者 E R 图 读者 性别 读者证 号 姓名 押金 身份证 号 出生日 期 登录密 码 身份 图书 E R 图 图书 价格 ISBN 编 号 图书类 型 书名 作者 出版时 间 图书译 者 出版社 借阅信息 E R 图 借阅信息 读者证 号 借出时 间 归还时 间 借阅状 态 图书条 形码 读者 姓 名 性 别 押 金 身 份 证 号 职 业 出 生 日 期 密 码 编 号 图书借阅 读 者 证 号 借 出 时 间 归 还 时 间 借 阅 状 态 图 书 I S B N 借阅 管理员 类 别 密 码 身 份 证 生 日 性 别 姓 名 编 号 图书 I S B N 图 书 名 作 者 出 版 社 价 格 出 版 日 期 类 别 译 者 管理 管理 3 3 数据库逻辑结构设计数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上 形成数据库中的表格以及各个表格之间的 关系 图书管理系统数据库中各个表格的设计结果如下面的几个表格所示 每个表格表示 在数据库中的一个表 表 3 2 图书数据表 字段名类型长度是否为空主键外键说明 ISBNvarchar20否是否ISBN 号 datevarchar20否否否 booknamevarchar40否否否书名 writervarchar20否否否作者 Pricenumeric否否否单价 Publishervarchar40是否是 出版社 出版社 publishdatedatetime4是否否出版日期 表 3 6 读者数据表 字段名类型长度是否为空主键外键说明 ISBNvarchar20否是否读者账号 namevarchar8否否否姓名 sexchar2否否否性别 identityCardchar18否否否身份证号 telvarchar20是否否电话 keepmoneymoney10是否否押金 zyvarchar20是否否职业 datevarchar20是否否出生日期 表 3 3 图书借阅数据表 字段名类型长度是否为空主键外键说明 bookisbnchar20否是否图书编号 readerisbnchar20否否示 读者 读者账号 borrowdatedatetime否是否借出时间 shouldbackdatedatetime否否否应还时间 bookpricemoney4否否否价格 booknamevatchar20否否否书名 表 3 8 用户数据表 字段名类型长度是否为空主键外键说明 idchar4否是否管理员编号 namevarchar8否否否姓名 telvarchar11否否否电话 adminchar1否否否用户类别 passwordvarchar20否否否密码 sexchar2否否否性别 identityCardchar18否否否身份证号 ageint2否否否年龄 第第 4 章章 详细设计详细设计 4 1 用户界面设计用户界面设计 当今软件界的所有软件无不是可视化的用户界面 它的好处不外乎它有美观 直接 操作者易懂和操作方便等好处 本系统设计思想 为用户设计 而不是设计者 本系统 设计原则 界面美观 操作方便并能高效率地完成工作 界面根据用户需求设计 界面能 引导用户操作的功能 并能提供一些帮助功能 4 1 14 1 1 登录界面登录界面 系统登录界面截图如下 在用户登录界面 我们设置一个用户类别的选项 来判断登录系统的用户身份 不同的身 份具有不同的权限 以此来保障系统的安全 代码如下 string str server Lenovo Y470 uid sa pwd 123 database db library SqlConnection con new SqlConnection str string sql select name password admin from tb users where name textBox1 Text and password textBox2 Text and admin comboBox1 Text SqlCommand cmd new SqlCommand 打开数据库连接 cmd CommandText sql cmd Connection con con Open SqlDataReader rd cmd ExecuteReader if rd Read if comboBox1 Text 1 MessageBox Show 正在登陆 a textBox2 Text MainForm mForm new MainForm mForm Show 显示管理员登录界面 con Close this Visible false if radioButton1 Text 0 else a textBox2 Text ViceMainForm mForm new ViceMainForm mForm Show 显示普通用户的登录界面 con Close this Visible false else MessageBox Show 请输入正确的账户和密码 private void button2 Click object sender EventArgs e this Close 关闭窗口 4 1 24 1 2 主界面显示主界面显示 管理员主界面截图如下 代码如下 namespace WindowsFormsApplication1 public partial class MainForm Form public MainForm InitializeComponent private void 图书数据维护ToolStripMenuItem Click object sender EventArgs e FmDataTS TS new FmDataTS TS Show private void 读者数据维护ToolStripMenuItem Click object sender EventArgs e FmDataDZ DZ new FmDataDZ DZ Show private void 用户数据维护ToolStripMenuItem Click object sender EventArgs e FmDataYH YH new FmDataYH YH Show private void 用户密码修改ToolStripMenuItem Click object sender EventArgs e FmDataMM MM new FmDataMM MM Show private void 图书借阅ToolStripMenuItem Click object sender EventArgs e FmJY JY new FmJY JY Show private void 图书搜索ToolStripMenuItem Click object sender EventArgs e FmCX CX new FmCX CX Show private void 图书归还ToolStripMenuItem Click object sender EventArgs e FmGH GH new FmGH GH Show private void 数据库还原ToolStripMenuItem Click object sender EventArgs e SqlConnection conn new SqlConnection Server Lenovo Y470 Database master uid sa pwd 123 SqlConnection c new SqlConnection Server Lenovo Y470 Database master uid sa pwd 123 Trusted Connection False c Open c Close SqlCommand cmdRT new SqlCommand cmdRT CommandType CommandType Text cmdRT Connection c cmdRT CommandText use master restore database tb library from disk C ba bak with replace try cmdRT ExecuteNonQuery MessageBox Show Restore successed catch Exception ex MessageBox Show ex Message finally c Close private void 数据库备份oolStripMenuItem Click object sender EventArgs e SqlConnection conn new SqlConnection Server Lenovo Y470 Database master uid sa pwd 123 SqlCommand cmdBK new SqlCommand cmdBK CommandType CommandType Text cmdBK Connection conn cmdBK CommandText backup database db library to disk C ba bak with init try conn Open cmdBK ExecuteNonQuery MessageBox Show Backup successed MessageBox Show 已备份于c盘根目录下 conn Close catch Exception ex MessageBox Show ex Message finally conn Close conn Dispose private void 退出ToolStripMenuItem1 Click object sender EventArgs e this Close 4 1 3 图书数据维护模块界面如下 代码如下 namespace WindowsFormsApplication1 public partial class FmDataTS Form public FmDataTS InitializeComponent private void groupBox1 Enter object sender EventArgs e private void TxtTSBH TextChanged object sender EventArgs e private void FormDataTS Load object sender EventArgs e try SqlConnection con DBConnect con String sql SELECT FROM tb bookInfo SqlDataAdapter Adpt new SqlDataAdapter sql con DataSet ds new DataSet Adpt Fill ds tb bookInfo dataGridView1 DataSource ds Tables 0 DefaultView con Close catch Exception cw MessageBox Show cw Message public void binding try TxtTSBH Text dataGridView1 SelectedCells 0 Value ToString TxtTSLB Text dataGridView1 SelectedCells 1 Value ToString TxtTSMC Text dataGridView1 SelectedCells 2 Value ToString TxtTSZZ Text dataGridView1 SelectedCells 3 Value ToString TxtTSYZ Text dataGridView1 SelectedCells 4 Value ToString TxtTSCBS Text dataGridView1 SelectedCells 4 Value ToString TxtCBRQ Text dataGridView1 SelectedCells 5 Value ToString TxtTSJG Text dataGridView1 SelectedCells 6 Value ToString catch Exception cw MessageBox Show cw Message private void dataGridView1 CellContentClick object sender DataGridViewCellEventArgs e binding private Boolean Check string TSid SqlConnection con DBConnect con con Open String sql select from tb bookInfo where ISBN TSid SqlCommand cmd new SqlCommand sql con SqlDataReader rd rd cmd ExecuteReader int x 0 while rd Read x con Close if x 0 return true else return false private void BtnAdd Click object sender EventArgs e if TxtTSBH Text if Check TxtTSBH Text SqlConnection con DBConnect con con Open SqlCommand cmd new SqlCommand cmd CommandText INSERT INTO tb bookInfo VALUES TxtTSBH Text TxtTSLB Text TxtTSMC Text TxtTSZZ Text TxtTSCBS Text TxtCBRQ Text TxtTSJG Text cmd Connection con cmd ExecuteNonQuery MessageBox Show 输入数据成功 String sql SELECT FROM tb bookInfo SqlDataAdapter Adpt new SqlDataAdapter sql con DataSet ds new DataSet Adpt Fill ds tb bookInfo dataGridView1 DataSource ds Tables 0 DefaultView con Close else MessageBox Show 图书编号不能重复 else MessageBox Show 图书编号不能为空 private void BtnUpdate Click object sender EventArgs e if MessageBox Show 你确定要修改图书数据吗 消息框 MessageBoxButtons OKCancel MessageBoxIcon Information DialogResult OK if TxtTSBH Text if Check TxtTSBH Text try SqlConnection con DBConnect con con Open SqlCommand cmd new SqlCommand cmd CommandText UPDATE tb bookInfo SET typeId TxtTSLB Text bookname TxtTSMC Text writer TxtTSZZ Text publisher TxtTSCBS Text date TxtCBRQ Text price TxtTSJG Text where ISBN TxtTSBH Text cmd Connection con cmd ExecuteNonQuery MessageBox Show 修改数据成功 String sql SELECT FROM tb bookInfo SqlDataAdapter Adpt new SqlDataAdapter sql con DataSet ds new DataSet Adpt Fill ds tb bookInfo dataGridView1 DataSource ds Tables 0 DefaultView con Close catch Exception cw MessageBox Show cw Message else MessageBox Show 图书编号不存在 else MessageBox Show 图书编号不能为空 private void BtnDelete Click object sender EventArgs e if MessageBox Show 你确定要删除图书数据吗 消息框 MessageBoxButtons OKCancel MessageBoxIcon Information DialogResult OK if TxtTSBH Text if Check TxtTSBH Text try SqlConnection con DBConnect con con Open SqlCommand cmd new SqlCommand cmd CommandText DELETE FROM tb bookInfo WHERE ISBN TxtTSBH Text cmd Connection con cmd ExecuteNonQuery MessageBox Show 删除数据成功 String sql SELECT FROM tb bookInfo SqlDataAdapter Adpt new SqlDataAdapter sql con DataSet ds new DataSet Adpt Fill ds tb bookInfo dataGridView1 DataSource ds Tables 0 DefaultView con Close catch Exception cw MessageBox Show cw Message else MessageBox Show 图书编号不存在 else MessageBox Show 图书编号不能为空 4 1 4 读者数据维护模块 读者数据维护模块截图如下 代码参照图书信息维护代码 4 1 5 用户管理模块 用户管理模块截图如下 代码如下参照图书信息维护代码 4 1 6 密码修改模块 在密码修改模块中我们要求用户输入旧密码 验证旧密码是否正确 若正 确 则进入新密码设置界面 重复输入两次新密码 若两次新密码输入相同 则设置新密码成功 否则设置新密码失败 以此来确保密码的安全性 截图如下 关键代码如下 private void button1 Click object sender EventArgs e if Form1 a Equals TxtJMM Text FmXMM XMM new FmXMM XMM Show this Visible false a为静态变量 用来得到文本框内的值 private void BrnQR2 Click object sender EventArgs e if textBox1 Text textBox1 Text SqlConnection con DBConnect con con Open SqlCommand cmd new SqlCommand cmd CommandText update tb users set password textBox1 Text cmd Connection con cmd ExecuteNonQuery MessageBox Show 密码修改成功 4 1 7 图书借阅界面 图书借阅界面截图如下 代码如下 namespace WindowsFormsApplication1 public partial class FmJY Form public FmJY InitializeComponent private void FmJY Load object sender EventArgs e try SqlConnection con DBConnect con String sql SELECT FROM bookborrow6 SqlDataAdapter Adpt new SqlDataAdapter sql con DataSet ds new DataSet Adpt Fill ds bookborrow6 dataGridView1 DataSource ds Tables 0 DefaultView con Close catch Exception cw MessageBox Show cw Message public void binding try textBox1 Text dataGridView1 SelectedCells 0 Value ToString textBox2 Text dataGridView1 SelectedCells 1 Value ToString textBox3 Text dataGridView1 SelectedCells 2 Value ToString textBox4 Text dataGridView1 SelectedCells 3 Value ToString TxtTSYZ Text dataGridView1 SelectedCells 4 Value ToString textBox5 Text dataGridView1 SelectedCells 4 Value ToString textBox6 Text dataGridView1 SelectedCells 5 Value ToString TxtTSJG Text dataGridView1 SelectedCells 6 Value ToString catch Exception cw MessageBox Show cw Message private void label6 Click object sender EventArgs e private void dataGridView1 CellContentClick 1 object sender DataGridViewCellEventArgs e binding private Boolean Check string tsid SqlConnection con DBConnect con con Open String sql select from tb bookInfo where ISBN tsid SqlCommand cmd new SqlCommand sql con SqlDataReader rd rd cmd ExecuteReader int x 0 while rd Read x con Close if x 0 return true else return false private void button1 Click object sender EventArgs e if textBox1 Text if Check textBox1 Text SqlConnection con DBConnect con con Open SqlCommand cmd new SqlCommand cmd CommandText INSERT INTO bookborrow6 VALUES textBox1 Text textBox2 Text textBox3 Text textBox4 Text textBox5 Text textBox6 Text cmd Connection con cmd ExecuteNonQuery MessageBox Show 输入数据成功 String sql SELECT FROM bookborrow6 SqlDataAdapter Adpt new SqlDataAdapter sql con DataSet ds new DataSet Adpt Fill ds bookborrow6 dataGridView1 DataSource ds Tables 0 DefaultView con Close else MessageBox Show 图书编号不能重复 else MessageBox Show 图书编号不能为空 4 1 8 图书归还界面 图书归还界面如下 4 2 1 数据库的备份和还原 数据库备份和数据库还原是为了保证数据库的内容安全而设置的 代码如下 private void 数据库备份ToolStripMenuItem Click object sender EventArgs e SqlConnection conn new SqlConnection Server Lenovo Y470 Database master uid sa pwd 123 SqlCommand cmdBK new SqlCommand cmdBK CommandType CommandType Text cmdBK Connection conn cmdBK CommandText backup database db library to disk C ba bak with init try conn Open cmdBK ExecuteNonQuery MessageBox Show Backup successed MessageBox Show 已备份于c盘根目录下 conn Close catch Exception ex MessageBox Show ex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论