SQLServer实验指导书.docx
《SQLServer实验指导书.docx》由会员分享,可在线阅读,更多相关《SQLServer实验指导书.docx(51页珍藏版)》请在冰豆网上搜索。
SQLServer实验指导书
SQL Server2005实验指导手册
实验列表
第1次实验:
了解SQLserver2005的主要功能、软件和硬件需求、安装、文件路径及系统的主要
内容,使用向导创建和删除数据库
实验一:
SQLServer2005的安装
第2次实验:
学会用SQLserver2005的工具和SQL语言
实验二:
使用向导创建和删除数据库
实验三:
使用SQL语句创建和删除数据库
实验四:
两种方法创建和删除表
实验五:
修改表的定义
实验六:
创建和删除索引
第3次实验:
熟练使用SQL查询语句
实验七:
简单Select语句
实验八:
子查询
实验九:
使用子句的Select语句
第4次实验:
学会使用SQL更新语句,使用SQL创建和使用视图
实验十:
创建视图
实验十一:
使用视图
实验十二:
更新语句
第5次实验:
掌握嵌入式SQL语句
实验十三:
流控制语句
实验十四:
使用游标
实验十五:
约束
第6次实验:
数据库设计
实验十六:
数据库设计
实验一SQLServer2005的安装和环境介绍
一. 实验目的与要求:
1.掌握SQLServer2005服务器的安装方法
2.了解SQLServer2005的环境
3.了解数据库及其对象
二. 实验准备
1.了解SQLServer2005的版本
2.了解SQLServer2005各版本对硬件和软件的需
三. 实验要求
1.写出SQLSERVER2005的功能与特点,使用方法,应用状况的报告
2.完成SQLSERVER2005的安装、启动、登录。
四.实验内容
1.安装SQLServer2005
实验一SQLServer2005的安装和环境介绍
●实验指导——安装SQLServer2005
1. 根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例
2. 将SQLServer2005DVD插入DVD驱动器。
如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到DVD的根目录然后启动splash.hta。
3. 在自动运行的对话框中,单击“运行SQLServer安装向导”。
4. 在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。
接受许可协议后即可激活“下一步”按钮。
若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。
如下图:
5. 在“SQLServer组件更新”页上,安装程序将安装SQLServer2005的必需软件。
有关组件要求的详细信息,请单击该页底部的“帮助”按钮。
若要开始执行组件更新,请单击“安装”。
更新完成之后若要继续,请单击“完成”。
6. 在SQLServer安装向导的“欢迎”页上,单击“下一步”以继续安装。
7. 在“系统配置检查(SCC)”页上,将扫描安装计算机,以检查是否存在可能妨碍安装程序的条件。
8. 在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。
若要继续,请单击“下一步”
9. 在“要安装的组件”页上,请选择要安装的组件。
选择各个组件组时,“要安装的组件”窗格中会显示相应的说明。
您可以选中任意一些复选框。
建议全选。
若要安装单个组件,请单击“高级”。
否则,请单击“下一步”继续。
10. 在“实例名”页上,请为安装的软件选择默认实例或已命名的实例。
计算机上必须没有默认实例,才可以安装新的默认实例。
若要安装新的命名实例,请单击“命名实例”,然后在提供的空白处键入一个唯一的实例名。
11. 在“服务帐户”页上,为SQLServer服务帐户指定用户名、密码和域名。
您可以对所有服务使用一个帐户。
12. 在“身份验证模式”页上,选择要用于SQLServer安装的身份验证模式。
如果选择Windows身份验证,安装程序会创建一个sa帐户,该帐户在默认情况下是被禁用的。
选择“混合模式身份验证”时,请输入并确认系统管理员(sa)登录名。
建议选择混合模式,并输入安全的密码。
13. 如果选择ReportingServices作为要安装的功能,将显示“报表服务器安装选项”页。
使用单选按钮选择是否使用默认值配置报表服务器。
如果没有满足在默认配置中安装ReportingServices的要求,则必须选择“安装但不配置服务器”安装选项。
若要继续安装,请单击“下一步”
14. 在“错误报告”页上,可以清除复选框以禁用错误报告。
有关错误报告功能的详细信息,请单击该页底部的“帮助”。
若要继续安装,请单击“下一步”。
15. 在“准备安装”页上,查看要安装的SQLServer功能和组件的摘要。
若要继续安装,请单击“安装”。
16. 在“安装进度”页上,可以在安装过程中监视安装进度。
若要在安装期间查看某个组件的日志文件,请单击“安装进度”页上的产品或状态名称。
17. 在“完成MicrosoftSQLServer安装向导”页上,可以通过单击此页上提供的链接查看安装摘要日志。
若要退出SQLServer安装向导,请单击“完成”。
18. 如果提示您重新启动计算机,请立即重新启动。
19. 如果成功安装了SQLServer2005,则在开始菜单中添加了如下程序和相应的服务:
(2)SQLServer的环境介绍
1.AnalysisServices
提供“部署向导”,为用户提供将某个AnalysisServices项目的输出部署到某个目标服务器的功能。
2.配置工具
其子菜单中提供的配置管理器“SQLServerConfigulationmanager”用于查看和配置SQLServer的服务。
以下是SQLServer2005系统的7个服务。
右击某个服务名称,可以查看该服务的属性,并且可以启动、停止、暂停和重新启动相应的服务。
也可以使用操作系统“我的电脑”-“管理”选项,在【计算机管理】窗口中查看和启动、停止、暂停和重新启动相应的服务。
3.文档和教程
提供了SQLServer2005的联机帮助和示例数据库概述。
4.性能工具
子菜单提供了“SQLServerProfiler”和“数据库引擎优化顾问”用户数据库性能调试和优化工具。
5.SQLServerBusinessIntelligenceDevelopmentStudio
商务智能(BI)系统开发人员设计的集成开发环境,构建于VisualStudio2005技术之上,为商业智能系统开发人员提供了一个丰富、完整的专业开发平台,支持商业智能平台上的所有组件的调试、源代码控制以及脚本和代码的开发。
6.SQLServerManagementStudio
它将SQLServer早期版本中包含的企业管理器、查询分析器和分析管理器的功能组合到单一环境中,为不同层次的开发人员和管理员提供SQLServer访问能力。
实验二使用向导创建和删除数据库
一.实验目的
1.熟悉SQLServer2005中SQLServerManagementStudio的环境
2.了解SQLServer2005数据库的逻辑结构和物理结构
3.掌握使用向导创建和删除数据库的方法
二.实验准备
1.装有SQLServer2005的PC机。
2.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
三.实验要求
1.熟练使用企业管理器进行数据库的创建和删除操作
2.完成用向导建立和删除数据库的实验报告
四.实验内容
设有一学籍管理系统,其数据库名为“EDUC”,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的文件名为“student”,存放路径为“E:
\sqldata”。
(1)使用向导创建上诉描述的数据库。
使用SQLServerManagementStudio(简称SSMS)创建数据库。
(2)使用向导删除上面建立的数据库。
用SSMS删除添加建立的数据库EDUC1。
实验二使用向导创建和删除数据库
●实验指导——使用向导创建和删除数据库
(1)使用向导创建上诉描述的数据库。
使用SQLServerManagementStudio(简称SSMS)创建数据库。
1.启动SSMS
在开始菜单中:
所有程序-SQLServer2005-SQLServerManagementStudio
单击“连接”按钮,便可以进入【SQLServerManagementStudio】窗口。
如果身份验证选择的是“混合模式”,则要输入sa的密码。
2.建立数据库
在“对象资源管理器”窗口,建立上述数据库EDUC。
在数据库节点上右击选择新建。
同时建立一个同样属性的数据库EDUC1。
(2)使用向导删除上面建立的数据库。
用SSMS删除添加建立的数据库EDUC1。
实验三使用SQL语句创建和删除数据库
一.实验目的:
1、了解SQLServer2005数据库的逻辑结构和物理结构。
2、掌握使用SQL语句创建和删除数据库。
二.实验准备
1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
2.了解用SQL语句创建和删除数据库的基本语法。
三.实验要求
3、熟练使用查询分析器进行数据库的创建和删除操作
4、完成用sql语句建立和删除数据库的实验报告
四.实验内容
1.以下是创建数据库userdb1的SQL语句,
createdatabaseuserdb1
on
(name=userdb1,--数据文件的逻辑名称,注意不能与日志逻辑同名
filename='e:
\sqldata\userdb1.mdf',--物理名称,注意路径必须存在
size=5,--数据初始长度为5M
maxsize=10,--最大长度为10M
filegrowth=1)--数据文件每次增长1M
logon
(name=userdb1_log,
filename='e:
\sqldata\userdb1.ldf',
size=2,
maxsize=5,
filegrowth=1)
运行上诉语句建立数据库userdb1
2.根据步骤1的sql语句,写出创建实验二中数据库EDUC的sql语句,并建立数据库EDUC2.
3.用SQL语句删除步骤一建立的数据库userdb1。
Dropdatabaseuserdb1
4.用SQL语句把实验三中建立的数据库EDUC2的名称改为EDUC3。
AlterdatabaseEDUC2
Modifyname=EDUC3
5.把数据库EDUC3从服务器中分离出去。
右击数据库EDUC3——任务——分离——
6.把数据库EDUC3添加到服务器中。
右击对象管理器中数据库——附加——找要附加的数据库——
实验四分别用向导和SQL语句创建和删除表
一.实验目的
1.了解表的结构特点。
2.了解SQLServer的基本数据类型。
3.学会在企业管理器中创建表。
4.学会使用T-SQL语句创建表。
二.实验要求
1.熟练使用企业管理器创建和删除基本表。
2.是用查询分析器,完成用SQL语句创建和删除基本表。
3.完成用企业管理器和SQL创建和删除基本表的实验报告。
三.实验准备
1.确定数据库包含包含的各表的结构,还要了解SQLServer的常用数据类型,以创建数据库的表。
2.已完成实验三,成功创建了数据库EDUC。
3.了解常用的创建表的方法。
四.实验内容
1.在实验三建立的数据库EDUC中,根据分析需要如下几个表:
表2.1student表(学生信息表)
字段名称
类型
宽度
允许空值
主键
说明
sno
char
8
NOTNULL
是
学生学号
sname
char
8
NOTNULL
学生姓名
sex
char
2
NULL
学生性别
native
char
20
NULL
籍贯
birthday
smalldate
4
NULL
学生出生日期
dno
char
6
NULL
学生所在院系
spno
char
8
NULL
专业代码(外键)
classno
char
4
NULL
班级号
entime
smalldate
4
NULL
学生入校时间
home
varchar
40
NULL
学生家庭住址
tel
varchar
40
NULL
学生联系电话
表2.2course表(课程信息表)
字段名称
类型
宽度
允许空值
主键
说明
cno
char
10
NOTNULL
是
课程编号
spno
char
8
NULL
专业代码(外键)
cname
char
20
NOTNULL
课程名称
ctno
tinyint
1
NULL
课程类型编号(外键)
experiment
tinyint
1
NULL
实验时数
lecture
tinyint
1
NULL
授课学时
semester
tinyint
1
NULL
开课学期
credit
tinyint
1
NULL
课程学分
表2.3student_course表(学生选课成绩表)
字段名称
类型
宽度
允许空值
主键
说明
sno
char
8
NOTNULL
是
学生学号
tcid
smallint
2
NOTNULL
是
上课编号
score
tinyint
1
NULL
学生成绩
表2.4teacher表(教师信息表)
字段名称
类型
宽度
允许空值
主键
说明
tno
char
8
NOTNULL
是
教师编号
tname
char
8
NOTNULL
教师姓名
sex
char
2
NULL
教师性别
birthday
smalldate
4
NULL
教师出生日期
dno
char
6
NULL
教师所在院系
pno
tinyint
1
NULL
教师职务或职称编号
home
varchar
40
NULL
教师家庭住址
zipcode
char
6
NULL
邮政编码
tel
varchar
40
NULL
联系电话
email
varchar
40
NULL
电子邮件
表2.5teacher_course表(教师上课课表)
字段名称
类型
宽度
允许空值
主键
说明
tcid
smallint
2
NOTNULL
是
上课编号
tno
char
8
NULL
教师编号(外键)
spno
char
8
NULL
专业代码(外键)
classno
char
4
NULL
班级号
cno
char
10
NOTNULL
课程编号(外键)
semester
char
6
NULL
学期
schoolyear
char
10
NULL
学年
classtime
varchar
40
NULL
上课时间
classroom
varchar
40
NULL
上课地点
weektime
tinyint
1
NULL
每周课时数
2.根据如上表结构用向导创建各表。
3.用企业管理器删除所建立的表Student_course,Student和Course
4.在查询分析器中用sql语句删除表Tearch_course和表Teacher
5.根据如上表结构用SQL语句创建各表。
6.将以上创建表的SQL命令以.SQL文件的形式保存在磁盘上
实验四分别用向导和SQL语句创建和删除表
●实验指导——创建表
一.用向导创建表
用SQLServer2005的企业管理器创建student表
输入表的属性:
用以上方法在企业管理器中创建其他表。
二.用SQL语句创建表
在SQLServer2005的查询分析器中,用sql语句创建student表。
CREATETABLEstudent
(
snochar(8)PRIMARYKEY,--学号(主键)
snamechar(8)NOTNULL,--姓名
sexchar
(2),--性别
nativechar(20),--籍贯
birthdaysmalldatetime,--出生日期
dnochar(6),--所在院系
spnochar(8),--专业代码(外键)
classnochar(4),--班级号
entimesmalldatetime,--入校时间
homevarchar(40),--家庭住址
telvarchar(40)--联系电话
)
用以上方法用sql语句创建其他表。
实验五修改数据库基本表的定义
一.实验目的
1.了解表的结构特点。
2.学会在企业管理器中修改表的定义。
3.学会使用SQL语句修改表的定义。
二.实验准备
1.成功完成实验四,在EDUC数据库中已经成功建立了各表。
2.了解常用的修改表定义语句。
三.实验要求
1.完成在已经创建成功的表上修改表定义的操作
2.写出实验报告。
四.实验内容
1.修改列属性
(1)用企业管理器将Student表中的birthday字段设为不能为空(notnull)。
(2)用SQL语句将Student表中的属性snochar(8)改成varchar(20)类型。
2.添加列
(1)用企业管理器在Course表中添加一列year,类型为varchar(4),默认置为空。
(2)用SQL语句在year字段添加约束,year的属性值在2004-2008之间。
3.删除列
(1)用SQL语句将Course表中的year字段删除。
实验六创建和删除索引
一.实验目的
1.了解索引的类型和应用。
2.学会用SQL语句对表创建和删除索引
二.实验准备
1.完成实验四,成功创建数据库EDUC中各表
2.了解创建和删除索引的方法。
三.实验要求
1.了解索引类型并比较各类索引的不同之处
3.完成索引的创建和删除,并提交实验报告。
四.实验内容
1.分别建立以下索引(如果不能成功建立,请分析原因)
(1)在student表的sname列上建立普通降序索引。
(2)在course表的cname列上建立唯一索引。
(3)在student_course表的sno列上建立聚集索引。
(4)在student_course表的sno(升序),tid(升序)和score(降序)三列上建立一个普通索引。
2.删除索引
将student_course表的sno列上的聚集索引删掉。
实验七简单SELECT语句
一.实验目的
1.观察查询结果,体会SELECT语句实际应用;
2.要求学生能够在查询分析器中使用SELECT语句进行简单查询。
3.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
二.实验准备
1.完成实验四,成功建立了基本表。
2.了解简单SELECT语句的用法。
3.比较熟悉查询分析器中的SQL脚本运行环境。
三.实验要求
1.完成简单查询和连接查询操作,并验收实验结果提交实验报告
四.实验内容
所有的查询全部用Transact-SQL语句实现
1.简单查询操作
此部分查询包括投影、选择条件表达、数据排序、使用临时表等。
对EDUC数据库实现以下查询:
①求计算机系的学生学号和姓名;
②求选修了课程的学生学号;
③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;
④求选修课程C1且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.75输出;
⑤求计算机系和数学系的姓张的学生的信息;
⑥求缺少了成绩的学生的学号和课程号。
⑦将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中。
2.连接查询操作
对EDUC数据库实现以下查询:
1查询每个学生的情况以及他(她)所选修的课程;
②求学生的学号、姓名、选修的课程名及成绩;
2求选修C1课程且成绩在90分以上的学生学号、姓名及成绩;
3查询每一门课的间接先行课。
实验八子查询
一.实验目的
1.掌握子查询的表示。
2.进一步掌握SQLServer查询分析器的使用方法,加深对SQL语言的嵌套查询语句的理解
二.实验准备
1.掌握SQL语句的基本语法,并熟悉查询分析器的工作环境。
2.完成了实验四,创建了数据库EDUC及各个基本表。
3.了解子查询的表示方法,熟悉IN比较符、ANY、EXISTS操作符的用法。
三.实验要求
1.在实验开始之前做好准备工作。
2.完成实验,并验收实验结果提交实验报告。
四.实验内容
1.在数据库EDUC中实现一下查询:
1)求选修了高等数学的学生学号和姓名;
2)求C1课程的成绩高于张三的学生学号和成绩;
3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);
4)求其他系中比计算机系学生年龄都小的学生信息;
5)求选修了C2课程的学生姓名;
6)求没有选修C2课程的学生姓名;
7)查询选修了全部课程的学生的姓名;
8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。
2.提高操作实验
建立“工程-零件”数据库及如下4个表,并输入实验数据,用SQL语句实现如下三个查询:
1)求供应项目j4红色零件的供应商号及名称
2)求没有上海供应商生成的零件的项目号
3)至少使用了