《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc

上传人:bao****ty 文档编号:132448096 上传时间:2020-05-16 格式:DOC 页数:61 大小:351KB
返回 下载 相关 举报
《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc_第1页
第1页 / 共61页
《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc_第2页
第2页 / 共61页
《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc_第3页
第3页 / 共61页
《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc_第4页
第4页 / 共61页
《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc》由会员分享,可在线阅读,更多相关《《网络数据库》课程综合性实验报告_图书借阅系统数据库设计.doc(61页珍藏版)》请在金锄头文库上搜索。

1、华北科技学院计算机系综合性实验报告华北科技学院计算机系综合性实验实 验 报 告 课程名称 网络数据库 实验学期 至 学年 第 学期学生所在系部 年级 专业班级 学生姓名 学号 任课教师 实验成绩 计算机系制实验报告须知1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、 教师应该填写的内容包括:实验成绩、教师评价等。4、 教师根据本课程的综合性实验指导单中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档

2、等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、 未尽事宜,请参考该课程的实验大纲和教学大纲。网络数据库课程综合性实验报告开课实验室:软件一室 1 年月 日实验题目图书借阅系统数据库设计一、实验目的通过该实验把数据库的理论知识(数据库和数据表的设计理论、数据完整性的实现、存储过程、触发器、数据库安全等)应用到具体的综合实例中,达到数据库知识整合的目的。二、设备与环境硬件:多媒体计算机软件:WindowsXP以上的操作系统、Visual Basic或其它可视化语言及SQL Server 2008版本三、实验内容及要求1.数据库设计要求数据库

3、设计要合理,对数据库设计作必要的说明并抓图。数据库名必须与自己真实姓名有关,所有同学不能同名。图不要太大,看清即可。2数据表设计要求数据表设计要合理,要符合数据库设计的理论范式,对数据表设计作必要的说明并抓图。数据表名必须与自己真实姓名有关,所有同学不能同名。3视图设计要求根据系统需求作必要的视图设计,如在一次查询中涉及到多个表,应该创建视图。不可以只取一个表的几个字段就算创建视图。4索引设计要求根据系统需求作必要的索引设计,本系统需要的聚集索引、非聚集索引、唯一索引、全文索引等。5数据完整性设计根据系统需求作必要的数据完整性设计,本系统需要的实体完整性体现、域完整性体现、参照完整性体现等。6

4、存储过程和触发器设计根据系统需求作必要的存储过程和触发器设计,本系统需要的存储过程和触发器设计。必要的存储过程和触发器设计都要写全说明,图可以是一个表的完整存储过程或触发器。7备份与恢复设计根据系统需求作必要的备份与恢复设计,如需要对那些内容备份,备份策略、由谁来做备份、什么时间做备份等。8数据库安全设计根据系统需求作必要的数据库安全设计,如本系统分几级用户、分别是什么角色成员具有什么操作权限等。四、实验结果及分析1.数据库设计(一)设计思想图书管理系统数据库的主要任务是对读者信息、管理员信息、图书资料信息、借阅归还图书信息、罚款信息的基本信息的操作及处理。此系统功能分为面向读者和面向管理员两

5、部分,其中读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者信息的增加,删除和修改,对数据表维护。根据以上功能分析,图书管理系统应该包含:读者信息表、管理员信息表、图书信息表、借阅信息表。针对图书管理系统目前的用户量(假设为15000人)和图书量(假设为10万册)考虑,系统主数据文件初始大小设置为:110M(15000*512Byte(读者表一条记录大小)+ 100000*1024Byte(图书表一条记录大小)+ 其他表大小),自动增长设置为20M;日志文件设置为:5M,自动增长设置为5M。考虑图书管理系统最经常的操作是查找,所以为了提高查找效率,应为图书表、读者表建立索引

6、。(二)具体实现 通过SQL语句来创建图书管理数据库,创建代码如下:CREATE DATABASE TSGL_133ON(NAME = TSGL,FILENAME = J:TSGL.MDF,SIZE = 110 MB,MAXSIZE = UNLIMITED,FILEGROWTH = 20 MB)LOG ON(NAME = TSGL_LOG,FILENAME = J:TSLG_LOG.LDF,SIZE = 5 MB,MAXSIZE = UNLIMITED,FILEGROWTH = 5 MB);2数据表设计(一)设计思想根据以上对图书管理系统的功能分析,需要设计读者信息表、管理员信息表、图书信息表

7、和借阅信息表。(1)读者表(学号、姓名、性别、系部、专业班级、借阅数量、欠罚款、联系电话)读者表主要记录读者信息,通过读者表可以查看读者的具体信息,如:学号、姓名、性别、系部、专业班级、借阅数量、欠罚款等。(2)管理员表(工号、姓名、性别、管理员身份、登陆口令、登陆密码、联系电话)管理员表主要记录管理员信息,通过管理员表可以查询管理员信息以及用于验证管理员身份及其管理权限。(3)图书表(图书编号、ISBN条码、书名、作者、出版社、出版日期、单价、分类、借阅状态、管藏位置)图书表主要记录图书的各种信息,包括:ISBN条码、书名、作者、出版社、出版日期、单价、分类、借阅状态、管藏位置。读者可以通过

8、查询此表得到需要的与图书相关的信息。例如:读者可以通过查询图书的ISBN号,查看该图书当前的借阅状态和馆藏位置等信息。(4)借阅表(图书编号、学号、借阅日期、应还日期、归还日期、罚款金额、缴纳状态)读者通过借阅表查询借书情况,例如:借阅日期、应还日期、归还日期等信息。(二)具体实现通过SQL语句来创建图书管理数据表,创建代码如下:USE TSGL_133GOCREATE TABLE T_READER(学号 char(12) NOT NULL PRIMARY KEY,姓名 nchar(4) NOT NULL,性别 bit NULL DEFAULT 1,系部 nchar(10) NULL,专业班级

9、 nchar(8) NULL,借阅数量 int NULL DEFAULT 0,欠罚款 float NULL,联系电话 char(11) NULL)GOCREATE TABLE T_ADMIN(工号 char(12) NOT NULL PRIMARY KEY,姓名 nchar(4) NOT NULL,性别 bit NULL DEFAULT 1,管理员身份 nchar(10) NOT NULL,登陆口令 char(12) NOT NULL,登陆密码 char(16) NOT NULL,联系电话 char(11) NULL,)GOCREATE TABLE T_BOOK(图书编号 int identi

10、ty PRIMARY KEY,ISBN条码 char(20) NOT NULL,书名 nchar(30) NOT NULL,作者 nchar(20) NULL,出版社 nchar(20) NULL,出版日期 date NULL,单价 float NULL,分类 nchar(10) NULL,借阅状态 bit NULL,馆藏位置 nchar(20) NULL,)GOCREATE TABLE T_LEND(图书编号 int NOT NULL,学号 char(12) NOT NULL,借阅日期 date NOT NULL,应还日期 date NOT NULL,归还日期 date NOT NULL,罚

11、款金额 float NULL,缴纳状态 bit NULL,PRIMARY KEY(图书编号,学号)GO3视图设计(一)设计思想(1)为了查询读者借阅情况时方便,建立读者借阅情况视图。其字段信息包括:学号、姓名、性别、系部、专业,班级、图书编号、借阅日期、应还日期、归还日期、罚款金额、缴纳状态(2)建立图书借阅情况视图。其字段信息包括:图书编号、ISBN、书名、借阅状态,借阅日期,应还日期。(3)工作人员需要查看当前逾期未还的图书,所以需要建立逾期未还图书信息视图,其字段包括:学号、姓名、系部、专业班级、书名、借阅日期、应还日期、罚款金额。其中,罚款金额通过计算得出。(4)读者需要查看图书信息,

12、所以建立图书信息视图,其字段包括:ISBN条码、书名、图书总量、可外借数量、馆藏位置。其中图书总量和可外借数量通过计算得出。(5)为数据库所有表创建单独的视图,如图书表视图、管理员表视图、借阅表视图和读者表视图。(二)具体实现(1)读者借阅情况视图实现代码:USE TSGL_133GOCREATE VIEW READER_LENDED_VIEWASSELECT T_READER.学号,姓名,性别=(CASE WHEN 性别=1 THEN 男 ELSE 女 END),系部,专业,班级,图书编号,借阅日期,应还日期,归还日期,罚款金额,缴纳状态FROM T_LEND,T_READERWHERE T

13、_LEND.学号 = T_READER.学号(2)图书借阅情况视图实现代码:USE TSGL_133GOCREATE VIEW BOOK_LENDED_VIEW AS SELECT T_BOOK.图书编号,ISBN条码,书名,借阅状态=被借阅,借阅日期,应还日期 FROM T_BOOK,T_LEND WHERE T_BOOK.图书编号=T_LEND.图书编号 AND 借阅状态 = 1(3)逾期未还图书信息视图使用getdate()函数获取系统时间;使用借阅表中“应还日期”字段信息与系统当前日期对比判断读者借阅书籍是否超期未还;使用 datediff()函数计算读者借阅书籍的超期天数并求出相应的罚款金额。(注:罚款金额以超出一天罚款0.1元计算)逾期未还图书信息视图具体实现代码如下:USE TSGL_133GOCREATE VIEW NOT_RETURN_VIEWAS SELECT T_LEND.学号,姓名,系部,专业班级,书名,借阅日期,应还日期,罚款金额 = convert(float,datedif

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号