内容简介
本书是采用“工作过程导向”模式规范编写的教材,共14章,可分为两大部分:数据库的创建和数据库的管理。本书的内容组织以关系数据库的理论知识为基础,注重操作技能的培养和实际问题的解决,旨在使学生掌握Microsoft SQL Server 2012的使用和管理。本书以创建“学生管理系统”数据库为工作任务,具体内容包括设计数据库、创建数据库、创建表、更新和查询记录、T-SQL语言、视图和索引、用户自定义函数、存储过程、触发器、管理数据库安全、备份和还原数据库、导入和导出数据库中的数据。最后一章介绍了学生管理系统应用程序的设计和实施,从而创建一个完整的数据库系统。本书注重实践,结构合理,内容丰富,操作方便。
本书作为Microsoft SQL Server 2012的入门类教材,既可以作为高等职业教育计算机及相关专业的教材,也可以作为等级考试、职业资格考试或认证考试等各种培训班的培训教材,还可用于读者自学。
前 言
为适应高职院校应用型人才培养迅速发展的趋势,培养以就业市场为导向的、具备"职业化"特征的高级应用型人才,"任务驱动、项目导向"已成为高职院校主流的教学模式。本书以Microsoft SQL Server 2012(以下一般简称为SQL Server 2012)为数据库管理系统,通过创建一个完整的学生管理系统,引导学生掌握SQL Server 2012的使用和管理。
本书不仅将使用的软件平台从第一版的Microsoft SQL Server 2008升级为第二版的Microsoft SQL Server 2012,而且对第一版中的错误进行了修正,对案例和习题进行了优化。
本书特色
本书采用最新的"工作过程导向"编写模式,以"工作场景导入"→"知识讲解"→"回到工作场景"→"工作实训营"→"习题"为主线推进学习进程。每章均针对数据库设计和实施中的一个工作过程环节来传授相关的课程内容,实现实践技能与理论知识的整合,将工作环境与学习环境有机地结合在一起。本书内容简明扼要,结构清晰,通过工作过程的讲解将关系数据库的理论知识和SQL Server 2012的使用方法有机地结合在一起,示例众多,步骤明确,讲解细致,突出可操作性和实用性,再辅以丰富的实训和课后练习,可以使学生得到充分的训练,具备使用SQL Server 2012解决实际问题的能力。
本书是由高职院校的优秀教师在其已有教学成果的基础上整合编写而成的,作者拥有丰富的开发案例和教学经验。
本书主要内容
本书共14章,需要授课60个课时,用一学期进行学习。
第 1 章介绍学生管理数据库的设计。通过本章任务的完成,主要学习数据库的基本概念、发展历史、系统结构,数据库的需求分析、概念模型设计、逻辑模型设计、物理模型设计,了解SQL Server 2012组件,为后面使用SQL Server 2012做准备。
第2章讲解如何创建学生管理数据库。通过本章任务的完成,主要掌握SQL Server数据库的分类和组成的文件,了解SQL Server数据库中数据的存储方式,掌握创建数据库的方法,掌握文件组的概念、作用和创建的方法。
第3章介绍如何创建学生管理数据库中的五个表,设置表的数据完整性,并在表中录入记录。通过本章任务的完成,掌握使用SQL Server系统数据类型和创建用户定义数据类型的方法,创建、修改、删除表的方法,在表中录入记录的方法,以及数据完整性的概念、分类和具体实施方法。
第4章通过在学生管理数据库的表中使用T-SQL语句插入、更新和删除记录,学习插入单个记录和多个记录的方法、更新记录(包括根据子查询更新记录)的方法、删除记录(包括根据子查询删除记录)的方法、清空表的方法。
第5章讲解如何查询学生管理数据库中的记录,学习简单查询、多表连接和子查询。
第6章介绍三个任务,第一个任务是判断闰年,讲解T-SQL语言的基础知识,包括T-SQL 语法要素、T-SQL程序;第二个任务是带错误信息提示的单语句插入记录操作,介绍T-SQL语言中的错误信息处理;第三个任务是带错误信息提示的多语句更新记录操作,介绍事务的概念、属性、分类和使用。
第7章介绍四个任务,前三个任务是创建、使用和修改可以查询所有学生的姓名、课程名称和成绩的视图,学习视图的概念、分类、创建和使用;第四个任务是在学生表上分别创建两个索引,学习索引的概念、分类、创建、设计和优化。
第8章通过统计学生的学期课程门数及成绩,以及各门课程的最高分和最低分,来学习用户自定义函数的概念、作用、分类和使用。
第9章通过讲解创建存储过程用于重复的查询任务,学习存储过程的概念、分类和作用,创建和使用存储过程的方法,存储过程中输入参数和输出参数的使用方法。
第10章介绍四个任务,前三个任务是根据学生表的学生记录的插入、更新和删除操作来修改班级表中该班级的人数,第四个任务是防止数据库中成绩表的结构被随意修改。通过本章任务的完成,学习触发器的概念、分类、工作原理、创建和使用。
第11章通过控制数据库管理员、教师用户、学生用户对学生管理数据库和成绩表的操作权限,来讲解SQL Server 2012的安全机制和验证模式,介绍登录、用户、权限的创建与管理,角色的概念、分类、创建和使用。
第12章讲解学生管理数据库的备份和还原,包括备份和还原的概念,备份的类型,创建完整数据库备份、事务日志备份、差异备份和文件或文件组备份的方法,以及还原各种备份的方法。
第13章通过导入和导出学生管理数据库中学生的个人信息,学习SSIS的作用和工作方式,掌握创建和执行SSIS包来导入和导出数据库中数据的方法。
第14章设计并完成基于Windows的学生管理系统和基于Web的学生管理系统。通过本章任务的完成,学习Windows应用程序的创建方法、Web应用程序的创建方法、注册和登录页面的设计方法,以及学生信息查询功能的实现方法。
读者对象
本书作为Microsoft SQL Server 2012入门类教材,既可以作为高等职业教育计算机及相关专业的教材,也可以作为等级考试、职业资格考试或认证考试等各种培训班的培训教材,还可用于读者自学。
本书读者
本书由高云(南京信息职业技术学院)任主编,崔艳春(南京信息职业技术学院)任副主编,其中第1~7章由高云编写,第8~14章由崔艳春编写,由高云负责统稿。全书框架结构由何光明拟定。另外,本书的编写得到陈海燕、王珊珊、吴涛涛、赵梨花、张伍荣、李海、赵明、吴婷、许勇、姚昌顺、戴仕明等同志的大力支持和帮助,在此表示感谢。限于作者水平,书中难免存在不当之处,恳请广大读者批评指正。
编 者
目 录
第1章 设计数据库 11.1 工作场景导入 21.2 数据库概述 21.2.1 数据库的基本概念 21.2.2 数据库的发展历史 31.2.3 数据库系统的结构 31.3 需求分析 41.3.1 需求分析的任务 41.3.2 需求分析的方法 41.3.3 需求分析的成果 41.4 概念模型设计 51.4.1 数据模型 51.4.2 概念模型 51.4.3 概念模型设计的任务 51.4.4 概念模型设计的方法 51.4.5 概念模型设计的成果 51.4.6 实体-联系模型 61.5 逻辑模型设计 71.5.1 逻辑模型 71.5.2 关系模型的概念 71.5.3 逻辑模型设计的任务 81.5.4 关系模型设计的方法 81.6 物理模型设计 101.6.1 物理模型设计的任务 101.6.2 物理模型设计的方法 101.7 数据库的实现、运行和维护 101.8 SQL Server 2012简介 101.8.1 SQL Server 2012产品性能 101.8.2 SQL Server 2012产品版本 111.8.3 SQL Server 2012管理工具 121.9 回到工作场景 141.10 工作实训营 161.10.1 训练实例 161.10.2 工作实践常见问题解析 161.11 习题 16第2章 创建数据库 192.1 工作场景导入 202.2 SQL Server数据库 202.2.1 SQL Server数据库类型 202.2.2 数据库的文件组成 212.2.3 事务和事务日志 212.2.4 数据存储方式 222.3 数据库的创建与操作 222.3.1 创建数据库 222.3.2 查看数据库 242.3.3 修改数据库 242.3.4 删除数据库 262.4 文件组及其创建与使用 272.4.1 文件组 272.4.2 创建指定文件组的数据库 272.4.3 添加文件组 302.5 回到工作场景 312.6 工作实训营 352.6.1 训练实例 352.6.2 工作实践常见问题解析 362.7 习题 36第3章 创建和管理表 393.1 工作场景导入 403.2 数据类型 413.2.1 SQL Server数据类型 413.2.2 用户定义数据类型 433.2.3 创建用户定义数据类型 443.3 表的创建与操作 453.3.1 创建表 453.3.2 在表中录入记录 473.3.3 修改表 473.3.4 删除表 483.4 数据完整性 493.4.1 数据完整性的分类 493.4.2 PRIMARY KEY约束 503.4.3 UNIQUE约束 523.4.4 DEFAULT 定义 553.4.5 CHECK约束 573.4.6 FOREIGN KEY约束 593.5 回到工作场景 623.6 工作实训营 673.6.1 训练实例 673.6.2 工作实践常见问题解析 673.7 习题 68第4章 插入、更新和删除记录 714.1 工作场景导入 724.2 插入记录 744.2.1 插入单个记录 744.2.2 插入多个记录 744.3 更新记录 754.3.1 单表更新记录 754.3.2 跨表更新记录 754.4 删除记录 764.4.1 单表删除记录 764.4.2 清空记录 764.4.3 跨表删除记录 774.5 回到工作场景 774.6 工作实训营 794.6.1 训练实例 794.6.2 工作实践常见问题解析 814.7 习题 82第5章 查询 875.1 工作场景导入 885.2 简单查询 925.2.1 结果集字段列表 925.2.2 查询的筛选条件 935.2.3 结果集格式 965.2.4 分组汇总 985.3 多表连接 1005.3.1 表的别名 1005.3.2 内连接 1015.3.3 外连接 1025.3.4 交叉连接 1035.3.5 自连接 1045.3.6 多表连接 1045.4 子查询 1055.4.1 子查询用作单个值 1055.4.2 子查询用作集合 1055.5 回到工作场景 1075.6 工作实训营 1135.6.1 训练实例 1135.6.2 工作实践常见问题解析 1145.7 习题 114第6章 使用T-SQL语言 1176.1 工作场景导入 1186.2 T-SQL 语言 1186.3 T-SQL语法要素 1186.3.1 标识符 1186.3.2 数据类型 1196.3.3 常量 1196.3.4 变量 1196.3.5 运算符 1206.3.6 表达式 1206.3.7 函数 1226.3.8 注释 1246.3.9 保留关键字 1246.4 T-SQL程序 1246.4.1 控制流 1246.4.2 批处理 1276.4.3 脚本 1286.5 错误信息处理 1286.5.1 TRY...CATCH 1286.5.2 @@ERROR系统函数 1306.6 事务 1306.6.1 事务的概念及其属性 1306.6.2 事务的分类及其使用 1316.7 回到工作场景 1326.8 工作实训营 1346.8.1 训练实例 1346.8.2 工作实践常见问题解析 1346.9 习题 135第7章 使用视图和索引优化查询 1377.1 工作场景导入 1387.2 视图 1387.2.1 视图及其分类 1387.2.2 创建视图 1397.2.3 使用视图 1417.2.4 修改视图 1427.2.5 删除视图 1427.3 索引 1447.3.1 索引及其分类 1447.3.2 创建索引 1457.3.3 修改索引 1477.3.4 删除索引 1487.3.5 设计和优化索引 1497.4 回到工作场景 1507.5 工作实训营 1537.5.1 训练实例 1537.5.2 工作实践常见问题解析 1547.6 习题 154第8章 用户自定义函数 1578.1 工作场景导入 1588.2 用户自定义函数介绍 1588.2.1 标量值函数 1588.2.2 内联表值函数 1598.2.3 多语句表值函数 1598.3 创建用户自定义函数 1598.3.1 创建标量值函数 1598.3.2 创建内联表值函数 1618.3.3 创建多语句表值函数 1628.4 使用用户自定义函数 1638.4.1 使用标量值函数 1648.4.2 使用内联表值函数 1658.4.3 使用多语句表值函数 1658.5 修改用户自定义函数 1668.6 删除用户自定义函数 1668.7 回到工作场景 1678.8 工作实训营 1708.8.1 训练实例 1708.8.2 工作实践常见问题解析 1708.9 习题 171第9章 存储过程 1739.1 工作场景导入 1749.2 存储过程介绍 1749.3 不带参数的存储过程 1759.3.1 创建存储过程 1759.3.2 使用存储过程 1769.3.3 修改存储过程 1789.3.4 删除存储过程 1809.4 带参数的存储过程 1819.4.1 带输入参数的存储过程 1819.4.2 带输出参数的存储过程 1839.5 回到工作场景 1849.6 工作实训营 1869.6.1 训练实例 1869.6.2 工作实践常见问题解析 1879.7 习题 187第10章 触发器 18910.1 工作场景导入 19010.2 触发器介绍 19010.2.1 INSERT触发器 19110.2.2 DELETE触发器 19110.2.3 UPDATE触发器 19110.2.4 INSTEAD OF触发器 19110.3 创建触发器 19210.3.1 创建DML触发器 19210.3.2 创建DDL触发器 19510.4 使用触发器 19610.5 修改触发器 19710.6 删除触发器 19810.7 回到工作场景 20010.8 工作实训营 20310.8.1 训练实例 20310.8.2 工作实践常见问题解析 20410.9 习题 204第11章 管理数据库安全 20711.1 工作场景导入 20811.2 SQL Server 2012的安全机制 20811.3 SQL Server 2012的验证模式 20911.3.1 Windows身份验证 20911.3.2 混合身份验证 20911.4 Windows登录 21111.4.1 创建Windows登录 21211.4.2 创建SQL Server登录 21411.4.3 管理登录名 21511.5 数据库用户 21711.5.1 创建数据库用户 21711.5.2 管理数据库用户 21911.6 权限 22111.6.1 权限类型 22111.6.2 设置用户权限 22111.7 角色 22511.7.1 角色分类 22511.7.2 创建角色 22611.7.3 指派角色 22711.8 回到工作场景 22711.9 工作实训营 23111.9.1 训练实例 23111.9.2 工作实践常见问题解析 23211.10 习题 232第12章 备份和还原数据库 23312.1 工作场景导入 23412.2 备份和还原 23412.2.1 备份 23412.2.2 还原 23512.3 完整数据库备份 23512.3.1 创建备份 23612.3.2 还原备份 23912.4 事务日志备份 24112.4.1 创建备份 24112.4.2 还原备份 24212.5 差异备份 24412.5.1 创建备份 24412.5.2 还原备份 24512.6 文件或文件组备份 24612.6.1 创建备份 24612.6.2 还原备份 24712.7 回到工作场景 24812.8 工作实训营 25012.8.1 训练实例 25012.8.2 工作实践常见问题解析 25112.9 习题 251第13章 导入和导出数据库中的数据 25313.1 工作场景导入 25413.2 使用SQL Server导入和导出向导 25413.3 SSIS概述 25913.3.1 SSIS介绍 25913.3.2 SSIS的工作方式 25913.4 使用SSIS 26013.4.1 创建SSIS包 26013.4.2 执行SSIS包 26513.5 回到工作场景 26613.6 工作实训营 26713.6.1 训练实例 26713.6.2 工作实践常见问题解析 26813.7 习题 268第14章 学生管理系统案例 26914.1 工作场景导入 27014.2 程序设计介绍 27014.2.1 Microsoft Visual Studio 2015集成环境 27014.2.2 C#语言 27114.2.3 ASP.NET 27114.3 回到工作场景 27214.3.1 基于Windows的学生管理系统 27214.3.2 基于Web的学生管理系统 27614.4 工作实训营 282附录 各章习题参考答案 284参考文献 298