《SQLSERVER数据库应用》实验指导书版.docx
《《SQLSERVER数据库应用》实验指导书版.docx》由会员分享,可在线阅读,更多相关《《SQLSERVER数据库应用》实验指导书版.docx(30页珍藏版)》请在冰豆网上搜索。
![《SQLSERVER数据库应用》实验指导书版.docx](https://file1.bdocx.com/fileroot1/2023-2/24/a204cccd-aeda-45ac-92f5-2b1680e94b0a/a204cccd-aeda-45ac-92f5-2b1680e94b0a1.gif)
《SQLSERVER数据库应用》实验指导书版
《数据库应用》实验教学大纲
一、基本信息
课程编码
020215136
课程学时
40
课程类别
专业课
实验总学时
12
开出学期
5
开出单位
计算机系
适用专业
计算机科学与技术
二、实验安排
序号
实验项目
实验学时
每组人数
实验类型
开出要求
1
实验一创建数据库和表以及表操作
2
1
验证
必做
2
实验二数据库的查询
2
1
验证
必做
3
实验三视图、存储过程、触发器等的建立与维护
4
1
验证
必做
4
实验四基于SQLServer数据库的学生信息管理系统的建立
4
1
综合
必做
三、实验目的、内容与要求
实验一创建数据库和表以及表操作
(一)实验目的
1.了解SQLServer数据库的逻辑结构和物理结构,表的结构特点;
2.了解SQLServer的基本数据类型,空值概念;
3.学会在企业管理器中创建数据库和表;
4.学会使用T—SQL语句创建数据库和表;
5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;
6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;
(二)实验内容
1.企业管理器访问数据库,查询分析器的使用;
2.在企业管理器中创建、删除数据库和表;
3.使用T-SQL语句创建数据库和表;
4.在企业管理器中对数据表进行插入、修改、删除数据操作;
5.使用T-SQL进行上述操作。
(三)实验要求
1.掌握在企业管理器中创建、修改、删除数据库和表;
2.掌握查询分析器,使用T—SQL语句创建、修改、删除数据库和表。
实验二数据库的查询
(一)实验目的
1.掌握SELECT语句的基本语法;
2.掌握子查询的表示;
3.掌握连接查询的表示;
4.掌握数据汇总的方法;
5.掌握SELECT语句的GROUPBY子句的作用和使用方法;
6.掌握SELECT语句的ORDERBY子句的作用和使用方法。
(二)实验内容
1.SELECT语句的基本使用;
2.子查询的使用,连接查询的使用,数据汇总,GroupBy、OrderBy子句的使用。
(三)实验要求
1.掌握数据库查询的基本的常用语句的使用方法;
2.掌握数据库查询中的分组、排序等语句的使用方法。
实验三视图、存储过程、触发器等的建立与维护
(一)实验目的
1.学会使用企业管理器建立视图,应用视图插入、删除、修改数据;
2.掌握存储过程的使用方法;
3.掌握触发器的使用方法。
(二)实验内容
1.视图插入、删除、修改数据;
2.创建存储过程,调用存储过程;
3.创建触发器。
(三)实验要求
1.利用所创建的数据库和数据表,综合应用视图、存储过程、触发器等知识完善数据库;
2.掌握应用更新视图数据可以修改基本表数据的方法;
3.熟练掌握添加、修改、删除记录的存储过程的定义及调用;
4.掌握通过触发器来实现数据的参照完整性。
实验四基于SQLServer数据库的学生信息管理系统的建立
四、考核方式
实验的考核方式:
根据实验预习情况、实验出勤情况、原型系统效果验收和实验报告的完成情况确定最终的实验成绩,实验成绩占课程总成绩的20%。
实验成绩按百分制。
实验预习情况:
A实验出勤情况:
B原型系统效果验收和实验报告:
C
实验成绩=A*20%+B*20%+C*60%
五、建议教材与教学参考书
1、建议教材
[1]郑阿奇.SQLServer实用教程.第二版.北京:
电子工业出版社.2005
[2]张丽霞.数据库应用实验指导书.自编.2005
2、教学参考书
[1]李存斌.数据库应用技术--SQLServer2000简明教程.北京:
中国水利水电出版社.2001
[2]钱雪忠,罗海驰,程建敏.SQLSERVER2005实用技术及案例系统开发.第一版.北京:
清华大学出版社.2007
[3]李春葆,曾惠.SQLSERVER2000应用系统开发教程.第一版.北京:
清华大学出版社.2005
[4]李春葆,曾惠.SQLSERVER2000学习与上机实验指导.第一版.北京:
清华大学出版社.2005
[5]李存斌.数据库应用技术----SQLServer2000简明教程.第一版.北京:
中国水利水电出版社.2002
六、编制说明
编制者:
数据库课程组组长:
郭琳
执笔人:
云静编制时间:
2013年8月
实验一创建数据库和表以及表操作
一、实验目的
1.了解SQLServer数据库的逻辑结构和物理结构,表的结构特点;
2.了解SQLServer的基本数据类型,空值概念;
3.学会在企业管理器中创建数据库和表;
4.学会使用T—SQL语句创建数据库和表;
5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;
6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;
二、实验内容
1.实验题目
(1)
创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。
数据库YGGL包含下列3个表。
(1)Employees:
员工自然信息表。
(2)Departments:
部门信息表。
(3)Salary:
员工薪水情况表。
各表的结构分别如表T2.1,表T2.2,表T2.3所示。
表T2.1Employees表结构
列名
数据类型
长度
是否允许为空值
说明
EmployeelD
Char
6
×
员工编号,主键
Name
Char
10
×
姓名
Birthday
Datetime
8
×
出生日期
Sex
Bit
1
×
性别
Address
Char
20
√
地址
Zip
Char
6
√
邮编
PhoneNumber
Char
12
√
电话号码
EmailAddress
Char
30
√
电子邮件地址
DepartmentlD
Char
3
×
员工部门号,外键
表T2.2Departments表结构
列名
数据类型
长度
是否允许为空值
说明
DepartmentlD
字符型(char)
3
×
部门编号,主键
DepartmentName
字符型(char)
20
×
部门名
Note
文本(text)
16
√
备注
表T2.3Salary表结构
列名
数据类型
长度
是否允许为空值
说明
EmployeeID
字符犁(char)
6
×
员工编号,主键
InCome
浮点型(float)
8
×
收入
OutCome
浮点型(float)
8
×
支出
实验步骤
1.在企业管理器中创建数据库YGGL
要求:
数据库YGGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。
数据库的逻辑文件名和物理文件名均采用默认值,分别为YGGL_data和e:
\sql\data\MSSQL\Data\YGGL.mdf,其中e:
\sql\data\MSSQL为SQLServer的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值分别为YGGL—LOG和e:
\sql\data\MSSQL\Data\YGGL_Log.1df。
以系统管理员Administrator是被授权使用CREATEDATABASE语句的用户登录SQLServer服务器,启动企业管理器一>在服务器上单击鼠标右键一>新建数据库一>输入数据库名“YGGL”一>选择“数据文件”选项卡一>设置增长方式和增长比例一>选择“事务口志”选项卡一设置增长方式和增长比例。
注意:
在“数据文件”选项卡和“事务曰志”选项卡中可以分别指定数据库文件和曰志文件的物理路径等特性。
2.在企业管理器中删除创建的YGGL数据库
在企业管理器中选择数据库YGGL一>在YGGL上单击鼠标右键一删除。
3.使用T—SQL语句创建数据库YGGL
按照实验步骤1中的要求创建数据库YGGL。
启动查询分析器一>在“查询”窗口中输入以下T—SQL语句:
CREATEDAIABASEYGGL
ON
(NAME=’YGGL_Data’,
FILENAME=’e:
ksql\data\MSSQL\Data\YGGL.mdf,
SIZE=10MB,、
MAXSIZE=50MB,
FILEGROWTH=5%)
LOGON
(NAME=’YGGL_Log’,
FILENAME=’e:
\sql\data\MSSQL\Data\YGGL_Log.1df,
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
G0
单击快捷工具栏的执行图标,执行上述语句,并在企业管理器中查看执行结果。
4.在企业管理器中分别创建表Employees,Departments和Salary
在企业管理器中选择数据库YGGL一>在YGGL上单击鼠标右键一>新建一>表一>输入Employees表各字段信息一>单击保存图标一>输入表名Employees,即创建厂表Employees。
按同样的操作过程创建表Departments和Salary。
、
5.在企业管理器中删除创建的Employees,Departments和Salary表
在企业管理器中选择数据库YGGL的表Employees在Employees上单击鼠标右键一>删除,即删除了表Employees。
按同样的操作过程删除表Departments和Salary。
6.使用T—SQL语句创建表Employees,Departments和Salary
启动查询分析器一.在“查询”窗口中输入以下T—SQL语句:
USEYGGL
CREATETABLEEmployees
(EmployeeIDchar(6)NOTNULL,
Namechar(10)NOTNULL,
BirthdaydatetimeNOTNULL,
SexbitNOTNULL,
ddresschar(20)NOTNULL,
Zipchar(6)NULL,
PhoneNumberchar(12)NULL,
EmailAddreechar(20)NULL,
DepartmentlDchar(3)NOTNULL
)
GO
单击快捷工具栏的执行图标,执行上述语句,即可创建表Employees。
按同样的操作过程创建表Departments和Salary,并在企业管理器中查看结果。
2.实验题目
(2)
分别使用企业管理器和T—SQL语句,向在以下实验步骤1建立的数据库YGGL的3个表Employees,Departments和Salary中插入多行数据记录,然后修改和删除一些记录。
使用T—SQL进行有限制的修改和删除。
实验准备、
首先了解对表数据的插入、删除、修改都属于表数据的更新操作。
对表数据的操作可以在企业管理器中进行,也可以由T-SQL语句实现。
其次要掌握T-SQL中用于对表数据进行插入、修改和删除的命令分别是INSERT,UPDATE和DELETE(或TRANCATETABLE)。
要特别注意在执行插入、删除、修改等数据更新操作时,必须保证数据完整性。
此外,还要了解使用T-SQL语句在对表数据进行插入、修改及删除时,比在企业管理器中操作表数据更为灵活,功能更强大。
实验步骤
1.在企业管理器中向数据库YGGL表加入数据
2.
(1)在企业管理器中向表Employees中加入如表T3.1所示的记录。
表T3.1数据记录
在企业管理器中选择表Employees在其上单击鼠标右键一>选择“返回所有行”
一>逐字段输入各记录值,输入完后,关闭表窗口。
(2)在企业管理器向表Departments中插入如表T3.2所示的数据记录。
表T3.2数据记录
(3)在企业管理器中向表Salary中插入如表T3.3所示的数据记录。
表T3.3数据记录
2.在企业管理器中修改数据库YGGL表数据
(1)在企业管理器中删除表Employees的第2,8行和Salary的第2,11行。
注意进行删除操作时,作为两表主键的EmployeeID的值,以保持数据完整性。
在企业管理器中选择表Employees—>在其上单击鼠标右键一>选择“返回所有行”
一>选择要删除的行一>单击鼠标右键一>删除一>关闭表窗口。
(2)企业管理器中删除表Departments的第2行,同时也要删除表Employees的第
2行。
操作方法同
(1)。
(3)在企业管理器中将表Employees中编号为020018的记录的部门号改为4。
在企业管理器中选择表Employees在其上单击鼠标右键一选择“返回所有行”一>将光标定位至编号为020018的记录的DepartmentID字段,将值1改为4。
3.使用T-SQL命令修改数据库YGGL表数据
(1)使用T-SQL命令分别向YGGL数据库Employees,Departments和Salary表中插入1行记录。
启动查询分析器一>在“查询”窗口中输入以下T—SQL语句:
USEYGGL
INSERTINTOEmployees
VALUES(’011112’,’罗林’,’1973-5-3’,1,’解放路100号’,210002,4055663,NULL,5)
GO
INSERTINTODepartments
VALUES(‘2’,’人资源部’,NULL)
Go
INSERTINTOSalary
VALUES(’011112’,1200.09,50)
GO
单击快捷工具栏的执行图标,执行上述语句。
注意:
在企业管理器中分别打开YGGL数据库Employees,Departments和Salary表,观察数据变化。
(2)使用T—SQL命令修改表Salary中的某个记录的字段值。
启动查询分析器一》在“查询”窗口中输入以下T—SQL语句:
USEYGGL
UPDATESalary
SETincome=2890
WHEREEmployeelD=t011112’
Go
单击快捷工具栏的执行图标,执行上述语句,将编号为011112的职工收入改为2890。
注意:
在企业管理器中分别打开YGGL数据库Salary表,观察数据变化。
(3)修改表Employees和Departments的记录值,仍要注意完整性。
操作过程同
(2)。
(4)使用T—SQL命令修改表Salary中的所有记录的字段值。
启动查询分析器一>“查询”窗口中输入以下T—SQL语句:
USEYGGL
UPDATESalary
SETInCome=InCome+100
GO
单击快捷工具栏的执行图标,执行上述语句,将所有职工的收入增加100。
可见,使用T—SQL语句操作表数据比在企业管理器中操作表数据更为灵活。
注意:
输入以下T—SQL语句,观察数据变化。
SELECT*FROMSalary
(5)使用TRANCATETABLE语句删除表中所有行。
启动查询分析器一>在“查询”窗口中输入以下T—SQL语句:
USEYGGL
TRANCATETABLESalary
GO
单击快捷工具栏的执行图标,执行上述语句,将删除Salary表中的所有行。
注意:
实验时一般不轻易做这个操作,因为后面实验还要用到这些数据。
如要试验该命令的效果,可建一个临时表,输入少量数据后进行。
实验二数据库的查询
一、实验目的
1.掌握SELECT语句的基本语法;
2.掌握子查询的表示;
3.掌握连接查询的表示;
4.掌握数据汇总的方法;
5.掌握SELECT语句的GROUPBY子句的作用和使用方法;
6.掌握SELECT语句的ORDERBY子句的作用和使用方法。
二、实验内容
1.SELECT语句的基本使用
(1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SEIECT*
FROMEmployees
GO
【思考与练习】
用SELECT语句查询Departments和Salary表的所有记录。
(2)查询每个雇员的地址和电话。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAddress,PhoneNumber
FROMEmployees
GO
【思考与练习】
用SELECT语句查询Departments和Salary表的一列或若干列。
(3)查询EmployeeID为000001的雇员的地址和电话。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAddress,PhoneNumber7
FROMEmployees
WHEREEmployeelD=’000001’
GO
【思考与练习】
用SELECT语句查询Departments和Salary表中满足指定条件的1列或若干列。
(4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAddressAS地址.PhoneNumberAS电话
FROMEmployees
WHEREsex=0
Go
注意:
使用AS子句可指定目标列的标题。
(1)计算每个雇员的实际收入。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTEmployeelD,实际收入=InCome—OutCome
FROMSalary
G0
(2)找出所有姓王的雇员的部门号。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTDepartmentID
FROMEmployees
WHEREnameLIKE’王%’
Go
【思考与练习】找出所有其地址中含有‘‘中山”的雇员的号码及部门号。
(3)找出所有收入在2000~3000元之间的雇员号码。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTEmployeelD
FROMSalary
WHEREInComeBETWEEN2000AND3000
GO
【思考与练习】
找出所有在部门‘1’或‘2’工作的雇员的号码。
注意:
在SELECT语句中LIKE、BETWEEN…AND,,IN,NOT及CONTAIN谓词的作用。
3.子查询的使用
(1)查找在财务部工作的雇员的情况。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECT*
FROMEmployees.
WHEREDepartmentlD=。
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’财务部’)
GO
【思考与练习】
用子查询的方法查找所有收入在2500元以下的雇员的情况。
(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTName
FROMEmployees
WHEREDepartmentIDIN
(SELECTDepartmentID
FROMDepartments
WHEREDepartmentName’财务部’)
AND
Birthday!
>ALL(SELECTBirthday
FROMEmployees
WHEREDepartmentlDIN
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’研发部’))
GO
【思考与练习】
用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的姓名。
(3)查找比所有财务部的雇员收入都高的雇员的姓名。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTName
FROMEmployees
WHEREEmployeeIDIN
(SELECTEmployeelD
FROMSalary
WHEREInCome>.
ALL(SELECTInCome
FROMSalary
WHEREEmployeelDIN
(SELECTEmployeelD
FROMEmployees
WHEREDepartmentlD=
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’财务部’))))
GO
【思考与练习】
用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的姓名。
3.连接查询的使用
(1)查询每个雇员的情况以及其薪水的情况。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTEmploees.*,Salary.*
FROMEmployees,Salary
WHEREElmployees.EmployeelD=Salary.EmployeelD
GO
【思考与练习】查询每个雇员的情况以及其工作部门的情况。
(2)查找财务部收入在2200元以上的雇员姓名及其薪水详情。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTName,InCome,OutCome
FROMEmployees,Salary,Departments
WHEREEmployees.EmployeelD=Salary.EmployeelDANDEmployees.DepartmentlD
=Departments.DepartmentlDANDDepartmentName=’财务部’ANDInCome>2000
GO
【思考与练习】查询研发部在1966年以前出生的雇员姓名及其薪水详情。
4.数据汇总
(1)求财务部雇员的平均收入。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAVG(InCome)AS’财务部平均收入’
FRO