《数据库管理系统实验报告doc.pdf》由会员分享,可在线阅读,更多相关《数据库管理系统实验报告doc.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。数据库管理系统实验报告数据库管理系统实验报告篇一:数据库_图书馆管理系统实验报告数据库课程设计报告专 业:计算机科学与技术 班 级:03 组 长:张云 60 组 员:王冉 28 指导教师:袁道华 成 绩:XX 年 12 月 16 日一、课程设计概述1.课程设计背景课程需要开发一个图书管理系统,要求在读者登记处可以将读者的信息添加,信息系统中保存,当读者信息发生变化,对计算机内容进行修改,当读者办理退卡手续要删除此读者信息,图书管理负责图书和出版社的管理,读书借还处进行借书管理,还书管理,库存查询,图书排行榜,生成
2、超期未还书的读者,进行通知.给不同用户设置不同权限,供用户访问数据库。2.编写目的熟练掌握 mysql 中的创建数据库、创建表、显示、查询、select 语句、视图、存储过程、创建检索、对表的添加、删除、修改和用户权限的设置等基本运用,并通过编写这个图书管理系统来实际演练。3.软件定义Mysql 是目前最流行的开源的中小型关系数据管理系统,1word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。目前被广泛的应用于internet 上得中小型网站中,它由mysql AB 公司开发、发布并支持。本实验用的是 mysql 5.
3、1版本4.开发环境本实验用的是 mysql 5.1 版本,windowsXX二、需求分析1.问题的提出1:怎么通过 mysql 和信息之间的关系来创建图书管理系统的数据库及表?2:怎样来实现对插入读者信息并保存、修改及删除?3:怎么来实现对图书的管理?4:怎样实现对借书后在读书借还处添加读者借书信息和还书后删除读者借还处中的借书信息且更新图书管理处的图书数量?5:怎么实现对超期读者进行罚款操作和生成这些读者的名单,以方便通知?6:怎样实现图书的借书排行榜和查看库存书量?7:怎么样来根据不同用户对数据库的等级的不同来设置这些用户的权限?2.需要完成的功能及各部分功能概述1:读者登记建卡处的功能是
4、对读者基本信息进行登记,读者信息发生变化对读者基本信息进行修改,读者要求退还借书卡时对读者信息进行删除等操作。2word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。2:图书管理处的功能是对图书和出版社、作者、书价,数量,剩余书量进行管理更新。3:图书借还处的功能是对借出书的登记。4:基于上面 3 大模块,进行细分一:1、通过创建存储过程对读者通过 insert进行登记2、通过 alter 或 update 来修改和更新读者信息 3、通过 delete 来对读者信息删除二:1、对图书的添加、更新和修改也用到存储过程2、在
5、对图书剩余量的更新是通过图书借还处和图书管理处之间的书号来发生联系,对存储过程对这个字段进行调用达到更新目的三:1、借书管理都是通过建立存储过程来实现登记处的登记同时也在借书处登记借读信息,同时更新图书的剩余量,还书管理处是根据还书的读者号和书号来选定要清除的借读信息,同时也更新图书剩余量信息,还要根据存储过程传来的 read_id 和 book_id 及 js_quantity(借书数量)的参数计算出是否超期,超期的天数显示出来。2、产生超期未还书的读者的名单是通过视图来实现显示 3、对图书排行我也是通过存储过程实现4:对图书进行借出量排行,增加图书的热度和知名度和图书的剩余量查询。5:新建
6、读者用户和管理员用户,对他们分别设置不同的权限,在 mysql 的安装文件下的 bin 目3word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。录进行登录项目流程图功能模块图E-R 图图中各实体属性如下:读者档案:学号,读者姓名,性别,借书证号,单位 借书证:借书证号,姓名,性别,办证日期管理员:操作员编号,管理员姓名,登陆密码 库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期图书档案:书号,书名,作者,出版单位,出版日期,单价,类别,藏书册书 图书编号入库日期三、部分关键代码图书借阅:clas
7、s=word_orange当前位置:图书借还图书借阅error_reporting(E_ALL&E_NOTICE);if($_REQUESTbarcode!=null)$barcode=$_REQUESTbarcode;$sql=mysql_query(selectr.*,t.nameastypename,t.numberfromtb_readerrleftjoin4word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。tb_readerTypetonr.typeid=t.idwherer.barcode=$barcod
8、e);$info=mysql_fetch_array($sql);if($info=false)echo alert(读者不存在!);else$sql=mysql_query(selectr.*,t.nameastypename,t.numberfromtb_readerrleftjointb_readerTypetonr.typeid=t.idwhere);r.barcode=000000$info=mysql_fetch_array($sql);/$info=$_GET(info);?background=Images/main_booksort_1.gifbgcolor=#F8BF73篇
9、二:数据库管理系统实验报告含答案xxxx 大学数据库管理系统课程实验报告班级:_姓名:实验时间:年月日指导教师:_一、实验目的1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。5word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。2、牢固掌握 SQL SERVER 的功能操作和 Transact-SQL语言。3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中
10、等。二、实验内容1导入实验用示例数据库:f:教学库.mdf f:教学库_log.ldff:仓库库存.mdf f:仓库库存_log.ldf1.1 将数据库导入在 SqlServer XX 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio里连接上数据库后,选择新建查询,然后执行语句EXEC sp_attach_db dbname=教学库,filename1=f:教学库.mdf,filename2=f:教学库_log.ldfgouse 教学库EXEC sp_changedbownersa goEXECsp_attach_dbdbname=仓 库 库 存,
11、filename1=f:仓库库存.mdf,16word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。filename2=f:仓库库存_log.ldf gouse 仓库库存EXEC sp_changedbownersa go1.2 可能出现问题附加数据库出现“无法打开物理文件 X.mdf。操作系统错误 5:5(拒绝访问。)。(Microsoft SQL Server,错误:5120)”。解决:找到要附加的.mdf 文件-右键-属性-安全-选择当前用户-编辑-完全控制。对.log 文件进行相同的处理。2删除创建的数据库,使用
12、 T-SQL 语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data 最大尺寸为无限大,增长速度为 20%,日志文件初始大小为 2MB,最大尺寸为 5MB,增长速度为 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)创建7word 格式
13、支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。“商品”表,表结构如表 1:(2)创建“仓库”表,表结构如表 2:表 2 仓库表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 分别给“商品”表、“仓库”表和“库存情况”表添加
14、数据。3数据库查询.3.1 试用 SQL 的查询语句实现下列查询:(1)统计有学生选修的课程门数。答:SELECT COUNT(DISTINCT 课程号)FROM 选课(2)求选修 C004 课程的学生的平均年龄。答:SELECT AVG(年龄)FROM 学生,选课WHERE 学生.学生号=选课.学生号 and 课程号=?C004?(3)求学分为 3 的每门课程的学生平均成绩。8word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。答:SELECT 课程.课程号,AVG(成绩)FROM 课程,选课WHERE 课程.课程号
15、=选课.课程号 and 学分=3 GROUP BY课程.课程号(4)统计每门课程的学生选修人数,超过 3 人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。3答:SELECT 课程号,COUNT(*)FROM 选课GROUP BY 课程号 HAVING COUNT(*)3ORDER BY COUNT(*)DESC,课程号(5)检索学号比王明同学大,而年龄比他小的学生姓名。答:SELECT 姓名 FROM 学生WHERE 学生号(SELECT 学生号 FROM 学生 WHERE 姓名=王明)and 年龄WHERE 姓名=王明)(6)检索姓名以王打头的
16、所有学生的姓名和年龄。答:SELECT 姓名,年龄 FROM 学生 WHERE 姓名 LIKE?王%?(7)在选课表中检索成绩为空值的学生学号和课程号。答:SELECT 学生号,课程号 FROM 选课 WHERE 成绩 ISNULL(8)求年龄大于女同学平均年龄的男学生姓名和年龄。答:9word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。SELECT 姓名,年龄 FROM 学生WHERE 性别=?男?and 年龄(SELECT AVG(年龄)FROM 学生WHERE 性别=?女?)(9)求年龄大于所有女同学年龄的男学生
17、姓名和年龄。答:SELECT 姓名,年龄 FROM 学生WHERE 性别=?男?and 年龄 all(SELECT年龄 FROM 学生WHERE 性别=?女?)(10)检索所有比王明年龄大的学生姓名、年龄和性别。答:SELECT 姓名,年龄,性别 FROM 学生WHERE年龄 (SELECT年龄 FROM 学生WHERE 姓名=?王明?)(11)检索选修课程 C001 的学生中成绩最高的学生的学号。答:SELECT 学生号 FROM 选课WHERE 课程号=?C001?and 成绩=(SELECT MAX(成绩)FROM 选课 WHERE 课程号=?C001?)(12)检索学生姓名及其所选修课
18、程的课程号和成绩。答:SELECT 姓名,课程号,成绩 FROM 学生,选课 WHERE 学生.学生号=选课.学生号(13)检索选修 2 门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的410word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。降序排列出来。答:SELECT 学生号,SUM(成绩)FROM 选课WHERE 成绩=60 GROUP BY 学生号HAVING COUNT(*)=2ORDER BY SUM(成绩)DESC3.2 利用控制流语句,查询学生号为 0101001 的学生的各科成绩,如果
19、没有这个学生的成绩,就显示“此学生无成绩”。答:IF EXISTS(SELECT*FROM 选课 WHERE 学生号=0101001)SELECT 课程号,成绩FROM 选课WHERE 学生号=0101001 ELSEPRINT 此学生无成绩3.3 用函数实现:求某个专业选修了某门课的学生人数。答:CREATE FUNCTION renshu(p char(10),cn char(4)RETURNS floatASBEGINDECLARE cou floatSELECT cou=(SELECT count(*)FROM 学生,选课WHERE 学生.学生号=选课.学生号 and 课程号=cnan
20、d专业=p)11word 格式支持编辑,如有帮助欢迎下载支持。文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。RETURN cou END3.4 用函数实现:查询某个专业所有学生所选的每门课的平均成绩。答:CREATE FUNCTION average(p char(10)RETURNS floatASBEGINDECLARE aver floatSELECT aver=(SELECT 课程号,avg(成绩)FROM 学生,选课WHERE 学生.学生号=选课.学生号 and专业=pGROUP BY 课程号)RETURN aver END3.5 针对“仓库库存”中的“商品”表,查询商品的价格等级,商品号、商品名和价格等级(单价 1000 元以内为“低价商品”,10003000 元为“中等价位商品”,3000 元以上为“高价商品”)。答:SELECT 商品编号,商品名称,CASE5篇三:管理信息系统数据库设计实验报告管理信息系统课程实验报告12word 格式支持编辑,如有帮助欢迎下载支持。