数据库课程设计报告(图书管理系统)实验报告.docx
-
资源ID:25734385
资源大小:15.89KB
全文页数:11页
- 资源格式: DOCX
下载积分:30金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
数据库课程设计报告(图书管理系统)实验报告.docx
数据库课程设计报告(图书管理系统)实验报告 海南大学应用科技学院 数据库系统原理课程设计报告 图书管理系统 组长: 学号: 组员: 学号: 组员: 学号: 组员: 学号: 指导老师: 起始时间: 起始时间: . 目录 第一章概述 (3) 1.1项目背景 (3) 1.2软件定义 (3) 1.3编写目的 (3) 1.4开发环境 (3) 第二章需求分析 (4) 2.1信息要求 (4) 2.2处理要求 (7) 2.3安全性与完整性要求 (8) 第三章概念结构设计 (21) 3.1流程图及数据字典 (21) 3.2全局E-R图 (23) 第四章逻辑结构设计 (24) 4.1关系模式 (24) 4.2基本表 (25) 4.3视图 (30) 4.4索引 (32) 第五章数据库与表的创建与实施 (33) 第六章主要模块设计及代码 (38) 第七章总结 (41) 第八章参考文献 (41) 第一章概述 1.1项目背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,是与世界接轨的重要条件。 1.2编写目的 记录图书借阅情况是非常繁琐工作。使用计算机可以高速,快捷地完成工作。有鉴于此,开发一套图书馆信息管理系统,是十分必要的。采用数据库技术开发的图书馆信息管理系统可以用来实现对图书的信息管理,可以提高管理的效率。图书馆都是封闭式管理,要求藏书全部公开开放,师生共享,开架阅览。这种阅览方式是适合当前我国国情、发挥图书馆应用作用的最佳方式,也是素质教育的最好体现。它充分发挥了图书馆的功效,最大限度地为师生服务,这也是图书馆自动化管理的最终目标。实现这一目标,必须有现代化的管理手段和管理体制。 1.3 软件定义 图书管理系统,是一个由人、计算机等组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。利用信息控制企业的行为;帮助企业实现其规划目标。在现代大中型企业纷纷利用的系统。 1.4 开发环境 图书馆管理系统的开发环境是 Microsoft SQL Server 2022 第二章需求分析 2.1信息要求 图书馆信息管理系统对于学校图书馆的管理十分重要,所以,图书馆信息管理系统不但要为图书管理者提供充足的信息和快捷的查询手段,也要为学生查询提供必要和快捷的查询手段。 2.1.1数据字典 定义:数据字典是数据库的重要部分。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:数据库中所有模式对象的信息,如表、视图、簇、及索引等。数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。 #为了管理更方便,所以设定管理员编号,管理员个数未知,因此长度暂设为20。 #管理员登入时需要用到用户名来登入,设定一个用户名数据项,用户名依个人喜好设定,但也不要太过长难记,因此给它长度为20. 数据项:管理员编号数据项:用户名 简述:定义管理员的唯一标识简述:定义管理员的用户名 数据类型:字符型数据类型:字符型 数据长度:20 数据长度:20 #管理员登入的时候必需要有密码登入,这样才能给它权限去管理数据库,密码长度基本定在20,这样密码不会太长,长度合适即保障安全,也免忘记密码。 #读者表中的学号是记录一个读者借阅情况最简单直观的辨识方式,因此我们设定了一个读者的学号,一般长度为20. 数据项:密码数据项:学号 简述:定义管理员口令简述:定义读者的唯一标识 数据类型:字符型数据类型:字符型 数据长度:20 数据长度:20 #读者除了学号以外,姓名也需要做登记,因此有了姓名这个数据项,根据国情姓名一般是两个字或者3个字,所以我们定他的长度为10即可以是5个汉字。 #学生所在的专业班级是在找不到学生本人的情况下可以联系其班级,此项可以为空,不填也可以,一般是网工2班这种格式,所以给它长度为10 数据项:姓名数据项:专业班级 简述:定义读者姓名简述:定义读者的专业班级 数据类型:字符型数据类型:字符型 数据长度10 数据长度:10 #图书的编号作为图书的唯一标识,能让我们最快的找到这本图书的情况,所以我们设定了这个数据项。 #图书可以有很多,长度暂设为20,查到图书编号我们必然要知道的是书的名字以确定要的是否是这本书,书名可长可短,根据了解一般在十个字以内,所以给它长度为20. 数据项:图书编号数据项:书名 简述:定义图书的唯一标识简述:定义图书的书名 数据类型:字符型数据类型:字符型 数据长度:20 数据长度:20 #图书该有的作者名字,可以让读者知道这本书是谁写的,这也是对出书人的尊重,所以设定作者这个项,作者项的名字并不像国内姓名那样简单,有的可以是笔名什么的,所以给它长度为20. #而图书的分类则为了对图书的更好的管理,管理员可以更好的统计什么书更受大家欢迎,分类占用的空间不会很大,长度设为10. 数据项:作者数据项:分类 简述:定义图书作者的姓名简述:定义图书的分类 数据类型:字符型数据类型:字符型 数据长度:20 数据长度:10 #图书的上架时间对于对新书渴望的读者来说那是必要的,读者可以通过查询来知道新书上架的时间,从而第一时间内借到自己想看的书,日期以XXXXXX形式存在,长度设为20. #另外一项借阅时间则是对于管理员来说十分重要,记录下了借阅时间,这样才能看读者是否太久未归还书,对自己借出去的图书也是一种保护,格式与上架时间一样,所以长度也设为20. 数据项:上架时间数据项:借阅时间 简述:定义图书的上架日期简述:定义图书的借阅日期 数据类型:整型数据类型:整型 数据长度:20 数据长度:20 2.1.2数据流图 定义: 数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。 设计: 图书管理系统与管理员、用户(读者)之间分别有数据的交互(见图2-1) 读者通过查看借阅表、图书表查看借阅与图书信息,借阅图书;管理者可查看、修改、更新所有表,达到管理图书和读者的目的。(见图2-2) 2-1 2-2 2.2 处理要求 1. 能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理。 2. 能够对一定数量的读者进行相应的信息存储与管理。 3. 能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息 备份的服务。 4正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。 5满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。 其中包括两大系统:(见图2-3) 一、学生图书借阅系统图书借阅,个人修改登陆密码系统 二、管理图书借阅系统管理图书、借阅、读者信息系统 2-3 2.3安全性与完整性要求 定义: 数据库的安全性与完整性属于数据库的保护的内容。 安全性主要是指对数据库的存取控制,防止未授权使用的人员非法存取他不应存取的数据,防止数据泄密,防止数据被破坏。 完整性是指保证数据的正确和一致,使数据库中的数据在任何时刻都是有效的。包括保持数据的正确性、准确性、有效性。实现方式有:一是通过定义和使用完整性约束规则;二是通过触发器(Trigger)和存储过程(Stored Procedure)等 触发器(Trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,经常用于加强数据的完整性约束和业务规则。 设计: 1、对图书管理系统添加管理者和用户(读者),管理者拥有查看、操作所有表的权限,读者只能查看借阅表和图书表。(见图2-4至2-17) 2、创建DDL触发器safety(见图2-18)避免误删、误改表(见图2-19) 创建表的触发器reminder提醒用户对表的(见图2-20、2-21) 实现: DDL触发器safety: create trigger safety on database for drop_table,alter_table as print'你必须使触发器无效以执行对表的操作!' rollback; 触发器reminder以的为例: create trigger reminder on读者表 for insert,delete ,update as raiserror('你在插入、修改或删除读者表的数据',16,10) 结果: 1、在计算机管理里创建用户(以管理员:李婷为例): 2-4 2、在系统安全性登录名创建新登录名,点击用选择用户李婷: 2-5 3、创建新登录名“李婷”成功: 2-6 4、用新登录名创建Windows身份验证用户: 2-7 5、用新登录名创建SQL Server身份验证用户xin: 6、用创建的新SQL Server身份验证用户xin连接数据库: 2-9