数据库课程设计图书管理系统_第1页
数据库课程设计图书管理系统_第2页
数据库课程设计图书管理系统_第3页
数据库课程设计图书管理系统_第4页
数据库课程设计图书管理系统_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

德州学院信息管理学院课 程 设 计 报 告d不4 合格的借书卡d 图2 书1.03.0借书处理d入7 库新书清单新书入库处理d1借书卡d借5 书清单d库8 存清单s管2 理员s1借阅者f0借1 阅情况存档图书库存情况存档d还6 书清单d1销0 书清单2.04.0d9销书计划d 还3 书还书处理销书处理专业综合实习(数据库)高校图书信息系统数据库的设计与应用2016.12.05-2016.12.1614 级网络工程(系统开发与管理)鲁燕黄岩201401003017(盖章)实习名称设计题目实习时间专业班级指导老师学生姓名学号教学单位精品资料二一六年 十二 月 十六 日目录1 开发背景12 功能描述13 数据分析33.1 数据流图33.1.1 总数据流图33.1.2 入库处理33.1.3 借书处理43.1.4 还书处理53.2 数据字典54 概念模型设计94.1 图书信息模块94.2 借阅者信息模块104.3 图书管理员信息模块104.4 销书单模块104.5 实体及其联系图114.6 完整的 e-r 图125 逻辑模型设计和优化136 物理设计和实施136.1 数据库建立136.1.1 tb_bookinfo13i6.1.2 tb_booktype166.2 数据库初始化连接186.2.1 library_java186.2.2 login_java236.3 程序测试266.3.1 登入266.3.2 主界面276.3.3 读者信息修改与删除276.3.4 图书类别修改286.3.5 图书信息修改296.3.6 图书验收296.3.7 图书借阅管理307 课程设计心得体会31参考文献31精品资料德州学院信息管理学院 2014 级网络开发管理专业“数据库系统原理”课程设计1 开发背景随着我国市场经济的迅速发展和人们生活水平的不断提高,高校图书馆藏书的数目逐渐增大, 这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,通过使用数据库创建的图书管理系统可以让 管理人员方便而快捷的进行管理、查询、借阅、录入等工作。图书管理工作面对大量的 可模块化处理的信息, 是当今信息革命的一个重要阵地。我开发的图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率, 作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。2 功能描述本系统需要完成的功能主要有6 部分:(1) 实现对图书信息的修改,包括定义、查询、更新、删除等操作图书信息包括图书编号,书名,作者姓名,出版社,出版日期,在库数,所在书库。入库日期,出库 日期等。( 2)实现对借阅者信息的修改,包括定义、查询、更新、删除等操作借阅者信息包括借书卡号,姓名,班级,院系等。(3) 实现借书功能。借书信息的输入,包括借书卡号,图书编号,借出日期,到期日期,拖欠日期, 罚款数目等。借书信息的查询,修改,包括图书编号,借书卡号,借阅者姓名,图书名称,借出日期等。(4) 实现还书功能还书信息的输入,包括图书编号,借书卡号,借阅者姓名,图书名称,借出日期等。1还书信息的查询和修改,包括还书信息编号,读书编号,读者姓名,书籍编号, 书籍名称,借书日期,还书日期,备注信息等。(5) )实现销书功能对不符合要求的图书进行出库处理,包括图书编号,书名, 作者姓名,出版社,出版日期,在库数,所在书库。入库日期,出库日期等。图书馆管理基础数据维护图书借阅管理新书订购管理系统维护(6) )实现对管理员信息的修改,包括定义、查询、更新、删除等操作管理员信息包括编号,姓名,负责书库等。读图图图图者书书书书图新验用更信信类借归书书收户改息息别阅还查订新管口管理管理管理管理管理询购书理令图 2.1系统功能模块结构精品资料3 数据分析3.1 数据流图3.1.1 总数据流图d4不合格的借书卡d2图书1.0借书处理3.0新书入库处理d7入库新书清单s1借阅者d1借书卡f01借阅情况存档d5借书清单d6还书清单d8库存清单图书库存情况存档d10销书清单s2管理员2.04.0d3还书还书处理销书处理d9销书计划图 3.1总数据流图3.1.2 入库处理p3.1p3.2s2管理员d25入库新书清单更新图书库存清单d26库存清单处理入库d27库存清单f31图书库存情况存档图 3.2入库处理3.1.3 借书处理f11学生借书情况存档d12不合格借书单d15借书清单p1.1p1.2s1借阅者d11借书单d13合格的借书单审核处理书借出处理d14借书清单f12图书在库情况存档d16图书图 3.3借书处理3.1.4 还书处理d23还书清单f21图书库存情况存档p2.1p2.2s1借阅者d17图书d24图书审核处理d22还书清单图书入库处理d19罚款单d18罚款通知单f22借阅者借阅情况存档d20应付罚款p2.3罚款处理d21图书图 3.4 还书处理3.2 数据字典表 3.1 借阅者姓名数据项名:借阅者姓名数据项含义说明:借阅者姓名别名:无数据类型:字符型长度: 10取值范围:任意字符 取值含义:借阅者姓名表 3.2 借书卡号数据项名:借书卡号数据项含义说明:借阅者借书卡号别名:无数据类型:字符型长度: 10取值范围: 0000000000-9999999999取值含义:借阅者借书卡号表 3.3 图书编号数据项名:图书编号数据项含义说明:图书编号别名:借书编码数据类型:字符型长度: 10取值范围: 0000000000-9999999999取值含义:图书编号表 3.4 书名数据项名:书名数据项含义说明:书名别名:无数据类型:字符型长度: 20取值范围:任意字符取值含义:图书名称表 3.5 作者名称数据项名:作者名称数据项含义说明:作者名称别名:无数据类型:字符型长度: 10取值范围:任意字符取值含义:作者名称表 3.5 入库日期数据项名:入库日期数据项含义说明:图书入库日期别名:无数据类型:字符型长度: 8取值范围: 00000000-99999999取值含义: yyyy-mm-dd表 3.6 所存书库数据项名:所存书库数据项含义说明:图书所存书库别名:无数据类型:字符型长度: 10取值范围:任意字符取值含义:图书所存书库名表 3.7 在库量数据项名:在库量数据项含义说明:图书在库量别名:无数据类型:字符型长度: 5取值范围: 00000-99999取值含义:图书在库数量表 3.8 出版日期数据项名:出版日期数据项含义说明:图书出版日期别名:无数据类型:字符型长度: 8取值范围: 0000000-99999999取值含义: yyyy-mm-dd表 3.8 到期日期数据项名:到期日期数据项含义说明:借阅到期日期别名:无数据类型:字符型长度: 8取值范围: 00000000-99999999取值含义:图书借阅到期日期4 概念模型设计4.1 图书信息模块图书编号书名作者姓名书版社入库日期图书出库日期条形码所存书库出版日期在库数图 4.1图书信息模块4.2 借阅者信息模块借书卡号姓名班级院系借阅者图 4.2借阅者信息模块4.3 图书管理员信息模块图书管理员信息管理员编号姓名负责书库图 8图书管理员信息模块4.4 销书单模块图书编号图书名称销书单数量日期图 4.3销书单模块4.5 实体及其联系图借阅者管理员u借出日期管理m处理到期日期借阅图书销书清单拖欠日期罚款数目图 4.4实体及其联系图4.6 完整的 e-r 图编号姓名违规编号处罚方式类型处罚种类违规处罚性别1m年龄借阅者违规单位mm书号1密码m时间书名作者属于借阅归还图书m出版社类别借阅数量类别借阅时间借阅状态价格关键字类型名称类型编号借阅期限图 4.5完整的 e-r 图5 逻辑模型设计和优化从理论“ e-r 模型” 到理论“ 关系模型” 的整理转换,通过e-r 模型到关系模型的转化,可以得到如下关系模式:借阅者(借书卡号,姓名,班级,院系); 管理员(编号,姓名,负责书库) ;图书(图书编号,书名,作者姓名,出版社,出版日期,在库数,所在书库,入库日期,出库日期);借阅(借书卡号,图书编号,借出日期,到期日期,拖欠日期,罚款数目) 销书清单(管理员编号,图书编号,图书名称,销书日期,销书数量); 管理(管理员编号,借书卡号,图书编号)。6 物理设计和实施6.1 数据库建立6.1.1tb_bookinfouse db_library goifexists(select*fromsys.foreign_keyswhereobject_id=object_id(ndbo.fk_tb_booki_reference_tb_bookt)andparent_object_id=object_id(ndbo.tb_bookinfo)altertabledbo.tb_bookinfodropconstraintfk_tb_booki_reference_tb_booktgouse db_library go/* object:table dbo.tb_bookinfoscript date: 12/05/2016 20:40:07 */ifexists(select*fromsys.objectswhereobject_id= object_id(ndbo.tb_bookinfo) and type in (nu)drop table dbo.tb_bookinfo gouse db_library go/* object:table dbo.tb_bookinfoscript date: 12/05/2016 20:40:07 */ set ansi_nulls ongoset quoted_identifier on goset ansi_padding ongocreate table dbo.tb_bookinfo( isbn varchar(13) not null,typeid int not null,bookname varchar(40) not null, writer varchar(21) not null, translator varchar(30) null,publisher varchar(50) not null, date smalldatetime not null, price money not null,constraint pk_tb_bookinfo primary key nonclustered(isbn asc)with(pad_index= off,statistics_norecompute= off,ignore_dup_key=off, allow_row_locks) on primary= on, allow_page_locks= on) on primarygoset ansi_padding offgoaltertabledbo.tb_bookinfowithcheckaddconstraint fk_tb_booki_reference_tb_bookt foreign key(typeid)references dbo.tb_booktype (id) update db_library.dbo.tb_bookinfoset isbn = ,typeid = ,bookname = ,writer = ,translator = ,publisher = ,date = ,price = where godelete from db_library.dbo.tb_bookinfo where go6.1.2tb_booktypeuse db_library go/* object:table dbo.tb_booktypescript date: 12/05/2016 20:44:15 */ifexists(select*fromsys.objectswhereobject_id= object_id(ndbo.tb_booktype) and type in (nu)drop table dbo.tb_booktype gouse db_library go/* object:table dbo.tb_booktypescript date: 12/05/2016 20:44:15 */ set ansi_nulls ongoset quoted_identifier on goset ansi_padding ongocreate table dbo.tb_booktype( id int identity(1,1) not null,typename varchar(20) not null, days int null,fk float null,constraint pk_tb_booktype primary key nonclustered(id asc)with(pad_index= off,statistics_norecompute= off,ignore_dup_key=off, allow_row_locks= on, allow_page_locks= on) on primary) on primarygoinsert into db_library.dbo.tb_booktype (typename,days,fk) values(,)goupdate db_library.dbo.tb_booktypeset typename = ,days = ,fk = where godelete from db_library.dbo.tb_booktypewhere go6.2 数据库初始化连接6.2.1library_java/* 主窗体*/public class library extends jframe private static final jdesktoppane desktop_pane = new jdesktoppane(); public static void main(string args) try uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname(); new bookloginiframe();/登录窗口 catch (exception ex) public library() super();setdefaultcloseoperation(windowconstants.exit_on_close);/setmodalexclusiontype(modalexclusiontype.application_exclude); setlocationbyplatform(true);setsize(800, 600);settitle( 图书馆管理系统);jmenubar menubar = createmenu(); /调用创建菜单栏的方法setjmenubar(menubar);jtoolbar toolbar = createtoolbar(); /调用创建工具栏的方法getcontentpane().add(toolbar, borderlayout.north); final jlabel label = new jlabel();label.setbounds(0, 0, 0, 0); label.seticon(null); /窗体背景desktop_pane.addcomponentlistener(new componentadapter() public void componentresized(final componentevent e) dimension size = e.getcomponent().getsize(); label.setsize(e.getcomponent().getsize(); label.settext(););desktop_pane.add(label,new integer(integer.min_value); getcontentpane().add(desktop_pane);* 创建工具栏 * return jtoolbarprivate jtoolbar createtoolbar() /创建工具栏的方法jtoolbar toolbar = new jtoolbar(); toolbar.setfloatable(false);toolbar.setborder(new bevelborder(bevelborder.raised);jbutton bookaddbutton=new jbutton(menuactions.book_add);/imageicon icon=createcdicon.add(bookadd.bmp);/创建图标方法imageicon icon=new imageicon(library.class.getresource(/bookaddtb.jpg);/添加菜单栏图标bookaddbutton.seticon(icon); bookaddbutton.sethideactiontext(true);/bookaddbutton.settooltiptext(fjdkjfk);/图片上提示字toolbar.add(bookaddbutton);/toolbar.add(menuactions.book_modify);/在工具栏中添加图书修改与删除图标jbutton bookmodianddelbutton=new jbutton(menuactions.book_modify);imageicon bookmodiicon=createcdicon.add(bookmodianddeltb.jpg);/创建图标方法bookmodianddelbutton.seticon(bookmodiicon); bookmodianddelbutton.sethideactiontext(true); toolbar.add(bookmodianddelbutton);jbutton booktypeaddbutton=new jbutton(menuactions.booktype_add);imageicon booktypeaddicon=createcdicon.add(booktypeaddtb.jpg);/创建图标方法booktypeaddbutton.seticon(booktypeaddicon); booktypeaddbutton.sethideactiontext(true); toolbar.add(booktypeaddbutton);jbutton bookborrowbutton=new jbutton(menuactions.borrow);imageicon bookborrowicon=createcdicon.add(bookborrowtb.jpg);/创建图标方法bookborrowbutton.seticon(bookborrowicon); bookborrowbutton.sethideactiontext(true); toolbar.add(bookborrowbutton);jbutton bookorderbutton=new jbutton(menuactions.newbook_order);imageicon bookordericon=createcdicon.add(bookordertb.jpg);/创建图标方法bookorderbutton.seticon(bookordericon); bookorderbutton.sethideactiontext(true); toolbar.add(bookorderbutton);jbutton bookcheckbutton=new jbutton(menuactions.newbook_check_accept);imageicon bookcheckicon=createcdicon.add(newbookchecktb.jpg);/创建图标方法bookcheckbutton.seticon(bookcheckicon); bookcheckbutton.sethideactiontext(true); toolbar.add(bookcheckbutton);jbutton readeraddbutton=new jbutton(menuactions.reader_add);imageicon readeraddicon=createcdicon.add(readeraddtb.jpg);/创建图标方法readeraddbutton.seticon(readeraddicon); readeraddbutton.sethideactiontext(true); toolbar.add(readeraddbutton);jbutton readermodianddelbutton=new jbutton(menuactions.reader_modify);imageicon readermodianddelicon=createcdicon.add(readermodianddeltb.jpg);/创建图标方法readermodianddelbutton.seticon(readermodianddelicon); readermodianddelbutton.sethideactiontext(true);toolbar.add(readermodianddelbutton);jbutton exitbutton=new jbutton(menuactions.exit);imageicon exiticon=createcdicon.add(exittb.jpg);/创建图标方法exitbutton.seticon(exiticon); exitbutton.sethideactiontext(true); toolbar.add(exitbutton);return toolbar;* 创建菜单栏*/private jmenubar createmenu() /创建菜单栏的方法jmenubar menubar = new jmenubar();jmenu bookordermenu = new jmenu(); /初始化新书订购管理菜单bookordermenu.seticon(createcdicon.add(xsdgcd.jpg); bookordermenu.add(menuactions.newbook_order);bookordermenu.add(menuactions.newbook_check_accept); jmenu basemenu = new jmenu();/初始化基础数据维护菜单menubar.add(basemenu); /添加基础数据维护菜单到菜单栏menubar.add(bookordermenu); /添加新书订购管理菜单到菜单栏menubar.add(borrowmanagemenu); /添加借阅管理菜单到菜单栏menubar.add(sysmanagemenu); /添加系统维护菜单到菜单栏return menubar;6.2.2login_javapublic class bookloginiframe extends jframe private class bookresetaction implements actionlistener void actionperformed(final actionevent e) username.settext();password.settext();class bookloginaction implements actionlistener public void actionperformed(final actionevent e) user = dao.check(username.gettext(), password.gettext(); if (user.getname() != null) try library frame = new library(); frame.setvisible(true); bookloginiframe.this.setvisible(false); catch (exception ex) ex.printstacktrace(); else joptionpane.showmessagedialog(null, 只有管理员才可以登录!); username.settext();password.settext();private jpasswordfield password; private jtextfield username; private jbutton login;private jbutton reset; private static operater user; public bookloginiframe() super();final borderlayout borderlayout = new borderlayout(); setdefaultcloseoperation(jframe.exit_on_close); borderlayout.setvgap(10); getcontentpane().setlayout(borderlayout);settitle( 图书馆管理系统登录);label.settext(用户名: ); username = new jtextfield(20);username.setpreferredsize(new dimension(0, 0); panel_2.add(username);final jlabel label_1 = new jlabel(); label_1.sethorizontalalignment(swingconstants.center); panel_2.add(label_1);label_1.settext(密码: ); password = new jpasswordfield(20);password.setdocument(new mydocument(6); password.setechochar(*);/设置密码框的回显字符password.addkeylistener(new keyadapter() public void keypressed(final keyevent e) if (e.getkeycode() = 10)login.doclick(););login.settext(登录 ); panel_1.add(login); reset=new jbutton();reset.addactionlistener(new bookresetaction();

温馨提示

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

评论

0/150

提交评论