数据库实验四DOC.docx
- 文档编号:392157
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:25
- 大小:853.33KB
数据库实验四DOC.docx
《数据库实验四DOC.docx》由会员分享,可在线阅读,更多相关《数据库实验四DOC.docx(25页珍藏版)》请在冰豆网上搜索。
数据库实验四DOC
《数据库管理系统》实验报告
2011/2012学年第2学期
实验项目:
数据库
班级:
学生:
(学号240103808)
地点:
经管院A实验室
机器号:
指导教师:
时间:
2012年6月3日
经济管理学院信息管理教研室
实验四:
数据库综合实验
一、实验目的
1.了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,掌握查询条件表达式和使用方法;
2.掌握WindowsNT认证模式下数据库用户帐号的建立与取消方法;
3.掌握混合模式下数据库用户帐号的建立与取消方法;
4.掌握数据库用户权限的设置方法;
5.熟悉数据库数据库用户帐号的权限分配、回收等方法;
6.了解数据库角色的分类、作用及使用方法。
7.掌握主键约束、外键约束及及check约束的用法;
8.掌握默认值约束的应用;
9.了解规则、触发器的使用。
10.熟悉数据库备份及恢复机制;
11.了解SQLServer的数据备份和恢复机制;
12.掌握SQL-Server中数据库备份和恢复的方法。
二、实验环境
已安装SQLServer2005的计算机;
具有局域网网络环境,有ip地址;
三、实验要求
1.学会用DDL语言进行对表、索引、视图的增加、删除和改动;
2.了解SQLServer2005系统安全;
3.熟悉数据库用户、服务器角色及数据库角色的用法;
4.熟悉数据库完整性相关概念及约束;
5.了解约束、默认值及规则;
6.了解创建备份设备和进行数据库完全备份操作的方法;
7.了解进行数据库恢复的步骤;
8.完成实验报告;
四、实验内容及步骤
(一)用T-SQL语句操作索引、视图
1.建立计算机科学系学生的视图
2.
由学生、课程和选修课三个表,定义一个计算机科学系的学生成绩视图,其属性包括学号、姓名、课程名和成绩
3.将学生的学号、总成绩、平均成绩定义成一个视图
4.对student表按学号降序建唯一索引,索引名stunods。
5.
删除索引stunods。
(二)数据库的安全性
以系统管理员身份登录到SQLServer服务器,在SQLServer2005界面中实现以下操作,并独立写出部分题目的程序代码;
1.在当前计算机中增加一个用户zhang和cheng,密码为secret。
使此用户通过winowsnt模式下登录SQLServer服务器,登录名分别为zhang和cheng;
2.新建以混合模式登录SQLServer服务器的用户登录名为stu1、stu2和stu3,登录密码为secret,默认登录数据库为专用数据库(用完整学号命名);
3.将帐号zhang添加为专用数据库(用完整学号命名)的用户,用户名为zhang;
4.
在数据库stu中创建用户stu1、stu2和stu3,登录帐号分别为stu1、stu2和stu3;
5.给数据库用户zhang赋予创建数据库的权限;
6.给数据库用户stu1赋予对sc表进行插入、修改、删除操作权限;
7.给数据库用户stu2和stu3赋予对student表、course表所有操作权限及查询sc的操作权限,并允许再授权给其他用户;
8.收回数据库用户stu2对student表和course表的删除操作的权限;
(以下选做)
9.若一个小组共5个成员,他们对数据库stu具有相同的操作权限,具体权限如下:
1)对于student、course表只能进行数据查询;
2)只能对student表中sname进行更改;
3)对于sc表只能进行修改、删除或插入;
10.思考题:
将登录帐号zhang、stu1、stu2和stu3加入到服务器角色sysadmin中;
11.将登录帐号cheng同时拥有服务器角色serveradmin和securityadmin的权限;
12.删除服务器角色sysadmin的成员stu2和stu3;
(三)数据库的完整性
以系统管理员身份登录到SQLServer服务器,并使用T-SQL语句实现以下操作;
1.请用至少2种方法定义stu数据库中student表的主键sno;
2.将表course的cno字段定义为主键,约束名称为cno_pk;
3.为表course中的字段cname添加唯一值约束;
4.
将表sc的sno及cno字段组合定义为主键,约束名称为sc_pk;
5.对于数据表sc的sno、cno字段定义为外码,使之与表student的主码sno及表course的主码cno对应,实现如下参照完整性:
1)删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录;
2)修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录,则拒绝修改;
3)修改course表cno字段值时,该字段在sc表中的对应值也应修改;
4)删除course表一条记录时,若该字段在在sc表中存在,则删除该字段对应的记录;
5)向sc表添加记录时,如果该记录的sno字段的值在student中不存在,则拒绝插入;
6.定义check约束,要求学生学号sno必须为9位数字字符,且不能以0开头,第二三位皆为0;
7.定义student表中学生年龄值在16-25范围内;
8.定义student表中学生姓名长度在2-8之间;
9.定义student表中学生性别列中只能输入“男”或“女”;
10.定义stu数据库student表中学生年龄值默认值为20;
11.修改student表学生的年龄值约束可以为15-30范围内;
12.删除上述唯一值约束、外键约束及check约束;
13.
Createtriggersc_insupdonsc
Forinsert,update
ASdeclare@cjsmallint
Select@cj=inserted.gradefrominserted
If(@cj<0or@cj>100
Begin
Raiserror(’成绩必须在0到100之间’,16,1)
Rollbacktransaction
end
设计一个触发器,当插入或更新成绩列时,该触发器检查插入的数据是否处于设定的范围内.请自行举例测试.
(以下选做)
14.思考题:
定义规则对象,用于保证course表中cno字段值为5个数字字符;
15.思考题:
向sc表中插入或修改一条记录时,通过触发器检查记录sno字段的值在student表中是否存在,若不存在,则取消插入或修改操作;
16.思考题:
删除student表中一条记录的同时删除其在sc表中对应的记录;
(四)数据库的备份和恢复
以管理员帐号登录SQLServerManagementStudio,以专用数据库(用完整学号命名)为基础,请使用ManagementStuio界面方式或T-SQL语句实现以下操作:
1.针对数据库创建完全数据库备份集stu.bak,目标磁盘为D:
\user\stu.bak;
2.在数据库中新建数据表ceshi,内容自定,然后针对数据库stu创建差异备份;
3.向数据库的数据表ceshi插入部分记录,然后针对数据库stu创建事务日志备份;
4.根据需要,将数据库恢复到数据库stu的最初状态;
5.根据需要,将数据库恢复到创建数据表ceshi后的状态;
6.根据需要,将数据库恢复到在ceshi表插入记录后的状态;
7.针对现有数据库stu创建完全文件和文件组备份集stu_file,目标磁盘为D:
\user\stu_file.bak;
8.在当前数据库中新建数据表ceshi2,然后针对数据库stu创建差异文件和文件组备份;
9.向数据库stu的数据表ceshi2插入部分记录,然后针对数据库stu创建事务日志文件和文件组备份;
10.根据需要,将数据库以文件和文件组方式恢复到创建数据表ceshi2后的状态;
11.根据需要,将数据库以文件和文件组方式恢复到数据表ceshi2插入记录后的状态;
(以下选做)
12.为数据库stu设置一个备份计划1(建议使用数据库维护计划向导,【服务器】→【管理】→【维护计划】→【维护计划向导】);
13.为数据库stu设置一个备份计划2,并比较各自优缺点。
(五)数据库的的其他功能实验(选做)
1.将student表的数据导出到EXCEL中。
2.SQL定义功能
1)用以下SQL语句添加规则XB;打开表,添加数据,输入不同性别,看系统反应.
Createrule[dbo].[XB]AS@性别=’男’or@性别=‘女’
2)用以下SQL语句增加一个默认值defaultaaa,
Createdefault[dbo].[defaultaaa]AS20
将该默认值绑定到表的sage字段上,然后打开表,添加数据,看结果。
3)查询表student的前10个记录内容的存储过程
createproceduresp_query_student
as
selecttop10*fromstudent
go
execsp_query_student
五.实验总结
此次实验主要是学会WindowsNT认证模式下数据库用户帐号的建立与取消方法;掌握混合模式下数据库用户帐号的建立与取消方法和数据库用户权限的设置方法;熟悉数据库数据库用户帐号的权限分配、回收等方法;熟悉数据库备份及恢复机制;了解SQLServer的数据备份和恢复机制以及SQL-Server中数据库备份和恢复的方法。
在大家都无法完成的时候我们会请教老师,所以我们通过这样的学习方式很快掌握了老师布置的作业要求,也更进一步地懂得了数据库的概念和应用。
建立自己的数据库,通过修改一些参数,比如数据文件的初始大小,增长速度,以及删除和新建日志文件啦等等,我们现在都已经掌握了这些基本的操作,还有SQLserver服务器的暂停,恢复等几种操作方法我们也熟练了。
整个实验做完后,我感觉以我自己学号命名的数据库又多了点分量,因为这些数据库中已经有了不同的表,增加了数据库的系统性和有序性。
如果能学好数据库,精通数据库,我想对于以后自己的生活资料的整理一定有帮助,更对工作上有很大的帮助。
我相信,只要我们不断地学习,不断地请教,一定能把这门课学好。
有了兴趣就要好好培养,在兴趣的基础上争取更上一层楼。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 DOC