数据库实验指导SQL Server.docx
《数据库实验指导SQL Server.docx》由会员分享,可在线阅读,更多相关《数据库实验指导SQL Server.docx(63页珍藏版)》请在冰点文库上搜索。
![数据库实验指导SQL Server.docx](https://file1.bingdoc.com/fileroot1/2023-5/29/a87826e5-815e-4df9-a487-b44bad6ad418/a87826e5-815e-4df9-a487-b44bad6ad4181.gif)
数据库实验指导SQLServer
梁文娟
目录
实验1SQLServer的安装及管理工具的使用3
实验2交互式SQL4
实验3数据完整性和安全性管理16
实验4触发器和存储过程实验26
实验5数据库备份与恢复30
实验6数据库设计综合应用31
实验1SQLServer的安装及管理工具的使用
一、实验目的
●掌握SQLServer2000的安装
●了解SQLServer2000的组织结构和操作环境
●熟悉SQLServer2000的基本使用方法
二、背景知识
SQLServer2000是Microsoft公司推出的高性能的客户端/服务器结构的关系数据库管理系统,它继承了SQLServer7.0版本的高性能、可靠性、易用性和可扩充性的优点,同时又增加了一些新的特性,使其成为一种领先的数据库管理系统,可用于联机事务处理(OLTP)、数据仓库及电子商务等。
三、实验内容
1.安装Microsoft的数据库服务软件SQLServer2000
运行服务器目录SQL2000下的可执行文件autorun.exe,进行SQLServer2000的安装。
安装主界面如图1-1所示。
图1-1
选择安装SQLServer2000组件,出现组件安装界面,如图1-2所示。
图1-2
选择安装数据库服务器,进入SQLServer2000的安装向导,如图1-3所示。
图1-3
点击“下一步”,到计算机名称对话框,如图1-4所示。
图1-4
“本地计算机”是默认选项,本地计算机的名称就显示在上面,点击“下一步”,出现安装选择对话框,如图1-5所示。
图1-5
选择“创建新的SQLServer实例,或安装客户端工具”,点击“下一步”,出现用户信息对话框,如图1-6所示。
图1-6
输入姓名和公司名称后,点击“下一步”,出现软件许可协议,如图1-7所示。
图1-7
点“是”按钮,出现安装定义对话框,如图1-8所示。
图1-8
选择“服务器和客户端工具”,点击下一步,出现实例名对话框,如图1-9所示。
图1-9
系统提供了“默认”复选框,点击下一步,出现安装类型选择框,如图1-10所示。
图1-10
选择典型,点击“下一步”,出现服务帐户对话框,如图1-11所示。
图1-11
接受系统的缺省值,点击“下一步”,出现身份验证模式窗口,如图1-12所示。
图1-12
接受系统的缺省值,点击“下一步”,出现开始拷贝文件窗口,如图1-13所示。
图1-13
点击“下一步”,开始将文件拷贝到选择的目录中,如图1-14所示。
图1-14
文件拷贝完成后,出现安装结束界面,如图1-15所示。
图1-15
点击“完成”按钮,完成SQLServer2000的安装。
安装完毕后,单击“开始”->“程序”->“MicrosoftSQLServer”,看到如图1-16所示的SQLServer2000程序组内容。
图1-16
2.SQLServer2000的文件目录
SQLServer数据库系统中的所有文件可以分为三种:
系统文件、程序文件和数据文件。
①系统文件只能安装在主机的系统目录下,系统文件位置无法更改。
②默认情况下,共享工具安装在\ProgramFiles\MicrosoftSQLServer\80\Tools目录中。
此文件夹包含由所有SQLServer2000实例(默认实例和命名实例)共享的文件。
这些工具包含SQLServer联机丛书、开发工具和其它组件。
③对于SQLServer的默认实例,程序和数据文件的默认目录是\ProgramFiles\MicrosoftSQLServer\Mssql。
可以为程序文件和数据文件指定默认路径以外的文件路径。
④SQLServer程序文件位于\ProgramFiles\MicrosoftSQLServer\Mssql\Binn目录中。
程序文件的位置是安装程序创建文件夹所在的根目录,而这些文件夹包含程序文件以及通常在使用SQLServer时不会更改的文件。
尽管这些文件不是只读文件,但是文件夹不包含数据、日志、备份文件或复制数据,因此,当使用SQLServer时这些文件的空间需求不会增加。
⑤SQLServer数据文件位于\ProgramFiles\MicrosoftSQLServer\Mssql\Data目录中。
数据文件的位置是安装程序创建文件夹(其中包含数据库和日志文件)所在的根目录,以及系统日志、备份和复制数据所在的目录。
安装程序为master、model、tempdb、msdb、pubs和Northwind数据库创建数据库和日志文件。
SQLServer数据文件路径应该位于有足够空间供这些文件增大的驱动器上。
3.启动和停止SQLServer服务
应用程序在使用SQLServer数据库之前,必须连接到一个SQLServer实例,如:
LWHNOTE。
SQLServer服务的启动和停止由SQLServer2000程序组中的“服务管理器”来管理。
下面介绍四种方法来启动和停止SQLServer服务。
方法1:
使用服务管理器启动和停止SQLServer服务。
单击“开始”->“程序”->“MicrosoftSQLServer”->“服务管理器”,弹出如图1-17所示的“SQLServer服务管理器”窗口,选择服务器(如:
LWHNOTE)和服务选项(如:
SQLServer),若没有启动,按下
,即可启动SQLServer服务,若已经启动,按下
,即可停止SQLServer服务。
若选中了复选框“当启动OS时自动启动服务”,则下次开机时系统即可自动启动SQLServer。
图1-17SQLServer服务管理器
启动SQLServer服务后,在Windows任务栏的右边会显示正在运行的SQLServer,如图1-18所示,表示SQLServer正在运行。
图1-18SQLServer在状态栏中的状态
方法2:
用操作系统控制面板中的服务管理程序启动和停止SQLServer服务。
单击“开始”->“设置”->“控制面板”->“管理工具”->“服务”,弹出如图1-19所示的“服务”对话框。
图1-19Windows服务
在“服务”对话框中,用鼠标右击要启动的服务器名称,即:
MSSQLSERVER,弹出菜单后,选择“启动”菜单项,就可启动SQLServer服务了。
图1-20表示MSSQLSERVER服务已启动。
图1-20MSSQLSERVER服务已启动
采用类似的方法,也可以停止SQLServer。
方法3:
用命令方式启动和停止SQLServer服务。
采用netstartmssqlserver命令启动SQLServer。
如图1-21所示。
图1-21使用命令方式启动SQLServer服务
采用netstopmssqlserver命令启动SQLServer。
如图1-22所示。
图1-22使用命令方式停止SQLServer服务
方法4:
使用企业管理器启动和停止SQLServer服务。
单击“开始”->“程序”->“MicrosoftSQLServer”->“企业管理器”,弹出如图1-23所示的企业管理器窗口,图中所示的SQLServer服务处于停止状态。
图1-23SQLServer企业管理器(SQLServer服务已停止)
在企业管理器中所要启动的服务器上(如:
LWHNOTE)鼠标右击,从快捷菜单中选择“连接”即可启动SQLServer服务,如图1-24所示。
图1-24SQLServer企业管理器(SQLServer服务已启动)
类似的方法,可以停止SQLServer。
4.使用企业管理器
在企业管理器中几乎能实现所有对SQLServer的操作,操作的主要手段是在企业管理器界面中不同对象上通过快捷菜单来进行。
企业管理器是一个对初学者来说最重要的管理工具,在以后的内容会经常使用。
5.使用查询分析器
在SQLServer程序组中,查询分析器也是最常用的管理工具之一。
单击“开始”->“程序”->“MicrosoftSQLServer”->“查询分析器”,弹出如图1-22所示的“连接到SQLServer服务器”对话框。
用户输入SQLServer服务器的名称和身份验证后,即可进入查询分析器。
注:
身份验证可以使用“Windows身份验证”或“SQLServer身份验证”。
图1-25选择的是“SQLServer身份验证”方式,图1-26选择的是“Windows身份验证”方式。
图1-25采用Windows身份验证连接到SQLServer服务器
图1-26采用SQLServer身份验证连接到SQLServer服务器
登录成功后,即可进入如图1-27所示的查询分析器中。
在查询分析器中可以输入并执行各种SQL命令,例如,在查询分析器工具栏上数据库组合框中选择pubs数据库,在查询窗口中输入“select*fromauthors”命令,再单击查询分析器工具栏上的“执行查询”按钮(或按F5键),执行后查询窗口分为上下两部分,下部分显示了查询执行结果。
图1-27查询分析器
还可以在查询器中查询目前使用的SQLServer的版本,输入SQL查询语句“SELECTSERVERPROPERTY('productversion'),SERVERPROPERTY('productlevel'),SERVERPROPERTY('edition')”,则在下部分可以显示当前使用的软件的版本信息。
注:
以后很多命令操作均可在查询分析器中完成,如:
各种查询命令实验、SQL文件编写、存储过程和触发器文件的编写等。
6.使用联机丛书
有三种方式可以启动SQLServer联机丛书:
使用帮助菜单、帮助按钮或按“F1”键,如图1-28所示。
1-28启动SQLServer联机丛书的三种方式
打开SQLServer联机丛书后,按如下方式输入要查找的关键字,如图1-29所示,输入查找关键字“CREATEDATABASE”。
图1-29输入查找关键字
然后按下“回车”键,显示与查询关键字相关的查询主题,双击查询主题,如图1-30所示。
图1-30选择查询主题
即可在窗口的右边显示相关查询主题的使用参考,如图1-31所示。
图1-31相关查询主题的参考
四、实验报告要求
1、给出安装过程中出现的错误及解决方法。
2、根据你所了解的SQLServer2000工具,写出部分主要组件(如企业管理器、查询分析器、服务管理器等)的功能。
实验2交互式SQL
任务1用企业管理器创建数据库及表
一、实验目的
SQLServer2000的启动和管理工作由服务管理器和企业管理器来实现。
本次实验了解SQLServer2000的启动,熟悉如何使用企业管理器建立数据库和表,并加深对于完整性的理解。
二、背景知识
在使用数据库的过程中,接触最多的就是数据库中的表。
表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。
表是由行和列组成的。
创建表的过程主要就是定义表的列的过程。
表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。
除了用列名和数据类型来指定列的属性外,还可以定义其它属性:
是否为空、默认值、标识符列、全局唯一标识符列等。
约束是SQLServer提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。
在SQLServer中有5种约束:
主关键字约束(PrimaryKeyConstraint)、外关键字约束(ForeignKeyConstraint)、惟一性约束(UniqueConstraint)、检查约束(CheckConstraint)和默认约束(DefaultConstraint)。
三、实验内容
1.启动数据库服务软件SQLServer2000:
在程序菜单中选择MicrosoftSQLServer,如图2-1所示:
图2-1
再选中服务管理器,如图2-2所示:
图2-2
点击服务管理器后,出现SQLServer服务管理器,如图2-3所示:
图2-3
点击“开始/继续”按钮,启动SQLServer2000数据库服务。
启动成功后,在时钟旁边出现一个
符号,如图2-4所示。
图2-4
2.在SQLServer2000中建立数据库:
在程序菜单中选择MicrosoftSQLServer,如图2-5所示:
图2-5
再选中企业管理器,如图2-6所示:
图2-6
点击企业管理器后,出现企业管理器的主界面,如图2-7所示:
图2-7
点击左边树状控制栏的+/-号可以打开和关闭SQLServer组中的本地服务项目,在选中数据库服务项目后,单击鼠标右键,出现数据库的菜单,如图2-8所示:
图2-8
点击新建数据库,出现新建数据库窗口,如图2-9所示:
图2-9
输入数据库名称:
Test,点击数据文件选项卡,如图2-10所示:
图2-10
在数据文件中,你可以设定数据文件的名称,所在目录以及文件的大小等信息。
完成后点击事务日志选项卡,如图2-11所示:
图2-11
事务日志中,你可以设定日志文件的名称,所在目录以及文件的大小等信息。
接受系统的缺省值,点击确定按钮,完成数据库的新建,如图2-12所示。
图2-12
3.在Test数据库上建立表:
点击数据库Test前面的+号,打开数据库的各种属性,如图2-13所示:
图2-13
选中“表”的属性,单击鼠标右键,出现表的菜单,如图2-14所示:
图2-14
点击新建表按钮,出现新建表窗口,如图2-15所示:
图2-15
输入列名,数据类型,长度等信息,点击
图标,出现选择表名窗口,如图2-16所示:
图2-16
输入表名,点击确定按钮,将新建的表存盘。
四、实验任务
1.用数据库SQLServer2000的服务管理器启动数据库服务;
2.用数据库SQLServer2000的企业管理器建立一个新数据库Test(可任意取名)。
3.在数据库Test中,建立如下所示的三个表:
Employee表
列名
数据类型
长度
是否允许为空
说明
EmployeeID
Char
6
否
员工编号,主键
Name
Char
10
否
姓名
Birthday
Datetime
8
否
出生日期
Sex
Bit
1
否
性别
Address
Char
20
是
地址
Zip
Char
6
是
邮编
PhoneNumber
Char
12
是
电话号码
EmailAddress
Char
30
是
电子邮件地址
DepartmentID
Char
3
否
员工部门号,外键
Departments表
列名
数据类型
长度
是否允许为空
说明
DepartmentID
Char
3
否
员工部门号,主键
DepartmentName
Char
20
否
部门名
Note
Text
16
是
备注
Salary表
列名
数据类型
长度
是否允许为空
说明
EmployeeID
Char
6
否
员工编号,外键
Income
Float
8
否
收入
OutCome
Float
8
否
支出
4.对三张表输入数据(可任意输入,但注意要符合完整性要求,否则会出错)
五、实验报告要求
1、要求给出在企业管理器中如何创建表间的外键关联;
2、画出这三个表的关系图;
3、举例说明如何操作会违背完整性(实体完整性、参照完整性)。
任务2.1使用查询分析器
一、实验目的
SQLServer2000的查询分析器是一种特别用于交互式执行SQL语句和脚本的极好的工具。
本次实验了解SQLServer2000查询分析器的启动,熟悉如何在SQLServer2000查询分析器中建表、插入记录、查询记录。
二、预计实验时间:
上机二~三次
三、实验内容
1.启动数据库服务软件SQLServer2000的查询分析器:
在程序菜单中选择MicrosoftSQLServer,如图3-1所示:
图3-1
再选中查询分析器,如图3-2所示:
图3-2
点击查询分析器后,出现连接到SQLServer窗口,如图3-3所示:
图3-3
选择本地服务(Local),点击确定按钮。
再点击连接到SQLServer窗口的确定按钮。
出现SQL查询分析器主界面,如图3-5所示。
图3-5
选择查询菜单,点击更改数据库,如图3-6所示。
图3-6
出现选择数据库窗口,如图3-7所示。
图3-7
选择在上次实验中建立的数据库Test,点确定按钮。
2.在查询分析器中建立表:
在查询分析器的查询窗口中输入SQL语句,如图3-8所示。
图3-8
点击
按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-9所示。
图3-9
提示命令成功完成,或者报告出错信息。
3.查询分析器中向表添加数据:
在查询分析器的查询窗口中输入SQL语句,如图3-10所示。
图3-10
点击
按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-11所示。
图3-11
从表中查询数据:
在查询分析器的查询窗口中输入SQL语句,如图3-12所示。
图3-12
点击
按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-13所示。
图3-13
四、实验任务
1.打开数据库SQLServer2000的查询分析器,用SQL语言建立实验二中给出的三张表,要求建表时给出主外键约束、唯一约束、取空值约束、用户自定义的约束等。
2.练习使用SQL语句向三张表中插入部分数据。
3.练习下面简单的查询语句:
a)查询每个雇员的所有信息
b)查询每个雇员的地址和电话
c)查询EmployeeID为000001的雇员的地址和电话。
d)查询女雇员地址和电话,并用AS子句将结果中各列的标题分别指定为“地址”和“电话”。
e)计算每个雇员的实际收入。
f)找出所有姓王的雇员的部门号。
思考:
找出所有地址中含有“中山”的雇员的号码和部门号。
五、实验报告要求
1、写出建表的SQL语句(包含各种约束);
2、从实验任务3中规定的六条查询里任选三条,写出其SQL语句;
3、并记录在使用SQL语句过程中遇到的问题及解决办法。
任务2.2DML的数据查询
一、实验目的
DML的数据查询指对数据库中的数据查询、统计、分组、排序等操作。
查询语句可以分为简单查询、连接查询、嵌套查询和组合查询。
本次实验了解DML语言的SELECT语句对数据的查询,学会SQLServer2000的查询分析器中用DML语言对表中的数据进行连接查询和嵌套查询。
二、预计实验时间:
一~二次上机
三、实验内容
1.启动数据库服务软件SQLServer2000的查询分析器,用SELECT语句对表进行简单查询操作,整个查询过程只涉及到一个表,是最基本的查询语句。
语法格式如下:
Select<目标列组>From<数据源>[Where<元组选择条件>]
[Groupby<分组列>[Having<组选择条件>]]
[Orderby<排序列1><排序要求>[,…n]]
2.用SELECT语句对表进行连接查询操作,连接查询涉及被连接和连接两个表,所以数据源一般为多个表。
用来连接两个表的条件称为连接条件,一般格式为:
[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>
其中比较运算符主要有:
=、>、<、>=、<=、!
=。
3.用SELECT语句对表进行嵌套查询操作,一个Select…From…Where语句称为一个查询块,将一个查询块嵌套在另一个查询块的Where子句或Having短语的条件中的查询,就是嵌套查询。
主要有使用In操作符、使用比较运算符的嵌套查询方式。
四、实验任务
Departments表:
DepartmentID
DepartmentName
Note
1
财务部
财务部
2
研发部
研发部
3
人力资源部
人力资源部
Employee表
EmployeeID
Name
Birthday
Sex
Address
Zip
PhoneNumber
EmailAddress
DepartmentID
1001
李勇
78-3-12
0
河南
475001
3880378
ly@
1
1002
王敏
80-11-2
1
河南
475002
0378311
wm@
1
1003
刘晨
78-6-22
0
河南
475003
0378322
lc@
1
2001
张立
78-8-1
0
河南
475004
0378333
zl@
2
2002
刘毅
82-1-23
0
河南
475005
0378344
ly@
2
2003
张玫
81-3-15
1
河南
475006
0378355
zm@
2
3001
徐静
76-8-12
1
河南
475007
0378366
xj@
3
3002
赵军
79-2-19
0
河南
475008
0378377
zj@
3
Salary表
EmployeeID
Income
OutCome
1001
3600
1500
1002
3300
1000
1003
3700
1200
2001
4000
1600
2002
3800
1800
2003
3800
1500
3001
4200
2000
3002
4100
1800
1.下列查询任务用来练习多表连接查询。
a)查询每个雇员的情况及工资情况(工资=Income-Outcome)
b)查询财务部工资在2200元以上的雇员姓名及工资情况
c)查询研发部在1966年以前出生的雇员姓名及其工资详情
d)查询人力资源部雇员的最高和最低工资
e)将各雇员的情况按工资由低到高排列
f)求各部门的雇员数
Selectcount(*)
FromEmployeeE,DepartmentD
WhereE.DepartmentId=D.DepartmentId
Groupby