数据库实验指导书终版Word文档下载推荐.docx
《数据库实验指导书终版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库实验指导书终版Word文档下载推荐.docx(58页珍藏版)》请在冰点文库上搜索。
二、实验类型21
三、实验目的21
四、实验内容21
五、实验任务21
实验八、视图的创建与使用22
一、实验学时22
二、实验类型22
三、实验目的22
四、实验内容22
五、实验任务22
实验九、SQL语言测试23
实验十、数据库安全性24
一、实验学时24
二、实验类型24
三、实验目的24
四、实验内容24
五、实验任务24
实验十一、数据库完整性49
一、实验目的49
二、实验内容49
三、实验任务49
实验十二、数据库设计51
一、实验目的51
二、实验内容51
三、实验任务51
实验十三、数据库设计提高----53
嵌入式SQL的使用53
一、实验目的53
二、实验平台53
三、预备知识53
四、初始化环境55
五、实验任务57
实验一、安装SQLServer2005
一、实验学时
2学时
二、实验类型
验证
三、实验目的
SQLServer2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。
本次实验了解SQLServer2005的安装过程,熟悉SQLServer2005软件环境。
学会安装SQLServer2005的安装。
四、实验内容
1.安装Microsoft的数据库服务软件SQLServer2005:
运行服务器目录SQL2005下的可执行文件autorun.exe,进行SQLServer2005的安装。
选择安装SQLServer2005组件,出现组件安装界面。
选择安装数据库服务器,进入SQLServer2005的安装向导,
点击“下一步”,到计算机名称对话框。
“本地计算机”是默认选项,本地计算机的名称就显示在上面,点击“下一步”,出现安装选择对话框。
选择“创建新的SQLServer实例,或安装客户端工具”,点击“下一步”,出现用户信息对话框。
输入姓名和公司名称后,点击“下一步”,出现软件许可协议。
点“是”按钮,出现安装定义对话框。
选择“服务器和客户端工具”,点击下一步,出现实例名对话框,如图1-9所示。
系统提供了“默认”复选框,点击下一步,出现安装类型选择框。
选择典型,点击“下一步”,出现服务帐户对话框。
接受系统的缺省值,点击“下一步”,出现身份验证模式窗口,
接受系统的缺省值,点击“下一步”,出现开始拷贝文件窗口。
点击“下一步”,开始将文件拷贝到选择的目录中。
文件拷贝完成后,出现安装结束界面。
点击“完成”按钮,完成SQLServer2005的安装。
五、实验任务
1.在计算机上安装数据库软件SQLServer2005;
2.熟悉软件的使用,SQLServer2005主菜单如图1-1所示:
图1-1SQLServer2005主菜单
实验二、
创建数据库、用表设计器建立表
六、实验学时
七、实验类型
八、实验目的
SQLServer2005的启动和管理工作由服务管理器和企业管理器来实现。
本次实验了解SQLServer2005的启动,熟悉如何在SQLServer2005图形环境下建立数据库和表。
学会安装SQLServer2005的启动和建库、表的操作。
九、实验内容
1.启动数据库服务软件SQLServer2005:
在程序菜单中选择MicrosoftSQLServer,如图2-1所示:
图2-1
再选中ManagementStudio,如图2-2所示:
图2-2
ManagementStudio后,出现连接至服务器,如图2-3所示:
图2-3
点击“连接”按钮,启动SQLServer2005数据库服务器
2.在SQLServer2005中建立数据库:
在窗口左边导航条里选择数据库,右键点击,选择新建数据库,如图2-5所示。
图2-5
输入数据库名称,比如test,点击确定,数据库创建完成,左边导航栏出现新建数据库test:
图2-6
3.在Test数据库上建立表:
点击数据库Test前面的+号,打开数据库的各种属性,如图2-13所示:
图2-13
选中“表”,单击鼠标右键,出现表的菜单,如图2-14所示:
图2-14
点击新建表按钮,出现新建表窗口,如图2-15所示:
图2-15
输入列名,数据类型,长度等信息,点击
图标,出现选择表名窗口,输入表名,点击确定按钮,将新建的表存盘。
一十、实验任务
1.用数据库SQLServer2005的服务管理器启动数据库服务;
2.用数据库SQLServer2005的企业管理器建立一个数据文件名为test、大小50M,日志文件名为testlog、大小25M的新数据库,该数据库名为Test。
3.在数据库Test上,建立如下所示的表customer:
字段名
类型
长度
含义
customid
char
17
顾客编号
name
varchar
10
姓名
sex
2
性别
age
int
4
年龄
xfg
dec
10,2
消费金额
address
50
地址
memo
100
备注
实验三、
建立表(用SQL语句)
一十一、实验学时
一十二、实验类型
一十三、实验目的
SQLServer2005的查询分析器是一种特别用于交互式执行SQL语句和脚本的极好的工具。
本次实验了解SQLServer2005查询分析器的启动,熟悉如何在SQLServer2005查询分析器中建表。
一十四、实验内容
1.启动数据库服务软件SQLServer2005的查询分析器:
首先打开MicrosoftSqlServerManagementStudio,并且创建数据库test,如图3-1。
图3-1
再点击工具栏中“新建查询”按钮,打开查询设计器,如图3-2所示:
图3-2
从图中可以看到工具栏处出现了查询工具栏,在下拉列表框选择我们的数据库test。
2.在查询设计器中建立表:
在查询分析器的查询窗口中输入SQL语句,如图3-3所示。
图3-3
点击执行按钮“!
”,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-4所示。
图3-4
提示命令成功完成,或者报告出错信息。
3.用SQL语言dropTable表名删除表,步骤略。
4.用SQL语言altertable修改表的结构,步骤略。
一十五、实验任务
1.打开数据库SQLServer2005的查询分析器,用SQL语言建表STUDENT,表结构如下图所示:
2.用SQL语言建立COURSE表
3.用SQL语言建立SCORE表
4.用SQL语言建立TEACHER表
5.用SQL语言自行设计一个学院表,建立之后,用SQL语言删除该表。
6.用SQL语言把STUDENT表的SNAME改成10位宽,COURSE表里的CNAME列改成长度为15位;
再增加CREDIT列,类型为SMALLINT,可以为空。
7.为STUDENT的SSEX设置check约束,使其值只能为“男”或“女”。
为TACHER表的TSEX做同样的设置。
8、将本次试验结果保存好,供下一次实验使用。
实验四、
单表查询
一十六、实验学时
一十七、实验类型
设计
一十八、实验目的
利用SQLServer2005的查询分析器实现对单一基本表的查询操作,熟悉聚集函数的使用。
一十九、实验内容
1.利用实验三所建立的4张基本表,手动向4张表中分别录入以下数据。
STUDENT:
COURSE:
SCORE:
TEACHER:
2.打开查询设计器,录入完成查询要求的select语句,点击执行按钮,可见查询结果或者错误提示;
如果出现错误,根据提示改正。
二十、实验任务
1.查询Student表中的所有记录的Sname、Ssex和Class列。
2.查询教师所有的单位即不重复的Depart列。
3.查询Student表的所有记录。
4.查询Score表中成绩在60到80之间的所有记录。
5.查询Score表中成绩为85,86或88的记录。
6.查询Student表中“31301”班或性别为“女”的同学记录。
7.以Class降序查询Student表的所有记录。
8.以Cno升序、Degree降序查询Score表的所有记录。
9.查询“31301”班的学生人数。
10.查询Score表中的最高分的学生学号和课程号。
11.查询‘3-105’号课程的平均分。
12.查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。
13.查询最低分大于70,最高分小于90的Sno列。
14.查询所有学生的Sname、Cno和Degree列。
15.查询所有学生的Sno、Cname和Degree列。
实验五、多表查询
二十一、实验学时
二十二、实验类型
二十三、实验目的
利用SQLServer2005的查询分析器实现对多个基本表的连接查询操作。
二十四、实验内容
1.打开实验四的test数据库里的四张表:
STUDENT,COURSE,SCORE,TEACHER。
二十五、实验任务
1.查询所有学生的Sname、Cname和Degree列。
2.查询“31301”班所选课程的平均分。
3.查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。
4.查询score中选学一门以上课程的同学中分数为非最高分成绩的记录。
5.查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。
6.查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。
7.查询“张旭“教师任课的学生成绩。
8.查询选修某课程的同学人数多于5人的教师姓名。
9.查询31301班和95031班全体学生的记录。
10.查询存在有85分以上成绩的课程Cno.
11.查询出“计算机系“教师所教课程的成绩表。
12.查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。
13.查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。
14.查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree.
15.查询所有教师和同学的name、sex和birthday.
16.查询所有“女”教师和“女”同学的name、sex和birthday.
实验六、
集合查询、子查询
二十六、实验学时
二十七、实验类型
二十八、实验目的
利用SQLServer2005的查询分析器实现复杂的查询操作,如集合查询的并交叉类型,已经使用子查询的嵌套查询。
二十九、实验内容
1.打开实验四的test数据库里的四张表:
三十、实验任务
1.查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。
2.查询score中选学一门以上课程的同学中分数为非最高分成绩的记录。
3.查询和学号为108的同学同年出生的所有学生的SSname和Sbirthday列。
4.查询“张旭“教师任课的学生成绩。
5.查询选修某课程的同学人数多于5人的教师姓名。
6.查询31301班和95031班全体学生的记录。
7.查询存在有85分以上成绩的课程Cno.
8.查询出“计算机系“教师所教课程的成绩表。
9.查询所有教师和同学的nasex和birthday.
10.查询所有“女”教师和“女”同学的nasex和birthday.
实验七、数据更新
三十一、实验学时
三十二、实验类型
三十三、实验目的
利用SQLServer2005的查询分析器实现数据的更新操作,包括数据插入、数据修改和删除操作。
三十四、实验内容
2.打开查询设计器,安装要求编写更新操作的SQL语句,并执行,查看结果或者错误提示;
三十五、实验任务
1.利用查询分析器中向STUDENT表添加如下数据:
2.在SCORE表里为119号同学选修3门课程,课程号和成绩自行设定。
3.为SCORE表里小于60分的成绩都提高5分。
4.将SCORE表里课程号以“3”开头的课程的CREDIT设为4,其余的课程的CREDIT设为5。
5.将王萍老师的PROF设为“讲师”。
6.删除数据库里有关SNO为“107”的所有信息。
实验八、
视图的创建与使用
三十六、实验学时
三十七、实验类型
三十八、实验目的
1.学会用两种方式建立视图:
视图设计器方式和SQL语言的方式。
2.学会在SELECT语句中使用视图来提高查询效率。
3.用视图更新数据库中的数据。
三十九、实验内容
2.用视图设计器方式建立视图Class31301。
3.在SELECT语句和Insert等语句中使用视图。
四十、实验任务
用视图设计器建立班级为“31301”的学生信息视图Class31301。
用SQL语言建立“31301”班的成绩表视图SC31301,包括如下列sno,sname,cno,cname,degree。
用视图SC31301完成如下操作:
查询31301班级的计算机导论课的成绩表。
查询31301班级的每门课程的最高分和平均分。
查询31301班级每门课的选课人数。
结合COURSE表,查询31301班级每个学生已选课学分总数。
将31301班级的姓王的学生的成绩都加2分。
实验九、
SQL语言测试
见中期测试试卷
实验一十、
数据库安全性
四十一、实验学时
四十二、实验类型
四十三、实验目的
熟悉通过SQL对数据进行安全性控制;
完成上机练习。
四十四、实验内容
1.设置安全级别
2.创建登陆账号
3.创建数据库用户
4.管理权限
5.角色
6.使用SQL对DB进行安全控制:
授权和回收
四十五、实验任务
(1)打开SSMS的“对象资源管理器”窗口,选择目标服务器,右击,在弹出的快捷菜单中选择“属性”命令,进入“服务器属性”窗口,如图1所示;
(2)打开“安全性”选项界面,如图2所示;
(3)在“服务器身份验证”选项组中进行身份验证模式的选择,其中包括“Windows身份验证模式”和“SQLServer和Windows身份验证模式”,默认选择“SQLServer和Windows身份验证模式”。
可以在“登录审核”选项组中设置登陆的审核方式,其中,4种审核级别决定了登录的安全性,默认选中“仅限失败的登录”单选按钮。
用户可以在“服务器代理账户”选项组中选择是否启动“服务器代理账户”选项来实现代理账户登录;
(4)所有设置完成后,单击“确定”完成登录验证模式的设置。
图1选择“属性”命令
图2服务器属性的安全性
2.1创建使用Windows身份验证的登陆账号User1
(1)首先确认登陆账号User1是否是已存在的Windows中的用户账号。
若不是,则立即在操作系统中创建此用户账号。
(2)在SSMS中,展开“安全性”节点,右击“登录名”,选择“新建登录名”命令,如图3所示。
图3新建登录名
(3)在“常规”选项界面中,单击“登录名”输入框右侧的“搜索”按钮,弹出“选择用户或组”对话框,在“输入要选择的对象名称”文本框中输入User1后单击“确定”按钮;
选中“Windows身份验证”单选按钮,其它选择为默认项,如图4所示。
图4登录验证
(4)单击“确定”按钮,完成SQLServer登陆账号User1的创建。
(5)刷新登录名,可以发现User1已经存在,并可查看其属性,如图5所示。
图5查看登录名
(6)验证用User1账号登录SQLServer:
首先在操作系统中注销当前用户的登录,然后用User1账号登录操作系统,再用此账号User1连接SQLServer服务器,可以进入SSMS。
2.2创建使用SQLServer身份验证的登陆账号User2,设置可访问数据库MY_database
(1)选择“开始”->
“管理工具”->
“本地安全策略”,进入“本地安全设置”窗口。
展开“账户策略”,选择“密码策略”,设置好“密码策略”中各项的属性,如图6所示;
(2)以“Windows身份验证模式”登录到SSMS管理界面;
(3)展开“安全性”节点,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”命令,如图7所示;
(4)在新建登录名界面“常规”选项界面中,输入登录名,选中“SQLServer身份验证”单选按钮,在“密码”文本框中输入符合密码策略的密码,并对账号密码安全性原则的相关属性进行设置,在“默认数据库”下拉列表框中选择MY_database选项,如图8所示;
(5)在“用户映射”选项界面中,选中MY_database复选框,如图9所示;
(6)单击“确定”,完成登录名的新建和强密码的设置。
(7)刷新“登录名”,可以看到User2已经存在,如图10所示。
(8)验证用User2账号登录SQLServer:
同2.1,如图11所示。
图6本地安全设置的密码策略
图7新建登录名
图8设置登陆常规属性
图9用户映射
图10
图11用User2账号登录SQLServer
3.1为登录账号User1创建访问当前服务器实例中数据库MY_database的用户账号
(1)启动SSMS,展开“安全性”,选择“登录名”选项。
(2)在右窗口“摘要”中右击User1,在弹出的快捷菜单中选择“属性”选项,如图3.1所示,打开“User1登录属性”对话框,选择“用户映射”选项。
(3)在“映射到此登录名的用户”中选择数据库MY_database,可以看到在用户单元格中显示出“KEX1CH0Y87IORHE\User1”,即为数据库MY_database的用户名,如图3.2所示。
图3.1User2
图3.2User1登录属性
(4)单击“确定”按钮,完成数据库用户User1的创建,该用户可以访问当前服务器实例中的所有数据库。
3.2为登录账号User2创建访问当前服务器实例中所有数据库的用户账号
(2)在右窗口“摘要”中右击User2,在弹出的快捷菜单中选择“属性”选项,打开“User2登录属性”对话框,选择“用户映射”选项。
(3)在“映射到此登录名的用户”中选择所有数据库,可以看到在所有数据库的“用户”列表中显示出“User2”,即为所有数据库的用户名,如图3.3所示。
(4)单击“确定”按钮,完成数据库用户User2的创建,该用户可以访问当前服务器实例中的所有数据库。
图3.3用户映射
4.管理权限
通过SSMS赋予新建用户查询MY_database数据库权限:
(1)根据以上内容新建一个SQLServer用户,例如User3,以该用户身份登录到SSMS。
(2)单击“新建查询”按钮,打开查询分析界面,输入代码:
UseMY_database;
Select*fromEmployee;
(3)在查询下面会发现有错误出现,证明此用户没有访问权限,如图4.1所示。
(4)展开“数据库”—>
“MY_database”—>
“安全性”—>
”用户”节点,右击“User3”,在弹出的快捷菜单中选择“属性”命令,进入数据库用户常规属性界面。
图4.1错误提示
图4.2数据库用户界面
(5)打开“安全对象”选项界面,进入数据库用户安全对象属性界面,如图4.2所示。
(6)单击“添加”按钮,进入“添加对象”对话框,从中可以选择需要添加的对象类型,如图4.3所示。
图4.3添加对象对话框
图4.4选择对象类型
(7)选择“特定对象”单选按钮,单击“确定”按钮,进入“选择对象”对话框,从中可以通过选择对象类型来进行过滤。
(8)单击“对象类型”按钮,进入“选择对象类型”对话框,从中可以选择要赋予权限的对象类型;
选中“表”复选框,如图4.4所示。
图4.5查找对象
图4.6授予权力
(9)单击“确定”按钮,返回到“选择对象”对话框。
(10)单击“浏览”按钮,进入“查找对象”对话框,其中罗列了当前可以赋予权限的表。
(11)选中“[dbo].[Employee]”复选框,如图4.5所示,单击“确定”按钮,返回到“选择对象”对话框。
(12)单击“确定”按钮,返回到数据库用户安全对象属性界面,从中可以对选择的对象赋予相关的权限。
(13)对表Employee,在权限列表中的s