版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录一.需求描述和系统边界数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,创建图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。该图书管理系统支持2类用户:管理员和读者。读者可以进行借阅、续借、归还和查询书籍等操作
2、,管理员可以完成书籍和读者的增加,删除和修改以及对读者,借阅、续借、归还的确认。二.需求分析1 .业务需求图书管理系统的主要业务包括:包括图书馆内书籍的信息,读者信息,以及借阅信息。此系统功能分为面向读者和面向管理员两部分,其中读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者的增加,删除和修改以及对读者,借阅、续借、归还的确认。2 .功能需求及数据需求分析(1)注册管理管理员注册。管理员注册时要求填写基本信息,包括管理员编号、姓名、性别、联系电话、家庭住址。系统检查所有信息填写正确后管理员注册成功。读者注册。读者注册时要求填写基本信息,包括读者编号、姓名、性别、联系电话、
3、学院等。系统检查所有信息填写正确后读者注册成功。(2)图书管理增加图书信息。当有新的图书入库时,管理员负责添加图书信息,包括书名、分类、图书编号、作者、出版社、出版时间、简介等。图书信息更新及删除。图书信息发布后,管理员可以随时更新和删除图书信息。(3)借阅图书读者登入图书管理系统之后,将需要的图书的信息输入,可以借阅图书。由管理员将图书信息修改为不在馆(4)续借图书读者借书之后,一个月后应归还。如有需要可以续借图书30天。此操作由管理员完成。(5)归还图书读者将已借图书归还给图书馆时,需要管理员确认信息。并将图书信息修改为在馆”3 .业务规则分析基于功能需求,通过进一步了解,图书管理业务需求
4、如下:(1)所有用户均可以搜索图书信息。但只有管理员可以对图书信息进行修改。(2)管理员由管理员编号唯一标识。(3)每位读者由读者编号唯一标识。(4)图书编号是图书的唯一标识。(5)借阅图书后需记录图书当前状态包括在馆、不在馆、已归还、未归还、是否续借。(6)同一图书分类中可以有多本图书,但是每本图书只能在一种个图书分类中。三.实体集及属性图3-1图书实体集E-R图图3-2管理员实体集E-R图图3-3读者实体集E-R图图3-4图书分类实体集E-R图四.联系集及E-R图五.逻辑数据库设计表3-1BookClass表3-2Book表3-3Reader表3-4Admin表3-5Borrow表3-6A
5、dmin_Book表3-7Admin_Reader六.数据库编程1 .创建表(1)创建图书分类表BookClassCREATETABLEBookClass(classNovarchar(3)notnull,classNamevarchar(20)null,CONSTRAINTBookClassPKPRIMARYKEY(classNo)(2)创建图书表BookCREATETABLEBook(bookNovarchar(20)not null ,classNovarchar(3)not null,bookNamevarchar(50)not null,authorvarchar(12)not nu
6、ll,publishNamevarchar(50),publishDatedatetime,introductionvarchar(200),15 / 16CONSTRAINTBookPKPRIMARYKEY(bookNo),CONSTRAINTBookPK1FOREIGNKEY(classNo)REFERENCESBookClass(classNo)(3)创建管理员表AdminCREATETABLEAdmin(adminNovarchar(12)not null,adminNamevarchar(12)not null,aSexvarchar(2)not null,aPhoneNumber
7、varchar(12)null,addressvarchar(40)null,CONSTRAINTAdminPKPRIMARYKEY(adminNo)(4)创建读者表ReaderCREATETABLEReader(readerNovarchar(12)notnull,readerNamevarchar(10)notnull,rSexvarchar(2)notnull,rPhoneNumbervarchar(12)null,institutevarchar(20)notnull,effectDatedatetime,lostEffectDatedatetime,breakRuleschar(2)
8、,borrowAddint,CONSTRAINTReaderPKPRIMARYKEY(readerNo)(5)创建借阅表BorrowCREATETABLEBorrow(adminNovarchar(12)notnull,bookNovarchar(20)notnull,readerNovarchar(12)notnull,borrowDatedatetimenotnull,shouldDatedatetimenotnull,renewalchar(4)notnull,CONSTRAINTBorrowPKPRIMARYKEY(adminNo,readerNo,bookNo),CONSTRAINT
9、BorrowPK1FOREIGNKEY(adminNo)REFERENCESAdmin(adminNo),CONSTRAINTBorrowPK2FOREIGNKEY(readerNo)REFERENCESReader(readerNo),CONSTRAINTBorrowPK3FOREIGNKEY(bookNo)REFERENCESBook(bookNo),)(6)创建管理员_图书表Admin_BookCREATETABLEAdmin_Book(adminNovarchar(12)notnull,bookNovarchar(20)notnull,shopTimedatetime,inLibrar
10、ychar(4)CONSTRAINTAdmin_BookPKPRIMARYKEY(adminNo,bookNo),CONSTRAINTAdmin_BookPK1FOREIGNKEY(adminNo)REFERENCESAdmin(adminNo),)(7)创建管理员_读者Admin_ReaderCREATETABLEAdmin_Reader(adminNovarchar(12)notnull,readerNovarchar(12)notnull,bookNovarchar(20)notnull,brCheckchar(4)notnull,CONSTRAINTAdmin_readerPKPRIM
11、ARYKEY(adminNo,readerNo,bookNo),CONSTRAINTAdmin_readerPK1FOREIGNKEY(adminNo)REFERENCESAdmin(adminNo),CONSTRAINTAdmin_readerPK2FOREIGNKEY(readerNo)REFERENCESReader(readerNo),CONSTRAINTAdmin_readerPK3FOREIGNKEY(bookNo)REFERENCESBook(bookNo)2 .创建触发器CreateTriggerRENEWOnBorrowforUpdateAsIfUpdate(renewal)
12、beginUpdateBorrowSetshouldDate=shouldDate+30WhereadminNo=1001end3 .管理员操作(1)注册INSERTINTOAdmin(adminNo,adminName,aSex,aPhoneNumber,address)VALUES(#adminNo,#adminName,#aSex,#aPhoneNumber,#address)(2)注销DELETEFROMAdminWHERE(adminNo=#adminNo);(3)修改个人信息UPDATEAdminSET(adminNo=#adminNo,adminName=#adminName,a
13、Sex=#aSex,aPhoneNumber#aPhoneNumber,address#address);(4)增加图书INSERTINTOBook(bookNo,classNo,bookName,author,publishName,publishDate,introduction)VALUES(#bookNo,#classNo,#bookName,#author,#publishName,#publishDate,#introduction)(5)删除图书DELETEFROMBookWHERE(bookNo=#bookNo)(6)修改图书信息UPDATEBook(bookNo=#bookN
14、o,classNo=#classNo,bookName=#bookName,author=#author,publishName=#publishName,publishDate=#publishDate,introduction=#introduction)(7)增加图书分类INSERTINTOBookClasSclassNo,classNameVALUES(#classNo,#className)(8)删除图书分类DELETEFROMBookClassWHERE(classNo=#classNo)(9)更新图书分类UPDATEBookClass(classNo=#classNo,class
15、Name=#className)4 .读者操作(1)注册INSERTINTOReader(readerNo,readerName,rSex,rPhoneNumber,institute,effectDate,lostEffectDate,breakRules,borrowAdd)VALUES(#readerNo,#readerName,#rSex,#rPhoneNumber,#institute,#effectDate,#lostEffectDate,#breakRules,#borrowAdd)(2)注销DELETEReaderWHERE(readerNo=#readerNo)(3)修改个人
16、信息UPDATEReaderSET(readerNo=#readerNo,readerName=#readerName,rSex=#rSex,rPhoneNumber=#rPhoneNumber,institute=#institute,effectDate=#effectDate,lostEffectDate=#lostEffectDate,breakRules=#breakRules,borrowAdd=#borrowAdd)(4)查询SELECT*FROMBookWHEREbookNo=#bookNoORbookName=#bookName5 .管理员对借阅关系的操作(1)插入读者的信息
17、INSERTINTOBorrow(adminNo,bookNo,readerNo,borrowDate,shouldDate,renewal)VALUES(#adminNo,#bookNo,#readerNo,#borrowDate,#shouldDate,#renewal)(2)更新信息更新借出信息UPDATEBorrowSET(borrowDate=#borrowDate,shouldDate=shouldDate+30,renewal=WHERE(adminNo=#adminNoANDreaderNo=#readerNoANDbookNo=#bookNo)UPDATEAdmin_Book
18、SET(inLibrary=0')WHERE(bookNo=#bookNo)UPDATAReaderSET(borrowAdd=borrowAdd+1)WHERE(readerNo=#readerNo)INSERTINTOAdmin_Reader(adminNo,readerNo,bookNo,brCheck)VALUES(#adminNo,#readerNo,#bookNo,#brCheck)更新续借信息UPDATEBorrowSET(renewal=#renewal)WHERE(adminNo=#adminNoANDreaderNo=#readerNoANDbookNo=#book
19、No)更新还书信息UPDATEAdmin_BookSET(inLibrary=1)WHERE(bookNo=#bookNo)UPDATEAdmin_ReaderSET(brCheck=')WHERE(adminNo=#adminNoANDreaderNo=#readerNoANDbookNo=#bookNo)七.代码实现1.输入数据设计(1)插入图书分类INSERTINTOBookClass(classNo,className)VALUES('C01'信息技术教材')INSERTINTOBookClass(classNo,className)VALUES(
20、9;C02'4卜说')INSERTINTOBookClass(classNo,className)VALUES('C03外语')INSERTINTOBookClass(classNo,className)VALUES('C04漫画')(2)插入管理员INSERTINTOAdmin(adminNo,adminName,aSex,aPhoneNumber,address)VALUES('1001'壬子','女','012345678','北京')(3)插入读者INSERTINTO
21、Reader(readerNo,readerName,rSex,rPhoneNumber,institute,effectDate,lostEffectDate,breakRules,borrowAdd)VALUES('11111'李瑞','男','123456789','软件','','','1','10')(4)插入图书INSERTINTOBook(bookNo,classNo,bookName,author,publishName,publishDate
22、,introduction)VALUES('S1234','C01数据库系统原理与设计,万常选',清华大学出版社','','数据库教程')INSERTINTOBook(bookNo,classNo,bookName,author,publishName,publishDate,introduction)VALUES('S1235','C01'JAVA|京','清华大学出版社JAVA基础教程')INSERTINTOBook(bookNo,classNo,bookName
23、,author,publishName,publishDate,introduction)VALUES('S1236','C0班楼梦,曹雪芹,清华大学出版社,",中国四大名著之一')INSERTINTOBook(bookNo,classNo,bookName,author,publishName,publishDate,introduction)VALUES('S1237','C0理语写作','刘平惠','浙江大学出版社,",基础英语写作教程)INSERTINTOBook(bookNo,
24、classNo,bookName,author,publishName,publishDate,introduction)VALUES('S1238','C04最漫画','郭敬明,长江出版社,",漫画连载')(5)插入管理员_书籍表INSERTINTOAdmin_Book(adminNo,bookNo,shopTime,inLibrary)VALUES('1001','S1234',",'0')INSERTINTOAdmin_Book(adminNo,bookNo,shopTim
25、e,inLibrary)VALUES('1001','S1235',",'1')(6)插入借阅信息INSERTINTOBorrow(adminNo,bookNo,readerNo,borrowDate,shouldDate,renewal)VALUES('1001','S1234','11111',",",'0')INSERTINTOAdmin_Reader(adminNo,readerNo,bookNo,brCheck)VALUES('1001
26、','11111','S1234','0')2.完成借阅、续借、归还的操作设计假设读者想借书籍名为java且不知道bookNo(1)借阅操作如下:if(selectbookNamefromBookwherebookNo='S1235')='JAVA')beginINSERTINTOBorrow(adminNo,bookNo,readerNo,borrowDate,shouldDate,renewal)VALUES('1001','S1235','11111'J
27、J,'0')UPDATEAdmin_BookSETinLibrary='0'WHEREbookNo='S1235'UPDATEReaderSETborrowAdd=borrowAdd+1WHEREreaderNo='11111'INSERTINTOAdmin_Reader(adminNo,readerNo,bookNo,brCheck)VALUES('1001','11111','S1235','0')print'借阅成功!endelseprint'借阅失败!(2)续借操作如下:if(SELECTrenewalFROM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地磅房内部考核制度
- 城投公司内部管理控制制度
- 大厂内部考核制度模板
- 大学生内部社团管理制度
- 大队部内部运行工作制度
- 存货内部转移制度
- 服装厂内部车间管理制度
- 村居内部工作制度
- 格力内部卖家管理制度
- 歌舞团内部演制度
- 办公楼安全教育培训课件
- 基于可穿戴设备的运动员训练负荷优化策略
- 2026年江西工业工程职业技术学院单招综合素质考试题库参考答案详解
- 2026年人教版数学五年级下册教学计划(含进度表)
- 2026年江西信息应用职业技术学院单招职业适应性测试题库附答案
- 2025年10月自考14658政治经济学(中级).试题及答案
- 患者营养状况评估
- 2025至2030中国健康体检行业市场发展态势及有效策略与实施路径评估报告
- 2026年湖南生物机电职业技术学院单招职业技能考试题库附答案
- 2026年烟台汽车工程职业学院单招综合素质考试题库附答案
- 2025-2026学年高考历史二轮精准复习:历史统编版选择性必修1-3二轮专题复习知识清单
评论
0/150
提交评论