SQL SERVER数据库技术实验指导.docx
- 文档编号:16169271
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:30
- 大小:90.32KB
SQL SERVER数据库技术实验指导.docx
《SQL SERVER数据库技术实验指导.docx》由会员分享,可在线阅读,更多相关《SQL SERVER数据库技术实验指导.docx(30页珍藏版)》请在冰点文库上搜索。
SQLSERVER数据库技术实验指导
SQLServer数据库技术
上机实验指导
李月军
长春理工大学光电信息学院信息工程分院
实验一SQLServer2000安装及管理工具的使用
一.实验目的
1.了解SQLServer2000安装对软、硬件的要求,学会安装方法。
2.了解SQLServer的注册和配置方法。
3.了解SQLServer2000包含的主要组件及其功能。
4.熟悉企业管理器和查询分析器的界面及基本使用方法。
5.对数据库及其对象有一个基本了解。
二.实验准备
1.了解安装SQLServer2000的软、硬件要求。
2.了解SQLServer2000支持的身份验证模式。
3.了解SQLServer各组件的主要功能。
4.对数据库、表和数据库对象有一个基本了解。
5.了解在查询分析器中执行SQL语句的方法。
三.实验内容及步骤
1.根据软、硬件环境的要求,安装SQLServer2000。
注:
安装时,将实例名设置为自己的“姓名”(用中文)
2.打开“SQLServer服务管理器”窗口,选择所安装的实例和“SQLServer”服务。
并通过该窗口“启动”和“停止”该SQLServer服务。
3.在企业管理器中,使用“注册向导”注册服务器。
打开该服务器的属性对话框,查看以下信息:
产品名称、主机操作系统、产品的版本、操作平台、主机内存等。
4.利用企业管理器访问系统自带的pubs数据库。
1在企业管理器的树形目录中找到pubs数据库并展开,查看该数据库的所有对象,如表、视图、存储过程、默认和规则等。
2选择pubs数据库的“表”选项,在右窗格中将列出pubs数据库的所有表(包括系统表和用户表),选择用户表titles,右击鼠标,弹出快捷菜单,从中选择“打开表”->“返回所有行”菜单项,打开titles表,查看其内容。
5.利用查询分析器访问pubs数据库的表。
1通过“开始”->“程序”->MicrosoftSQLServer->“查询分析器”方式运行SQLServer查询分析器,或者在企业管理器中,选择“工具”->“SQL查询分析器”菜单项,运行SQLServer查询分析器。
2在查询分析器窗口中,选择“查询”->“更改数据库”菜单项,或者单击常用工具栏中的“更改数据库”下拉框的下拉按钮,选择要操作的pubs数据库。
3在查询分析器的编辑窗口中,输入以下代码:
SELECTtype,avg(price)
FROMtitles
WHEREroyalty=10
GROUPBYtype
4选择查询分析器的“查询”->“执行”菜单项,或单击常用工具栏上“执行查询”按钮
,SQLServer将编译窗口中的代码,并在结果空格中显示查询结果。
四.实验思考
1.查询分析器的作用是什么?
可以有几种启动查询分析器的方法?
2.改变查询分析器的当前数据库,使用什么方法?
实验二 数据库的创建
实验目的:
熟练掌握利用查询分析器和企业管理器创建数据库的过程;
实验题目:
1.使用企业管理器创建一个数据库。
名字为Sales,数据文件名为Sales_Data.Mdf,存储在E:
\GH,初始大小为2MB,最大为10MB,文件增量以1MB增长,事务日志文件名为Sales_Log.Ldf,存储在E:
\下,初始大小为1MB,最大为5MB,文件增量以1MB增长。
2.在查询分析器中使用CREATEDATABASE语句创建一个数据库。
名字为NewSales,数据文件名为NewSales_Data.Mdf,存储在E:
\下,初始大小为4MB,最大为10MB,文件以1MB增长,事务文件为NewSales_Log.Ldf,存储在E:
\下,初始大小为2MB,最大为5MB,文件增量以1MB增长。
3.使用查询分析器创建名为Mydb的数据库,它有容量为12MB、8MB、6MB的3个数据文件,其中Mydb_Data1.Mdf是主数据文件,Mydb_Data2.Ndf、Mydb_Data3.Ndf是次数据文件,数据库中有两个容量分别是6MB、5MB的事务日志文件,文件名分别为Mydb_Log1.Ldf、Mydb_Log2.Ldf。
数据文件和事务日志文件均存储在E:
\下,最大容量均为20MB,文件增量均为2MB。
4.利用企业管理器将Mydb数据库从当前数据库服务器上分离,再将其附加到另一个数据库服务器上。
实验3 SQLServer数据表的管理
一.实验目的
1.学会使用企业管理器和T-SQL语句CREATETABLE和ALTER TABLE创建和修改表。
2.学会在企业管理器中对表进行插入、修改和删除数据操作。
3.学会使用T-SQL语句对表进行插入、修改和删除数据操作。
4.了解SQLServer的常用数据类型。
二.实验准备
1.了解在企业管理器中实现表数据的操作,如插入、修改和删除。
2.掌握用T-SQL语句对表数据进行插入INSER、修改UPDATE和删除DELETE或TRANCATETABLE操作。
三.实验内容
1.在企业管理器中建立studb数据库,存储位置为D:
\SQL文件夹(注:
先在D盘建立SQL文件夹),其它为默认。
2.在查询分析器中使用T-SQL语句ALTERDATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。
然后通过系统存储过程sp_helpdb查看该数据库信息。
3.在查询分析器中为studb数据库增加一个日志文件,命名为studentsdb_Log2,大小为5MB,最大文件大小为10MB。
4.在查询分析器中将studb数据库的名称更改为studentsdb。
5.在studentsdb数据库中有数据表student_info、curriculum、grade,这些表的结构如下:
学生基本情况表student_info
课程信息表curriculum
学生成绩表grade
1在企业管理器中创建student_info、curriculum表。
2使用T-SQL语句CREATETABLE创建grade表。
6.student_info、curriculum、grade表中的数据如图:
student_info的数据
curriculum的数据
grade的数据
1在企业管理器中为student_info、curriculum、grade表添加数据。
2使用T-SQL语句ALTERTABLE修改curriculum表的“课程名称”,使之为非空。
3使用T-SQL语句ALTERTABLE修改grade表的“分数”列,使其数据类型为float。
4使用T-SQL语句为grade表添加一个“备注”的数据列,其数据类型为varchar(20)。
5使用T-SQL语句将grade表添加的“备注”列删除。
实验4 SQLServer数据查询
一.实验目的
1.学会在企业管理器中对表进行插入、修改和删除数据操作。
2.学会使用T-SQL语句对表进行插入、修改和删除数据操作。
3.掌握使用T-SQL的SELECT语句进行基本查询方法。
4.掌握使用SELECT语句进行条件查询的方法。
5.掌握多表查询的方法。
6.掌握数据更新语句INSERTINTO、UPDATE、DELETE的使用方法。
二.实验准备
1.掌握用T-SQL语句对数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE或TRANCATETABLE)操作。
2.了解SELECT语句的基本语法格式和执行方法。
3.了解INSERTINTO、UPDATE、DELETE的格式作用。
三.实验内容
1.使用T-SQL语句INSERTINTO…VALUES向studentsdb数据库的grade表插入以下数据:
学号 课程编号 分数
0004 0001 80
2.使用T-SQL语句DELETE删除studentsdb数据库的grade表中学号为’0004’的成绩记录。
3.使用T-SQL语句UPDATE修改studentsdb数据库的grade表中学号为’0003’、课程编号为’0005’的记录的分数值为90。
4.在studentsdb数据库中,使用下列SQL语句将输出什么?
1SELECTCOUNT(*)FROMgrade
2SELECTSUBSTRING(姓名,1,2)FROMstudent_info
3SELECTUPPER(‘kelly’)
4SELECTReplicate(‘kelly’,3)
5SELECTSQRT(分数)FROMgradeWHERE分数>=85
6SELECT2,3,POWER(2,3)
7SELECTYEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE())
5.使用SELECT语句进行查询
1在grade表中查询课程编号为0003的学生的平均分,最低分,最高分。
2在grade表统计选修0001号课的同学的人数。
3查询所有姓‘张’的学生的学号和姓名。
(分别用substring()、left()函数和like作)
4查询年龄在19~21岁(含19和21)范围内的学生信息。
(分别用between……and和AND作)
5查询姓’欧阳’且全名只有3个汉字的学生信息。
6查询选修了课程的学生人数。
SELECTcount(DISTINCT学号)人数FROMgrade
7查询选修了0001号课或0003号课的全部同学的课程编号和成绩信息。
(用IN和OR作)
6.多表查询
1查询分数在80~90(含80和90)范围内的学生的学号、姓名、分数。
2查询学习“C语言程序设计”课程的学生的学号、姓名、分数。
3查询成绩不在60~90分范围内的课程信息。
7.数据更新
1创建totalgrade表,具有数据列:
学生char(4)、姓名varchar(8)、总成绩decimal(5,2)。
2使用INSERTINTO语句通过student_info表更新totalgrade表的学号、姓名列数据。
insertintototalgrade
select学号,姓名,NULLAS总成绩fromstudent_info
3使用UPDATE语句通过grade表更新totalgrade表的总成绩列数据,使totalgrade表中每个学生的总成绩为grade表中该学生各成绩之和。
updatetotalgradeset总成绩=
(selectsum(分数)fromgradewheretotalgrade.学号=grade.学号)
4删除totalgrade表中没有总成绩(该字段值为NULL)的学生记录。
实验5 SQLServer数据查询
1.先按学号升序排序,再按成绩降序排列,检索出学生成绩信息。
2.查询没有成绩的学生的姓名。
3.查询至少选修了2门课程的每个学生的学号和平均成绩。
4.查询每门课程的课程编号、课程名称、课程人数。
5.嵌套查询
①在student_info表中查找与“刘卫平”性别相同的所有学生的姓名、出生日期。
②使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。
③列出学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。
④查询学号大于0001的学生的任意一门课程成绩的学生成绩记录。
6、建立“商品”数据库,包括部门表和商品表,其数据如下:
部门表
部门号char
(2)
部门名称varchar(20)
40
家用电器部
10
电视摄像机部
20
电话手机部
30
计算机部
商品表
部门号char
(2)
商品号char(4)
商品名称varchar(20)
单价money
数量int
产地char(4)
40
0101
A牌电风扇
200
10
广东
40
0104
A牌微波炉
350
10
广东
40
0105
B牌微波炉
600
10
广东
20
1032
C牌传真机
1000
20
上海
40
0107
D牌微波炉
420
10
北京
20
0110
A牌电话机
200
50
广东
20
0112
B牌手机
2000
10
广东
40
0202
A牌电冰箱
3000
2
广东
30
1041
B牌计算机
6000
10
广东
30
0204
C牌计算机
10000
10
上海
1.查询各部门总价最高的商品。
2.查询所有商品的产地和该产地提供的商品种类数。
3.查询各部门的部门号、部门名称和商品金额合计。
4.查询所有商品所在的部门号、部门名称及商品号、商品名称、单价的信息,信息按部门号降序显示,部门号相同的按单价的升序排列。
5.查询单价在420~1000元商品所在的部门名称。
实验6索引和视图
一.实验目的
1.学会使用企业管理器和T-SQL语句CREATEINDEX创建索引。
2.学会使用企业管理器查看索引。
3.学会使用企业管理器和T-SQL语句DROPINDEX删除索引。
4.使用企业管理器和T-SQL语句CREATEVIEW创建视图的用法。
5.掌握系统存储过程sp_rename的用法。
6.掌握使用T-SQL语句ALTERVIEW修改视图的方法。
二.实验准备
1.了解聚集索引和非聚集索引的概念。
2.了解使用T-SQL语句CREATEINDEX创建索引的语法。
3.了解使用企业管理器创建索引的步骤。
4.了解T-SQL语句DROPINDEX删除索引的用法。
5.了解创建视图的T-SQL语句CREATEVIEW的语法格式及用法。
6.了解修改视图的T-SQL语句ALTERVIEW的语句格式。
7.了解视图更名的系统存储过程sp_rename的用法。
8.了解删除视图的T-SQL语句DROPVIEW的用法。
三.实验内容
1.使用企业管理器为studentsdb数据库的student_info表创建主键索引。
(若已有,删除再建)
2.使用企业管理器对curriculum表的课程编号列创建唯一性索引。
3.使用T-SQL语句为grade表的分数字段创建一个非聚集索引,命名为grade_index.
4.使用T-SQL语句为grade表的学号和课程编号字段创建一个复合唯一索引,命名为grade_id_c_ind。
5.分别用企业管理器和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。
6.使用系统存储过程sp_rename将索引grade_index更名为grade_ind。
7.使用T-SQL语句DROPINDEX删除索引grade_ind。
8.使用企业管理器以student_info表为基础,使用企业管理器建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。
9.使用T-SQL语句CREATEVIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为‘0003’的学生情况。
10.基于student_info、curriculum、grade表,建立一个名为v_stu_g的视图,视图中具有所有学生的学号、姓名、课程名称、分数。
使用视图v_stu_g查询学号为0001的学生的所有课程与成绩。
11.分别使用企业管理器和T-SQL语句修改视图v_stu_c,使之显示学号、姓名,每个学生所学课程数量。
12.使用T-SQL语句ALTERVIEW修改视图v_stu_i,使其具有列名学号、姓名、性别。
13.利用视图v_stu_i为student_info表添加一行数据:
学号为0015、姓名为陈婷、性别为女。
14.利用视图v_stu_i删除学号为0015的学生记录。
15.利用v_stu_g修改姓名为刘卫平的学生的高等数学的分数为84。
16.使用T-SQL语句DROPVIEW删除视图v_stu_c和v_stu_g.
实验7数据完整性
一.实验目的
1.掌握企业管理器和T-SQL语句创建和删除规则的方法。
2.掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_help、sp_helptext查询规则信息、sp_rename更名规则的方法。
3.掌握企业管理器和T-SQL语句创建和删除默认对象的方法。
4.掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法。
5.掌握企业管理器和T-SQL语句定义和删除约束的方法,并了解约束的类型。
二.实验准备
1.了解数据完整性概念。
2.了解创建规则和删除规则的语法,了解绑定规则绑定规则的语法。
3.了解创建默认对象和删除默认对象的语法,了解绑定和解除绑定默认对象的语法。
4.了解约束的类型、创建约束和删除约束的语法。
三.实验内容和步骤
1.为studentsdb数据库创建一个规则,限制所输入的数据为7位0~9的数字。
(1)复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。
完成以下代码实现该操作。
SELECT*INTOstuc_phoneFROMstudent_info
ALTERTABLEstu_phoneADDchar(7)NULL
(2)创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。
实现该规则的代码为
CREATEphone_rule
AS
@phoneLIKE‘[0-9][0-9][0-9][0-9][0-9][0-9][0-9]’
(3)使用系统存储过程sp_bindrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。
实现该操作的代码为:
sp_bindrule,’stu_phone.电话号码’
(4)输入以下代码,进行一次插入操作,注意所给提示,为什么?
INSERTINTOstu_phone(学号,姓名,电话号码)VALUES(‘0009’,’王国强’,’1234yyy’)
2.利用T-SQL语句创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。
3.使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。
4.删除规则stu_s_rule。
5.在studentsdb数据库中,建立日期、货币和字符等数据类型的默认对象。
(1)在查询分析器,完成以下代码,创建默认对象df_date、df_char、df_money。
--创建日期默认对象df_date
CREATEdf_date
AS‘2006-4-12’
--创建字符型默认对象df_char
CREATEDEFAULTdf_char
‘unknown’
--创建货币型默认对象df_money
CREATEDEFAULT
AS$100
(2)输入以下代码,在studentsdb数据库中创建stu_fee数据表。
CREATETABLEstu_fee
(学号char(10)NOTNULL,
姓名char(8)NOTNULL,
学费money,
交费日期datetime,
电话号码char(7))
(3)使用系统存储过程sp_bindefault将默认对象df_date、df_char、df_money分别绑定在stu_fee表的“学费”、“交费日期”、“电话号码”列上。
df_money,’stu_fee.学费’
GO
sp_bindefault,’stu_fee.交费日期’
GO
sp_bindefaultdf_char,’stu_fee.电话号码’
GO
(4)输入以下代码,在stu_fee表进行插入操作。
INSERTINTOstu_fee(学号,姓名)VALUES(‘0001’,’刘卫平’)
INSERTINTOstu_fee(学号,姓名,学费)VALUES(‘0001’,’张卫民’,$120)
INSERTINTOstu_fee(学号,姓名,学费,交费日期)VALUES(‘0001’,’马东’,$110,’2006-5-12’)
分析stu_fee表中插入记录的各列的值是什么?
(5)完成以下代码解除默认对象df_char的绑定,并删除之。
‘stu_fee.电话号码’
DEFAULTdf_char
按同样的方式删除默认对象df_date、df_money。
7.在studentsdb数据库中用CREATETABLE语句创建表stu_con,表结构为学号char(4)、姓名char(8)、性别char
(2)、出生日期datetime、家庭住址varchar(50),并同时创建约束。
(1)创建表的同时创建约束。
约束要求如下:
①将学号设置为主键(PRIMARYKEY),主键名为pk_sid。
②为姓名添加唯一约束(UNIQUE),约束名为uk_name。
③为性别添加默认约束(DEFAULT),默认名称为df_sex,其值为“男”。
④为出生日期添加属性值约束(CHECK),约束名为ck_bday,其检查条件为:
出生日期>’1988-1-1’。
(2)在stu_con表中依次插入如下数据记录,分析各约束在插入记录时所起的作用,查看插入记录后表中数据与所插入的数据是否一致:
学号姓名性别出生日期家庭住址
0009张小东1989-4-6
0010李梅女1983-8-5
0011王强1988-9-10
0012王强1989-6-3
(3)使用ALTERTABLE语句的DROPCONSTRAINT参数项在查询分析器中删除为stu_con表所建的约束。
8.用企业管理器完成实验内容7的所有设置。
9.在查询分析器中,为studentsdb数据库的grade表添加外键约束(FOREIGNKEY),要求将“学号”设置为外键,参照表为student_info,外键名称为fk_sid。
要求删除级联和更新级联。
使用系统存储过程sp_help查看grade表的外键信息。
使用查询分析器删除grade表的外键fk_sid。
实验8程序设计基础
一.实验目的
1.掌握程序中的流程控制语句。
2.掌握SQLServer2000中常用函数的用法。
3.掌握游
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL SERVER数据库技术实验指导 SERVER 数据库技术 实验 指导