版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数据库管理系统实验报告篇一:数据库_图书馆管理系统实验报告 数据库课程设计报告 专 业:计算机科学与技术 班 级: 03 组 长: 张云60 组 员: 王冉28指导教师: 袁道华 成 绩: XX年12月16日 一、 课程设计概述1. 课程设计背景课程需要开发一个图书管理系统,要求在读者登记处可以将读者的信息添加,信息系统中保存,当读者信息发生变化,对计算机内容进行修改,当读者办理退卡手续要删除此读者信息,图书管理负责图书和出版社的管理,读书借还处进行借书管理,还书管理,库存查询,图书排行榜,生成超期未还书的读者,进行通知.给不同用户设置不同权限,供用户访问数据库。2.
2、 编写目的熟练掌握mysql中的创建数据库、创建表、显示、查询、select语句、视图、存储过程、创建检索、对表的添加、删除、修改和用户权限的设置等基本运用,并通过编写这个图书管理系统来实际演练。3. 软件定义Mysql是目前最流行的开源的中小型关系数据管理系统,目前被广泛的应用于internet上得中小型网站中,它由mysql AB公司开发、发布并支持。本实验用的是mysql 5.1版本4. 开发环境本实验用的是mysql 5.1版本,windowsXX二、 需求分析1. 问题的提出1:怎么通过mysql和信息之间的关系来创建图书管理系统的数据库及表? 2:怎样来实现对插入读者信息并保存、修
3、改及删除? 3:怎么来实现对图书的管理?4:怎样实现对借书后在读书借还处添加读者借书信息和还书后删除读者借还处中的借书信息且更新图书管理处的图书数量?5:怎么实现对超期读者进行罚款操作和生成这些读者的名单,以方便通知? 6:怎样实现图书的借书排行榜和查看库存书量?7:怎么样来根据不同用户对数据库的等级的不同来设置这些用户的权限?2. 需要完成的功能及各部分功能概述1:读者登记建卡处的功能是对读者基本信息进行登记,读者信息发生变化对读者基本信息进行修改,读者要求退还借书卡时对读者信息进行删除等操作。2:图书管理处的功能是对图书和出版社、作者、书价,数量,剩余书量进行管理更新。 3:图书借还处的功
4、能是对借出书的登记。 4:基于上面3大模块,进行细分一:1、通过创建存储过程对读者通过insert进行登记2、通过alter或update来修改和更新读者信息 3、通过delete来对读者信息删除二:1、对图书的添加、更新和修改也用到存储过程2、在对图书剩余量的更新是通过图书借还处和图书管理处之间的书号来发生联系,对存储过程对这个字段进行调用达到更新目的三:1、借书管理都是通过建立存储过程来实现登记处的登记同时也在借书处登记借读信息,同时更新图书的剩余量,还书管理处是根据还书的读者号和书号来选定要清除的借读信息,同时也更新图书剩余量信息,还要根据存储过程传来的read_id和book_id及j
5、s_quantity(借书数量)的参数计算出是否超期,超期的天数显示出来。 2、产生超期未还书的读者的名单是通过视图来实现显示 3、对图书排行我也是通过存储过程实现4: 对图书进行借出量排行,增加图书的热度和知名度和图书的剩余量查询。 5:新建读者用户和管理员用户,对他们分别设置不同的权限,在mysql的安装文件下的bin目录进行登录项目流程图 功能模块图 E-R图 图中各实体属性如下: 读者档案:学号,读者姓名,性别,借书证号,单位 借书证:借书证号,姓名,性别,办证日期 管理员:操作员编号,管理员姓名,登陆密码 库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期图书档
6、案:书号,书名,作者,出版单位,出版日期,单价,类别,藏书册书 图书编号入库日期三、 部分关键代码图书借阅: class="word_orange"> 当前位置:图书借还 > 图书借阅>>>error_reporting(E_ALL&E_NOTICE); if($_REQUEST'barcode'!=null) $barcode=$_REQUEST'barcode'$sql=mysql_query("select r.*, as typename,t.numb
7、er from tb_reader r left join tb_readerType t on r.typeid=t.id where r.barcode='$barcode'" );$info=mysql_fetch_array($sql); if($info=false)echo "alert('读者不存在!');" else$sql=mysql_query("select r.*, as typename,t.number from tb_reader r left join tb_readerType
8、 t on r.typeid=t.id where r.barcode=" ); $info=mysql_fetch_array($sql); / $info=$_GET('info'); ?>background="Images/main_booksort_1.gif" bgcolor="#F8BF73">篇二:数据库管理系统实验报告含答案 xxxx大学数据库管理系统课程实验报告 班级: _姓名: 实验时间: 年月日 指导教师:_ 一、实验目的1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。2、
9、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。二、实验内容1导入实验用示例数据库: f:教学库.mdf f:教学库_log.ldff:仓库库存.mdf f:仓库库存_log.ldf1.1 将数据库导入在SqlServer XX 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio里连接上数据库后,选择新建查询,然后执行语句EXEC
10、sp_attach_db dbname = '教学库', filename1 = 'f:教学库.mdf', filename2 = 'f:教学库_log.ldf' gouse 教学库EXEC sp_changedbowner'sa' goEXEC sp_attach_db dbname = '仓库库存', filename1 = 'f:仓库库存.mdf', 1 filename2 = 'f:仓库库存_log.ldf' gouse 仓库库存EXEC sp_changedbowner
11、39;sa' go1.2 可能出现问题附加数据库出现“无法打开物理文件 "X.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)”。解决:找到要附加的.mdf文件->右键->属性->安全->选择当前用户->编辑->完全控制。对.log文件进行相同的处理。2删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度
12、为1MB。CREATE DATABASE仓库库存 (NAME = '仓库库存_data',FILENAME = 'F:仓库库存_data.MDF' , SIZE = 10MB,FILEGROWTH = 20%) LOG ON(NAME ='仓库库存_log',FILENAME = 'F:仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB,FILEGROWTH = 1MB)2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1:(2)创建“仓库”表,表结构如表2:表2 仓库表
13、2 (3)创建“库存情况”表,表结构如表3: (1)USE仓库库存 GOCREATE TABLE 商品(商品编号 char(6) NOT NULL PRIMARY KEY, 商品名称 char(20) NOT NULL, 单价Float,生产商 Varchar (30) ) (2),(3)略。2.2 建立“商品”表、“仓库”表和“库存情况”表三表之间的关系图。2.3分别给“商品”表、“仓库”表和“库存情况”表添加数据。3数据库查询.3.1 试用SQL的查询语句实现下列查询: (1)统计有学生选修的课程门数。答:SELECT COUNT(DISTINCT 课程号) FROM 选课 (2)求选修C
14、004课程的学生的平均年龄。 答:SELECT AVG(年龄) FROM 学生,选课WHERE 学生.学生号=选课.学生号 and 课程号=?C004? (3)求学分为3的每门课程的学生平均成绩。答:SELECT 课程.课程号,AVG(成绩) FROM 课程,选课WHERE 课程.课程号=选课.课程号and 学分=3 GROUP BY 课程.课程号(4)统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 3 答:SELECT 课程号,COUNT(*) FROM 选课GROUP BY 课程号 HAVING COUNT
15、(*) >3ORDER BY COUNT(*) DESC, 课程号(5)检索学号比王明同学大,而年龄比他小的学生姓名。 答:SELECT 姓名 FROM 学生WHERE 学生号>(SELECT 学生号FROM 学生 WHERE 姓名='王明')and 年龄WHERE 姓名='王明')(6)检索姓名以王打头的所有学生的姓名和年龄。 答:SELECT 姓名,年龄 FROM 学生 WHERE 姓名 LIKE ?王%?(7)在选课表中检索成绩为空值的学生学号和课程号。 答:SELECT 学生号,课程号 FROM 选课 WHERE 成绩 IS NULL(8)求
16、年龄大于女同学平均年龄的男学生姓名和年龄。 答:SELECT 姓名,年龄 FROM 学生WHERE 性别=?男?and 年龄 >(SELECT AVG(年龄) FROM 学生WHERE 性别=?女?)(9)求年龄大于所有女同学年龄的男学生姓名和年龄。 答:SELECT 姓名,年龄 FROM 学生WHERE 性别=?男?and 年龄 > all (SELECT 年龄 FROM 学生WHERE 性别=?女?)(10)检索所有比王明年龄大的学生姓名、年龄和性别。 答:SELECT 姓名,年龄,性别 FROM 学生WHERE 年龄 > (SELECT 年龄 FROM 学生WHERE
17、姓名=?王明?)(11)检索选修课程C001的学生中成绩最高的学生的学号。 答:SELECT 学生号 FROM 选课WHERE 课程号=?C001? and 成绩=(SELECT MAX(成绩) FROM选课 WHERE课程号=?C001?) (12)检索学生姓名及其所选修课程的课程号和成绩。 答:SELECT 姓名, 课程号, 成绩 FROM 学生,选课 WHERE学生.学生号=选课.学生号(13)检索选修2门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的4 降序排列出来。 答:SELECT 学生号,SUM(成绩) FROM 选课WHERE 成绩>=60 GROUP BY
18、学生号HAVING COUNT(*)>=2ORDER BY SUM(成绩) DESC3.2 利用控制流语句,查询学生号为的学生的各科成绩,如果没有这个学生的成绩,就显示“此学生无成绩”。答:IF EXISTS ( SELECT * FROM 选课 WHERE 学生号='')SELECT 课程号,成绩 FROM 选课 WHERE 学生号='' ELSEPRINT '此学生无成绩'3.3 用函数实现:求某个专业选修了某门课的学生人数。答:CREATE FUNCTION renshu(p char(10),cn char(4) RETURNS floatASBEGINDECLARE cou floatSELECT cou=( SELECT count(*) FROM 学生,选课WHERE学生.学生号=选课.学生号 and课程号=cnand 专业=p)RETURN cou END3.4 用函数实现:查询某个专业所有学生所选的每门课的平均成绩。 答:CREATE FUNCTION average (p char(10) RE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 激发创新思维打造创业成功计划
- AI在医疗行业中的安全保障措施
- 英语口语进阶冬训课程设计
- 教育行业教师招聘面试技巧
- 幼儿园教育教学评价方法
- 文化创意产业员工素质培养指南
- 智能家居系统集成与安装教程
- 进化力适者生存-进化意识教育培训
- 音乐会场演出前后的保洁工作指南
- 自然灾害应急救援队伍建设与培训
- 2026年吉安职业技术学院单招综合素质考试题库含答案详解
- 2026年安徽林业职业技术学院单招综合素质考试题库含答案解析
- 楼板下加钢梁加固施工方案
- 消防员日常训练安全措施
- 北斗手持机操作教案
- 建桥学院学生手册
- 新概念英语青少版入门级A-unit1-hello课件
- 来访车辆登记表
- DB32∕T 3916-2020 建筑地基基础检测规程
- 更换风口操作规程
- SMED快速换模教程
评论
0/150
提交评论