SQLSERVER 数据库系统原理实验指导书Word文件下载.docx
《SQLSERVER 数据库系统原理实验指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQLSERVER 数据库系统原理实验指导书Word文件下载.docx(48页珍藏版)》请在冰豆网上搜索。
学生表:
Student
名称
列名
数据类型
说明
学号
Sno
Char(5)
NOTNULL主键
姓名
Sname
Varchar(20)
NOTNULL
性别
Ssex
Char
(2)
年龄
Sage
Int
所在系
Sdept
Varchar(50)
课程表:
Course
课程号
Cno
Varchar(3)
课程名
Cname
Char(10)
先行课
Cpon
学分
Ccredit
Smallint
选课表:
SC
成绩
Grade
默认值为0
实验二数据定义语言
1、掌握通过企业管理器生成SQL脚本的操作。
2、掌握通过企业管理器的备份向导进行数据备份与恢复的方法。
3、掌握使用查询分析器进行数据查询的操作。
4、掌握建立表,删除表,修改表,建立索引,删除索引的数据定义语言的使用。
1、使用企业管理器生成SQL脚本的功能,将实验一中建立的Student、Course、SC三个表的SQL导出,并将其保存到硬盘,文件名:
BuildTable.sql
2、将下列数据填入Student、Course、SC三个表中:
学生表:
Student:
Sex
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
18
MA
95004
张立
课程表:
Course:
1
数据库
5
4
2
数学
3
信息系统
操作系统
6
数据结构
7
数据处理
PASCAL语言
选课表:
SC
92
85
88
90
80
3、通过企业管理器的备份向导对School_Mis_个人学号数据库备份,将备份文件存于硬盘文件名:
School_Mis_个人学号bak。
4、使用SQL语句删除SC表。
5、使用SQL语句重新建立SC表。
6、向学生表增加“入学时间”列,其数据类型为日期型。
7、将学生的年龄的数据类型改为半字长(Smallint)。
8、在学生表的Cname列建立UNIQUE索引,索引名:
stusname。
9、通过企业管理器的索引管理功能观察student索引的建立情况。
10、将6建立的索引删除。
11、尝试在学生表的Cname列建立CLUSTERED索引,索引名:
stusname;
若出现错误,根据查询分析器提示,分析错误原因。
12、为SC表按学号升序和课程号降序建立唯一索引。
13、学习SQLSERVER在线文档中关于删除表,修改表,建立索引,删除索引的详细用法。
实验三数据查询
1.掌握SELECT查询语句在单表查询、连接查询、嵌套查询和集合查询中的常规用法。
2.掌握常用基本集函数的用法。
3.掌握LIKE、DISTINCT、ORDERBY、GROUPBY及UNION的用法。
1.查询全体学生的详细信息。
2.查询全体学生的姓名、出生年份和所在的西,要求用小写表示出系名。
3.查询选修了课程的学生的学号,要求相同的学号仅显示一次。
4.查询所有年龄在20岁以下的学生的姓名及其年龄。
5.查询计算机系(CS)中年龄在20岁以下的学生的姓名及其年龄。
6.查询考试成绩又不及格的学生的学号。
7.查询年龄不在20~30岁之间的学生的姓名和系别。
8.查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和年龄。
9.查询不是信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和年龄。
10.查询所有姓“刘”的学生的姓名和性别。
11.查询缺少成绩学生的学号和相应的课号。
12.查询全体学生情况,查询结果按所在系的系号升序排列,同一系的学生按年龄降序排列。
13.查询学生总人数。
(见教材p.100,查看其它集函数)
14.求各个课程号及相应选课人数。
15.查询选修了3门以上课程的学生学号。
16.查询每个学生及其选修课程的情况。
17.查询每门课程的直接先修课。
18.查询选修2号课程且成绩在90分以上的所有学生。
19.查询每个学生的学号、姓名、选修的课程名及成绩。
20.查询与刘晨在同一系中的学生。
21.查询选修了课程名为“信息系统”的学生的学号和姓名。
22.查询其它系中比信息系某一学生年龄小的学生的姓名和年龄。
23.查询其它系中比信息系所有学生年龄小的学生的姓名和年龄。
实验四数据查询、更新与视图
1.掌握带EXISITS的查询语句。
2.掌握插入、删除和修改数据的数据更新语句。
3.掌握建立、查询及删除视图的操作。
1.使用带EXISTS查询选修了1号课程的学生的姓名。
2.使用带EXISTS查询没有选修了1号课程的学生的姓名。
3.使用带EXISTS查询选修了全部课程的学生的姓名。
4.查询计算机科学系的学生及年龄不大于19岁的学生。
5.查询选修了课程1的学生的集合与选修了课程2的学生。
6.将一个新学生(学号:
95022;
姓名:
陈冬;
性别:
男;
所在系:
IS;
年龄:
18)记录插入数据库。
7.对每一个,求学生的平均年龄,再把系名和平均年龄存入数据库中(需在库中另建一张表,表名:
Deptage)。
8.将学生95001的年龄改为22岁。
9.将所有学生的年龄增加1岁。
10.将计算机科学系全体学生的成绩置0。
11.删除学号95003的学生记录。
12.删除所有学生选课记录。
13.删除计算机科学系所有学生的选课记录。
14.建立信息系学生的视图,视图名:
IS_Student.
15.建立信息系选修了1号课程的学生视图,视图名:
VIEW_S1。
16.将学生的学号及他的平均成绩定义为一个视图,视图名:
S_G。
17.从视图IS_Student中查询年龄小于20岁的学生。
18.从视图IS_Student中查询选修了1号课程的学生的学号和姓名。
19.将IS_Student视图中学号为95002的学生的姓名改为“刘辰”。
20.向信息系学生视图中插入一个新的学生记录,其学号为:
95029,姓名:
赵新,年龄:
20。
21.删除信息系学生视图IS_Student中学号为95029的记录。
22.删除IS_Student视图。
实验五授权与游标
1.了解MSSQLServer2000中SQLServer登录用户、数据库用户、角色等基本概念及其之间的关系。
2.掌握通过GRANT和REVOLKE语句对数据库用户进行权限控制。
3.掌握使用游标的一般方法。
1.通过企业管理器为School_Mis_个人学号数据库增加两个用户,用户名:
self_user1和self_user2。
2.把查询Student表的权限授给self_user1
3.把对Student和Course表的全部操作权授予用户self_user1和self_user2。
4.把对表SC的INSERT权限授予self_user1用户,并允许将此权限再授予其它用户。
5.把用户self_user1修改学生学号的权限收回。
6.把用户self_user2对SC表的INSERT权限收回。
7.输入以下代码,分析结果:
declarestudent_curcursorglobalscrollfor
select*fromstudent
openstudent_cur
go
fetchnextfromstudent_cur
deallocatestudent_cur
8.使用游标将学生表中的95002号学生的姓名改为“刘辰”,年龄改为20岁。
9.查看文档学习游标的详细用法
实验六SQLServer2000中DTS功能应用
1.了解SQLServer2000导入/导出数据工具的基本功能。
2.掌握配置ODBC数据源的方法。
3.掌握通过SQLServer2000导入/导出工具,导入/导出ACCESS数据库及文本文件的操作。
1.建立一个空的Access数据库,名称为:
db_school.mdb.
2.通过操作系统的ODBC数据源管理,为db_school.mdb建立一个系统数据源,数据源名称为:
school.
3.将School_Mis_个人学号数据库中的数据导入数据源school中。
4.SQLServer2000种建立一个新的数据库,名称为School2_Mis_个人学号。
5.将db_school.mdb中的数据通过MicrosoftAccess数据引擎导入到School2_Mis_个人学号中。
6.建立一个空的文本文件,名称:
student_data.txt.
7.将School_Mis_个人学号中的数据导入到该文本文件中。
8.将student_data.txt文本文件的内容到入School2_Mis_个人学号数据库中,生成一张新表名称:
student_data。
9.练习导入/导出其它类型的数据文件。
DTS的使用方法请参见附录一。
实验七事务与存储过程
1.了解事务的概念
2.掌握MSSQLServer2000事务处理的基本方法。
3.了解MSSQLServer2000中存储过程的概念。
4.掌握通过企业管理器和CREATEPROCEDURE语句建立存储过程的方法。
1.查看在线文档学习使用事务处理的基本方法。
2.建立如下事务,并分析理解事务具体用法。
BEGINTRANSACTIONexampletrans
USEpubs
UPDATEtitleauthor
SETroyaltyper=35
FROMtitleauthor,titles
WHEREroyaltyper=25
ANDtitleauthor.title_id=titles.Title_id
ANDtitle='
TheGourmentMicrowwave'
GO
SAVETRANSACTIONpercentchange
UPDATEtitles
SETprice=price*1.2
WHEREtitle='
TheGourmetMicrowave'
ROLLBACKTRANSACTIONpercentchange
PRINT'
程序继续执行'
COMMITTRANSACTION
3.建立一事务将student、SC表中的Sno为95001改为95100。
4.通过在线文档学习建立存储过程的基本方法。
5.建立如下存储过程:
CREATEprocedurestudent_inforas
selectdistincta.sname,a.sage,ame,b.grade
fromstudenta,Scb,coursec
wherea.sno=b.snoando=o
6.在查询分析器中使用EXECstudent_infor执行该存储过程。
7.建立一存储过程,将学生表中的系别dept中的IS、MA、CS分别改为“信息科学系”、“数学系”、“计算机科学系”。
存储过程名为:
modify_dept.(需使用游标)
实验八数据库系统开发实验
1.了解具有c/s架构的数据库系统。
2.掌握通过一种开发工具连接SQLServer数据库的方法。
3.能够利用某一前台开发工具开发简单的管理系统。
1.将开发工具与School_Mis_个人学号数据库连接。
2.建立小型的管理系统,该系统能够对学生、课程和选课的基础信息输入、查询及修改;
能够查询学生选课及学生与所选课程的成绩信息等。
MSSQL-SERVER2000操作简介
1、SQLServer2000简介
SQLServer是一个关系数据库管理系统。
它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本,在WindowsNT推出后Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上专注于开发推广SQLServer的WindowsNT版本,Sybase则较专注于SQLServer在UNIX操作系统上的应用。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
2、SQLServer2000的工具
SQLServer2000包含了一系列的管理开发工具,使其安装调用管理及使用都十分便捷。
2.1企业管理器
企业管理器(EnterpriseManager)是SQLServer中最重要的管理工具。
在使用SQLServer的过程中大部分的时间都是和它打交道,通过企业管理器可以管理所有的数据库系统工作和服务器工作也可以调用其它的管理开发工具。
2.2服务管理器
服务管理器(ServiceManager)用于启动暂停或停止数据库服务器------SQLServer、SQLServerAgent、MSDTC(MicrosoftDistributedTransactionCoordinator)微软分布式事务协调器。
2.3查询分析器
查询分析器(QueryAnalyzer)用于执行Transaction-SQL命令等SQLScripts(SQL脚本程序),以查询、分析或处理数据库中的数据,这是一个非常实用的工具,对掌握SQL语言理解SQLServer的工作有很大帮助,使用查询分析器的熟练程度是衡量一个SQLServer用户水平的标准。
2.4事件探查器
事件探查器(Profiler)是一个图形化的管理工具用于监督记录和检查SQLServer数据库的使用情况,对系统管理员来说它是一个监视用户活动的间谍。
2.5客户端网络实用工具
客户端网络实用工具(ClientNetworkUtility)用于配置客户端的连接、测定网络库的版本信息以及设定本地数据库的相关选项。
2.6服务器端网络实用工具
服务器端网络实用工具(ServerNetworkUtility)用于配置服务器端的连接、测定网络库的版本信息。
2.7导入导出数据
导入导出数据(ImportandExportData)采用DTSImport/Export向导来完成,此向导包含了所有的DTS(DataTransformationServices)数据转换服务工具,提供了在OLEDB数据源之间复制数据的最简捷的方法。
2.8SQLServer升级向导
SQLServer升级向导用于将一个6.5版本的SQLServer的设置和数据库复制、升级到本机上安装的SQLServer2000中。
2.9在IIS中配置SQLXML支持
IIS是InternetInformationServices的缩写,即因特网信息服务。
此工具可以在运行IIS的计算机上定义、注册虚拟目录,并在虚拟目录和SQLServer实例之间创建关联。
2.10BooksOnline
SQLServer2000提供了大量的联机文档,用户可以便捷地查询到许多很有价值的信息,一个优秀的SQLServer管理员必然是使用联机文档的高手。
上述工具是针对SQLSERVER2000的个人版的介绍,下面将结合实验要求对企业管理器、服务管理器、查询分析器和导入\导出数据作较为详细的介绍。
3、企业管理器
用户可以通过开始菜单或快捷方式启动企业管理器启动后界面如图3-1所示
图3-1企业管理器界面
企业管理器的界面是一个标准的Windows界面,由标题栏、菜单栏、工具条、树窗口和任务对象窗口又称任务板组成,企业管理器的菜单栏分为两层,上一层是主菜单栏,下一层是控制台菜单栏。
主菜单在程序运行的过程中是基本保持不变的,控制台菜单栏中的菜单则是动态的随着所进行操作的不同,而显示不同的菜单内容其中“操作(Action)”和“查看(View)”两个菜单是动态化,最明显随着所进行操作的不同而显示不同的菜单项,尤其是“操作(Action)”菜单它的菜单项与当时的快捷菜单的内容相同,而工具(Tolls)菜单的菜单项在使用企业管理器的过程中是保持不变的,只是应操作的不同而启用或禁用不同的菜单项企业管理器的工具栏也是动态的会随着所进行操作的不同而增加或减少图标。
4、启动与关闭服务器
启动服务器的方法有以下几种:
4.1用EnterpriseManager启动
在EnterpriseManager的SQLServerGroup中用左键单击所要启动的服务器,或在所要启动的服务器上单击右键后从快捷菜单中选择Start项即可启动。
4.2用SQLServerServiceManager启动
启动方法如下:
(1)从菜单中选择“服务管理器”选项启动服务管理器,服务管理器启动后,如图4-1a所示:
(2)在ServiceManager中选择要启动的服务器Server和服务Service选项。
(3)在ServiceManager中点击
按钮,即Start/Continue选项启动服务器。
启动后画面如图4-1b所示:
图4-2ServiceManager
4.3自动启动服务器
可以在操作系统启动时启动服务器可以在ServiceManager中选择自动启动选项
如图4-2所示。
4.4注册服务器
在SQLServer中可以使用注册向导和注册属性对话框两种方式来注册服务器。
注册过程如下:
(1)在EnterpriseManager的菜单中选择操作(Action)菜单从Action菜单中选择NewSQLServerRegistration菜单项或从工具栏中选择图标
就会出现如图4-2所示的RegisterSQLServerWizard服务器注册向导对话框,如果在向导对话框的第一个接口中选择了复选框(如图4-2中所示)后,按下“下一步”按钮就会转换到服务器注册属性对话框界面,如图4-3所示,也可以用右键单击MicrosoftSQLServers或SQLServerGroup从快捷菜单中选择NewSQLServerRegistration菜单项
图4-2服务器注册向导
图4-3服务器注册属性对话框
(2)在RegisterSQLServerWizard对话框中不选择复选框,单击“下一步”按钮选择或创建服务器名称如图4-4所示单击下一步按钮
图4-4选择或创建服务器名称
(3)选择使用的身份认证方式,即WindowsNT身份认证或SQLServer身份认证。
WindowsNT身份认证可以使用户只需维护、使用一个WindowsNT登录账号和口令而使用SQLServer身份认证则必须维护WindowsNT登录账号和
SQLServer账号及口令。
如图4-5和图4-6所示单击下一步按钮。
图4-5选择身份认证方式
图4-6输入SQLServer账号与口令
(4)选择服务器组或创建服务器组,如图4-7所示单击下一步按钮
图4-7选择服务器组或创建服务器组
(5)出现确定注册对话框单击“完成”按钮,则EnterpriseManager将注册服务器如图4-8