资源描述:
《数据库图书管理简单实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图书数据库设计--------------------------------一.需求分析近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现一系列的问题。因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。使图书管理者便于对图书和读者的管理。本系统主要实现对图书馆信息的管理,
2、主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。二.概念设计系统E-R图E—R图一.逻辑设计关系模式图一.系统功能分析1)建表#新建borrowPerson表createtableborrowPerson(IDvarchar(15)PRIMARYkey,namevarchar(15)notn
3、ull,sexvarchar(5)check(sexin('男','女')),identityvarchar(10)check(identityin('学生','教师','其他')),phonevarchar(20),locationvarchar(50))#新建bookNumber表createtablebooknumber(ISBNvarchar(30)primarykeycheck(ISBNlike'%-%-%-%'),countintcheck(count>=0))#新建book表cre
4、atetablebook(B_IDvarchar(20)primarykey,ISBNvarchar(30)notnullreferencesbooknumber,B_namevarchar(50)notnull,authorvarchar(50)notnull,familyvarchar(20)notnull,pricefloat(2)default0.00)#新建borrow表createtableborrow(B_IDvarchar(20)primarykeyreferencesbook,
5、IDvarchar(15)notnullreferencesborrowPerson,dateDatetimenotnull)#新建publisher表createtablepublisher(P_namevarchar(50)primarykey,locationvarchar(50)notnull,telenumbervarchar(20))#新建publish表createtablepublish(P_namevarchar(50)notnullreferencespublisher,B_
6、IDvarchar(20)notnullreferencesbook,datedatetime,primarykey(P_name,B_ID))1)建视图#新建各种数的借阅情况视图createviewborrow_of_details(book_name,borrowed_num,nbrrow_num,total_num)asselectB_name,count(B_ID)-count,count,count(B_ID)frombooknaturaljoinbooknumbergroupbyB_
7、name,count#视图2,书的详情createviewbook_details(Book_name,Book_publisher,Book_price,ISBN)asselectB_name,P_name,price,ISBNfrombooknaturaljoinpublish#视图3,借书人的详情createviewborrowperson_details(b_ID,b_name,b_sex,b_identity)asselectID,name,sex,identityfromborrow
8、person#视图4,出版社createviewpublish_details(pu_name,pu_number,pu_location)asselectP_name,telenumber,locationfrompublisher1)查询#找出所有在2015年前借了书的人的名字selectnamefromborrowpersonnaturaljoinborrownaturaljoinbookwheredate<2015#找出所有刚好借走了同一种书的最后一本数的人的名字和身份selectnam