《sql server 2005图书管理系统课程设计》由会员分享,可在线阅读,更多相关《sql server 2005图书管理系统课程设计(17页珍藏版)》请在金锄头文库上搜索。
1、 SQL Server 2005 课 程 设 计 设计选题:图书管理系统设计 班 级:信管09301班设 计 人:张 雨 娇学 号:09034888 辅导教师:胡 丹 桂目录一,系统需求分析3二,数据库分析3三,数据库设计部分3(1)实体、联系、属性及E_R图。31,实体、联系32,图书管理系统E-R图模型43,关系模式4(2)表设计及表结构5(3)用T-SQL语句创建数据库、创建表以及添加数据。61,创建数据库代码:62,创建表代码:73,添加数据代码:8(5)实现各种查询功能13(6)触发器设计部分141,用T-SQL语言实现借阅图书和归还图书功能。14借阅书籍触发器。14归还书籍触发器。
2、152,Update触发器15(7)视图的设计部分15(8)默认值约束的建立16(9)函数的设计部分16(10)存储过程创建部分16四,实训心得16一, 系统需求分析 图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。本系统主要任务就是对图书、读者、员工、借阅信息、查询进行统一管理,满足各类用户的需求。本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。二, 数据库分析图书管理系统就是要求图书管理人员通过该系统对图书、读者、员工、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信
3、息查询。这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。三, 数据库设计部分(1) 实体、联系、属性及E_R图。根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图。1, 实体、联系实体:图书信息,借阅书籍,归还书籍,借阅人,员工 联系:借阅信息,管理信息 图书信息与借阅书籍、归还书籍及借阅人之间的联系是借阅信息。 图书信息与员工之间的联系是管理信息。 2,图书管理系统E-R图模型 图书管理系统E_R图模型图书证号能否借书图书信息图书编号书名定
4、价书号类别入库时间库存量借阅信息管理借阅人员工借书时间图书编号姓名电话班级编号姓名是否在库存放位置登记日期性别图书证号是否续借已借书数目实还时间图书证号图书编号值日时间联系方式mnmn借阅书籍图书编号图书证号书名归还书籍图书编号书名nn3,关系模式(带下划线的为主码,带波浪线的为外码):图书信息(图书编号,书名,书号,类别,定价,入库时间,库存量)借阅信息(借书时间,应还时间,图书编号,是否续借)借阅人(图书证号,姓名,电话,已借书数目,能否借书,单位名称)借阅书籍(图书编号,图书证号,书名)归还书籍(图书编号,图书证号,书名)管理信息(图书编号,图书证号,登记借书日期,是否在库,存放位置)员
5、工(员工编号,姓名,性别,值日时间,联系方式)(2) 表设计及表结构1, 需要的表有:图书信息表,借阅信息表,借阅人表,借阅书籍表,归还书籍表,管理信息表,员工表。 2, 以下为各表的表结构图书信息表结构列名数据类型长度是否允许为空默认值说明图书编号char6无主键书名nvarchar50无书号char6无类别char8无定价money8无入库时间smalldatetime4无库存量tingyint110借阅信息表结构列名数据类型长度是否允许为空默认值说明借书时间smalldatetime无主键应还时间smalldatetime无图书编号char无外键是否续借char否借阅人表结构列名数据类型
6、长度是否允许为空默认值说明图书证号nvarchar50无主键姓名nvarchar50无电话nvarchar50无已借书数目tinyint1无能否续借char8无单位名称nvarchar4无借阅书籍表结构列名数据类型长度是否允许为空默认值说明图书编号char6无外键图书证号nvarchar50无外键书名nvarchar50无归还书籍表结构列名数据类型长度是否允许为空默认值说明图书编号char6无外键图书证号nvarchar50无外键书名nvarchar50无管理信息表结构列名数据类型长度是否允许为空默认值说明图书编号char6无外键图书证号nvarchar50无外键登记借书日期smalldate
7、time4无外键是否在库char2是存放位置char12无员工表结构列名数据类型长度是否允许为空默认值说明员工编号char6无主键姓名char无性别char2女值日时间char4无联系方式nvarchar50无(3) 用T-SQL语句创建数据库、创建表以及添加数据。1, 创建数据库代码:create database 图书管理系统on primary(name=tsgl_dat, filename=f:张雨娇数据库tsgl_dat.mdf, size=10mb, maxsize=20mb, filegrowth=2mb),filegroup 图书管理系统(name=tsgl_data, fil
8、ename=f:张雨娇数据库tsgl_data.ndf, size=5mb, maxsize=10mb, filegrowth=1mb)log on(name=tsgl_log, filename=f:张雨娇数据库tsgl_log.ldf, size=5mb, maxsize=10mb, filegrowth=1mb)go2, 创建表代码:create table 图书信息(图书编号char(6) not null primary key, 书名nvarchar(50) not null, 书号char(6) not null, 类别char(8) not null, 定价money null
9、, 入库时间smalldatetime null, 库存量tinyint not null default 10,)gocreate table 借阅信息(借书时间smalldatetime not null primary key, 应还时间smalldatetime not null, 图书编号char(6) not null constraint fk_tsbh1 references 图书信息(图书编号), 是否续借char(2) not null default 否,)gocreate table 借阅人(图书证号nvarchar(50) not null primary key,
10、姓名nvarchar(50) not null, 电话nvarchar(50) not null, 已借书数目tinyint not null, 能否借书char(4) null default 能, 单位名称nvarchar(50) null,)gocreate table 管理信息(图书编号char(6) not null constraint fk_tsbh references 图书信息(图书编号), 图书证号nvarchar(50) not null constraint fk_tszh references 借阅人(图书证号), 登记借书日期smalldatetime not nu
11、ll constraint fk_jsrq references 借阅信息(借书时间), 是否在库char(2) null default 是, 存放位置char(12) not null,)gocreate table 员工(员工编号char(6) not null primary key, 姓名char(8) not null, 性别char(2) null default 女, 值日时间char(4) not null, 联系方式nvarchar(50) not null,)gocreate table 借阅书籍(图书编号char(6) not null constraint fk_bh
12、 references 图书信息(图书编号), 图书证号nvarchar(50) not null constraint fk_zh references 借阅人(图书证号), 书名nvarchar(50) not null,)gocreate table 归还书籍(图书编号char(6) not null constraint fk_bh1 references 图书信息(图书编号), 图书证号nvarchar(50) not null constraint fk_zh1 references 借阅人(图书证号), 书名nvarchar(50) not null,)go3, 添加数据代码:insert into 图书信息values(000001,计算机专业英语,110011,计算机类,56.5,2005-9-1,10)goinsert into 图书信息values(000002,SQL Server 2005,11001