




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
案例数据库管理系统综合应用-- 第一篇:案例数据库管理系统综合应用--实验十二数据库管理系统综合应用-------图书管理系统系统一、实验目的:通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握所讲解的内容。二、实验简述:一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加、删除和修改以及学生借阅、续借、归还的确认。三、实验要求:完成该系统的数据库设计;用SQL实现数据库的设计,并在SQLServer上调试通过。四、参考答案:1、需求分析(1)学生学生的操作流程如图B.1所示。登录查询书籍预定书籍续借书籍注销图B.1学生操作分类表(2)管理员管理员可完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认,其操作流程如图B.2所示。登录书籍信息维护学生信息维护借阅图书确认归还图书确认注销图B.2管理员操作分类表2、概念模型设计数据库需要表述的信息有以下几种:(1)图书信息(2)学生信息(3)管理员信息(4)学生预定图书信息(5)学生借阅归还图书信息可以用E/R模型表述该模型的设计,E/R图如图B.3所示。姓名学号学生预定续借系别书号借阅作者出版社图书书名归还语种出版年管理员编号姓名图B.3模型的E-R图3、逻辑设计通过E/R模型到关系模型的转化,可以得到如下关系模式:(1)Book(BookID,Title,Author,Publisher,Pyear,Language)(2)Student(ID,Name,Dept)(3)Assistent(ID,Name)(4)BBook(BookID,StdID,BDate)(5)RBook(BookID,StdID,RDate)(6)Lend(StdID,AstID,BookID,LDate)2(7)Return(StdID,AstID,BookID,RDate)说明(1)书号是图书的键码,每本书有惟一的书号,一个学生可同时借阅多本书。一个管理员可处理多个同学的借阅等事宜。(2)一般情况下,学生、管理员和图书之间的联系为1:1:n,借书关系Lend作为连接关系,其键码为n端实体集的键码,即书号为借书关系的键码。这反映了如果还书时也把当初的借书记录删除,则书号就能惟一识别一个元组。如果还书时不同时删除借书记录,则意味着同一本书前后可借给不同的学生,于是学生、管理员和图书之间的联系变为m:1:n,这时借书关系的键码为书号和学号的组合。如果在不删除借书记录的情况下,同一学生再次借同一本书,这时,学生、管理员和图书之间的联系变为m:p:n,于是,借书关系的键码为书号、学号和管理员号的组合。但这里有一个隐含的信息,即同一学生前后两次借同一本书所遇到的管理员不同,而这种不同可能仅仅是“日期”不同。因此,借书日期成了必不可少的成分,也就是说,在这种情况下,属性全集才是借书关系的键码。总之,借书关系的键码与图书管理模式有关,读者可按照自己的理解确定键码,并编写相应的事务处理流程。其他关系也有类似之处。(3)要知道图书当前的状态,是在图书馆存放,还是被借阅等,需要在Book的模式中增加对应项用以表示图书当前的状态。比如我们增加State,并且约定取值和状态的对应关系如下:1)在图书馆中并且没有被预定2)在图书馆中并且已被除数预定3)被借出并且没能被预定4)被借出并且已被预定4、物理设计为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引。下面是各表中建立索引的表项:Book(BookID)Student(ID)5、用SQL实现设计(1)建立Book表CREATETABLEBook(BookIDvarchar(20)PRIMARYKEY,Titlevarchar(50)NOTNULL,Authorvarchar(50),Publishervarchar(50),Pyearchar(4),Languagechar(1)DEFAULT’c’,Statechar(1)DEFAULT’0’);(2)建立Student表CREATETABLEStudent3(IDvarchar(6)PRIMARYKEY,Namevarchar(20)NOTNULL,Deptvarchar(20)NOTNULL);(3)建立Assistent表CREATETABLEAssistent(IDvarchar(6)PRIMARYKEY,Namevarchar(20)NOTNULL,);(4)建立BBook表CREATETABLEBBook(BIDvarchar(20)NOTNULL,StdIDvarchar(6)NOTNULL,BD

是你****元呀
实名认证
内容提供者


最近下载