SQLServer图书管理系统课程设计.docx
《SQLServer图书管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《SQLServer图书管理系统课程设计.docx(14页珍藏版)》请在冰点文库上搜索。
![SQLServer图书管理系统课程设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/f1b904a5-4e5c-4e6c-8df4-3cebdeb1ba98/f1b904a5-4e5c-4e6c-8df4-3cebdeb1ba981.gif)
SQLServer图书管理系统课程设计
SQL-Server-2005图书管理系统课程设计
《SQLServe数据库》
课程设计
本系统主要任务就是对图书、读者、员工、借阅信息、查询进行
统一管理,满足各类用户的需求。
本系统在功能上要实现借阅图
书、续借图书、归还图书、催还图书、信息查询等功能。
一.数据库分析
图书管理系统就是要求图书管理人员通过该系统对图书、读
者、员工、借阅信息等进行统一管理,从而实现功能上的借阅图书、
续借图书、归还图书、催还图书以及信息查询。
这就要求管理人员
能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储
过程的建立以及用户自定义函数的建立等等这些管理数据库的方法
都能对图书馆里系统的管理起到事半功倍的效果。
二.数据库设计部分
(1)实体、联系、属性及E_R图。
根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图。
1.实体、联系
实体:
图书信息,借阅书籍,归还书籍,借阅人,员工
联系:
借阅信息,管理信息
图书信息与借阅书籍、归还书籍及借阅人之间的联系是借阅信息。
图书信息与员工之间的联系是管理信息。
2,图书管理系统E-R图模型
图书管理系统E_R图模型
图书证号
能否借书
图书信息
图书编号
书名
定价
书号
类别
入库时间
库存量
借阅信息
管理
借阅人
员工
借书时间
图书编号
姓名
电话
班级
编号
姓名
是否在库
存放位置
登记日期
性别
图书证号
是否续借
已借书数目
实还时间
图书证号
图书编号
值日时间
联系方式
m
n
m
n
借阅书籍
图书编号
图书证号
书名
归还书籍
图书编号
书名
n
n
3,关系模式
图书信息(图书编号,书名,书号,类别,定价,入库时间,库存量)
借阅信息(借书时间,应还时间,图书编号,是否续借)
借阅人(图书证号,姓名,电话,已借书数目,能否借书,单位名称)
借阅书籍(图书编号,图书证号,书名)
归还书籍(图书编号,图书证号,书名)
管理信息(图书编号,图书证号,登记借书日期,是否在库,存放位置)
员工(员工编号,姓名,性别,值日时间,联系方式)
(2)表设计及表结构
1,需要的表有:
图书信息表,借阅信息表,借阅人表,借阅书籍表,归还书籍表,管理信息表,员工表。
2,以下为各表的表结构
图书信息表结构
列名
数据类型
长度
是否允许为空
默认值
说明
图书编号
char
6
×
无
主键
书名
nvarchar
50
×
无
书号
char
6
√
无
类别
char
8
×
无
定价
money
8
×
无
入库时间
smalldatetime
4
√
无
库存量
tinyint
1
√
10
借阅信息表结构
列名
数据类型
长度
是否允许为空
默认值
说明
借书时间
smalldatetime
4
×
无
主键
应还时间
smalldatetime
4
×
无
图书编号
char
6
×
无
外键
是否续借
char
2
×
否
借阅人表结构
列名
数据类型
长度
是否允许为空
默认值
说明
图书证号
nvarchar
50
×
无
主键
姓名
nvarchar
50
×
无
电话
nvarchar
50
√
无
已借书数目
tinyint
1
×
无
能否续借
char
8
×
无
单位名称
nvarchar
4
√
无
借阅书籍表结构
列名
数据类型
长度
是否允许为空
默认值
说明
图书编号
char
6
×
无
外键
图书证号
nvarchar
50
×
无
外键
书名
nvarchar
50
×
无
归还书籍表结构
列名
数据类型
长度
是否允许为空
默认值
说明
图书编号
char
6
×
无
外键
图书证号
nvarchar
50
×
无
外键
书名
nvarchar
50
×
无
管理信息表结构
列名
数据类型
长度
是否允许为空
默认值
说明
图书编号
char
6
×
无
外键
图书证号
nvarchar
50
×
无
外键
登记借书日期
smalldatetime
4
×
无
外键
是否在库
char
2
√
是
存放位置
char
12
×
无
员工表结构
列名
数据类型
长度
是否允许为空
默认值
说明
员工编号
char
6
×
无
主键
姓名
char
8
×
无
性别
char
2
√
女
值日时间
char
4
×
无
联系方式
nvarchar
50
√
无
(3).创建数据库、创建表以及添加数据。
1.图书信息表
2借阅信息表
3借阅人表
4借阅书籍表
5归还书籍表
6管理信息表
7员工表
(4).添加数据:
1图书信息表
2借阅信息表
3借阅人表
4借阅书籍表
5归还书籍表
6管理信息表
7.员工表
(5).实现各种查询功能
1能根据图书编号或者图书名称查询此书在图书馆中是否存在以及此书的书目类别、存在的位置、数量等等。
代码如下:
select是否在库,类别,存放位置,库存量
from图书信息,管理信息
where图书信息.图书编号=管理信息.图书编号and图书信息.图书编号='000010'
go
2个人借阅信息查询。
输入借阅人编号后,能查出该借阅人的所有信息。
代码如下:
select*
from借阅人
where图书证号='200946'
go
3催还数目查询。
查询出所有已到期、过期、尚未归还的书目信息。
代码如下:
select图书信息.*
from图书信息,管理信息,借阅信息
where图书信息.图书编号=管理信息.图书编号and管理信息.登记借书日期=借阅信息.借书时间and(getdate()-借书时间>=30)or(getdate()-借书时间<30)
go
四.设计问题及解决方法
五.实训心得
通过本次的课程设计,我清楚的感觉SQL的重要性。
在生活或工作中有很大的实用性。
而本次实训又让我从新认识到了SQL模型的创建、应用、完整的数据库管理系统。
现在我正在努力掌握SQL数据库管理系统及其应用开发技术。
这次的试训让我更好的掌握SQL打好了坚实的基础。
我相信我以后会制作出很好的数据库系统。