关于图书馆管理系统的Mysql设计报告.docx
- 文档编号:18152351
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:13
- 大小:157.48KB
关于图书馆管理系统的Mysql设计报告.docx
《关于图书馆管理系统的Mysql设计报告.docx》由会员分享,可在线阅读,更多相关《关于图书馆管理系统的Mysql设计报告.docx(13页珍藏版)》请在冰点文库上搜索。
关于图书馆管理系统的Mysql设计报告
《高级数据库系统(MYSQL)》
课程设计报告
课题:
图书馆管理系统
班级:
计科N141
姓名:
xxx
学号:
1
一.课程设计目的
数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的:
1.熟练掌握一种数据库系统(如MYSQL)的使用。
2.熟练掌握一种数据库应用软件开发工具的使用。
3.通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
二.系统设计
1.系统的功能分析
a.图书信息管理:
图书信息的插入、修改,编号、书名、作者、价格、、出版日期、在馆状态。
管理员用户可以对图书信息进行修改等操作。
读者用户只可以查询图书信息。
b.读者信息管理:
读者信息:
账号、密码、读者编号、读者姓名、读者类别编号、联系电话。
管理员对读者信息进行增加、删除、查询及修改等操作。
读者只能对读者信息进行查询操作。
c.管理员信息管理。
管理员信息:
管理员工作号、、、备注。
管理员对管理员信息的添加删除修改等操作。
d.图书借阅管理。
借阅信息:
管理员工作号、ISBN、读者编号、借书日期、还书日期。
2.系统的功能模块设计
对上述功能进行集中分析、分块,按照结构化程序设计的要求,得到功能模块图如图2-2-1:
图2-2-1功能模块图
三.课程设计说明书
1.需求分析
(1)数据库需求分析
通过对图书馆管理过程的内容和数据流程分析,设计如下的数据项和数据结构。
系统的实体集和实体属性:
图书信息:
ISBN、书名、管理员工作号、作者、价格、、出版日期、在馆状态、简介、备注。
读者信息:
读者编号、读者姓名、读者性别、读者类别编号、联系电话、生效时间、失效时间、违章状况、已借数目、备注。
管理员信息:
管理员工作号、、性别、、住址、备注。
(2)图书馆管理流程图
图1-1图书馆流程图
2.概要设计
实体图及E-R图
根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:
书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
用E-R图一一描述这些实体。
E-R图
实体属性图
四.逻辑设计
1.图书信息表
列名(字段名)
数据类型与长度
空否
说明
Bno
char(8)
否
主键
Category
char(10)
否
Title
varchar(40)
否
Press
varchar(30)
否
Year
Int(11)
否
Author
varchar(20)
否
Price
Decimal(7,2)
否
total
Int(11)
否
Stock
Int(11)
否
2.借阅表
列名(字段名)
数据类型与长度
空否
说明
Cno
char(7)
否
外键
Bno
char(8)
否
外键
Borrow_date
datetime
否
Return_date
datetime
否
3.借阅卡表
列名(字段名)
数据类型与长度
空否
说明
Cno
char(7)
否
主键
Name
varchar(40)
否
Department
varchar(30)
否
Type
varchar(10)
否
4.用户表
列名(字段名)
数据类型与长度
空否
说明
Id
char(10)
否
主键
Password
varchar(10)
否
Username
varchar(10)
否
Tle
varchar(11)
否
Userflag
Int(11)
否
五.物理设计
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
1.建立索引:
①对book表在bno属性列上建立聚集索引。
②对card表在cno上建立聚集索引。
2.存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。
所以系统将日志文件和数据文件存放在不同磁盘上。
六.数据库建立
1.创建图书信息表
CREATETABLE`book`(
`bno`char(8)NOTNULL,
`category`char(10)NOTNULL,
`title`varchar(40)NOTNULL,
`press`varchar(30)NOTNULL,
`year`int(11)NOTNULL,
`author`varchar(20)NOTNULL,
`price`decimal(7,2)NOTNULL,
`total`int(11)NOTNULL,
`stock`int(11)NOTNULL,
PRIMARYKEY(`bno`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
2.创建借阅表
CREATETABLE`borrow`(
`cno`char(7)NOTNULL,
`bno`char(8)NOTNULL,
`borrow_date`datetimeNOTNULL,
`return_date`datetimeNOTNULL,
KEY`library_cno`(`cno`),
KEY`library_bno`(`bno`),
CONSTRAINT`library_bno`FOREIGNKEY(`bno`)
REFERENCES`book`(`bno`)ONDELETECASCADEONUPDATECASCADE,
CONSTRAINT`library_cno`FOREIGNKEY(`cno`)
REFERENCES`card`(`cno`)ONDELETENOACTIONONUPDATENOACTION
)ENGINE=InnoDBDEFAULTCHARSET=utf8
3.用户信息表
CREATETABLE`users`(
`id`char(10)NOTNULL,
`password`varchar(10)NOTNULL,
`username`varchar(10)NOTNULL,
`tle`varchar(11)DEFAULTNULL,
`userflag`int(11)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
4.借书卡信息表
CREATETABLE`card`(
`cno`char(7)NOTNULL,
`name`varchar(40)NOTNULL,
`department`varchar(30)NOTNULL,
`type`varchar(10)NOTNULL,
PRIMARYKEY(`cno`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
七.系统功能实施需要的语句
/*用户信息表*/
/*添加记录*/
INSERTINTO`library`.`users`(`id`,`password`,`username`,`tle`,`userflag`)VALUES('0000000001','1234','张三','','1')
INSERTINTO`library`.`users`(`id`,`password`,`username`,`tle`,`userflag`)VALUES('0000000002','1234','李四','','2')
INSERTINTO`library`.`users`(`id`,`password`,`username`,`tle`,`userflag`)VALUES('0000000003','1234','王五','','3')
/*修改记录*/
UPDATE `library`.`users` SET `username` = '赵六' WHERE `users`.`id` = '0000000001';
/*删除记录*/
deletefromusers
whereid='0000000001'
/*查询记录*/
select*fromusers
/*借阅表*/
INSERTINTO`library`.`borrow`(`cno`,`bno`,`borrow_date`,`return_date`)VALUES('0000001','003','2017-06-1516:
38:
15','');
/*修改记录*/
updateborrow
setreturn_date='2017-7-14'
wherebno='003'
/*删除记录*/
deletefromborrow
wherebno='003'
/*查询记录*/
select*fromborrow
/*图书信息表*/
/*添加记录*/
INSERTINTO`library`.`book`(`bno`,`category`,`title`,`press`,`year`,`author`,`price`,`total`,`stock`)VALUES('001','舞蹈','极乐净土','bilibili出版社','2015','98','3.00','3','3')
INSERTINTO`library`.`book`(`bno`,`category`,`title`,`press`,`year`,`author`,`price`,`total`,`stock`)VALUES('002','曲谱','九九八十一','bilibili出版社','2016','洛天依','2.00','2','1')
INSERTINTO`library`.`book`(`bno`,`category`,`title`,`press`,`year`,`author`,`price`,`total`,`stock`)VALUES('003','小说','诸葛村夫与王司徒的爱情故事','bilibili出版社','2015','7.5','1.00','1','1')
INSERTINTO`library`.`book`(`bno`,`category`,`title`,`press`,`year`,`author`,`price`,`total`,`stock`)VALUES('004','动漫','某科学的超电磁炮','bilibili出版社','2010','炮姐','73.00','4','4')
/*修改记录*/
UPDATE`library`.`book`SET`author`='麻麻这三个人要撩我'WHERE`book`.`bno`='001';/*删除记录*/
deletefrombook
wherebno='001'
/*查询记录*/
select*frombook
/*视图*/
createview读者查询
asselect读者姓名,联系电话,生效时间
from读者信息表
where违章状况='无'
/*存储过程*/
CREATEDEFINER=`root``localhost`PROCEDURE`users_procedure`(INP_nameINT,INP_pwdINT)
BEGIN
selectname
fromusers
wherename=p_name;
END
八.数据库的完整性要求
通过各种约束,默认值,规则和触发器实现数据的完整性。
由于学生管理系统的重要性和各个数据之间的复杂相关性,保证数据的完整性很重要,不能随便删除、修改数据。
1、通过check约束保证成绩输入的正确性。
2、通过各种外键保证数据的完整性,不能随便删除数据。
外键在建表时列出(见后)。
3、通过主键保证实体的完整性。
外键在建表时列出(见后)。
4、创建触发器,保证在添加借阅信息时,自动将该借阅的书籍在馆状态改为否。
创建触发器,保证在添加借阅信息时,自动将该读者的已借数目累计加1。
也可以通过其他方法保证数据的完整性。
九.数据库安全设计
1、本数据库的角色成员有:
管理员(系统管理员、学校及系领导)、读者。
2、管理员将授予数据库的所有权限,读者只有查询本人信息绩的权限和查询图书信息权限。
十.课程设计心得体会
在本次课程设计的软件开发的过程中,学习了很多有关的知识。
这样的项目对我学过的数据结构,程序设计,数据库,软件工程等课程是一个综合性很高的实践。
由于部分相关知识有些模糊,所以在一开始实践的过程中比较困难。
但通过翻看有关的教科书,经过一段时间的钻研,就熟悉了数据库设计的每一个过程。
另外我还充分体会了从事软件开发工作需要特别严谨认真的态度和作风,一点都马虎不得。
每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误得不到解决,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。
有时候,我自己觉得我写的程序非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。
这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没办法了就到相关博客论坛上找解决方案。
在开始编写程序的时候,我看到别人的软件功能非常的详细,而且界面非常的漂亮,总希望自己的软件也非常的完善,但是,在自己设计实践的过程中,发现编一个优秀的软件决不是一蹴而就的事情,需要长时间的积累和经验。
我认清自己的能力后,我就特别注意在工作的过程中不贪图大而全,而是根据自己的能力,制定适当的目标。
在反复学习及寻求他人帮助之下,我的辛勤努力有了回报,终于做出了一个简单的软件,虽然这个软件的功能非常的简单,而且我想,在实际的运用中,还有些不足。
因为图书管理牵涉的内容非常很多,我涉及到的仅仅是图书管理的一部分简单内容,离实际的客户需求肯定还有一定的差距。
例如用户管理和借还书处理等考虑得还不完善。
最好是这几部分之间的数据可以相互利用转化,不需要重复的输入有关的数据。
针对图书管理,还应该建立一个有普遍意义的模型,这样对用户来说,就比较容易通过修改有关管理制度来适应我们开发的软件。
由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,界面不够醒目等问题,我会在工作的使用过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。
在本系统的设计过程和课程设计报告的编写过程中,老师和同学都给予了我许多无私的帮助,在这里,我向这些无私帮助我的人表示衷心的感谢。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关于 图书馆 管理 系统 Mysql 设计 报告