收藏 分销(赏)

河南理工大学课程设计范文.doc

上传人:丰**** 文档编号:4431625 上传时间:2024-09-22 格式:DOC 页数:16 大小:132.50KB
下载 相关 举报
河南理工大学课程设计范文.doc_第1页
第1页 / 共16页
河南理工大学课程设计范文.doc_第2页
第2页 / 共16页
河南理工大学课程设计范文.doc_第3页
第3页 / 共16页
河南理工大学课程设计范文.doc_第4页
第4页 / 共16页
河南理工大学课程设计范文.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、河南理工大学课程设计162020年4月19日文档仅供参考河南理工大学软件学院实训报告说明书 第二学期课程名称 关系数据库基础实训 设计题目 图书管理系统 学生姓名 郭艳明 学 号 4110 0131 专业班级 计应10-2 排版实体E-R图关系数据表成绩 年 6 月 17 日目录一,系统需求分析3二,数据库分析3三,数据库设计部分3(1)实体、联系、属性及E_R图。31,实体、联系32,图书管理系统E-R图模型43,关系模式4(2)表设计及表结构5(3)用T-SQL语句创立数据库、创立表以及添加数据。61,创立数据库代码:62,创立表代码:73,添加数据代码:8(5)实现各种查询功能14(6)

2、触发器设计部分141,用T-SQL语言实现借阅图书和归还图书功能。14借阅书籍触发器。14归还书籍触发器。152,Update触发器15(7)视图的设计部分16(8)默认值约束的建立16(9)函数的设计部分16(10)存储过程创立部分17四,实训心得17一, 系统需求分析 图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。本系统主要任务就是对图书、读者、借阅信息、查询进行统一管理,满足各类用户的需求。本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。二, 数据库分析图书管理系统就是要求图书管理人员经过该系统对图

3、书、读者、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信息查询。这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。三, 数据库设计部分(1) 实体、联系、属性及E_R图。根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图。1, 实体、联系实体:图书信息,借阅书籍,归还书籍,借阅人,员工联系:借阅信息,管理信息 图书信息与借阅书籍、归还书籍及借阅人之间的联系是借阅信息。 图书信息与员工之间的联系是管理信息。

4、2,图书管理系统E-R图模型 图书管理系统E_R图模型图书证号能否借书图书信息图书编号书名定价书号类别入库时间库存量借阅信息管理借阅人员工借书时间图书编号姓名电话班级编号姓名是否在库存放位置登记日期性别图书证号是否续借已借书数目实还时间图书证号图书编号值日时间联系方式mnmn借阅书籍图书编号图书证号书名归还书籍图书编号书名nn3,关系模式(带下划线的为主码,带波浪线的为外码):图书信息(图书编号,书名,书号,类别,定价,入库时间,库存量)借阅信息(借书时间,应还时间,图书编号,是否续借)借阅人(图书证号,姓名,电话,已借书数目,能否借书,单位名称)借阅书籍(图书编号,图书证号,书名)归还书籍(

5、图书编号,图书证号,书名)管理信息(图书编号,图书证号,登记借书日期,是否在库,存放位置)员工(员工编号,姓名,性别,值日时间,联系方式)(2) 表设计及表结构1, 需要的表有:图书信息表,借阅信息表,借阅人表,借阅书籍表,归还书籍表,管理信息表,员工表。 2, 以下为各表的表结构图书信息表结构列名数据类型长度是否允许为空默认值说明图书编号char6无主键书名nvarchar50无书号char6无类别char8无定价money8无入库时间smalldatetime4无库存量tingyint110借阅信息表结构列名数据类型长度是否允许为空默认值说明借书时间smalldatetime无主键应还时间

6、smalldatetime无图书编号char无外键是否续借char否借阅人表结构列名数据类型长度是否允许为空默认值说明图书证号nvarchar50无主键姓名nvarchar50无电话nvarchar50无已借书数目tinyint1无能否续借char8无单位名称nvarchar4无借阅书籍表结构列名数据类型长度是否允许为空默认值说明图书编号char6无外键图书证号nvarchar50无外键书名nvarchar50无归还书籍表结构列名数据类型长度是否允许为空默认值说明图书编号char6无外键图书证号nvarchar50无外键书名nvarchar50无管理信息表结构列名数据类型长度是否允许为空默认值

7、说明图书编号char6无外键图书证号nvarchar50无外键登记借书日期smalldatetime4无外键是否在库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, filegr

8、owth=2mb),filegroup 图书管理系统(name=tsgl_data, filename=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

9、(6) not null, 类别char(8) not null, 定价money null, 入库时间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 tab

10、le 借阅人(图书证号nvarchar(50) not null primary key, 姓名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 re

11、ferences 借阅人(图书证号), 登记借书日期smalldatetime not null constraint fk_jsrq references 借阅信息(借书时间), 是否在库char(2) null default 是, 存放位置char(12) not null,)go(5) 实现各种查询功能1, 能根据图书编号或者图书名称查询此书在图书馆中是否存在以及此书的书目类别、存在的位置、数量等等。代码如下:select 是否在库,类别,存放位置,库存量from 图书信息,管理信息where 图书信息.图书编号=管理信息.图书编号and 图书信息.图书编号=000010go2, 个人

12、借阅信息查询。输入借阅人编号后,能查出该借阅人的所有信息。代码如下:select *from 借阅人where 图书证号= 46go3, 催还数目查询。查询出所有已到期、过期、尚未归还的书目信息。代码如下: select 图书信息.*from 图书信息,管理信息,借阅信息where 图书信息.图书编号=管理信息.图书编号and 管理信息.登记借书日期=借阅信息.借书时间 and (getdate()-借书时间=30) or (getdate()-借书时间30)go(6) 触发器设计部分1, 用T-SQL语言实现借阅图书和归还图书功能。 借阅书籍触发器。要求同时最多只能借5本,而且能用触发器来实

13、现,若超过5本,就不能再借图书,而且提示已经达到了借阅的最大数量。代码如下:create trigger tr_借阅图书on 借阅书籍for insert asbeginif exists(select * from 借阅人,inserted where 借阅人.图书证号=inserted.图书证号and 已借书数目=5)begin print已经达到了借阅的最大数量 rollback transactionendend归还书籍触发器。当输入归还书籍的图书编号时,若其图书编号与图书证号不与外键约束冲突的话,将该条记录插入归还书籍表中,同时将借阅书籍表中与之相同的记录删除。代码如下:create

14、 trigger tr_归还书籍on 归还书籍for insertasbegin declare tsbh char(6),tszh nvarchar(50) select tsbh=图书编号from inserted select tszh=图书证号from inserted if exists(select * from 借阅书籍where 借阅书籍.图书编号=tsbh and 借阅书籍.图书证号=tszh)delete from 借阅书籍where 借阅书籍.图书编号=tsbh and 借阅书籍.图书证号=tszhend2, Update触发器在数据库中创立一个update触发器,当用户

15、更新图书名称时,提示用户不能修改图书名称。代码如下:create trigger tr_smon 图书信息for updateasif update(书名)begin print用户不能修改图书名称 rollback transactionendgoupdate 图书信息set 书名=冰心语录 where 图书编号=000007go(7) 存储过程创立部分创立一个存储过程,它带有一个参数,用于接收借阅人编号,显示该借阅人的借书情况。代码如下:create proc proc_tszh tszh char(12)as select 已借书数目,能否借书,书名,借书时间from 借阅人,管理信息,

16、图书信息,借阅信息where 借阅人.图书证号=管理信息.图书证号and 管理信息.图书编号=图书信息.图书编号 and 借阅信息.借书时间=管理信息.登记借书日期and 借阅人.图书证号=tszhgoexec proc_tszh 46go四, 实训心得 经过本次的课程设计,让我又熟悉了一次教材。这次的实训将整个大一下学期的SQL Server 所学内容都融汇到了里面。而实训的大纲仅仅只是老师提供了一个轮廓,整体的设计都要求同学们独立完成,更是培养了同学们独立思考的好习惯。这样的实训我更愿意称之为“复习实训”,因为它综合了SQL Server 的数据库、表、视图、触发器、存储过程及函数的创立与应用,以及数据的增、删、改的简单操作,让我真真切切地感觉学到了些东西。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服