数据库大作业.docx

上传人:b****5 文档编号:8567651 上传时间:2023-01-31 格式:DOCX 页数:16 大小:235.67KB
下载 相关 举报
数据库大作业.docx_第1页
第1页 / 共16页
数据库大作业.docx_第2页
第2页 / 共16页
数据库大作业.docx_第3页
第3页 / 共16页
数据库大作业.docx_第4页
第4页 / 共16页
数据库大作业.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数据库大作业.docx

《数据库大作业.docx》由会员分享,可在线阅读,更多相关《数据库大作业.docx(16页珍藏版)》请在冰豆网上搜索。

数据库大作业.docx

数据库大作业

目录

1.项目设计目的与内容3

1.1目的3

2.方案图表设计3

2.1E-R图3

3.数据库源代码5

3.1数据库建立6

3.2数据初始化7

4.结果数据处理10

4.1单表查询10

4.2还书操作12

4.3借书操作13

4.4书籍状态14

4.5读者状态15

5.结束语16

5.1课程设计心得16

图书库存管理系统

一、实验目的及内容

目的:

1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。

2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。

3.培养把所学知识运用到具体对象,并能求出解决方案的能力。

二、图书管理系统E-R图:

2.1E-R图

根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。

图书管理信息系统可以划分的实体有:

书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。

用E-R图一一描述这些实体。

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',

FILENAME='d:

\librarysystem.ldf',

SIZE=5MB,

MAXSIZE=25MB,

FILEGROWTH=5MB)

GO

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

(bookidvarchar(20)primarykey,

readeridvarchar(9),

returndatedatetime,

foreignkey(bookid)referencessystem_books(bookid),

foreignkey(readerid)referencessystem_readers(readerid)

3.2数据初始化

3.2.1将书籍类别加入表book_style中

insertintobook_style(bookstyleno,bookstyle)values('1','人文艺术类')

insertintobook_style(bookstyleno,bookstyle)values('2','自然科学类')

insertintobook_style(bookstyleno,bookstyle)values('3','社会科学类')

insertintobook_style(bookstyleno,bookstyle)values('4','图片艺术类')

insertintobook_style(bookstyleno,bookstyle)values('5','政治经济类')

insertintobook_style(bookstyleno,bookstyle)values('6','工程技术类')

insertintobook_style(bookstyleno,bookstyle)values('7','语言技能类')

 

3.2.2将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('00125415153','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('015115','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('1514514','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('15154656','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','1');

insert

intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('5658','影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');

insertinto

system_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('565800020','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');

3.2.3将已有图书证的读者加入system_readers表中*/

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('X05620207','陈远鹏','男','学生','2005-9-2314:

23:

56')

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('X05620206','陈特','男','学生','2005-09-3013:

24:

54.623')

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('X05620204','赵铭静','女','学生','2005-09-2711:

24:

54.123')

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('X05620202','潘虹','女','学生','2005-09-3013:

24:

54.473')

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('008415','蒋伟','男','教师','2004-04-3009:

24:

54.478')

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('001456','李叶风','女','教师','2004-04-3009:

24:

54.478')

3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*/

insertintoborrow_record(bookid,readerid,borrowdate)

values('00125415152','X05620202','2007-09-2711:

24:

54.123')

updatesystem_books

setisborrowed=0

wherebookid='00125415152'

insertintoborrow_record(bookid,readerid,borrowdate)

values('00125415153','X05620206','2007-12-2708:

26:

51.452')

updatesystem_books

setisborrowed=0

wherebookid='00125415153'andisborrowed='1'

insertintoborrow_record(bookid,readerid,borrowdate)

values('5455515','X05620207','2007-12-2708:

26:

51.452')

updatesystem_books

setisborrowed=0

wherebookid='5455515'andisborrowed='1'

insertintoborrow_record(bookid,readerid,borrowdate)

values('015115','X05620204','2007-10-2112:

11:

51.452')

updatesystem_books

setisborrowed=0

wherebookid='015115'andisborrowed='1'

insertintoborrow_record(bookid,readerid,borrowdate)

values('15154656','001456','2007-12-2814:

11:

51.312')

updatesystem_books

setisborrowed=0

wherebookid='15154656'andisborrowed='1'

insertintoborrow_record(bookid,readerid,borrowdate)

values('565800020','008415','2007-08-2815:

11:

31.512')

updatesystem_books

setisborrowed=0

wherebookid='565800020'andisborrowed='1'

 

四、实验数据示例:

测试阶段

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

wherebookid='565800020'

(所影响的行数为1行)

delete

fromborrow_record

wherebookid='565800020'

(所影响的行数为1行)

updatesystem_books

setisborrowed=1

wherebookid='565800020'

(所影响的行数为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申请借书证:

SQL语言:

Insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('X05620211','小华','男','学生',getdate())

图4-10

说明:

查询相应的纪录增加了小华这样一个读者的借书证纪录:

4.3.4注销借书证:

说明:

1.在注销之前执行所有的还书过程,就是上面写到的所述SQL语句,然后执行

deletefromsystem_readerswherereaderid='X05620211',

2.小华借书证纪录就被删除了,同时要删除和小华归还纪录的内容

deletefromreturn_recordwherereaderid='X05620211',

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

 

五、课程设计心得

在大二的下学期我们学校了数据库这门课,对这门课的第一印象就是书本不厚,感觉学起来应该会很轻松。

但随着这门课学习的深入,我发现这门课并不是那么容易的,涉及的范围比较广,而且有的时候,使用不同的方法解题往往会发现,原来那样做这么简单,所以,针对不同的情况要具体分析,千万不要生搬硬套,这样虽然可能也会达到最终的效果,但是会使解题过程太过复杂,往往会造成事倍功半的后果。

同样,通过这次数据库课程设计,我也是受益匪浅。

从搜集资料到完成,差不多花了两个星期的时间,其实这个图书库存管理系统不是很难,但是,里面涉及到了一些上课没有涉及到的,后来去查找资料,才发现原来我们上课时学习的只是一些皮毛,还有许多需要我们掌握的东西我们根本不知道。

同时也发现有很多已经学过的东西我们没有理解到位,不能灵活的运用于实际,不能很好的解决问题,而这一点恰恰需要我们不断的大量的实践,通过不断的学习,不断的发现问题,思考问题,进而解决问题。

这是一个温故知新的过程。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1