数据库系统原理实验教学指导书.docx

上传人:b****5 文档编号:28121133 上传时间:2023-07-08 格式:DOCX 页数:44 大小:115.18KB
下载 相关 举报
数据库系统原理实验教学指导书.docx_第1页
第1页 / 共44页
数据库系统原理实验教学指导书.docx_第2页
第2页 / 共44页
数据库系统原理实验教学指导书.docx_第3页
第3页 / 共44页
数据库系统原理实验教学指导书.docx_第4页
第4页 / 共44页
数据库系统原理实验教学指导书.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

数据库系统原理实验教学指导书.docx

《数据库系统原理实验教学指导书.docx》由会员分享,可在线阅读,更多相关《数据库系统原理实验教学指导书.docx(44页珍藏版)》请在冰豆网上搜索。

数据库系统原理实验教学指导书.docx

数据库系统原理实验教学指导书

 

数据库系统原理

实验指导书

 

2012年秋

目录

实验1SQLServer常用管理工具的使用1

实验2数据库的创建和管理3

实验3表的创建和管理8

实验4数据查询11

实验5视图的创建和使用13

实验6索引的创建和使用15

实验7T-SQL语言17

实验8存储过程22

实验9触发器25

实验10安全管理29

实验11数据库的备份与恢复32

实验12SQLServer数据转换35

实验1SQLServer常用管理工具的使用

实验目的:

熟悉和掌握SQLServer的常用管理工具的使用:

1、服务管理器:

理解服务的概念,掌握SQLServer服务的启动、暂停和停止;

2、企业管理器:

熟悉SQLServer数据库结构,掌握企业管理器的基本操作;

3、查询分析器:

理解查询分析器的作用,掌握查询分析器的常用用法;

4、联机丛书:

掌握联机丛书的用法。

实验内容与步骤:

1.服务管理器的用法

SQLServer是作为Windows网络操作系统的一个服务运行的。

通过设置,可以在启动操作系统时自动启动SQLServer,也可以远程启动和停止SQLServer。

可以使用下列工具手工启动、暂停和停止SQLServer服务:

●SQLServer企业管理器

●SQLServer服务管理器

●控制面板中的“服务”

●在命令提示符中使用net命令

SQLServer服务启动成功后,会在屏幕右下角的图标中出现一个

符号。

实验内容1:

使用SQLServer服务管理器查看SQLServer服务是否正在运行,若正在运行,将其停止。

实验内容2:

使用控制面板中的“管理工具”--“服务”管理控制台将已停止的SQLServer服务启动。

提示:

在“名称”里选择SQLSERVERAGENT,然后启动

2.企业管理器的使用

企业管理器是SQLServer提供的最主要的数据库管理图形界面工具,它以树形结构来组织数据库服务器、数据库和数据库中的对象,大部分的数据库管理工作都可以使用它来完成。

实验内容3:

启动企业管理器,查看SQLServer的注册属性。

提示:

程序--MicrosoftSQLServer--企业管理器,在控制台树中,展开“MicrosoftSQLServers”,然后展开“SQLServer组”,右击自己的服务器名或local,然后单击“编辑SQLServer注册属性”,进行查看。

实验内容4:

在企业管理器中,查看Northwind数据库,并查看表Employee的内容。

提示:

在企业管理器的目录树中展开数据库文件夹—>Northwind数据库图标,选中Northwind下的‘表’图标,右边将列出Northwind数据库所有的表。

选中Employee,单击右键,选择“打开此表”->“返回所有行”。

3.查询分析器的使用

查询分析器是图形化的数据库编程接口,用户可以以自由的文本格式编辑、调试和执行SQL脚本。

实验内容5:

在查询分析器中,使用SQL语句查看pubs数据库中authors表的数据信息。

提示:

1)首先,启动查询分析器,出现连接界面,在“SQLServer(s)”所对应的框中,输入“.”,然后输入密码即可(上机时无密码),然后确定。

打开查询分析器后,在查询窗口中输入如下的SQL语句:

Usepubs

Go

Select*fromauthors

2)然后,单击工具栏中的绿色的小三角

(或按F5)执行查询。

即可查看结果。

实验内容6:

通过对象浏览器查看数据库对象

提示:

可通过单击工具栏上的图标

,来打开和关闭对象浏览器。

注意:

在对数据库进行相应的操作后,对象浏览器有时刷新较慢,需要关闭断开,再连接。

技巧:

如果需要执行某语句时,可以选中该语句,然后在执行该语句即可。

4.联机丛书的使用

联机丛书中包含所有SQLServer2000的使用说明。

在本课程的学习中,各位同学应该掌握联机丛书的使用。

实验内容:

7:

打开联机丛书,在目录中展开“安装SQLServer”,查看有关SQLServer2000的硬件和软件安装要求。

实验内容8:

打开联机丛书,在“索引”中查找有关sp_help存储过程的帮助信息。

实验思考

可以在一台计算机中注册多个命名实例和服务器,现在若需要将18号机器的SQLServer服务注册到本地企业管理器中来,应该怎么做?

实验2数据库的创建和管理

实验目的:

1、熟悉使用向导创建SQLServer数据库的方法;

2、掌握使用企业管理器创建SQLServer数据库的方法;

3、掌握使用T-SQL语言创建SQLServer数据库的方法;

4、掌握附加和分离数据库的方法;

5、掌握使用企业管理器或存储过程查看SQL数据库属性的方法;

6、熟悉数据库的收缩、更名和删除;

7、掌握使用企业管理器或sp_dboption存储过程修改数据库选项的方法。

实验内容和步骤:

本次实验所创建数据库(包括数据库文件和事务日志)存放位置都为“D:

\TestDB”。

因此首先在D盘下新建文件夹TestDB。

1.数据库的创建

创建数据库的过程实际上就是为数据库设计名称、设计所占用的存储空间和文件存放位置的过程。

1.1使用向导创建数据库

实验步骤:

1)打开企业管理器,从“工具”菜单中选择“向导”选项

2)从“选择向导”对话框中,展开“数据库”,选中“创建数据库向导”命令,按照提示一步一步完成数据库的创建。

实验内容1:

创建一个名为Test0的数据库,数据文件的初始大小设为20MB,文件增长方式设为自动增长,文件增长增量设为5MB,文件的增长不设上限;日志文件的初始大小为20MB,文件增长增量设为1MB,文件的增长限制设为100MB。

不许创建维护计划。

创建完后打开D盘的文件夹TestDB,来查看我们所建物理文件。

同时通过企业管理器来查看我们所见的数据库,新建数据库中的表只包括系统表。

1.2用企业管理器创建数据库

实验步骤:

1)在企业管理器中,在数据库文件夹或其下属任一数据库图标上右击,从弹出的快捷菜单中选择“新建数据库”命令,出现“数据库属性”的对话框。

2)在“常规”选项卡中,输入数据库名称

3)在“数据文件”选项卡,输入数据库文件的名称、位置(单击图标

来选择存储位置)、初始容量大小和所属文件组名称。

4)在“事务日志”选项卡,用来设置事务日志文件信息。

实验内容2:

使用SQLServer企业管理器创建一个数据库,具体要求如下:

(大家有疑问)

1)数据库名称为Test1。

2)主要数据文件:

逻辑文件名为Test1_Data1,物理文件名为Test1_Data1.mdf,初始容量为1MB,最大容量为10MB,递增量为1MB。

3)次要数据文件:

逻辑文件名为Test1_Data2,物理文件名为Test1_Data2.ndf,初始容量为1MB,最大容量为10MB,递增量为1MB。

4)事务日志文件:

逻辑文件名为Test1_Log,物理文件名为Test1_Log.ldf,初始容量为1MB,大容量为5MB,递增量为1MB。

其他选项为默认值。

1.3用Transact-SQL(T-SQL)语句创建数据库

实验步骤:

启动“查询分析器”,在编辑窗口输入SQL语句。

实验内容3:

用T-SQL语句创建一个名为teach的数据库,它由5MB的主数据文件、2MB的次数据文件和1MB的日志文件组成。

并且主数据文件以2MB的增长速度增长,其最大容量为15MB;次数据文件以10%的增长速度增长,其最大容量为10MB;事务日志文件以1MB增长速度增长,其最大日志文件大小为10MB。

运行完语句后,仔细查看结果框中的消息。

提示:

在查询分析器中输入如下SQL语句。

CREATEDATABASEteach

On

(name=teach_data1,

filename='d:

\TestDB\teach_data1.mdf',

size=5,

maxsize=15,

filegrowth=2),

(name=teach_data2,

filename='d:

\TestDB\teach_data2.ndf',

size=5,

maxsize=10,

filegrowth=10%)

logon

(name=teach_log,

filename='d:

\TestDB\teach_log.ldf',

size=1,

maxsize=10,

filegrowth=1)

2数据库的管理

2.1数据库的分离与附加

将teach数据库与服务器分离。

可以使用企业管理器或SQL语言对数据库进行分离的操作。

分离数据库的存储过程是sp_detach_db。

将已分离的“图书”数据库附加到服务器上。

可以使用企业管理器或SQL语言对数据库进行附加的操作。

附加数据库的存储过程是sp_attach_db。

实验内容4:

分离数据库teach

提示:

sp_detach_dbteach

语句执行成功后,打开企业管理器,查看是否存在该数据库对象。

若出现“无法分离数据库'teach',因为它当前正在使用。

”问题,应把企业管理器关闭。

实验内容5:

附加数据库

提示:

sp_attach_dbteach,'d:

\TestDB\teach_data1.mdf'

语句执行成功后,打开企业管理器,查看是否存在该数据库对象。

2.2查看和修改数据库属性

数据库创建以后,可以使用企业管理器或SQL语言来查看或修改数据库的属性。

使用企业管理器的方法是右击数据库名称,在快捷菜单中选择“属性”,然后数据库属性对话框中就可以查看或修改数据库的属性。

也可以使用sp_helpdb、sp_spaceused、sp_helpfile和sp_helpfilegroup等存储过程查看和数据库有关的属性。

修改数据库属性可以使用ALTERDATABASE命令。

实验内容6:

使用sp_helpdb存储过程查看teach数据库的信息,然后企业管理器将teach数据库的事务日志文件的增长大小改为按2MB字节增长,再使用sp_helpdb存储过程查看student数据库的信息。

提示:

在查询分析器中输入如下SQL语句:

sp_helpdbteach

实验内容7:

使用ALTERDATABASE命令为teach数据库添加一个新的数据文件,文件逻辑名为teach3,初始大小为2MB,增长值为1MB,其他属性默认。

提示:

在查询分析器中输入如下SQL语句:

ALTERDATABASEteach

ADDFILE

(name=teach_data3,

filename='d:

\TestDB\teach_data3.ndf',

size=2,

filegrowth=1)

2.3数据库的收缩

数据库收缩可以缩小数据库的空闲空间。

可以使用企业管理器或SQL语言对数据库进行收缩工作。

收缩数据库使用的SQL语句是DBCCSHRINKDATABASE命令。

也可以使用ALTERDATABASE的SET子句或sp_dboption将数据库设为自动收缩。

实验内容8:

将teach数据库设为自动收缩。

提示:

1)使用企业管理器。

打开企业管理器-选择要收缩的数据库-属性-选项-自动收缩(给服务器性能带来额外负担)

2)使用SQL语句。

DBCCSHRINKDATABASE(teach)

其他:

DBCCSHRINKDATABASE(UserDB,10)--把数据库UserDB收缩到90%

DBCCSHRINKDATABASE(DataFile1,7)--把数据文件DataFile1收缩到7M

2.4数据库的更名

使用系统存储过程sp_renamedb更改数据库的名称。

在重命名之前,应确保没有用户使用该数据库。

实验内容9:

将teach数据库改名为teaching。

提示:

在查询分析器中输入如下SQL语句:

sp_renamedbteach,teaching

2.5数据库选项的配置

可以使用ALTERDATABASE语句的SET子句、sp_dboption系统存储过程,或者在某些情况下使用SQLServer企业管理器设置数据库选项。

实验内容10:

使用企业管理器将teaching数据库设为只读。

提示:

打开企业管理器,选中teaching,单击右键,选中“属性”,单击“选项”,选中“只读”,确定。

实验内容11:

使用sp_dboption存储过程取消teaching数据库的只读设置。

提示:

sp_dboption'teaching','readonly','FALSE'

2.6数据库的删除

可以使用企业管理器删除数据库。

在企业管理器中,右击所要删除的数据库,从弹出的快捷菜单中选择“删除”命令或直接按下键盘上Delete按钮即可删除数据库。

可以使用DROP语句删除数据库。

注意:

对正在使用的数据库不能被删除。

实验内容12:

使用DROPDATABASE命令将teaching数据库删除。

提示:

DROPDATABASEteaching

实验思考:

1.一个数据库中包含哪几种文件?

2.事务日志文件的大小一般为数据文件大小的多少合适?

3.若需修改数据库文件的大小,可以使用的方法有哪些?

若要求使用T-SQL语言,则命令应如何编写?

4.能不能删除master数据库?

若一个用户数据库当前正在被访问,能不能被删除?

 

实验3表的创建和管理

实验目的:

1、掌握使用企业管理器和T-SQL语句创建表;

2、掌握使用企业管理器和T-SQL语句修改表的结构;

3、掌握使用企业管理器和T-SQL语句实现对数据的操作;

4、理解数据完整性的概念和SQLServer实现数据完整性的机制;

5、掌握使用企业管理器和T-SQL语句定义数据完整性,重点掌握主键、外键、检查、唯一和默认值等约束的定义和使用。

实验内容和步骤:

1.在企业管理器中创建和管理数据表

通过企业管理器可以做一下的操作:

1)创建数据表

在企业管理中,打开想要创建新表的数据库,右击“表”对象,或者在窗口右侧中的表显示窗口中右击,从弹出的快捷菜单中选择“新建表”命令,会出现新建表对话框。

在对话框中,定义列,及其属性。

然后保存此表。

2)修改数据库结构

右击要修改的数据表,从弹出的快捷菜单中选择“设计表”命令,出现“设计表”窗口,可以完成增加、删除和修改字段的操作。

3)管理数据表中记录

右击要录入数据的数据表,从弹出的快捷菜单中选择“打开表”命令。

4)删除数据表

右击要删除的数据表,从弹出的快捷菜单中选择“删除”命令。

2.使用Transact-SQL语言创建和管理数据表

实验内容:

首先创建数据库teach(创建方法见实验2),然后在该数据库下创建如下三个表:

1.使用企业管理器按下表结构创建表

表名:

Course

属性名称

属性描述

数据类型

字节数

空否

备注

Cno

课程号

char

4

主键,标识列

CName

课程名称

varchar

20

Cpno

先行课

char

4

外码

Credit

学分

smallint

2

提示:

1)首先输入所有属性列2)选中cno属性列,单击右键,选择“设置主键”设为主键3)单击右键选择“关系”,单击“新建”,来添加Cpno为外码。

具体:

右击“关系”->单击“新建”->首先选择外键表,然后选择定义为外码的属性;再选择主键表,再选择所参照的主码4)单击工具栏中的“保存”图片5)输入数据表的名字

2.使用T-SQL语句按下表结构创建表

表名:

Student

属性名称

属性描述

数据类型

字节数

空否

备注

Sno

学号

char

9

主键

SName

姓名

varchar

8

Ssex

性别

char

2

默认值为男,只能输入男和女

Sage

年龄

smallint

Sdept

所在系

char

20

表名:

SC

属性名称

属性描述

数据类型

字节数

空否

备注

Sno

学号

char

9

主键,外码

Cno

课程号

char

4

主键,外码

Grade

成绩

smallint

0--100

提示:

useteach--打开数据库

createtableStudent

SnoCHAR(9)PRIMARYKEY,

SnameVARCHAR(20)NOTNULL,

SsexCHAR

(2)default'男',

SageSMALLINT,

SdeptCHAR(20),

check((Ssex='男')or(Ssex='女'))

Go

CREATEtableSC

SnoCHAR(9),

CnoCHAR(4),

GradeSMALLINT,

PRIMARYKEY(Sno,Cno),

FOREIGNKEY(Sno)REFERENCESStudent(Sno),

FOREIGNKEY(Cno)REFERENCESCourse(Cno),

check((Grade<=100)and(Grade>=0))

GO

3.使用T-SQL语句实现对数据的操作

(1)使用INSERT语句向表中添加记录

(2)使用UPDATE语句对表中数据进行修改

(3)使用DELETE语句对表中数据将删除。

实验4数据查询

实验目的:

1、掌握查询语句SELECT的语法;

2、掌握SELECT语句相关子句(FROM,WHERE,GROUPBY,ORDERBY等)的使用;

3、掌握使用SELECT语句进行简单查询、连接查询、嵌套查询。

实验内容:

完成简单查询操作。

该实验包括投影、选择条件表达,数据排序,使用临时表等;

完成连接查询、嵌套查询、组合查询和统计查询等操作。

首先完成数据库和表的创建(具体代码,见“建库.sql”,可用文本编辑器打开)。

具体操作:

首先在D盘下新建文件夹TestDB,打开“查询分析器”->点击工具栏中的图标

->找到“建库.sql”,打开->执行。

即可得到实验所需数据库和数据。

1.单表查询

1)查询每个学生的所有数据。

2)查询全体学生的学号、姓名、所在系。

3)查询所有年龄在20岁以下的学生姓名及年龄。

4)查询年龄在20~25岁(包括20,25)之间的学生的姓名、系别和年龄。

5)查询在信息系和数学系学习的学生的姓名和性别。

6)查询所有姓李的学生的姓名、学号和性别。

7)查询选修了0003号课程的学生的学号及其成绩,查询结果按分数的降序排序。

8)查询全体学生的情况,结果按所在系的升序排序,同一系的按年龄的降序排序。

9)统计学生总人数。

10)计算0001号课程的学生平均成绩。

11)查询选修了0001号课程的学生最高分数。

12)求各课程号及相应的选课人数。

13)查询选修了3门及以上课程的学生学号。

2.连接查询

14)查询每个学生及其选修课程的情况。

15)查询选修了00002号课程且成绩在90分以上的所有学生的信息。

16)查询每个学生的学号、姓名、选修的课程名和成绩

17)查询选修了课程名为“数据库”的学生的学号和姓名

18)查询成绩表Grade中每位学生的学号Sno和各科的总成绩,并按总成绩降序排列。

19)查找课程表中没有学生选修的课程的课程号和课程名称。

提示:

1)select*fromstudent

2)selectsno,sname,sdeptfromstudent

3)selectsname,sagefromstudentwheresage<20

4)selectsname,sdept,sagefromstudentwheresagebetween20and25

5)selectsname,ssexfromstudentwheresdeptin('信息系','数学系')

6)selectsname,sno,ssexfromstudentwheresnamelike'李%'

7)selectsno,gradefromscwherecno='0003'orderbygradedesc

8)select*fromstudentorderbysdeptasc,sagedesc

9)selectcount(*)fromstudent

10)selectavg(grade)fromscwherecno='0001'

11)selectmax(grade)fromscwherecno='0001'

12)selectcno,count(sno)人数fromscgroupbycno

13)selectsnofromscgroupbysnohavingcount(cno)>=3

14)selectstudent.sno,sname,sage,ssex,sdept,cno,grade

fromstudent,scwherestudent.sno=sc.sno

15)selectstudent.sno,sname,sage,ssex,sdept

fromstudent,scwherestudent.sno=sc.snoandcno='0002'andgrade>=90

16)selectstudent.sno,sname,cname,grade

fromstudent,sc,course

wherestudent.sno=sc.snoando=o

17)selectstudent.sno,snamefromstudent,course,sc

wherestudent.sno=sc.snoando=oandcname='数据库'

18)selectsno,sum(grade)fromscgroupbysnoorderbysum(grade)desc

19)

selectcno,cnamefromcourse

wherenotexists

(select*fromscwhereo=o)

实验5视图的创建和使用

实验目的:

1、理解视图的基本概念,掌握视图的创建、修改和删除。

2、掌握对视图进行查询和更新。

实验内容:

视图是从一个或几个表导出的表。

它与基本表不同,是一个虚表。

数据库中只存放视图的定义,而不存放视图对应的数据。

首先完成数据库和表的创建,如上。

1

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

当前位置:首页 > 表格模板 > 表格类模板

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

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