内容简介
本书是根据教育部提出的高等学校计算机基础教学“技能—能力—思维”三个层次要求组织编写的。本书主要讲述大型数据库管理系统SQL Server 2005的功能、操作和实用开发技术。
本书以SQL Server 2005为平台,用一个实例贯穿全书来详细讲解SQL Server 2005的安装和配置、数据库的创建与管理、表、T-SQL语言、视图、索引、存储过程、数据库的备份恢复与导入导出、SQL Server的安全管理。除最后一章外,每章后均配有实训内容,以强化学生的实践能力。第13章介绍SQL Server项目开发,将全书所学内容与.NET编程语言相结合,进行了系统化、整体化的提升,并利用Visual C#与SQL Server 2005开发设计了学生选课系统,供学生学习和参考。
本书具有由浅入深、理论联系实际的特点,在保证教材系统性和科学性的同时,注重实践性和操作性。
本书既可以作为高职高专院校计算机及相关专业的教材和教学参考书,也可以作为数据库应用系统开发人员的参考书。
前 言
数据库技术是计算机技术领域中发展最快的技术之一,也是应用最为广泛的技术之一,它已经成为计算机信息系统的核心技术和重要基础。
2005年11月,微软公司发布了其数据库软件的又一个升级版本SQL Server 2005。从SQL Server 2000到SQL Server 2005,不仅仅是数据库系统具有更高的性能、更强的处理能力,新版本的系统还带来了许多新的、在旧版本中从未出现的特性。而这些新特性也都是和现代数据库的发展方向相一致的。例如,对XML的支持、在SQL语言中嵌入高级语言支持等。在企业环境中,更注重安全性、高可用性、集成的管理工具等。目前SQL Server虽然已经出现了许多更新版本,如SQL Server 2012、SQL Server 2016等,但是仍有许多院校及企业在使用SQL Server 2005。在众多的数据库系统中,SQL Server以其满足对大型数据库技术的要求和易于实现、容易理解和掌握等特点,被许多院校列为必修课程。
本书第1版和第2版分别于2008年9月、2011年3月由清华大学出版社出版发行,受到广大读者的欢迎。在使用过程中,许多专家和师生给予了大力的支持并提出了一些很好的意见和建议,因此,我们对《SQL Server 2005实用教程》在前两版的基础上进行了修订,调整了部分内容,增加了实例和习题内容,并结合当今主流系统开发的需求,将第13章“SQL Server开发与编程”进行了全面的修改,采用Visual C#与SQL Server 2005相结合的方式进行开发设计,以求能更好地突出教学内容的重点和难点,增强本书的实用性。
全书共有13章。第1章主要介绍数据库相关知识;第2章介绍SQL Server 2005的安装和配置;第3、4章介绍SQL Server数据库和表;第5章介绍数据库的数据完整性;第6章介绍数据查询;第7、8章介绍视图及索引的应用;第9章介绍T-SQL语言;第10章介绍存储过程和触发器;第11章介绍备份恢复与导入导出;第12章介绍SQL Server的安全管理;第13章介绍SQL Server项目开发。除最后一章外,每一章都配有实训内容,所有实训内容均围绕一个大的实例展开,具有系统性和整体性的特点,在项目开发中采用了Visual C#与SQL Server 2005相结合的开发技术,有助于学生对新知识、新技术的了解和学习。
本书概念清晰、叙述准确、重点突出,理论与实践紧密结合,注重操作技能的培养,图文并茂,提供了丰富的实例,有助于读者对所学内容的掌握,便于自学。
本书由李岩、韩劲松任主编,张瑞雪、李康乐任副主编。参加编写的人员还有王旭、张玉芬、徐宏伟、贺晓光、于洪鹏。其中,第1、2章由王旭编写;第3、4由韩劲松编写;第5、6、7章由张瑞雪编写;第8、9由李康乐编写;第10、11章由李岩编写;第12、13章由张玉芬编写,全书由李岩统稿。书中代码及文字校对等工作由于洪鹏、徐宏伟、贺晓光参与完成,在此衷心地向他们表示感谢。
由于编者水平有限,时间仓促,书中难免存在缺点和不足,衷心希望广大读者批评指正。
编 者
目 录
第1章 数据库概述 11.1 数据库的基本概念及数据库系统 11.1.1 数据库的基本概念 11.1.2 数据库系统的组成 21.1.3 数据库系统的特点 31.2 数据模型概述 31.2.1 信息世界的数据描述 41.2.2 数据模型 41.3 关系数据库的基本原理 91.3.1 关系模型 91.3.2 关系运算 111.3.3 关系数据库的标准语言 141.3.4 关系模型的规范化 15本章实训 18本章小结 19习题 20第2章 SQL Server 2005概述 222.1 SQL Server 2005简介 222.1.1 SQL Server 2005的发展及特点 222.1.2 SQL Server 2005的环境 232.2 SQL Server的结构 252.2.1 SQL Server的系统结构 252.2.2 SQL Server 2005的体系结构 252.3 SQL Server的安装和配置 262.3.1 SQL Server的应用环境设计 262.3.2 安装预备软件 272.3.3 安装SQL Server部件 272.4 SQL Server 2005的主要管理工具 322.4.1 SQL Server管理控制台 322.4.2 商业智能开发工具 332.4.3 SQL Server分析器 342.4.4 SQL Server配置管理器 352.4.5 数据库引擎优化顾问 352.5 配置SQL Server 2005 362.5.1 启动、停止、暂停和重新启动SQL Server服务 362.5.2 配置服务的启动模式 372.5.3 注册服务器 382.5.4 创建服务器组 40本章实训 41本章小结 42习题 42第3章 SQL Server数据库 433.1 SQL Server数据库概述 433.1.1 数据库文件 433.1.2 数据库文件组 443.2 系统数据库概述 443.2.1 数据库对象 453.2.2 系统数据库 453.3 创建数据库 473.3.1 用SQL Server ManagementStudio创建数据库 473.3.2 用SQL 命令创建数据库 493.3.3 事务日志 523.4 管理和维护数据库 533.4.1 打开数据库 533.4.2 查看数据库信息 533.4.3 用SQL Server ManagementStudio修改数据库配置 543.4.4 用T-SQL命令修改数据库配置 543.4.5 删除数据库 55本章实训 56本章小结 59习题 60第4章 数据库中的表 624.1 创建表 624.1.1 数据类型 624.1.2 使用SQL Server ManagementStudio创建表 644.1.3 使用SQL命令方式创建表 654.2 表的管理和维护 664.2.1 查看表的属性 664.2.2 修改表结构 684.2.3 删除数据表 704.3 表数据的操作 714.3.1 图形界面方式操作表数据 714.3.2 使用INSERT命令向表中添加数据 724.3.3 使用UPDATE命令修改表中的数据 734.3.4 使用DELETE或TRANCATETABLE命令删除表中的数据 734.3.5 常用系统数据表 74本章实训 75本章小结 78习题 79第5章 数据完整性 815.1 数据完整性的基本概念 815.2 约束 825.2.1 主键约束 825.2.2 唯一键约束 845.2.3 检查约束 865.2.4 默认值约束 895.2.5 外键约束 915.3 默认值 935.3.1 创建默认值 935.3.2 绑定和解绑默认值 935.3.3 删除默认值 945.4 规则 955.4.1 创建规则 955.4.2 绑定和解绑规则 955.4.3 删除规则 965.5 标识列 965.6 自定义数据类型 975.6.1 创建自定义数据类型 975.6.2 删除用户自定义数据类型 99本章实训 99本章小结 101习题 102第6章 数据查询 1046.1 简单SELECT语句 1056.1.1 SELECT的语法格式 1056.1.2 基本的SELECT语句 1066.1.3 INTO子句 1096.1.4 WHERE子句 1116.1.5 ORDER BY子句 1146.2 SELECT语句的统计功能 1156.2.1 集合函数 1156.2.2 GROUP BY子句 1166.2.3 COMPUTE子句 1176.3 SELECT语句中的多表连接 1196.3.1 交叉连接 1196.3.2 内连接 1206.3.3 外连接 1216.3.4 自连接 1236.3.5 合并查询 1236.4 子查询 1246.4.1 嵌套子查询 1246.4.2 相关子查询 1266.4.3 使用子查询向表中添加多条记录 128本章实训 128本章小结 132习题 133第7章 视图及其应用 1357.1 视图概述 1357.1.1 视图的基本概念 1357.1.2 视图的优点及注意事项 1357.2 视图的创建和查询 1367.2.1 在SQL Server ManagementStudio中创建视图 1367.2.2 使用CREATE VIEW命令创建视图 1387.2.3 使用视图查询数据 1387.3 视图的管理和维护 1397.3.1 查看视图的定义信息 1397.3.2 查看视图与其他对象的依赖关系 1407.3.3 视图的修改 1417.3.4 视图的删除 1427.4 通过视图修改表数据 142本章实训 143本章小结 145习题 146第8章 索引及其应用 1478.1 索引概述 1478.1.1 索引的作用 1478.1.2 索引的分类 1488.2 创建索引 1498.2.1 系统自动创建索引 1498.2.2 在SQL Server ManagementStudio中创建索引 1508.2.3 使用CREATE INDEX语句创建索引 1538.3 管理和维护索引 1548.3.1 查看和维护索引信息 1558.3.2 删除索引 1558.3.3 索引的分析与维护 156本章实训 159本章小结 161习题 161第9章 T-SQL语言 1639.1 批处理、脚本和注释 1639.1.1 批处理 1639.1.2 脚本 1649.1.3 注释 1659.2 常量、变量和表达式 1659.2.1 常量 1659.2.2 变量 1679.2.3 运算符与表达式 1699.3 流程控制语句 1729.3.1 BEGIN…END语句块 1729.3.2 IF…ELSE语句 1729.3.3 CASE表达式 1739.3.4 无条件转移语句GOTO 1769.3.5 WAITFOR语句 1769.3.6 WHILE语句 1769.3.7 RETURN语句 1779.4 系统内置函数 1789.4.1 行集函数 1789.4.2 聚合函数 1799.4.3 标量函数 1809.5 用户自定义函数 1909.5.1 用户自定义函数的创建与调用 1909.5.2 修改与删除用户自定义函数 1939.6 游标及其使用 1939.6.1 声明游标 1949.6.2 打开游标 1949.6.3 数据处理 1959.6.4 关闭游标 1999.6.5 释放游标 199本章实训 199本章小结 202习题 202第10章 存储过程和触发器 20410.1 存储过程概述 20410.1.1 存储过程的基本概念 20410.1.2 存储过程的优点 20410.1.3 存储过程的类型 20510.2 建立和执行存储过程 20510.2.1 创建简单存储过程 20510.2.2 存储过程的执行 20610.2.3 带输入参数的存储过程 20710.2.4 带输出参数的存储过程 20910.3 存储过程的管理与维护 21110.3.1 查看存储过程的定义信息 21110.3.2 存储过程的重编译 21310.3.3 修改和删除存储过程 21410.4 触发器概述 21510.4.1 触发器的基本概念 21510.4.2 触发器的功能 21510.4.3 触发器的类型 21510.5 创建和应用DML触发器 21610.5.1 DML触发器的类型 21610.5.2 DML触发器的工作原理 21610.5.3 创建DML触发器的注意事项 21710.5.4 创建触发器 21710.5.5 使用触发器实现数据一致性 22110.6 触发器的管理与维护 22110.6.1 查看触发器的定义信息 22210.6.2 修改和删除触发器 22210.6.3 禁止或启用触发器 22310.7 DDL触发器 22310.7.1 创建DDL触发器 22410.7.2 查看和修改DDL触发器 22410.8 事务 22510.8.1 基本概念 22510.8.2 事务应用 226本章实训 227本章小结 229习题 229第11章 备份恢复与导入/导出 23111.1 备份与恢复的基本概念 23111.1.1 备份与恢复的需求分析 23111.1.2 备份数据库的基本概念 23211.1.3 数据库恢复的概念 23411.2 备份数据库 23511.2.1 使用SQL Server ManagementStudio备份数据库 23511.2.2 创建备份设备 23711.2.3 使用SQL语句备份数据库 23811.3 恢复数据库 23911.3.1 恢复数据库前的准备 24011.3.2 使用SQL Server ManagementStudio恢复数据库 24111.3.3 使用SQL语句恢复数据库 24311.4 导入与导出 24611.4.1 SQL Server与Excel的数据格式转换 24611.4.2 SQL Server与 Access的数据格式转换 253本章实训 255本章小结 256习题 257第12章 SQL Server的安全管理 25812.1 SQL Server的安全模型 25812.1.1 SQL Server访问控制 25812.1.2 SQL Server身份验证模式 25912.2 服务器的安全性 25912.2.1 创建和修改登录账户 26012.2.2 禁止或删除登录账户 26412.2.3 服务器角色 26512.3 数据库的安全性 26612.3.1 添加数据库用户 26612.3.2 修改数据库用户 26812.3.3 删除数据库用户 26912.4 数据库用户角色 26912.4.1 固定数据库角色 27012.4.2 自定义数据库角色 27012.4.3 增加和删除数据库角色成员 27212.5 权限 27312.5.1 概述 27312.5.2 权限的管理 274本章实训 278本章小结 279习题 279第13章 SQL Server开发与编程 28113.1 ADO.NET简介 28113.1.1 ADO.NET对象模型 28113.1.2 .NET数据提供程序 28213.1.3 数据集 28413.1.4 数据集的核心对象 28513.2 访问数据 28513.2.1 SqlConnection类 28613.2.2 SqlDataAdapter类 28713.2.3 DataGrid控件 28813.2.4 DataGridView控件 28913.3 学生选课系统 29013.3.1 学生选课系统简介 29013.3.2 数据库设计 29013.3.3 创建数据库和表 29213.3.4 公共类 29213.3.5 系统登录与主窗体 295本章小结 321参考文献 322