数据可实验报告.docx
- 文档编号:10512902
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:14
- 大小:126.31KB
数据可实验报告.docx
《数据可实验报告.docx》由会员分享,可在线阅读,更多相关《数据可实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
数据可实验报告
《数据库系统基础实验报告》
专业:
信息与计算科学
班级:
13405011
学号:
1340501123
姓名:
邢耀光
实验日期:
2015.11.12
报告日期:
2015.12.12
成绩:
______________________
一:
实验目的及要求:
1.1实验目的:
为巩固数据库基础理论知识,同时加强学生的实际动手能力,本课程的实验通过上机操作的方式,要求学习者通过使用具体的DBMS,了解并掌握一种实际的数据库管理软件系统的操作技术,本课程的实验从数据库结构的设计和数据的查询和约束三个部分四个实验着手,
1.掌握手动创建数据库结构的方法
2.掌握使用SQL语言创建数据报道操作方法
3.掌握使用SELECT语句进行数据查询的方法
4.掌握数据库完整性机制的若干实现方法
1.2实验要求:
以学生选课系统为例,创建一个学生选课数据库,包括学生情况表、课程表、选课等3个基本表,及在该数据库上的一些完整性约束,并在该数据库录入数据的基础上,实现一些基本的查询和更新操作,具体实验内容见第三部分。
二:
实验环境介绍(使用的软硬件环境情况介绍,包括什么样的处理器,什么样的操作习题,DBMS及其版本等,DBMS安装情况简单介绍)
在Windows7操作系统下,启动MicrosoftSQL2008安装程序后,系统兼容性助手将提示软件存在兼容性问题,在安装完成之后必须安装SP1补丁才能运行,如图1-1所示。
这里选择“运行程序”开始SQLServer2008的安装。
图1-1兼容性问题提示
进入SQLServer安装中心后跳过“计划”内容,直接选择界面左侧列表中的“安装”,如图1-2所示,进入安装列表选择。
图1-2SQLServer安装中心-计划
如图1-3所示,进入SQLServer安装中心-安装界面后,右侧的列表显示了不同的安装选项。
本文以全新安装为例说明整个安装过程,因此这里选择第一个安装选项“全新SQLServer独立安装或现有安装添加功能”。
图1-3SQLServer安装中心-安装
选择全新安装之后,系统程序兼容助手再次提示兼容性问题,如图1-4所示。
选择“运行程序”继续安装。
图1-4 兼容性问题提示
之后进入“安装程序支持规则”安装界面,安装程序将自动检测安装环境基本支持情况,需要保证通过所有条件后才能进行下面的安装,如图1-5所示。
当完成所有检测后,点击“确定”进行下面的安装。
图1-5 安装程序支持规则
接下来是SQLServer2008版本选择和密钥填写,本文以“EnterpriseEvaluation”为例介绍安装过程,密钥可以向Microsoft官方购买,如图1-6所示。
图1-6 产品密钥
在许可条款界面中,需要接受Microsoft软件许可条款才能安装SQLServer2008,如图1-7所示。
图1-7 许可条款
接下来将进行安装支持检察,如图1-8所示,点击“安装”继续安装。
图1-8 安装程序支持文件
如图1-9所示,当所有检测都通过之后才能继续下面的安装。
如果出现错误,需要更正所有失败后才能安装。
图1-9 安装程序支持规则
通过“安装程序支持规则”检察之后进入“功能选择”界面,如图1-10所示。
这里选择需要安装的SQLServer功能,以及安装路径。
建议:
由于数据和操作日志文件可能会特别庞大,请谨慎选择安装路径,或在建立数据库时选择专有的保存路径。
图1-10 功能选择
如图1-11所示,接下来是“实例配置”,这里选择默认的ID和路径。
图1-11 实例配置
在完成安装内容选择之后会显示磁盘使用情况,可根据磁盘空间自行调整,如图1-12所示。
图1-12 磁盘空间要求
如图1-13所示,在服务器配置中,需要为各种服务指定合法的账户。
注意:
这里需要根据用户实际需求做出调整,本文没有深入研究用户设置的影响,统一使用一个用户“Administrator”,由此产生的影响在以后的日志中会补充说明。
图1-13服务器配置
接下来是数据库登录时的身份验证,这里需要为SQLServer指定一位管理员,本文以系统管理员作为示例,如图1-14所示。
建议:
在服务器上安装SQLServer时,安全起见为此建立独立的用户进行管理。
图1-14数据库引擎配置
如图1-15所示,为“AnalysisServices配置”指定管理员,本文以系统管理员作为示例。
建议:
在服务器上安装SQLServer时,安全起见为此建立独立的用户进行管理。
图1-15AnalysisServices配置
在报表服务配置中选择默认模式,用户可根据需求选择,如图1-16所示。
图1-16ReportingServices配置
如图1-17所示,“错误和使用情况报告”界面中可选择是否将错误报告发送给微软。
图1-17错误和使用情况报告
最后根据功能配置选择再次进行环境检察,如图1-18所示。
图1-18安装规则
当通过检察之后,软件将会列出所有的配置信息,最后一次确认安装,如图1-19所示。
点击“安装”开始SQLServer安装。
图1-19准备安装
根据硬件环境的差异,安装过程可能持续10-30分钟,如图1-20所示。
图1-20安装进度
如图1-21所示,当安装完成之后,SQLServer将列出各功能安装状态。
图1-21安装进度完成
如图1-22所示,此时SQLServer2008完成了安装,并将安装日志保存在了指定的路径下。
图1-22完成安装
三:
实验内容及步骤、结果
3.1手动创建“学生情况表”的表结构,并录入相应的数据。
图3.1.1学生情况表的结构
图3.1.2录入学生情况表数据
3.2手动创建“课程表”的表结构,并录入相应的数据。
图3.2.1课程表的结构
图3.2.2录入课程表数据
3.3手动创建“选课表”的表结构,并录入相应的数据。
图3.3.1选课表的结构
图3.3.2录入选课表数据
3.4使用SQL语言创建“学生情况表”的表结构,并录入相应的数据。
SQL语言创建“学生情况表”:
useXSCJ
createtable学生情况(学号char(6)notnullprimarykey,
姓名char(8)notnullunique,
性别char(10)notnull,
出生日期datenotnull,
所在系char(10)notnull,
专业名char(10)notnull,
联系电话char(11),
总学分tinyint,
备注text,
constraintc1check(性别in('男','女')),
constraintc2check(联系电话like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
constraintc3check(总学分between0and200));
“学生情况表”录入的数据同图3.1.2。
3.5使用SQL语言创建“课程表”的表结构,并录入相应的数据。
SQL语言创建“课程表”:
useXSCJ
createtable课程(序号int,
课程号char(3)notnullprimarykey,
课程名char(20)notnull,
授课教师char(8),
开课学期tinyintnotnull,
学时tinyint,
学分tinyint,
constraintc4check(开课学期between1and6));
“课程表”录入的数据同图3.2.2。
3.6使用SQL语言创建“选课表”的表结构,并录入相应的数据。
SQL语言创建“选课表”:
useXSCJ
createtable学生课程(学号char(6)notnull,
课程号char(3)notnull,
成绩tinyint,
学分tinyint,
constraintc5check(成绩between0and100),
constraintc6primarykey(学号,课程号),
constraintc7foreignkey(学号)references学生情况(学号),
constraintc8foreignkey(课程号)references课程(课程号));
“选课表”录入的数据同图3.3.2。
3.7使用SELECT语句完成简单查询
(1)按开课学期统计KC表中的学分,并显示明细信息。
SQL语言:
USEXSCJ
select*
FROMKC
orderby开课学期asc
图3.7.1按开课学期统计KC表中的学分。
(2)将XS-KC表中的数据记录按学号分类汇总,输出学号和平均分。
SQL语言:
useXSCJ
select学号,AVG(成绩)
from[XS-KC]
groupby学号;
图3.7.2XS-KC表按学号输出平均分。
(3)查询平均分大于70且小于80的学生学号和平均分。
SQL语言:
useXSCJ
select学号,AVG(成绩)
from[XS-KC]
groupby学号havingAVG(成绩)>70andAVG(成绩)<80;
图3.7.3大于70且小于80的学生学号和平均分。
(4)查询选修了“234”课程的学生的最高分和最低分。
SQL语言:
USEXSCJ
select*
FROM[XS-KC]
where课程号='234'and成绩>=all(select成绩
FROM[XS-KC]
where课程号='234')
union
select*
FROM[XS-KC]
where课程号='234'and成绩<=all(select成绩
FROM[XS-KC]
where课程号='234');
图3.7.4选修“234”课程的最高和最低分。
3.8使用SELECT语句完成汇总和更新查询
(1)求各个系学生的平均分,并把结果存到数据库中。
SQL语言:
CREATETABLE系平均学分(系名称char(20),
平均总学分smallint);
insert
into系平均学分
select所在系,AVG(all总学分)
fromxsqk
groupby所在系;
图3.8.1各个系学生的平均分。
(2)将选课表中的金融课程的成绩乘以1.2.
SQL语言:
useXSCJ
update[XS-KC]
set成绩=成绩*1.2
where课程号=(select课程号
fromKC
where课程名='金融');
图3.8.2金融课程的成绩乘以1.2。
3.9性别规则:
SQL语言:
CREATERULEstusex_rule
AS
@性别in('男','女')
go
sp_bindrulestusex_rule,'xsqk.性别'
图3.9性别规则。
3.10触发器:
SQL语言:
createtriggertri_insertONKC
forinsert
as
declare@开课学期tinyint
select@开课学期=KC.开课学期
fromKC,inserted
whereKC.课程号=inserted.课程号
if@开课学期notbetween1and6
begin
rollbacktransaction
raiserror('开课学期取值只能是到',16,10)
end
图3.10触发器。
3.11授权:
将修改学生学号和查询学生表的权利授予王鹏。
SQL语言:
GRANTUPDATE(学号),SELECTONTABLExsqkTO王鹏;
四:
实验中遇到的问题及解决方案:
实验中遇到了约束条件和主外键的设置问题,以及简单查询,选择查询,性别规则,触发器等各种零碎问题。
最后在查阅课本和XX搜索,以及同学和老师的帮助下。
最终完成了这次用SQL语言解决一些数据库中的一些常见问题。
五:
实验总结:
通过这次数据库的实验,学会了用SQL语句进行一些简单的查询,以及了解了一些解决简单问题的功能。
在过程中也遇到了各种各样的零碎问题,在老师的悉心教导和同学们的帮助下完成了此次上机实验。
经过短暂的学习,让我学会了很多知识。
感谢老师的教导,让我又多掌握了一项专业的技术,我会在今后更加努力的学习这方面的专业技术知识,勤于实践、不断提高,以适应时代的发展,更好的把握未来。
134.501123:
邢耀光。
2015.12.14
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)