描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302510604丛书名: 计算机课程设计与综合实践规划教材
内容编排由浅入深、由点到面、由易到难,过程明确,步骤清晰,便于操作。无论是使用系统的普通用户,还是专业的软件开发人员,甚至高级的系统管理员,都能在本书中找到对应的实验指导内容。
在每个实验开始前都对各个知识点进行归纳总结,在此基础上联系实际展开实验。实验内容以实用为主,强调专业知识的应用能力的训练和培养。
本书围绕数据库理论知识,围绕SQL Server 2008的功能给出了大量实验,详细介绍了在SQL Server 2008系统中数据库,数据库表,数据操作,完整性约束,索引,视图,数据查询,存储过程,触发器,TSQL程序设计与游标设计,用户定义数据类型与自定义函数,安全管理,事务设计,数据库备份和恢复,数据导入、导出,对大值数据的访问等的实现过程和操作步骤,并介绍了在VB中采用ADO方法访问SQL Server、用ASP动态页面发布数据和采用ADO.NET访问SQL Server,*后给出数据库应用系统实现的案例。
本书在内容编排上由点到面、由易到难,可适应不同层次读者的学习。本书可作为高等院校相关数据库课程的实验指导,也可作为大专院校SQL Server数据库系统课程的教材,还可作为计算机应用软件开发和使用SQL Server 2008系统人员的参考书。
实验1数据库1
实验1.1创建数据库3
实验1.2分离数据库14
实验1.3数据库文件备份18
实验1.4附加数据库20
实验1.5删除数据库23
习题25
实验2数据库表27
实验2.1创建数据库表31
实验2.2修改数据库表结构38
实验2.3删除数据库表43
习题45
实验3数据操作48
实验3.1录入数据至数据库表49
实验3.2修改数据57
实验3.3删除数据59
实验3.4复制数据库表62
习题65
实验4完整性约束66
实验4.1实体完整性约束68
实验4.2域完整性约束83
实验4.3参照完整性约束91
习题101
实验5索引103
实验5.1创建索引104
实验5.2删除索引109
习题111
实验6视图112
实验6.1创建视图113
实验6.2修改视图119
实验6.3通过视图修改数据库数据122
实验6.4删除视图127
习题130
实验7数据查询131
实验7.1单表查询132
实验7.2多表连接查询142
实验7.3嵌套查询147
实验7.4集合查询152
习题153
SQL Server实验指导(第4版)目录实验8存储过程157
实验8.1创建并执行存储过程159
实验8.2修改存储过程163
实验8.3删除存储过程166
习题168
实验9触发器169
实验9.1创建和执行触发器171
实验9.2修改触发器180
实验9.3删除触发器182
习题183
实验10TSQL程序设计与游标设计184
实验10.1TSQL程序设计逻辑187
实验10.2面向复杂TSQL程序设计189
实验10.3使用游标193
习题196
实验11用户定义的数据类型与函数198
实验11.1创建和使用用户定义的数据类型200
实验11.2删除用户定义数据类型204
实验11.3创建和使用用户定义的函数205
实验11.4修改用户定义的函数210
实验11.5删除用户定义的函数213
习题214
实验12SQL Server安全管理215
实验12.1创建登录账号216
实验12.2创建数据库用户221
实验12.3语句级许可权限管理223
实验12.4对象级许可权限管理225
习题230
实验13SQL Server事务设计232
实验13.1设计并执行事务233
实验13.2设计复杂事务239
习题244
实验14数据库备份和恢复245
实验14.1完全数据库备份与简单恢复248
实验14.2差异数据库备份与简单恢复257
实验14.3事务日志备份与完全恢复268
习题277
实验15数据的导入、导出279
实验15.1使用向导导入、导出数据280
实验15.2bcp实用程序296
习题303
实验16SQL Server中对大值数据类型的访问304
实验16.1用普通方法访问大值类型数据306
实验16.2访问大值数据类型307
习题310
实验17在VB中采用ADO方法访问SQL Server311
实验17.1查询数据库312
实验17.2插入数据到数据库317
实验17.3更新数据库中的数据320
实验17.4删除数据库中的数据324
习题327
实验18用ASP动态页面发布数据328
习题340
实验19采用ADO.NET访问SQL Server342
实验19.1查询数据库345
实验19.2插入数据至数据库365
实验19.3更新数据库中的数据376
实验19.4删除数据库中的数据389
习题401
实验20数据库应用系统设计402
习题425
参考文献428
随着我国计算机软件产业的蓬勃发展,数据库技术已成为各种计算机应用软件开发的支柱之一。目前,作为一个功能强大的关系数据管理系统,SQL Server已得到了广泛的应用,成为软件人才必须掌握的计算机技术。本书围绕数据库理论知识,针对SQL Server 2008的功能,给出各种功能的实现过程。在内容编排上由点到面、由易到难,适用于不同层次读者的学习。一方面,本书可以作为高等院校“数据库概论”“数据库系统原理”“数据库原理与应用”等计算机理论课程的配套实验教材,使得教师可以根据学生的专业和素质选用相应的实验内容;另一方面,普通用户、软件开发人员乃至系统管理员,也能从本书中得到帮助。
对于同一问题,本书给出了多种实现方法;对于所有实验,本书都给出了实验步骤的文字描述和相应的操作界面,便于读者学习和实践,使读者能快速、准确、全面地掌握所学知识。
全书共20个实验。
实验1~实验7是关于数据库基本知识和理论的实验。这7个实验是学习数据库知识和SQL Server 2008系统的基础,是必修的章节。
实验1介绍数据库的创建、分离、备份、附加、删除,以及数据库属性设置的方法等。
实验2介绍数据库表的各种操作。
实验3介绍数据库表中数据的各种操作。
实验4介绍保证数据库完整性的操作实验。
实验5介绍索引的创建、删除等方法。
实验6介绍有关视图的各种操作以及通过视图更新数据的方法。
实验7给出各种查询实验。
实验8和实验9介绍存储过程和触发器的创建、执行、修改和删除方法。
实验10介绍TSQL程序设计及游标设计的方法及用途。
实验11介绍用户定义的数据类型与函数的操作方法。
实验12介绍SQL Server的安全管理机制。
实验13介绍事务设计的方法。
实验14介绍数据库备份和恢复的方法。
实验15介绍数据的导入、导出的方法。
实验16介绍SQL Server中大值数据类型的访问方法。
实验17~实验19是关于数据库技术应用的实验。实验17和实验18给出了在Microsoft Visual Basic 6.0环境和ASP网页设计中,利用ADO技术访问数据库的方法;实验19介绍了在Microsoft Visual Studio 2008开发环境中,用C#语言,采用ADO.NET技术访问SQL Server 2008数据库的设计和实现方法,对利用数据库技术来开发各种计算机应用软件的人员有指导作用。
实验20 是数据库应用系统设计案例,展示了使用数据库设计和开发应用软件的全过程。这是一个采用数据库技术开发信息管理系统的实验,是对本书知识的综合运用,并为课程设计提供相应的设计题目。
SQL Server本身不区分大小写,代码中字符的大小写并不影响程序的运行结果,为了一致,在编程时我们尽可能地对代码中字符的大小写进行统一。
本书由江南大学数字媒体学院马晓梅老师编著,钱雪忠、徐华和杨开荍等参加了部分编写和审阅工作。
由于作者水平有限,加之时间仓促,书中难免存在疏漏之处,请广大读者予以指正,并提出意见和建议,作者在此表示感谢。作者联系方式: [email protected]或[email protected]。
作者
2018年8月SQL Server实验指导(第4版)
实验5索 引通过索引可以快速访问表中的记录,大大提高数据库的查询性能。本实验介绍创建、删除索引的方法。
【知识要点】 〖*4/5〗1. 索引索引是对数据库表中一个或多个列的值进行排序的逻辑结构。每个索引都有一个特定的搜索码与表中的记录关联。索引按顺序存储搜索码的值。使用索引能够快速访问表中的记录,提高查询速度。何时使用索引由SQL Server DMBS确定。
2. 索引类型及特点
SQL Server有两种类型的索引: 聚簇索引和非聚簇索引。
1) 聚簇索引
聚簇索引指示表中数据行按索引键的排序次序存储。在SQL Server中,如果该表上尚未创建聚簇索引,且在创建PRIMARY KEY约束时未指定非聚簇索引,系统会自动在此PRIMARY KEY键上创建聚簇索引。
聚簇索引的特点如下。
每个表只能有一个聚簇索引。
聚簇索引改变数据的物理排序方式,使得数据行的物理顺序和索引中的键值顺序是一致的。所以,应该在创建任何非聚簇索引之前创建聚簇索引。
2) 非聚簇索引
非聚簇索引具有完全独立于数据行的结构。数据表中的数据行不按索引键的顺序存储。在非聚簇索引中,每个索引都有指针指向包含该键值的数据行。
非聚簇索引的特点如下。
如果创建索引时没有指定索引类型,默认情况下为非聚簇索引。
应当在创建非聚簇索引之前创建聚簇索引。
每个表多可以创建259个非聚簇索引。
包含索引的所有长度固定列的大小为900B。
包含在同一索引的列的数目为16。
好在值较多的列上创建非聚簇索引。
3. 使用索引的准则
业务规则、数据特征和数据的使用决定了创建索引的列。一般情况,应当在经常被查询的列上创建索引,以便提高查询速度。但索引将占用磁盘空间,并且降低添加、删除、更新行的速度。
1) 创建查询的列
主关键字所在的列。
外部关键字所在的列或在连接查询中经常使用的列。
按关键字的范围值进行搜索的列。
按关键字的排序顺序访问的列。
SQL Server实验指导(第4版)实验5索引2) 不使用索引的列
在查询中很少涉及的列。
包含较少的值的列。
更新性能比查询性能更重要的列。
有text、ntext或image数据类型定义的列。
4. 创建索引的TSQL语句
CREATE [ UNIQUE ][CLUESTERED|NONCLUSTERED] INDEX 索引名
ON { 表 | 视图 }(列名#1 [ASC | DESC ][,…n])【实验目的】
掌握交互式创建、删除索引的方法。
掌握使用TSQL创建、删除索引的方法。
掌握索引的管理和维护。
实验5.1创 建 索 引〖*4/5〗【实验目的】 掌握交互式管理聚簇索引的方法。
掌握用TSQL创建聚簇索引的方法。
掌握交互式管理非聚簇索引的方法。
掌握用TSQL创建非聚簇索引的方法。
【实验内容】
(1) 交互式为数据库表SC在SNO列和CNO列上创建PRIMARY KEY,则系统自动在此 PRIMARY KEY键上按升序创建聚簇索引PK_SC。
(2) 用TSQL为数据库表T在TNO列上按降序创建聚簇索引IND_TNO。
(3) 交互式为数据库表T在TN列上按升序和在AGE列上按降序创建非聚簇索引IND_TN_AGE。
(4) 用TSQL为数据库表C在CN列上按升序创建索引IND_CN。
【实验步骤】 〖*2〗1. 交互式为表SC创建PRIMARY KEY,则在此主键自动创建聚簇索引(1) 用表设计器打开表SC。用表设计器打开数据库jxsk中的数据库表SC,如图51所示。查看到表中没有创建主键。
图51表SC的结构定义
(2) 打开“索引/键”对话框。在SC表设计器中,右击,在打开的快捷菜单中选择“索引/键”选项,打开“索引/键”对话框,如图52所示。此时对话框中内容为空,说明表SC中没有创建任何索引。单击“关闭”按钮,返回表设计器。
图52“索引/键”对话框
(3) 在SNO和CNO上创建主键。同时选中SNO和CNO列,单击工具栏中的按钮,即在SNO和CNO上创建了主键,如图53所示。
图53为表SC创建主键
(4) 查看数据库表SC的索引/键信息。在SC表设计器中,右击,在打开的快捷菜单中选择“索引/键”选项,打开“索引/键”对话框,如图54所示。查看列表中的信息: 索引“列”是SNO(ASC)和CNO(ASC),当前的索引“名称”为PK_SC,“创建为聚集的”为“是”。此索引即是创建主键时系统自动生成的聚簇索引。
图54在表SC创建主键后的索引属性
(5) 关闭“索引/键”对话框,返回SC表设计器。
(6) 保存当前修改,关闭SC表设计器。
2. 用TSQL为表T在TNO列上按降序创建聚簇索引IND_TNO
(1) 启动Microsoft SQL Server Management Studio。
(2) 创建TSQL语句。单击工具栏中的按钮,打开一个查询编辑器窗口,在查询窗口输入下列TSQL语句,为表T在TNO列上按降序创建聚簇索引IND_TNO。 USE jxsk
GO
CREATE CLUSTERED INDEX IND_TNO ON T(TNO DESC)
GO (3) 执行TSQL语句。单击工具栏中按钮,执行此TSQL语句。
(4) 查看数据库表T的索引信息。用表设计器打开表T,右击,在打开的快捷菜单中选择“索引/键”选项,打开“索引/键”对话框,可以看到表T中存在上面创建的索引IND_TNO,如图55所示。
图55表T的“索引/键”对话框
(5) 关闭表T的“索引/键”对话框,返回表设计器。
(6) 关闭T表设计器。
3. 交互式为表T在TN列上按升序和在AGE列上按降序创建非聚簇索引IND_TN_AGE
(1) 在SQL Server Management Studio中,用表设计器打开数据库jxsk中的数据库表T。
(2) 打开“索引/键”对话框。在T表设计器中右击,在打开的快捷菜单中选择“索引/键”选项,打开“索引/键”对话框。
(3) 创建索引。单击“添加”按钮,观察“索引/键”对话框中各项的变化。在右侧列表中,进行如下设置。单击“列”行中的一个单元格,再单击该行右端的按钮,打开“索引列”对话框,按照图56所示进行设置。设置完成后单击“确定”按钮返回“索引/键”对话框。
图56在“索引列”对话框中进行设置
(4) 设置索引名称。在“索引/键”对话框中,将“(名称)”设置为IND_TN_AGE,如图57所示。
图57创建索引IND_TN_AGE对话框
(5) 保存设置,关闭表T的“索引/键”对话框,返回T表设计器中。
(6) 关闭T表设计器。
4. 用TSQL为数据库表C在CN列上按升序创建索引IND_CN
(1) 启动Microsoft SQL Server Management Studio。
(2) 创建TSQL语句。单击工具栏中的按钮,打开一个查询编辑器窗口,在查询窗口输入下列TSQL语句,为表C在的CN列上按升序创建索引IND_CN。 USE jxsk
GO
CREATE UNIQUE INDEX IND_CN ON C(CN)
GO (3) 执行此TSQL语句。单击工具栏中的按钮,执行此TSQL语句。
(4) 查看数据库表C的索引信息。用表设计器打开表C,右击,在打开的快捷菜单中选择“索引/键”选项,打开“索引/键”对话框,可以看到表C中存在上面创建的索引IND_CN,如图58所示。
图58表C的“索引/键”对话框
(5) 关闭表C的“索引/键”对话框,返回表设计器窗口。
(6) 关闭C表设计器。
实验5.2删 除 索 引〖*4/5〗【实验目的】 掌握交互式删除索引。
掌握用TSQL删除索引。
【实验内容】
(1) 交互式删除数据库表C中的索引IND_CN。
(2) 用TSQL删除数据库表T中的索引IND_TN _AGE。
【实验步骤】 〖*2〗1. 交互式删除表C中的索引IND_CN (1) 在SQL Server Management Studio中,用表设计器打开数据库表C。
(2) 单击工具栏中的“表设计器”,单击“索引/键”选项,打开“索引/键”对话框,可以看到表C中存在上面创建的索引,如图58所示。
(3) 删除索引IND_CN。选定要删除的索引IND_CN,单击“删除”按钮,即删除成功,如图59所示。
图59删除索引IND_CN后的对话框
(4) 关闭表C的“索引/键”窗格,返回表设计器窗口。保存修改,关闭表设计器。
2. 用TSQL删除表T中的索引IND_TN_AGE
(1) 启动Microsoft SQL Server Management Studio。
(2) 创建TSQL语句。单击工具栏中的按钮,打开一个查询编辑器窗口,在查询窗口输入下列TSQL语句: USE jxsk
GO
DROP INDEX T.IND_TN_AGE
GO (3) 执行此TSQL语句。单击工具栏中的按钮,执行此TSQL语句,如图510所示。
图510用TSQL删除表T中的索引IND_SN_AGE
(4) 查看数据库表T的索引信息。用表设计器打开表T,右击,在打开的快捷菜单中选择“索引/键”选项,打开“索引/键”对话框,可以看到表T中不再存在索引IND_TN_AGE。
(5) 关闭表T的“索引/键”对话框,返回表设计器窗口。
(6) 关闭T表设计器。
习题 〖*4/5〗【实验题】 基于教学数据库jxsk完成下面的实验。
1. 对教师表T中的教师号TNO创建聚簇索引,并按降序排列。
2. 对学生选课表SC,先按课号CNO升序排列,再按成绩SCORE降序排列。
3. 对学生表S中的学号SNO创建索引,并按升序排列。
【思考题】
1. 一个表可以创建几个聚簇索引和几个非聚簇索引?
2. 主索引和索引有何区别?
3. 在一个表还没有创建聚簇索引时,对其创建主键,那么此主键还会有何作用?
评论
还没有评论。