《数据库管理系统》实验指导书本部Word文档下载推荐.docx

上传人:b****5 文档编号:20048554 上传时间:2023-01-16 格式:DOCX 页数:11 大小:22.14KB
下载 相关 举报
《数据库管理系统》实验指导书本部Word文档下载推荐.docx_第1页
第1页 / 共11页
《数据库管理系统》实验指导书本部Word文档下载推荐.docx_第2页
第2页 / 共11页
《数据库管理系统》实验指导书本部Word文档下载推荐.docx_第3页
第3页 / 共11页
《数据库管理系统》实验指导书本部Word文档下载推荐.docx_第4页
第4页 / 共11页
《数据库管理系统》实验指导书本部Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

《数据库管理系统》实验指导书本部Word文档下载推荐.docx

《《数据库管理系统》实验指导书本部Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《数据库管理系统》实验指导书本部Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

《数据库管理系统》实验指导书本部Word文档下载推荐.docx

  五、实验设备配置

每人配置1台电脑,安装SQLServer2008软件,并能访问Internet。

  

六、考核与报告

1、实验完成后,学生将实验结果从系统中打印出来,并撰写实验报告,符合实验教学的要求,并得到指导教师的认可。

 2、指导教师对每份实验报告进行审阅、评分。

 3、该实验程依附于理论课,实验课的成绩记入课程平时成绩,占总成绩的40%。

实验一 数据库的创建与管理

一、实验题目

数据库的管理

二、实验课时

  课内2课时

三、实验目的

通过本课程实验,让学生熟练掌握数据库的创建、修改和删除操作。

理解数据分离和附加的概念,并掌握数据的分离、附加和移动操作。

四、实验内容和步骤

1、在D盘根目录下简历两个文件夹sql—data和sql—log。

打开SQLServerManagementStudio,注意选择所连接的SQLServer为你自己的机器,连接使用“Windows身份验证”。

用CREATEDATABASE语句按以下要求在本地SQLServer下建立数据库。

数据库名称----mydb1

主数据文件逻辑名称----f1

主数据文件物理名称----D:

\sql—data\f1.mdf

初始大小----2MB;

最大尺寸----无限大;

增长速度----5%

次数据文件逻辑名称----f2

次数据文件物理名称----D:

\sql—data\f2.mdf

初始大小----3MB;

最大尺寸----200MB;

增长速度----2MB

事务日志文件逻辑名称----lg1

事务日志文件物理名称----D:

\sql—log\lg1.ldf

初始大小----1MB;

最大尺寸----10MB;

增长速度----1MB

调试成功后,在SQLServerManagementStudio中找到所建立的数据库,打开其属性窗口,观察其所建立的数据是否和以上要求一致。

确认正确后记录下所使用的CREATEDATABASE语句。

2、用ALTERDATABASE语句完成以下操作。

(1)向第2题创建的mydb1数据库的primary文件组中添加文件:

次数据文件逻辑名称----f3

次数据文件物理名称----D:

\sql—data\f3.ndf

初始大小----2MB;

最大尺寸----5MB;

(2)修改以上生成的数据库文件f3,使其初始大小为3MB,最大尺寸为10MB。

(3)将数据库名称mydb1修改为mydb2。

五、实验要求

1、掌握利用图形界面工具创建和管理数据库。

2.掌握利用CREATEDATABASE命令创建和管理数据库

3.要求提交对各个实验步骤的实验结果。

六、实验参考资料

学生在设计方案与实验时,可以参考有关教材、教学案例与CAI课件。

实验二 表和视图的创建与管理

表和视图的创建与管理

  课内4课时。

通过本课程实验,让学生掌握表的创建、修改、更新、查询过程;

理解表约束的内容;

掌握利用SELECT查询命令进行表的查询操作;

掌握视图的创建过程。

四、实验内容与步骤

(1)表的定义及约束。

1、建立名称为“职工”的数据库,数据库属性自定。

按以下要求完成各步操作,保存或记录完成各题功能的Transact-SQL语句。

2、使用CREATETABLE语句在“职工”数据库中按以下要求创建各表。

(1)“职工基本信息”表:

表结构如表6-8所示。

表6-8“职工基本信息”表

字段名

职工编号

姓名

性别

出生日期

部门编号

类型及说明

Char(5)主键

Char(10)不允许为空

Char

(2)

Datetime

Char(3)

(2)“工资”表:

表结构如表6-9所示。

表6-9“工资”表

基本工资

奖金

实发工资

Money

(3)“部门信息”表:

表结构如表6-10所示。

表6-10“部门信息”表

部门名称

部门简介

Char(3)主键

Char(20)不允许为空

Varchar(50)

3、使用ALTERTABLE语句向“职工基本信息”表中添加一项,列名称为“职称”,类型为char,长度为10。

4、使用ALTERTABLE语句删除第3题添加的职称列。

5、为“部门信息”表的部门名称字段添加一个唯一性约束,以限制部门名称的唯一性。

6、限制“职工基本信息”标的“性别”子短板只接受“男”和“女”两个值。

7、限制“工资”表的“基本工资”字段的值为不小于0的数。

8、限制“工资”表的“基本工资”和“奖金”字段的默认值为0。

9、设“职工基本信息”表的“性别”字段的默认值为“男”

10、创建外部键约束,定义职工基本信息表的“默认编号”为外部键,引用“部门信息”表的“部门编号”;

定义“工资”表的“职工编号”为外部键,引用“职工基本信息”表的“职工编号”。

11、删除第9题创建的外部键约束。

(二)表的更新

继续使用第

(一)创建的“职工”数据库,完成以下各题功能,保存或记录相应的FSQL语句。

1、用INSERT语句向“职工基本信息”表中插入如表6-11所示的4行数据。

表6-11“职工基本信息”表中的数据

10001

王佳

1979年2月1日

001

20001

张欣

1965年5月10日

002

20003

李勇

1976年8月1日

10002

刘军

1973年7月1日

2、用INSERT语句向“工资”表中插入如6-12所示的两行数据(即部门编号为“001”的职工工资信息)。

表6-12部门编号为“001”的职工工资信息

2000

2200

2500

3、在“职工”数据表中在创建一张新表,表名为“临时工资信息”,其结构和内容如表6-13所示

表6-13“临时工资信息”表

用带子查询的INSERT语句将该新表的有关数据添加到“工资”表中。

4、有CREATETABLE语句在“职工”数据库中创建一个新表“部门平均年龄”,包含“部门编号”和“平均年龄”两个字段。

5、使用INSERT语句将每一个部门编号及对应的职工平均年龄添加到以上“部门平均年龄”表中。

(提示:

在子查询语句中可以使用“YEAR(GETDATE())-YEAR(出生日期)”求每一个职工的年龄,在对其使用AVG函数求平均。

6、用UPDATE语句给“工资”表中所有所属部门编号为“001”的职工的奖金增加10%。

7、用UPDATE语句求所有职工的实发工资(即计算“工资”表的实发工资一列的值,等于基本工资+奖金)。

8、删除职工编号为“10001”的职工工资信息。

9、删除“工资”表中所属部门编号为“001”的所有职工的工资信息。

(三)表的查询

以下各题基于数据库HrSystem,编写SECLECT语句,完成以下各题的要求,保存或记录下实现各题功能的查询语句。

1、查询员工表Employees的全部信息。

2、查询员工表Employees的姓名、性别及工资。

3、要将所有员工工资上涨20%明显是所有员工的姓名、性别和上涨后的工资。

将上涨后的工资一列的标题显示为“NewWage”。

4、查询员工表Employees中有哪些职务(使用title字段,这里需要去掉重复的职务)。

5、查询部门编号为1的员工姓名和职务。

6、查询图书类型职务为“部门经理”且性别为女的员工的姓名。

7、使用BETWEEN表示范围,找出工资在3000-4000员的所有员工信息。

8、使用BETWEEN表示范围,找出工资不在3000-4000员的所有员工信息。

9、找出部门为人事部(编号为1)和办公室(编号为2)的所有员工信息(条件使用IN)。

10、从Employees表中找出所有身份证以“110”开头的员工的所有信息。

11、查询Employees表中所有身份证第1个字母在0-3之间的员工的所有信息。

12、统计员工的最高工资、最低工资、总工资和平均工资。

13、统计一共有几种职务。

14、统计职务为“部门经理”的员工总人数。

15、统计每一个部门的员工人数,统计结果中包含部门编号和员工人数。

使用groupby实现分类汇总)。

16、统计每一部门(按Dep—id分类)的平均工资(wage),要求统计结果列标题显示为“部门编号”及“平均工资”。

17、统计每一部门(按Dep—id分类)的平均工资(wage),要求显示每一个部门的明细内容后再显示该部门的平均工资,明细中要求显示部门编号、部门名称、姓名和工资。

使用COMPUTE·

·

BY·

)。

18、查询每一个员工的明细信息,查询结果包括姓名、性别、职务和对应的部门名称。

使用where条件指定表间的连接。

使用EMployees和表Departments)

19、实现第18题功能,改成使用INNERJOIN实现表间连接。

20、查询每一个部门所包含的员工信息。

查询结果包括姓名、性别、职务和对应的部门名称。

对于没有员工的部门,在查询结果中要同样列出,其对应的员工信息为空(NULL)。

使用外连接,使用Employees和表Departments)

21、使用子查询实现:

查询此部门为“办公室”的员工。

(四)视图

1、创建视图view1,使该视图中包含HrSystem数据库中所用一个的明细结果(视图中的列名全部使用中文)。

2、显示第1题创建的视图view1的所有数据。

3、利用第1题创建的视图view1,列出视图中所有姓李的员工的所有信息。

4、使用ALTERVIEW修改第1题创建的视图View1,使其只包含所有作者的姓名、职务和部门三列(殊途中的列名全部使用中文)。

5、删除以上创建的视图view1.

1、掌握表的创建与管理过程

2、理解表约束的概念,以及掌握视图的创建与管理过程。

实验三 规则与索引、触发器与游标

规则与索引、触发器与游标

  课内4课时

通过本课程实验,学生理解规则、索引、触发器、游标的概念,并熟练掌握其创建和使用过程。

(一)规则

以下操作均针对数据库HrSystem。

使用CREATERULE语句创建规则SexRule,指定变量@sex的取值只能为“男”或“女”。

完成后,在对象资源管理器中展开数据库HrSystem→“可编程性”→“规则”,确认可以看到规则SexRule.

使用存储过程sp_bindrule可以将规则SexRule绑定到表Employees的列SEX上。

执行下面的INSERT语句,向表Employees中插入一条记录。

USEHrSystem

GO

INSERTINTOEmployess(Emp_name,Sex,Title,Wage,IdCard,Dep_id)

Values(“小李”,“无”,“职员”,10000,“xxx”,1)

确认是否可以成功执行INSERT语句,为什么?

使用存储过程sp_unbindrule取消表Employess的列Sex上绑定的规则。

成功后再执行第4步中的INSERT语句,确认是否可以成功执行INSERT语句,为什么?

使用DROPRULE删除规则SexRule。

完成后,在对象资源管理器中展开数据库HrSystem→“可编程性”→“规则”,确认是否可以看到规则SexRule。

(二)索引

执行以下语句,利用数据库HrSystem的表Employees产生一个新表emp,该新表包含了表Employees中的所有记录。

USEHrSystem

SELECT*INTOempFROMEmployees

在新表emp上建立一个唯一聚集索引,索引名称为name_ind,索引字段为Emp_name。

使用SQLServerManagementStudio查看索引name_ind的属性信息。

使用DROPINDEX语句删除第一题创建的索引name_ind。

(三)存储过程

完成以下各题功能,保存或记录下实现各题功能的Trasact-SQL语句。

在数据库HrSystem中创建存储过程avg_wage,用于求所有员工的平均工资,并通过输出参数返回该平均工资。

要求在创建存储过程之前要首先判断该存储过程是否已存在,如果存在,则将其删除。

执行第一题创建的存储过程avg_wage打印员工的平均工资。

在数据库HrSystem中创建max_wage,根据指定的部门名称(输入参数)返回该部门的最高工资(输出参数),要求在创建存储过程之前要是判断该存储过程是否已存在,如果存在,则将其删除。

执行第3题创建的存储过程max_wage,指定部门为“财务部”,打印该类部门的最高工资。

删除存储过程avg_wage和max_wage。

(四)触发题

创建一个“学生信息”数据库,包含“学生基本信息”表、“专业”表和“系”表,各表包含字段如下。

·

“学生基本信息”表:

学号;

姓名;

性别;

班级;

出生日期;

专业编号。

“专业”表:

专业编号;

专业名称;

系编号。

“系”表:

系编号;

系名称;

系简介。

各字段类型按其实际含义自行定义,输入一些数据,要求数据要有代表性。

以下操作要求全部在SQLServerManagementStudio中完成,保存或记录实现各题功能的Transcat-SQL语句,(包括测试相应触发器是否生效的相关语句及测试成果)。

1、在“专业”表上创建一个INSERT触发器“TRG1”。

当发生插入专业表操作时,将显示插入记录。

2、在“专业”表上创建一个DELETE触发器“TRG2”,当发生删除操作时,将给出警告、列出删除的记录并撤销删除。

3、在“专业”表上创建一个UPDTAE触发器“TRG3”,当发生更新“专业名称”字段的操作时,给出警告并撤销更新。

4、在“学生基本信息”表上创建一个更新触发器“TRG4”,当发生更新“学号”或“姓名”字段的操作时给出警告,并撤销更新。

5、删除以上各题所创建的所有触发器。

做好“学生信息”数据的备份,以备第10章、第11章上级操作时使用。

(五)游标

完成以下各题功能,保存或记录下实现各题功能的代码。

1、使用数据库HrSystem,声明游标MyCursor1,打开该游标,并提取结果集的第一行和最后一行。

要求:

打开游标时产生的结果集包括HrSystem数据库Employees表中所有工资大于3000元的员工信息。

2、验证@@CURSOR_ROWS函数的使用。

(1)声明一个静态游标MyCursor2,结果集包含HrSystem数据库的Employees表的所有行,打开该游标,用SECLECT显示@@CURSOR_ROWS的函数值。

(2)声明一个键集游标MyCursor3,结果集包含HrSystem数据库的Employees表的所有行,打开该游标,用SECLECT显示@@CURSOR_ROWS的函数值。

(3)声明一个键集游标MyCursor4,结果集包含HrSystem数据库的Employees表的所有行,打开该游标,用SECLECT显示@@CURSOR_ROWS的函数值。

比较打开以上3种不同类型的游标后@@CURSOR_ROWS的函数的值。

3、使用数据库HrSystem,声明MyCursor5,打开该游标,并提取结果集的所有行,然后关闭并删除该游标。

打开该游标时所产生的结果集包括HrSystem数据库的Employees表中所有的男性员工。

1、理解规则、索引、触发器、游标的概念

2.掌握规则、索引、触发器、游标的创建与管理过程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1