毕业论文图书管理系统课程设计报告.doc
《毕业论文图书管理系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《毕业论文图书管理系统课程设计报告.doc(33页珍藏版)》请在咨信网上搜索。
南京信息工程大学 课程设计报告 课程名称 数据库系统基础 设计题目 图书管理系统 姓名 学号 专业班级 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.1添加功能 添加一本图书的基本信息,包括书名、书号、名作者(译者)、出版社和图书简介。 添加读者的相关信息 添加图书借阅的基本信息,包括书号,借书证号,借书日期,应还书日期。 2.2删除功能 删除一本图书的基本信息,删除读者的基本信息,删除图书借阅基本信息。 删除读者相关信息 2.3显示功能 显示所有图书信息,包括图书代码,图书名称,作者,出版社和简介。 显示所有借阅信息,包括读者号,图书号,借书日期,应还书日期。 2.4查找功能 图书信息查找,可以更具图书代码,图书名称,作者,出版日期和出版社进行查找。 读者信息查找,可更具读者姓名,读者编号,年龄,性别和所在系进行查找。 借阅信息查询,可更具图书编号和读者编号进行查询。 2.5修改功能 对图书和读者的信息进行修改。 2.6备份和还原功能 对数据库数据进行备份和还原,保护数据库的安全 3 系统的总体结构 3.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图 借阅信息 读者证号 借出时间 归还时间 借阅状态 图书条形码 类别 出版日期 价格 出版社 图书名 ISBN 作者 身份证 生日 密码 编号 姓名 性别 类别 译者 管理 图书 管理员 管理 借阅 图书借阅 读者 出生日期 姓名 编号 押金 性别 读者证号 密码 身份证号 借阅状态 归还时间 借出时间 图书ISBN 职业 3.3数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。图书管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。 表(3-2)图书数据表 字段名 类型 长度 是否为空 主键 外键 说明 ISBN varchar 20 否 是 否 ISBN号 date varchar 20 否 否 否 bookname varchar 40 否 否 否 书名 writer varchar 20 否 否 否 作者 Price numeric 否 否 否 单价 Publisher varchar 40 是 否 是(出版社) 出版社 publishdate datetime 4 是 否 否 出版日期 表(3-6)读者数据表 字段名 类型 长度 是否为空 主键 外键 说明 ISBN varchar 20 否 是 否 读者账号 name varchar 8 否 否 否 姓名 sex char 2 否 否 否 性别 identityCard char 18 否 否 否 身份证号 tel varchar 20 是 否 否 电话 keepmoney money 10 是 否 否 押金 zy varchar 20 是 否 否 职业 date varchar 20 是 否 否 出生日期 表(3-3)图书借阅数据表 字段名 类型 长度 是否为空 主键 外键 说明 bookisbn char 20 否 是 否 图书编号 readerisbn char 20 否 否 示(读者) 读者账号 borrowdate datetime 否 是 否 借出时间 shouldbackdate datetime 否 否 否 应还时间 bookprice money 4 否 否 否 价格 bookname vatchar 20 否 否 否 书名 表(3-8)用户数据表 字段名 类型 长度 是否为空 主键 外键 说明 id char 4 否 是 否 管理员编号 name varchar 8 否 否 否 姓名 tel varchar 11 否 否 否 电话 admin char 1 否 否 否 用户类别 password varchar 20 否 否 否 密码 sex char 2 否 否 否 性别 identityCard char 18 否 否 否 身份证号 age int 2 否 否 否 年龄 第 4 章 详细设计 4.1 用户界面设计 当今软件界的所有软件无不是可视化的用户界面,它的好处不外乎它有美观、直接、操作者易懂和操作方便等好处。本系统设计思想:“为用户设计,而不是设计者”本系统设计原则:界面美观、操作方便并能高效率地完成工作。界面根据用户需求设计。界面能引导用户操作的功能,并能提供一些帮助功能。 4.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.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("图书编号不能为空"); } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 图书 管理 系统 课程设计 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文