数据库实验指导书Word文档格式.docx

上传人:b****2 文档编号:4067877 上传时间:2023-05-02 格式:DOCX 页数:37 大小:338.32KB
下载 相关 举报
数据库实验指导书Word文档格式.docx_第1页
第1页 / 共37页
数据库实验指导书Word文档格式.docx_第2页
第2页 / 共37页
数据库实验指导书Word文档格式.docx_第3页
第3页 / 共37页
数据库实验指导书Word文档格式.docx_第4页
第4页 / 共37页
数据库实验指导书Word文档格式.docx_第5页
第5页 / 共37页
数据库实验指导书Word文档格式.docx_第6页
第6页 / 共37页
数据库实验指导书Word文档格式.docx_第7页
第7页 / 共37页
数据库实验指导书Word文档格式.docx_第8页
第8页 / 共37页
数据库实验指导书Word文档格式.docx_第9页
第9页 / 共37页
数据库实验指导书Word文档格式.docx_第10页
第10页 / 共37页
数据库实验指导书Word文档格式.docx_第11页
第11页 / 共37页
数据库实验指导书Word文档格式.docx_第12页
第12页 / 共37页
数据库实验指导书Word文档格式.docx_第13页
第13页 / 共37页
数据库实验指导书Word文档格式.docx_第14页
第14页 / 共37页
数据库实验指导书Word文档格式.docx_第15页
第15页 / 共37页
数据库实验指导书Word文档格式.docx_第16页
第16页 / 共37页
数据库实验指导书Word文档格式.docx_第17页
第17页 / 共37页
数据库实验指导书Word文档格式.docx_第18页
第18页 / 共37页
数据库实验指导书Word文档格式.docx_第19页
第19页 / 共37页
数据库实验指导书Word文档格式.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库实验指导书Word文档格式.docx

《数据库实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验指导书Word文档格式.docx(37页珍藏版)》请在冰点文库上搜索。

数据库实验指导书Word文档格式.docx

按兆字节"

设置文件容量递增值为1。

(3)在"

最大文件大小"

对话框中选择"

将文件增长限制为(MB)"

为10如图1-3所示。

(4)单击"

确定"

按钮,完成数据库的创建。

图1-3设置事务日志选项卡

4.修改事务日志文件属性

(1)从树状目录窗口中找到刚刚创建的数据库TestDB,单击鼠标右键,从弹出菜单中选择命令"

属性"

,打开数据库TestDB的属性窗口。

(2)选择数据文件选项卡。

在该选项卡中添加数据文件TestDB2_data,方法是:

在"

字段中键入数据文件逻辑文件名"

TestDB2_data"

,设置该文件初始大小为1MB,然后选中"

设置文件容量递增值为1,最后在"

将文件增长限制为(MB)6。

如图1-4所示。

图1-4

(3)选择事务日志选项卡,在该选项卡中将事务日志文件的最大容量改为15,递增量改为2。

如图1-5所示。

图1-5

方法二:

使用Transact-SQL语句创建和修改数据库TestDB

1.创建数据库TestDB

CREATEDATABASETestDB

ON

NAME=TestDB_data,

FILENAME=”D:

\Programfiles\Microsoftsqlserver\mssql\data\TestDB_data.mdf”,

SIZE=5,

MAXSIZE=15,

FILEGROWTH=1,

LOGON

NAME=TestDB_log,

\Programfiles\Microsoftsqlserver\mssql\data\TestDB_log.ndf”,

MAXSIZE=10,

FILEGROWTH=1

2.修改数据库TestDB

ALTERDATABASETestDB

ADDFILE

NAME=TestDB2_data,

\Programfiles\Microsoftsqlserver\mssql\data\TestDB2_data.ndf”,

SIZE=1,

MAXSIZE=6,

GO

MODIFYFILE

NAME=TestDB_log,

FILEGROWTH=2,

[习题]

建立学生选课的数据库stuDB,逻辑文件名为stuDB_data,磁盘文件名为stuDB_data.mdf,文件初始容量为10MB,最大容量为15MB,文件容量递增值为2MB。

事务日志文件,逻辑文件名为stuDB_log,磁盘文件名为stuDB_log.ldf,文件初始容量为5MB,最大容量为10MB,文件容量递增值为1MB。

[体会]

实验二创建和修改数据表

熟悉有关数据表的创建和修改等工作,并了解主键、外键以及约束的创建和应用,熟练掌握使用企业管理器和CREATETABLE、ALTERTABLE等Transact-SQL语句对数据表的操作方法。

分别使用企业管理器和Transact-SQL语旬按下列要求创建两个数据表:

表B1项目数据表,表B2员工数据表,并按照步骤完成对表的相关修改和约束设置。

项目表(Project)

字段名

数据类型

字段长度

注释

项目编号

int

主键

名称

varchar

长度为50

负责人

客户

开始日期

datetime

结束日期

员工数据表(Employee)

编号

姓名

性别

所属部门

工资

money

长度为8

使用企业管理器创建数据表并添加约束

1.打开企业管理器,在树状目录窗口中找到数据库节点TestDB,并选中下一级节点"

表"

2.单击鼠标右键,从弹出菜单中选择命令"

新建表"

,打开表设计窗口,在窗口中按照"

上机任务"

中所列的"

项目数据表"

的字段及要求键入列名、数据类型、长度等属性,并将"

项目编号"

设置为主键。

如图2-l所示。

图2-l创建"

3.单击"

保存"

按钮,在弹出的对话框中输入表名称"

,关闭表设计窗口,完成表"

的刨建。

4.重复1-3步,创建另一个数据表"

员工数据表"

,表设计窗口如图2-2所示。

图2-2创建"

5.添加外键约束:

的"

负责人"

字段上添加外键约束,参照字

段为"

中的字段"

编号"

,约束名为FK_pm。

实现方法为:

首先在企业管理器中选中"

并单击鼠标右键,在弹出菜单中选择命令"

设计表"

打开设计表窗口。

然后在该窗口中单击按钮"

表和索引属性"

按钮,打开表的"

对话框。

最后选择"

关系"

选项卡,在改选项卡中做如下的操作。

单击"

新建"

按钮;

从"

主键表"

中选择"

,并选择字段"

;

外键表"

关系名"

中输入FK_pm。

关闭"

按钮,完成外键约束的设置。

6.添加检查约束:

将"

工资"

的值限定在1000-10000,约束名CK_Salary。

操作方法为:

CHECK约束"

选项卡,在改选项卡中做如下的操作:

单击标签中"

约束表达式"

文本框中输入一个条件表达式;

(工资>

=1000AND工资<

=10000)

约束名"

对话框中输入所建核查约束名"

CK_Salary"

如图2-3所示。

图2-3

方法二:

使用Transact-SQL语句创建数据表并添加约束

1.创建项目数据表

USETestDB

CREATETABLE项目数据表

(项目编号intPRIMARYKEY,

名称varchar(50),

负责人int,

客户int,

开始日期datatime,

结束日期datatime

2.创建员工数据表

编号intPRIMARYKEY,

姓名varchar(50),

性别varchar(50),

所属部门varchar(50)

工资money(8)

3.添加外键约束

ALTERTABLE项目数据表

ADDCONSTRAINTPK_pm

FOREIGNKEY(负责人)

REFERENCES员工数据表(编号)

添加检查约束

ALTERTABLE员工数据表

ADDCONSTRAINTCK_pm

CHECK(工资>

建立学生的基本信息表student、课程表course和选修课成绩表sc.

实验三添加记录并建立查询

熟练掌握查询语句。

向数据库TestDB中的两个数据表"

和"

中添加记录,如表Cl,C2所示。

然后在查询分析器中书写Transact-SQL语句完成"

实现步骤"

中所列的任务。

表c1项目数据表

1

SiS

2

03/12/2000

06/12/2000

SiS项目2

04/06/2000

05/01/2000

3

Pet

06/17/2000

08/17/2000

4

Pet项目2

09/01/2000

09/18/2000

5

CCH

6

CCH_LXF

7

CCH_ZHS

8

CCH_LY

9

CCH_LYAN

19

10

PETER

11

REALIDEA

12

REALIDEA1

13

REALIDEA2

14

REALIDEA3

15

PPA

16

NBA

表C2员工数据表

陈有朋

项目部

2000

孙晓晴

3000

张晓峰

录入部

1000

慕容雪

检验部

1500

陈秋萍

王理斌

周晴晴

办公室

杨亭亭

2500

马明宇

4000

刘燕

[实验要求]

书写语句查询项目数据表中客户字段的唯一值,并查看查询结果。

参考答案:

SELECTUNIQUE客户FROM项目数表;

(用“SELECT*FROM项目数表”;

可以显示所有的信息)

书写语句查询工资高于2000的项目部的人员的姓名。

SELECT姓名

FROM员工数据表

WHERE所属部门=”项目部"

AND工资>

2000;

书写查询语句查询来自CCH公司的项目名称(以CCH开始)和负责人姓名。

SELECTa.名称,b.姓名

FROM项目数据表ASa,员工数据表ASb

WHEREa.负责人=b.编号

ANDa.名称LIKE“CCH%”;

4.书写语句查询每个部门的平均工资,结果按照平均工资的多少排序

SELECT所属部门,AVG(工资)

GROUPBY所属部门

ORDERBYAVG(工资);

5.使用外向联接输出所有的员工姓名和负责人的项目名称

SELECT员工数据表.姓名,项目数据表.名称

FROM员工数据表LEFTJOIN项目数据表

ON员工数据表.编号=项目数据表.负责人;

6.使用子查询输出所有负责CCH公司项目(以CCH开始)的员工姓名,以及没有

负责REALIDEA公司(以REALIDEA开始)项目的员工姓名。

FROM员工数据表

WHERE编号IN

(SELECTDISTINCT负责人

FROM项目数据表

WHERE名称LIKE'

CCH%'

SELECT姓名

WHERE编号NOTIN

(SELECTDISTINCT负责人

WHERE名称LIKE'

REALIDEA%'

);

将所有REALIDEA公司的项目的结束日期更改为2002年1月8日。

UPDATE项目数据表

SET结束日期='

January8,2002'

REALIDEA%’;

录入部的张晓峰决定辞职,请将员工数据库中有关他的记录删除,并将他负责的项目移交给杨亭亭。

书写语句对数据表做相应的更改。

DELETE员工数据表

WHERE姓名=”张晓峰”

SET负责人=8

WHERE负责人=3;

[习题]在student,course,sc中添加元组

1)从student,course,sc表中选择出当年年龄在20岁以上的学生的学号和姓名。

2)统计平均年龄价格。

3)“张三”同学要退学,请删除他的所有信息。

实验四创建视图

掌握使用T-SQL语句创建视图的方法,包括视图的建立、删除、修改;

了解如何应用视图有选择地查看所需数据,并熟悉通过视图更改数据表中数据的方法。

在数据库Company_Data中,基于表"

创建视图,要求为:

(1)视图名为"

员工项目"

(2)包含字段"

、"

姓名"

开始日期"

(3)字段别名分别是"

员工编号"

、”员工姓名"

项目名称"

项目开始日期"

(1)打开查询分析器。

在查询窗口书写CREATEVIEW语句创建视图,并指定字段别名:

CREATEVIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期)

AS

SELECTa.编号,a.姓名,b.名称,b.开始日期,

FROM员工数据表ASaINNERJOIN项目数据表ASb

ONa.编号=b.负责人

WHEREa.编号=b.负责人

(2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求"

字段值

为"

马中兴"

INSERTINTO员工项目(员工姓名)

VALUES('

马中兴'

(3)使用UPPDATE语句通过视图将第二步中插入记录的员工姓名改为"

马中新"

USETestDB

UPDATE员工项目

SET项目负责人='

马中新’

WHERE项目负责人=’马中兴’

(4)执行系统存储过程sp_rename将视图更名为"

employee_project_VIEW"

EXECsp_rename'

员工项目'

'

emp1oyee_project_VIEW'

实验五创建索引

掌握创建索引的方法。

分别使用企业管理器和Transact-SQL语句在实验四的数据表"

中基于"

创建索引,要求索引名为"

IDX_Name"

,索引类型为非聚集索引。

实现步骤

方法一,使用企业管理器

(1)打开企业管理器,在树状目录中展开数据表"

所在的数据库节点TestDB,并选择其下一级节点"

(2)选择表"

,并单击鼠标右键。

在弹出菜单中选择命令"

所有任务〉管理索引"

,打开"

管理索引"

(3)在"

对话框中的"

下拉菜单中选择数据库表。

(4)选择"

按钮,弹出"

新建索引"

(5)在"

对话框的"

索引名"

文本框中输入索引名称"

,然后选择字段"

并设置索引属性。

如图D1所示。

图4-l创建索引

(6)设置索引选项以后,单击"

按钮,返回到"

(7)单击"

按钮,退出"

对话框,完成索引的创建。

使用T-SQL语旬

CREATEINDEXIDX_NameON员工数据表(姓名)

实验六创建触发器

理解触发器的触发过程和类型,掌握创建触发器的方法。

在数据库Company_Data的表"

中分别创建触发器。

(2)在查询窗口书写CREATETRIGGER语句,基于表"

创建AFTERINSERT触发器Tigger_NewEmployeeSalary,将插入员工的工资额限制在5000以内。

USETestDB.

CREATETRIGGERTrigger_NewEmployeeSalary

ON员工数据表

AFTERINSERT

IF(SELECT工资FROMinserted)>

5000

BEGIN

PRINT'

新员工工资不能超过5000'

ROLLBACK

END

(3)在查询窗口书写CREATETRIGGER语句,基于表"

创建AFTERUPDATE触发器Trigger_SalaryChange,将员工工资变动额限制在2000以内。

CREATETRIGGERTrigger_SalaryChange

AFTERUPDATE

IFUPDATE(工资)

IF(SELECTMAX(ABS(inserted.工资-de1eted.工资))

FROMinsertedJOINdeleted

ONinserted.编号=deleted.编号)>

2000

PRINT‘工资变动不能超过2000'

ROLLBACKTRANSACTION

实验七创建存储过程

了解存储过程的概念和作用,掌握创建存储过程的方法。

在数据库Company_Data中创建存储过程Procedure_SalaryByDept,要求返回某一特定部门所有员工的工资总和,其中特定部门的名称以存储过程的输入参数进行传递。

(2)在查询窗口书写CREATEPROCEDURETransact-SQL语句创建存储过程

Procedure_SalaryByDept,并带有一个输入参数@Department用于传递部门名称,一个输出参数@TotalSalary用于传递输出结果。

CREATEPROCEDUREProcedure_SalaryByDept@Departmentvarchar(40),

@TotalSalarymoneyOUTPUT

(3)选择所属部门为该参数传递的部门名称的所有记录,并对其工资字段求和。

SELECT@Tota1Sa1ary=sum(工资)

WHERE所属部门=@Department

(4)报告该部门的工资总额。

该部门的工资总额’+CONVERT(varchar,@TotalSalary)

注释:

(在这里PRINT语句,不能输出,不知何因。

但是,如果去掉上面语句

“PRINT'

该部门的工资总额’+CONVERT(varchar,@TotalSalary)”中的“+CONVERT(varchar,@TotalSalary”则可以输出“该部门的工资总额”却不能算出具体的工资总额)

(5)执行这个创建存储过程的语句。

(6)执行系统存储过程sp_help查看该存储过程的一般信息。

(7)执行该存储过程,分别计算项目部、录入部、和检验部的工资总额。

(8)用ALTTERPROCEDURE语句将存储过程加密。

实验八备份和恢复数据库

理解数据库备份的过程和属性设置,掌握使用企业管理器备份数据库的方法。

使用SQLServer2000企业管理器备份和恢复数据库TestDB.

(1)打开企业管理器,在控制面板目录中选择数据库TestDB。

(2)单击鼠标右键,从弹出菜单中选择命令"

所有任务〉备份数据库"

(3)在出现的"

SQLServer备份"

常规"

选项卡。

(4)在该选项卡中的"

文本框中键入"

TestDB数据库备份"

描述"

备份集1"

(6)在"

备份"

对话框中选中"

数据库-完全"

选项,如图E1所示。

(7)单击"

添加"

按钮,在弹出的对话框中选择"

备份设备"

,然后从下拉列表中选择备份使用的备份设备(注意:

如果没有现成的备份设备,应在备份以前创建一个具体方法参见相关章节)。

(8)单击"

重写现有媒体"

选项按钮。

(9)单击"

"

选项"

选项卡,在该选项卡中选中"

完成后验证备份"

复选框。

(10)单击"

按钮,出现"

备份进度"

对话框,备份完成后,将

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2