SQL图书管理子系统报告.docx
《SQL图书管理子系统报告.docx》由会员分享,可在线阅读,更多相关《SQL图书管理子系统报告.docx(12页珍藏版)》请在冰点文库上搜索。
SQL图书管理子系统报告
课程设计(大作业)报告
1系统需求分析
图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此
就需要一个完善的图书管理系统来实现对这些数据的有效管理。
本系统主要任务就是对图书、读者、借阅信息、查询进行统一
管理,满足用户的需求。
本系统在功能上要实现借阅图书、续
借图书、归还图书、催还图书、信息查询等功能。
数据库分析
图书管理子系统就是要求图书管理人员通过该系统对图书、读
者、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借
图书、归还图书、催还图书以及信息查询。
这就要求管理人员能够
对数据库进行熟练操作而简单的表查询、存储过程的建立以及用户
自定义函数的建立等等这些管理数据库的方法都能对图书馆里子系
统的管理起到事半功倍的效果。
图书管理子系统ER图
数据库和数据表的创建:
数据库的创建:
CREATEDATABASEtsglzxt_db
ONPRIMARY
(NAME=tsglzxt_db_data,
FILENAME='E:
\SQLLHQ\tsglzxt_db.mdf',
SIZE=5mB,
MAXSIZE=20MB
FILEGROWTH=20%,
)
LOGON
(NAME=tsglzxt_db_log,
FILENAME='E:
\SQLLHQ\tsglzxt_db_log.ldf',
SIZE=10MB,
FILEGROWTH=2MB)
COLLATEChinese_PRC_CI_AS
GO
图表创建
USEtsglzxt_db
GO
CREATETABLE图书
(编号char(20)CONSTRAINTpk_bhPRIMARYKEY,
书名varchar(20)NOTNULL,
出版社varchar(30)NOTNULL,
第一作者varchar(20)NOTNULL,
出版时间datetime,
期限varchar(30)NOTNULL)
GO
CREATETABLE学生
(学号char(20)CONSTRAINTpk_xhPRIMARYKEY,
姓名char(16)NOTNULL,
性别char(4)NOTNULL,
出生日期datetime,
专业varchar(50)NOTNULL,
班级varchar(50)NOTNULL,
所属学院varchar(50)NOTNULL)
GO
CREATETABLE借阅
(流水号char(20)CONSTRAINTpk_lshPRIMARYKEY,
编号char(20)CONSTRAINTfk_tsbhREFERENCES图书(编号),
学号char(20)CONSTRAINTfk_xsxhREFERENCES学生(学号),
借出时间datetime,
归还时间datetime,
期限varchar(30)
)
GO
主要数据表的结构:
数据查询
简单查询:
查询学生表中所有信息:
USEtsglzxt_db
GO
SELECT*
FROM学生
GO
查询图书编号:
USEtsglzxt_db
GO
SELECT编号AS图书编号
FROM图书
GO
查询学生学号,无重复:
USEtsglzxt_db
GO
SELECTDISTINCT学号
FROM学生
GO
条件查询:
查询信息技术学院的所有学生的所有资料:
USEtsglzxt_db
GO
SELECT*
FROM学生
WHERE所属学院='信息技术学院'
GO
查询2009至2011年出版的图书:
USEtsglzxt_db
GO
SELECT*
FROM图书
WHEREYEAR(出版时间)BETWEEN2009AND2011
ORDERBY出版时间
GO
连接查询:
查询已借书的学生的学号,姓名,专业,班级
USEtsglzxt_db
GO
SELECT学生.学号,姓名,专业,班级
FROM学生
JOIN借阅ON学生.学号=借阅.学号
GO
查询学生学号='20091101244'的姓名,专业,班级,借出时间,归还时间
USEtsglzxt_db
GO
SELECT学生.学号,姓名,专业,班级,借出时间,归还时间
FROM学生
JOIN借阅ON学生.学号=借阅.学号
WHERE学生.学号='20091101244'
GO
嵌套查询:
查询在2011年6月14日借书学生的学号,姓名,专业,班级
USEtsglzxt_db
GO
SELECT学生.学号,姓名,专业,班级
FROM学生
WHERE学号in
(SELECT学号
FROM借阅
WHERE借出时间='2011-5-8'
)
GO
组合函数使用:
count()函数
在2011年-5-8当日借书人数统计:
USEtsglzxt_db
GO
SELECTCOUNT(*)借书人数
FROM借阅
WHERE借出时间='2011-5-8'
GO
数据库对象的设计
视图
视图的创建
视图的查询
存储过程
存储过程的概念:
存储过程是一种数据库对象,是为了实现某个特定任务,将一组预编译的SQL语句以一个存储单元的形式存储在服务器上,供用户调用。
存储过程在第一次执行时进行编译,然后将编译好的代码保存在高速缓存中便于以后调用,这样可以提高代码的执行效率。
存储过程的分类:
1.系统存储过程
2.本地存储过程
3.临时存储过程
4.远程存储过程
5.扩展存储过程
建立查询存储过程学生_PRO
执行存储过程
修改存储过程
学生_PRO使该存储过程返回所属学院为计算机系的学生信息
删除存储过程学生_PRO