数据库大作业Word文档格式.docx
《数据库大作业Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库大作业Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
2.1.1类别实体E-R图:
图2-1类别实体E-R图
2.1.2读者信息实体E-R图:
图2-2读者信息实体E-R图
2.1.3信息实体E-R图:
图2-3信息实体E-R图
2.1.4.记录信息实体E-R图:
图2-4记录信息实体E-R图
2.1.5记录信息实体E-R图:
图2-5记录信息实体E-R图
2.1.5.总的信息实体E-R图:
总的信息实体E-R图
三、数据库源代码
3.1数据库建立
3.1.1创建数据库
USEmaster
GO
CREATEDATABASElibrarysystem
ON
(NAME=librarysystem,
FILENAME='
d:
\librarysystem.mdf'
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)
LOGON
(NAME='
library'
\librarysystem.ldf'
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB)
3.1.2书本类别表建立
createtablebook_style
(
bookstylenovarchar(30)primarykey,
bookstylevarchar(30)
)
3.1.3创建书库表
createtablesystem_books
bookidvarchar(20)primarykey,
booknamevarchar(30)Notnull,
bookstylenovarchar(30)Notnull,
bookauthorvarchar(30),
bookpubvarchar(30),
bookpubdatedatetime,
bookindatedatetime,
isborrowedvarchar
(2),
foreignkey(bookstyleno)referencesbook_style(bookstyleno),
3.1.4借书证表建立
createtablesystem_readers
(readeridvarchar(9)primarykey,
readernamevarchar(9)notnull,
readersexvarchar
(2)notnull,
readertypevarchar(10),
regdatedatetime
3.1.5借书记录表建立
createtableborrow_record
(bookidvarchar(20)primarykey,
readeridvarchar(9),
borrowdatedatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid),
3.1.6还书记录表建立
createtablereturn_record
returndatedatetime,
foreignkey(readerid)referencessystem_readers(readerid)
3.2数据初始化
3.2.1将书籍类别加入表book_style中
insertintobook_style(bookstyleno,bookstyle)values('
1'
'
人文艺术类'
)
2'
自然科学类'
3'
社会科学类'
4'
图片艺术类'
5'
政治经济类'
6'
工程技术类'
7'
语言技能类'
3.2.2将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('
00125415152'
计算机组成原理'
王爱英'
清华大学出版社'
2001-01-03'
2003-11-15'
);
insert
00125415153'
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
00456456'
数据库原理'
萨师煊'
高等教育出版社'
2007-07-02'
2007-09-15'
12215121'
C程序设计'
谭浩强'
2002-04-02'
2004-03-14'
9787308020558'
计算机体系结构'
石教英'
浙江大学出版社'
2004-10-03'
2006-11-15'
45456141414'
数据结构(C语言版)'
吴伟民,严蔚敏'
2002-06-28'
2004-01-21'
5455515'
中华历史5000年'
吴强'
北京大学出版社'
2005-04-03'
2006-05-15'
015115'
古代埃及'
赵文华'
2001-02-02'
2002-09-15'
1514514'
日本文化'
吴小鹏'
15154656'
微观经济学'
李小刚'
2000-10-03'
2001-11-15'
5658'
影视文学'
苏庆东'
1999-02-28'
2000-01-21'
insertinto
system_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
565800020'
探索宇宙奥秘'
3.2.3将已有图书证的读者加入system_readers表中*/
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
X05620207'
陈远鹏'
男'
学生'
2005-9-2314:
23:
56'
X05620206'
陈特'
2005-09-3013:
24:
54.623'
X05620204'
赵铭静'
女'
2005-09-2711:
54.123'
X05620202'
潘虹'
54.473'
008415'
蒋伟'
教师'
2004-04-3009:
54.478'
001456'
李叶风'
3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*/
insertintoborrow_record(bookid,readerid,borrowdate)
2007-09-2711:
updatesystem_books
setisborrowed=0
wherebookid='
2007-12-2708:
26:
51.452'
andisborrowed='
2007-10-2112:
11:
2007-12-2814:
51.312'
2007-08-2815:
31.512'
四、实验数据示例:
测试阶段
4.1单表查询
4.1.1表book_style中查询演示:
图4-1表book_style中内容
4.1.2表system_books中查询演示:
图4-2表system_books中内容
4.1.3将已有图书证的读者加入system_readers表中结果查询:
图4-3表system_readers中内容
4.1.4借书纪录表borrow_record结果查询:
图4-4表borrow_record中内容
4.2还书操作
4.2.1现在对某一读者进行还书操作:
1.首先还书要在还书纪录中添加一条还书纪录
2.其次删除相应书本的借阅纪录
3.最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅
说明:
学号为X05620207姓名为陈远鹏借阅的565800020书籍编号进行归还。
SQL语言:
insertintoreturn_record(bookid,readerid,returndate)
selectbookid,readerid,getdate()
fromborrow_record
(所影响的行数为1行)
delete
setisborrowed=1
三个表的结果如图:
图4-5增加了565800020纪录
图4-6565800020这本书在借书纪录里没有了
图4-7标记设为了‘1’
这本书重新回到未被借出标记为1(注,相同的书其编号是不同的)
其结果为还书成功,相应的各表都有变化,对于罚款单通过借阅记录表borrow_record中更新。
4.3借书操作
4.3.1查询未被借出的书本:
图4-8
4.3.2查询已被借出的书本:
图4-9
4.3.3申请借书证:
Insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
X05620211'
小华'
getdate())
图4-10
查询相应的纪录增加了小华这样一个读者的借书证纪录:
4.3.4注销借书证:
1.在注销之前执行所有的还书过程,就是上面写到的所述SQL语句,然后执行
deletefromsystem_readerswherereaderid='
X05620211'
2.小华借书证纪录就被删除了,同时要删除和小华归还纪录的内容
deletefromreturn_recordwherereaderid='
4.3.5查询所有书所对应的类别:
图4-11
4.4书籍状态
4.4.1查询所有工技术类的书:
图4-12
4.4.2查询清华大学出版社出版的书:
图4-13
4.5读者状态
4.5.1查询什么人借了什么书:
图4-14
4.5.2查询潘虹借了什么书:
图4-15
五、课程设计心得
在大二的下学期我们学校了数据库这门课,对这门课的第一印象就是书本不厚,感觉学起来应该会很轻松。
但随着这门课学习的深入,我发现这门课并不是那么容易的,涉及的范围比较广,而且有的时候,使用不同的方法解题往往会发现,原来那样做这么简单,所以,针对不同的情况要具体分析,千万不要生搬硬套,这样虽然可能也会达到最终的效果,但是会使解题过程太过复杂,往往会造成事倍功半的后果。
同样,通过这次数据库课程设计,我也是受益匪浅。
从搜集资料到完成,差不多花了两个星期的时间,其实这个图书库存管理系统不是很难,但是,里面涉及到了一些上课没有涉及到的,后来去查找资料,才发现原来我们上课时学习的只是一些皮毛,还有许多需要我们掌握的东西我们根本不知道。
同时也发现有很多已经学过的东西我们没有理解到位,不能灵活的运用于实际,不能很好的解决问题,而这一点恰恰需要我们不断的大量的实践,通过不断的学习,不断的发现问题,思考问题,进而解决问题。
这是一个温故知新的过程。