SQL SERVER数据库系统设计与实现实验报告
编制教师傅荣会
(适用于计算机科学学院各专业)
计算机科学学院
实验一:数据库的定义、建立和维护指导教师:
实验日期:年月日实验地点:成绩:
实验目的:
了解SQL Server数据库的逻辑结构和物理结构;
了解表的结构特点;
了解SQL Server的基本数据类型;
了解空值概念;
学会在“对象资源管理器”中创建数据库和表;
学会使用T-SQL语句创建数据库和表。
实验内容及基本要求:
l、创建一个新的数据库。
创建用于企业管理的员工管理数据库,数据库名为YGGL。
数据库YGGL的逻辑文件初始大小为10MB,最大大小50MB,数据库自动增长,增长方式是按5%比例增长。
日志文件初始大小为2MB,最大可增长为5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。
数据库的逻辑文件名和物理文件名均采用缺省值。
事务日志的逻辑文件名和物理文件名也均采用缺省值。
要求分别使用“对象资源管理器”和T-SQL命令完成数据库的创建工作。
2、在创建好的数据库YGGL中创建数据表。
考虑到数据库YGGL要求包含员工的信息、部门信息以及员工的薪水信息,所以数据库YGGL 应包含下列3个表:Employees(员工信息)表、Departments(部门信息)表、Salary(员工薪水情况)表。
各表的结构分别为表T2.1、T2.2和表T2.3所示。
表T2.1 Employees表结构
表T2.2 Departments表结构
表T2.3 Salary表结构
要求分别使用“对象资源管理器”和T-SQL语句完成数据表的创建工作。
基本要求:
1.写出实验步骤
2.写出实验中遇到的问题及解决的方法
实验总结:
实验评价(教师):
实验二:数据查询指导教师:
实验日期:年月日实验地点:成绩:实验目的:
掌握SELECT语句的基本语法;
掌握子查询的表示;
掌握连接查询的表示;
掌握SELECT语句的GROUP BY子句的作用和使用方法;
掌握SELECT语句的ORDER BY子句的作用和使用方法;
实验内容及基本要求:
在企业管理器中向数据库YGGL表加入数据
在企业管理器中向表Employees中加入如表1所示的记录。
在企业管理器中向表Departments插入如表 2所示的记录。
在企业管理器中向表Salary插入如表3所示的记录。
1.查询Employees中员工姓名和性别,要求SEX值为1时显示为“男”,为0时显
示为“女”;
2.计算每个雇员的实际收入;
3.用子查询的方法查询研发部比所有财务部雇员收入都高的雇员姓名;
4.使用外连接方法查询所有员工的月收入;
5.查询研发部在1976年以前出生的雇员姓名及其薪水详情。
6.查询财务部雇员的最高和最低收入;
7.统计财务部收入在2500以上雇员的人数。
8.按员工的学历分组,排列出格科、大专和硕士的人数;
9.将员工作信息按出生时间从小到大排列。
10.创建YGGL数据库上的视图DS_view,视图包含Departments表的全部列;
11.向视图DS_view中插入一行数据“6,广告部,广告业务”;
基本要求:
1.写出实验步骤
2.写出实验中遇到的问题及解决的方法
实验总结及意见:实验评价(教师):
实验三:T-SQL编程指导教师:
实验日期:年月日实验地点:成绩:
实验目的:
掌握用户自定义类型的使用;
掌握变量的分类及其使用;
掌握各种运算符的使用;
掌握各种控制语句的使用;
掌握系统函数及用户自定义函数的使用。
实验内容及基本要求:
1.自定义一数据类型ID_type,用于描述员工编号。
2.在YGGL数据库中创建Employees3表,表结构与Employees类似,只是EmployeeID
列使用的数据类型为用户自定义数据类型ID_type。
3.创建一个名为female的用户变量,并在SELECT语句中使用该局部变理查找表在所有
女员工的编号、姓名。
4.使用比较运算符“>”查询Employees表在工作时间大于5年的员工信息。
5.判断姓名为“王林”的员工实验收入是否高于3000,如果是则显示其收入,否则显
示“收入不高于3000”;
6.使用循环输出一个用“*”组成的三角形;
7.定义一个函数实现如下功能:对于一个给定的DepartmentID值,查询该址在
Departments表中是否存在,若存在返回“YES”,否则返加“NO”,并定一段T-SQL
程序调用上述函数。
8.设计一个函数用于判断一个整数是否为素数。
基本要求:
1.写出实验步骤
2.写出实验中遇到的问题及解决的方法
实验总结及意见:实验评价(教师):
实验四:存储过程与触发器指导教师:
实验日期:年月日实验地点:成绩:
实验目的:
掌握存储过程的使用方法。
掌握触发器的使用方法。
实验内容及基本要求:
1、存储过程
创建存储过程,比较两个员工的实际收入,若前者收入比后者高就输出0,否则输出1;
创建添加职员记录的存储过程EmployeeAdd;
创建删除职员记录的存储过程EmployeeDel;
创建一个带有OUTPUT游标参数的存储过程,在Employees表中声明并打开一个游标。
然后编写T-SQL程序通过该游标变量读取记录;
创建存储过程,使用游标计算本科及以上学历的员工在总员工数中所占的比例。
2、触发器
对于YGGL数据库,表Employees的DepallmentID列与表Department的DepartmentID 列应满足参照完整性规则,即:
.向Employees表添加一记录时,该记录的DepartmentID值在Departments表中应存在;
.修改Departments表的DepartmntID字段值时,该字段在Employees表中的对应值也应修改;
.删除Departments表中一记录时,该记录DepartmentID字段值在Employees表中对应的记录也应删除。
上述参照完整性规则,在此通过触发器实现。
并在查询分析器编辑窗口输入各触发器的代码并执行。
创建INSTEAD OF触发器,当向SALARY表中插入记录时,先检查Employeeid列上的值在Employees中是否存在,如果存在则执行插入操作,否则提示“员工号不存在”。
创建DDL触发器,当删除数据库里,提示“无法删除”并回滚删除操作。
基本要求:
1.写出实验步骤
2.写出实验中遇到的问题及解决的方法
实验总结及意见:实验评价(教师):
实验五:数据库备份和恢复指导教师:
实验日期:年月日实验地点:成绩:
实验目的:
掌握在“对象资源管理器”中创建命名备份设备的方法;
掌握在“对象资源管理器”中进行备份操作的步骤;
掌握使用T-SQL语句对数据库时行完全备份的方法;
掌握在“对象资源管理器”中进行数据恢复的步骤;
掌握使用T-SQL语句进行数据库恢复的方法。
实验内容及基本要求:
1) 数据库备份。
在“对象资源管理器”中对数据库YGGL通过行备份设备进行完全备份、差异备份、日志备份;
使用T-SQL对数据库YGGL通过行备份设备进行完全备份、差异备份、日志备份;
2) 数据库恢复。
在“对象资源管理器”中对数据库YGGL进行完全恢复、差异恢复、日志恢复;
使用T-SQL对数据库YGGL进行完全恢复、差异恢复、日志恢复;
基本要求:
1.写出实验步骤
2.写出实验中遇到的问题及解决的方法
实验总结及意见:实验评价(教师):。