数据库实验指导及报告正式版.docx
- 文档编号:29596082
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:14
- 大小:21.80KB
数据库实验指导及报告正式版.docx
《数据库实验指导及报告正式版.docx》由会员分享,可在线阅读,更多相关《数据库实验指导及报告正式版.docx(14页珍藏版)》请在冰豆网上搜索。
数据库实验指导及报告正式版
编号:
2015版
《数据库原理及应用》
实验报告
实验报告作者(姓名及学号):
实验指导教师:
鲍芳
实验时间:
2015-2016秋季
实验班级:
自动化电气13级班
实验中心三号楼
广东工业大学
(MSSQLSERVER2005)
第一次实验注意事项:
1.携带U盘;本实验使用MSSQLSERVER2005;
2.在“我的电脑\|管理\服务及应用\SQLSERVER配置管理器\SQLSERVER2005服务”菜单下启动“SQLSERVER(MSSQLSERVER)”服务,双击应用程序“SQLServerManagementStudio”,注意“服务器名称”不要使用缺省设置,通过“浏览更多”及展开“数据库引擎”选择本机号码,点击“连接”;
3.在“对象资源管理器”窗口显示有绿色箭头;在对象资源管理器中附加myCapeCodd数据库:
鼠标右键点击“数据库”选择“附加”,指明数据文件.mdf的位置(均指向U盘的某个文件夹);附加成功后在数据库目录下可见myCapeCodd;
4.点击“新建查询”即可在窗口输入相关SQL语句,可以用截图软件保存查询结果。
(注意MSSQLSERVER2008不支持数据库.mdf.及log文件指向U盘。
)
2015数据库原理及应用实验安排(实验一至实验七)
在实验四至实验七中,务必对提交的SQL语句返回的查询结果与人工检索的结果相对比,以此方式验证SQL语句的正确性。
以下实验内容涉及学生自己创建数据库。
5.在对象资源管理器中创建自己的数据库:
鼠标右键点击“数据库”选择“新建数据库”,名称取为“电气X班XXX学生成绩管理数据库”;在“新建数据库”时要指明数据文件及事务日志的位置(均指向U盘的某个文件夹),不要使用缺省设置;
6.在“新建查询”下输入SQL语句,注意先选择对应的“电气X班XXX学生成绩管理数据库”,而不是缺省的master数据库;检查及执行该语句,注意每次输入新的SQL语句时先清空输入界面;注意在半角状态输入空格,若在全角状态输入空格容易导致出错;
7.创建数据库中的表后(注意刷新),在对象资源管理器窗口可见该表及其所拥有的键及约束:
学生:
键:
1,约束:
1;课程:
键:
1;选课:
键:
3,约束:
1
8.在对象资源管理器中“数据库”子菜单使用“附加”命令选中.mdf文件(对应的.log文件自动加入,注意两者名称一致),可打开自己的数据库。
“数据库”/任务下的“分离数据库”命令可关闭该数据库;
9.注意性别的字符串长度(不能为1,一个汉字占位2);成绩的属性选择,要求能够进行数值计算,int或numeric(4,1);注意成绩=null与成绩=0的区别:
数值型的空值输入:
null;字符串型的空值输入:
’’;
10.出生日期设为smalldatetime或datetime类型(输入格式为’19981028’)后,查询时在select语句中可使用convert(varchar(10),出生日期,111)as出生日期,将其截短为年月日;
11.建立计算机系学生信息统计的视图,要求包括计算机系学生的学号、姓名、性别和年龄;
Createview计算机系学生信息统计as
(select学号,姓名,year(getdate())-year(出生日期)as年龄from学生where学院=‘计算机’)
关于不同版本DBMS的实验环境问题:
1.在.txt文档保存正确的createtable语句及insert语句;
2.使用05版本时可以将数据库指向U盘,
3.使用08版本时先将U盘的.mdf.及.log文件复制到计算机D区或E区的某个文件夹,再将此文件附加到数据库DBMS。
结束后不要复制D区或E区的文件,丢弃。
实验报告要求采用学校的实验报告书(16开)。
如打印也应采用实验报告书的版头(A4纸),不接受电子版!
每份实验报告必须包含以下5项:
一、实验目的与要求(按实验指导书“实验目的”填写)
二、实验方案
(按实验指导书“实验步骤”及本文档的实验内容要求填写)
三、实验结果和数据处理
(按实验操作结果记录填写,查询结果使用截图表示)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
(可回答思考题或实验中遇到的问题及解决方法)
若在报告中描述你在实验中遇到的问题及解决方案,将有机会获得额外加分!
广东工业大学实验报告
______________学院________________专业_____班成绩评定_______
学号__________姓名__________(合作者____号____)教师签名_______
预习情况
操作情况
考勤情况
数据处理情况
实验一题目数据库系统设计第___周星期___第___节
一、实验目的与要求
掌握数据库的基本设计技术,熟悉数据库概念模型设计的每个任务步骤,并加深对关系数据库概念和特点的理解。
要求学生根据周围的实际情况自选一个小型的数据库应用项目并深入到应用项目的现实世界中进行系统分析和数据库设计,例如选择学生成绩管理系统、图书管理系统或仓库管理系统等。
学生成绩管理数据库的基本要求:
1.能够记录学生的基本信息,包括学号、姓名、性别、出生日期及所属学院;
2.能够记录课程的基本信息,包括课程号,课程名,先行课号;
3.能够记录学生选课情况及选修课程的成绩;
(学生成绩管理系统及图书管理系统数据库应用项目介绍可参见蔡延光《数据库原理及应用》第11章或苗雪兰《数据库原理及应用》第5章)。
二、实验方案
利用数据库设计的5个步骤(识别实体、确定关系、列出属性、确定键及属性的域,对学生成绩管理系统(必选)、图书管理系统(可选)进行相关数据库的数据建模及设计。
●使用ChenERD或鸭脚模型表示所设计的概念模型;
●给出各表的关系结构和表级约束;
●给出各属性域的描述,包括物理描述和语义描述;
三、实验结果和数据处理
(按实验操作结果记录填写)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
1、关系数据库中如何保存实体之间的关系?
2、学生选课系统中属性学号、课程号及成绩采用哪种数据类型更好,数值型还是字符型?
为什么?
3、在所设计的数据模型中体现的业务规则是什么?
广东工业大学实验报告
______________学院________________专业_____班成绩评定_______
学号__________姓名__________(合作者____号____)教师签名_______
预习情况
操作情况
考勤情况
数据处理情况
实验二题目数据库的定义实验第___周星期___第___节
一、实验目的与要求
要求熟练掌握和使用SQL、SQLServer企业管理器创建数据库、表、索引和修改表结构,并学会使用SQLServer查询分析器接受SQL语句和进行结果分析。
二、实验方案
1、在企业管理器中创建及打开数据库,在“新建数据库”时指明数据文件及事务日志的位置;
2、在SQLServer查询分析器中用SQL语句实现以下各表:
学生(学号,姓名,性别,出生日期,所属学院);
课程(课程号,课程名,先行课号);
选课(学号,课程号,成绩);
3、建立库、表和表间的联系,选择合适的数据类型,定义必要的列级约束(包括性别约束和成绩约束)和表级约束。
创建数据库中的表并刷新后,在对象资源管理器窗口可见该表及其所拥有的键及约束:
学生:
键:
1,约束:
1;课程:
键:
1;选课:
键:
3,约束:
1。
三、实验结果和数据处理
(给出实现数据库表的SQL语句)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
1、举例说明创建外键的SQL语句中的参照表和被参照表各指什么?
ONDELETECASCADE关键字对删除记录有何影响?
2、(可描述在实验中遇到的问题及解决方法)
3、(可选)如果考虑课程表中的递归关系,应该如何修改你的sql语句?
在向此表插入数据时应该注意什么问题?
广东工业大学实验报告
______________学院________________专业_____班成绩评定_______
学号__________姓名__________(合作者____号____)教师签名_______
预习情况
操作情况
考勤情况
数据处理情况
实验三题目数据库的建立和维护实验第___周星期___第___节
一、实验目的与要求
要求熟练掌握和使用SQL、SQLServer企业管理器向数据库输入数据、修改数据和删除数据操作。
二、实验方案
通过SQLServer企业管理器或查询分析器实现对学生成绩管理数据库的数据增加、数据删除和数据修改操作。
要求每个表的记录在10行以上,可根据查询要求增加或完善表中记录;输入数据检验各数据约束的限制;数据更改和数据删除时检验外码约束;
三、实验结果和数据处理
(在报告中给出用SQL语句实现数据增加、数据删除和数据修改的共6个例句,并附上所设计的数据库表的样本数据,每张表的记录为10行)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
1、举例说明如何在输入数据时检验各数据约束的限制?
2、举例说明如何在数据更改和数据删除时检验外码约束?
举例说明创建外键时有无ONDELETECASCADE关键字对删除记录有何影响?
3、属性“成绩”成绩输入为null或0时有区别吗?
4、(可描述实验中遇到的问题及解决方法)
广东工业大学实验报告
______________学院________________专业_____班成绩评定_______
学号__________姓名__________(合作者____号____)教师签名_______
预习情况
操作情况
考勤情况
数据处理情况
实验四题目数据库的简单查询和连接查询实验第___周星期___第___节
一、实验目的与要求
要求熟练掌握和使用SQL、SQLServer企业管理器向数据库输入数据、修改数据和删除数据操作。
二、实验方案
通过SQLServer查询分析器实现对学生成绩管理数据库的以下简单查询和连接查询:
1.求数学系学生的学号和姓名;
2.(optional)查询数学系学生的信息,包括学号、姓名、性别和年龄(提示:
year(getdate())-year(出生日期)as年龄);
3.求选修了课程的学生学号;
4.求选修课程C1的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列;
5.求选修课程C1且成绩在80~90分之间的学生学号和期末考试成绩,其中期末考试成绩为选修表中成绩乘以系数0.8;
6.求数学系或计算机系姓张的学生的信息;
7.求缺少了成绩的学生的学号和课程号;
8.查询每门课程的先行课程名;
三、实验结果和数据处理
(给出各SQL语句及对应查询结果)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
1、如何提高数据查询和连接速度?
2、(可描述实验中遇到的问题及解决方法)
广东工业大学实验报告
______________学院________________专业_____班成绩评定_______
学号__________姓名__________(合作者____号____)教师签名_______
预习情况
操作情况
考勤情况
数据处理情况
实验五题目数据库的嵌套查询实验第___周星期___第___节
一、实验目的与要求
进一步掌握SQLServer查询分析器的使用方法,加深SQL语言的嵌套查询语句的理解。
二、实验方案
通过SQLServer查询分析器实现对数据库的以下嵌套查询,并尝试用多种形式表示实验中的查询语句,并进行比较。
1、求选修了高等数学的学生学号和姓名;
2、求C1课程的成绩高于张三的C1课程成绩的学生学号和成绩;
3、求选修C2课程号的学生学号;
4、求选修C2课程号的学生姓名;
5、求没有选修C2课程号的学生学号;
6、求没有选修C2课程号的学生姓名;
7、求选修C1课程而没有选修C2课程的学生姓名;
三、实验结果和数据处理
(给出各SQL语句及对应查询结果)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
1、嵌套查询和连接查询有何区别?
在本实验的查询任务中,哪些是可以由嵌套查询和连接查询实现?
2、针对查询任务5“求没有选修C2课程号的学生学号”,SQL语句“SELECT学号FROM选课WHERE课程号<>‘C2’”可以完成该查询任务吗?
为什么?
;
广东工业大学实验报告
______________学院________________专业_____班成绩评定_______
学号__________姓名__________(合作者____号____)教师签名_______
预习情况
操作情况
考勤情况
数据处理情况
实验六数据库统计查询实验第___周星期___第___节
一、实验目的与要求
熟悉掌握SQLServer查询分析器的使用方法,加深对SQL语言查询语句的理解,熟悉掌握数据查询中的分组和统计的操作方法。
二、实验方案
通过SQLServer查询分析器实现以下对数据库的统计查询;
1.用SQL语句实现学生人数的统计;
2.用SQL语句实现计算机系学生人数的统计;
3.用SQL语句实现各系学生人数的统计;
4.用SQL语句统计选修某课程学生的人数;
5.用SQL语句统计选修了课程的学生人数;(提示:
剔除重复记录需要使用关键字…….)
6.用SQL语句统计被选课程及选修该课程的人数;
7.用SQL语句统计每个学生全部课程的平均成绩;
8.用SQL语句统计选修课超过3门课的学生学号;(可选)
三、实验结果和数据处理
(给出各SQL语句及对应查询结果)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
1、试用GROUPBY(分组条件)字句后,语句中的统计函数的运行结果有什么不同?
2、(可描述实验中遇到的问题及解决方法)
广东工业大学实验报告
______________学院________________专业_____班成绩评定_______
学号__________姓名__________(合作者____号____)教师签名_______
预习情况
操作情况
考勤情况
数据处理情况
实验七题目数据库的视图和图标的定义及使用实验第___周星期__第_节
一、实验目的与要求
掌握SQLServer中视图的创建和使用,加深对视图和SQLServer图表作用的理解。
二、实验方案
通过SQLServer实现数据库的视图的创建及使用,完成以下任务:
1、建立计算机系学生的视图;
2、(optional)建立计算机系学生信息统计的视图,要求包括计算机系学生的学号、姓名、性别和年龄;
3;(optional)基于计算机系学生信息统计视图查询计算机系学生年龄在18岁及以上()的学生的学号、姓名及年龄;
4、由学生、课程和选课三个表,定义一个计算机系的学生成绩视图,其属性包括学号、姓名、课程名和成绩;
5、将学生的学号、总成绩、平均成绩定义成一个视图;
6、统计学生的学号、姓名、总成绩及平均成绩(可利用3的视图或groupby学生.学号,学生.姓名);
三、实验结果和数据处理
(给出各SQL语句及对应查询结果)
四、结论
(可根据实验内容给出所对应数据库理论要点)
五、问题与讨论
1、为什么要建立视图?
视图和基本表有什么不同?
2、groupby语句在使用时需要注意什么事项?
(MSSQLSERVER2000)
一、实验注意事项:
1.本实验使用MSSQLSERVER2000的企业管理器及查询分析器;
2.在企业管理器中创建及打开数据库,在“新建数据库”时要指明数据文件及事务日志的位置(可指向U盘),不要使用缺省设置;
3.在查询分析器中输入SQL语句,注意先选择对应的数据库,而不是缺省的master数据库;
4.注意每次输入新的SQL语句时先清空查询分析器的输入界面;
5.创建数据库中的表后(注意刷新),在查询分析器的对象浏览器中可见该表及其所拥有的约束:
学生:
2,课程:
1,选课:
4;
6.企业管理器在数据库子菜单使用“附加数据库”命令选中.mdf文件(对应的.log文件自动加入,注意两者名称一致),可打开自己的数据库。
“分离数据库”命令可关闭该数据库;
7.注意成绩的属性选择,要求能够进行数值计算;
8.出生日期设为smalldatetime或datetime类型(输入格式为1970-06-01)后,查询时在select语句中可使用convert(varchar(10),出生日期,111)as出生日期,将其截短为年月日;
二、上机步骤:
1.打开SQLSERVER2000---企业管理器:
2.如果展开SQLServer为“无项目”,鼠标右键选择“新建SQLServer注册”,选择Local及Windows身份验证,展开树形目录直到可见Northwind及Pubs等;
3.建立自己的数据库,名称为“电气X班XXX学生成绩管理数据库”;
4.打开查询分析器,选择Local及Windows身份验证;
5.在查询分析器中输入SQL语句;
6.约束的图形化界面实现方法:
性别约束:
([性别]=’女’OR[性别]=’男’)
成绩约束:
([成绩]between0and100)
7.实验七中SQL语句不能以分号;结束,否则语法错误。
8.保存查询结果:
在“查询分析器”的“查询”菜单下选择“文本显示结果”后,可通过复制、粘贴等方式将结果存为.txt文件
9.在有递归关系的设计方案中
创建课程表:
createtable课程(课程号char(20)primarykey,课程名char(20),先行课号char(20)foreignkey(先行课号)references课程(课程号));
输入数据时:
Insertinto课程(课程号,课程名)values(‘c1’,’高等数学’);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 指导 报告 正式版