关于我们
![]() ![]() |
SQL Server 2012数据库技术实用教程
这是一本严格采用“工作过程导向”模式规范编写的Microsoft SQL Server 2012的教材。本书内容可分为两个部分:数据库的创建和数据库的管理。本书的内容组织以关系数据库理论知识为基础,注重操作技能的培养和实际问题的解决,旨在使学生掌握使用和管理Microsoft SQL Server 2012。本书以创建“学生管理系统”的数据库为工作任务,具体内容包括设计数据库、创建数据库、创建表、更新和查询记录、Transact-SQL语言、视图和索引、用户定义函数、存储过程、触发器、管理数据库安全、备份和还原数据库、导入和导出数据库中的数据。最后的项目18中介绍了学生管理系统应用程序的设计和实施,从而完成了一个完整的数据库系统。本书贴切实际,结构合理,内容丰富,操作方便。本书作为Microsoft SQL Server 2012的入门类教材,既可以作为高等职业教育计算机及相关专业的教材,也可作为Microsoft SQL Server 2012的各种培训班、职业资格等级考试或认证考试的培训教材,还可用于读者自学。
这是一本严格采用“工作过程导向”模式规范编写的Microsoft SQLServer 2012的教材。本书内容可分为两个部分:数据库的创建和数据库的管理。本书的内容组织以关系数据库理论知识为基础,注重操作技能的培养和实际问题的解决,旨在使学生掌握使用和管理MicrosoftSQL Server 2012。本书以创建“学生管理系统”的数据库为工作任务,具体内容包括设计数据库、创建数据库、创建表、更新和查询记录、Transact-SQL语言、视图和索引、用户定义函数、存储过程、触发器、管理数据库安全、备份和还原数据库、导入和导出数据库中的数据。*后的项目18中介绍了学生管理系统应用程序的设计和实施,从而完成了一个完整的数据库系统。本书贴切实际,结构合理,内容丰富,操作方便。本书作为Microsoft SQL Server 2012的入门类教材,既可以作为高等职业教育计算机及相关专业的教材,也可作为MicrosoftSQL Server 2012的各种培训班、职业资格等级考试或认证考试的培训教材,还可用于读者自学。
为适应高职院校应用型人才培养迅速发展的趋势,培养以就业市场为导向的具备“职业化”特征的高级应用型人才,着眼于国家发展和培养造就综合能力人才的需要,“任务驱动、项目导向”成了主流的教学模式。本书以Microsoft SQL Server 2012为数据库管理系统,通过完成一个完整的学生管理系统,引导学生掌握Microsoft SQL Server 2012的使用和管理。
本书特色 本书以实际工作任务为背景,将知识的学习、技能的练习与任务相结合,再通过课后练习帮助读者巩固所学内容。每一个项目均针对数据库设计和实施中的一个工作过程环节来传授相关的课程内容,实现实践技能与理论知识的整合,将工作环境与学习环境有机地结合在一起。本书内容简明扼要,结构清晰,通过工作过程的讲解将掌握关系数据库的理论知识和掌握Microsoft SQL Server 2012的使用方法有机结合,示例众多,步骤明确,讲解细致,突出可操作性和实用性。再辅以丰富的实训题和课后练习,使学生得到充足的训练,具备使用Microsoft SQL Server 2012解决实际问题的能力。 本书由高职院校的优秀教师编写,是在其现有教学成果基础上整合编写而成的,作者拥有丰富的开发案例和教学经验。本书共分为18个项目,计划需要80个课时,需要用一学期进行学习。 本书主要内容 项目1介绍数据库的设计。通过该项目的学习,主要了解数据库的基本概念、数据模型、关系代数和数据库的设计方法与步骤,掌握数据库的理论知识,为后面使用Microsoft SQL Server 2012做好准备。 项目2介绍安装SQL Server 2012。通过该项目的学习,了解SQL Server的组成,掌握如何安装SQL Server 2012。 项目3讲解如何创建数据库。通过该项目的学习,主要掌握SQL Server数据库的分类和文件组成,掌握创建、修改、删除和查看数据库的方法,掌握分离和附加数据库的方法。 项目4介绍如何创建数据库中的表,设置表的数据完整性。通过该项目的学习,掌握表的概念,掌握创建、修改、删除表的方法,掌握数据完整性的概念、分类和具体实施方法。 项目5介绍如何创建索引。通过该项目的学习,掌握索引的概念和分类,掌握创建、修改、删除索引的方法,了解设计和优化索引的方法。 项目6介绍如何创建视图。通过该项目的学习,掌握视图的概念、分类、创建和使用。 项目7介绍了Transact-SQL语言。通过该项目的学习,了解Transact-SQL语言的基础知识。 项目8讲解如何查询数据库中的记录。通过该项目的学习,了解SELECT语句的组成,掌握SELECT语句的书写。 项目9学习使用Transact-SQL语句插入、更新和删除记录。 项目10介绍事务和锁。通过该项目的学习,掌握事务的概念、属性、类型和使用,掌握并发控制的概念和类型,掌握隔离级别的类型,掌握锁定、锁粒度、锁模式、锁兼容性和死锁的概念。 项目11学习使用游标。通过该项目的学习,掌握游标的概念、类型和使用方法。 项目12讲解创建存储过程。通过该项目的学习,掌握存储过程的概念、分类和作用,介绍创建、修改、删除、执行和查看存储过程的方法。 项目13学习使用用户定义函数。通过该项目的学习,掌握用户定义函数的概念、作用和类型,掌握创建、修改、删除、执行和查看用户定义函数的方法。 项目14学习使用触发器。通过该项目的学习,掌握触发器的概念、分类、工作原理、创建和使用。 项目15讲解对数据库的备份和还原。通过该项目的学习,掌握备份、还原和恢复的概念,掌握备份设备的概念,掌握恢复模式的概念和类型,掌握不同恢复模式下对数据库备份和还原的方法。 项目16讲解导入和导出数据库中的数据。通过该项目的学习,掌握SQL Server导入和导出向导的使用,学习SSIS的作用和工作方式,掌握创建和执行SSIS包来导入和导出数据库中的数据。 项目17学习管理数据库安全。通过该项目的学习,掌握数据库权限层次结构,掌握身份验证模式的分类,掌握登录名、用户、权限、角色的概念、分类、创建和使用。 项目18设计并完成了基于Windows的学生管理系统和基于Web的学生管理系统。通过本项目的完成,学习Windows应用程序的创建方法,学习Web应用程序的创建方法,学习注册和登录页面的设计方法,学习查询学生功能的实现方法。 读者对象 本书作为Microsoft SQL Server 2012的入门类教材,既可以作为高等职业教育计算机及相关专业的教材,也可作为Microsoft SQL Server 2012的各种培训班、职业资格等级考试或认证考试的培训教材,还可用于读者自学。 本书由高云(南京信息职业技术学院教师)任主编,崔艳春(南京信息职业技术学院教师)、夏平(南京信息职业技术学院教师)任副主编,其中项目1、2、3、4、5、6、7、8、9、10由高云编写,项目11、12、13、14由夏平编写,项目15、16、17、18由崔艳春编写,高云负责本书的校对。全书框架结构由何光明拟定,王珊珊、石雅琴、卢振侠、郑爱琴、杨橙、陈凤、曹冬梅等参与了部分资料整理工作。 由于作者水平有限,书中难免存在不当之处,恳请广大读者批评指正。 编 者
项目1 设计数据库1
1.1 数据库的基本概念2 1.1.1 数据库2 1.1.2 数据库管理系统3 1.1.3 数据库系统3 1.1.4 数据管理技术的发展4 1.1.5 数据库系统的体系结构4 1.2 数据模型5 1.2.1 数据模型的概念5 1.2.2 数据模型的组成6 1.2.3 数据模型的类型6 1.2.4 数据库的规范化10 1.3 关系代数11 1.3.1 传统的集合运算11 1.3.2 专门的关系运算12 1.4 数据库设计的方法和步骤14 1.4.1 数据库设计的方法15 1.4.2 数据库设计的步骤15 1.5 小型案例实训17 小结18 习题19 项目2 安装SQL Server 201223 2.1 了解SQL Server 201224 2.1.1 SQL Server 2012简介24 2.1.2 SQL Server 2012的版本25 2.1.3 SQL Server 2012的组件25 2.1.4 SQL Server 2012管理工具26 2.2 安装SQL Server 201229 2.2.1 硬件和软件要求29 2.2.2 SQL Server的默认实例和 命名实例29 2.2.3 SQL Server安装中心29 2.3 运行SQL Server 201230 2.4 配置SQL Server 201232 2.5 小型案例实训34 小结34 习题35 项目3 创建数据库37 3.1 SQL Server数据库38 3.1.1 系统数据库38 3.1.2 数据库文件和文件组39 3.1.3 事务日志40 3.2 创建数据库40 3.2.1 创建单个数据文件和日志 文件的数据库40 3.2.2 创建多个数据文件和日志 文件的数据库41 3.2.3 创建有用户文件组的 数据库42 3.3 修改数据库44 3.3.1 添加数据文件44 3.3.2 添加带有数据文件的 文件组45 3.3.3 添加日志文件46 3.3.4 增加文件大小47 3.3.5 收缩文件47 3.3.6 收缩数据库48 3.3.7 删除文件49 3.4 删除数据库49 3.5 查看数据库信息50 3.5.1 查看数据库的数据和日志 空间信息50 3.5.2 查看数据库的属性50 3.6 分离和附加数据库51 3.6.1 分离数据库51 3.6.2 附加数据库51 3.7 小型案例实训52 小结55 习题55 项目4 创建表57 4.1 表58 4.1.1 表的概念58 4.1.2 表的类型58 4.2 创建表59 4.2.1 创建表59 4.2.2 创建带计算列的表61 4.2.3 创建带标识列的表62 4.3 修改表63 4.3.1 重命名列63 4.3.2 添加列64 4.3.3 修改列64 4.3.4 更改列顺序64 4.3.5 删除列64 4.4 删除表65 4.5 数据完整性65 4.5.1 数据完整性的概念66 4.5.2 数据完整性的类型66 4.5.3 主键约束66 4.5.4 唯一约束68 4.5.5 列默认值70 4.5.6 CHECK约束72 4.5.7 外键约束74 4.6 查看表信息77 4.6.1 查看表记录77 4.6.2 查看表属性77 4.6.3 查看表的依赖关系78 4.7 小型案例实训79 小结85 习题85 项目5 创建索引89 5.1 索引90 5.1.1 索引的概念90 5.1.2 索引的类型91 5.1.3 堆91 5.2 创建索引92 5.2.1 创建聚集索引92 5.2.2 创建非聚集索引93 5.2.3 创建唯一索引94 5.2.4 创建带有包含列的索引95 5.2.5 创建筛选索引96 5.3 修改索引97 5.3.1 修改索引列97 5.3.2 禁用索引98 5.3.3 重新生成索引99 5.3.4 重新组织索引99 5.3.5 索引填充因子100 5.4 删除索引101 5.5 设计和优化索引102 5.5.1 索引设计任务102 5.5.2 设计聚集索引102 5.5.3 设计非聚集索引103 5.5.4 设计唯一索引103 5.5.5 设计带有包含列的索引103 5.5.6 设计筛选索引103 5.6.7 优化索引103 5.6 小型案例实训104 小结106 习题107 项目6 创建视图109 6.1 视图110 6.1.1 视图的概念110 6.1.2 视图的类型110 6.2 创建视图111 6.2.1 创建标准视图111 6.2.2 创建加密视图112 6.2.3 创建带更新限制的视图113 6.3 修改视图113 6.4 删除视图114 6.5 使用视图114 6.6 查看视图116 6.7 小型案例实训117 小结118 习题119 项目7 Transact-SQL语言121 7.1 Transact-SQL语言122 7.2 标识符122 7.3 数据库对象名称123 7.4 数据类型123 7.4.1 系统数据类型123 7.4.2 用户定义数据类型126 7.5 常量和变量127 7.6 运算符127 7.7 表达式128 7.8 函数129 7.9 注释131 7.10 Transact-SQL程序要素131 7.10.1 USE132 7.10.2 GO132 7.10.3 PRINT133 7.10.4 RAISERROR()函数133 7.10.5 BEGIN...END133 7.10.6 GOTO134 7.10.7 RETURN134 7.10.8 IF...ELSE134 7.10.9 WHILE135 7.10.10 CONTINUE135 7.10.11 BREAK135 7.10.12 WAITFOR136 7.10.13 TRY...CATCH137 7.10.14 THROW138 7.11 小型案例实训138 小结140 习题141 项目8 查询记录143 8.1 SELECT语句144 8.2 SELECT子句144 8.2.1 查询列144 8.2.2 列标题和列计算145 8.2.3 避免重复记录146 8.2.4 限制返回行数146 8.3 FROM子句147 8.3.1 查询单个表147 8.3.2 多表联接148 8.3.3 派生表152 8.4 WHERE子句152 8.4.1 简单比较153 8.4.2 模糊查询154 8.4.3 比较运算符154 8.4.4 满足任一条件155 8.4.5 满足所有条件155 8.4.6 值列表156 8.4.7 值区间156 8.4.8 值为空157 8.5 GROUP BY子句158 8.5.1 按列分组统计158 8.5.2 按表达式结果分组统计159 8.6 HAVING子句159 8.7 ORDER BY子句160 8.7.1 按指定列排序160 8.7.2 按表达式结果排序161 8.7.3 按特定条件列排序162 8.8 INTO子句162 8.9 子查询163 8.9.1 子查询用作单个值163 8.9.2 ALL、ANY和SOME164 8.9.3 IN166 8.9.4 EXISTS167 8.10 集运算符168 8.10.1 UNION168 8.10.2 EXCEPT169 8.10.3 INTERSECT170 8.11 小型案例实训170 小结174 习题174 项目9 插入、更新和删除记录177 9.1 插入记录178 9.1.1 插入单个记录178 9.1.2 插入多个记录178 9.1.3 插入列顺序任意的记录179 9.1.4 插入列具有默认值的记录179 9.1.5 插入含标识列的记录180 9.1.6 插入来自其他表的记录180 9.1.7 限制来自其他表的记录 数量181 9.1.8 向视图插入记录181 9.2 更新记录181 9.2.1 更新单个列181 9.2.2 更新多个列182 9.2.3 更新部分记录182 9.2.4 更新限制数量的记录182 9.2.5 更新列为计算结果182 9.2.6 更新列为默认值183 9.2.7 更新视图183 9.2.8 根据其他表的记录来 更新记录183 9.3 删除记录184 9.3.1 删除所有记录184 9.3.2 删除部分记录184 9.3.3 删除限制数量的记录185 9.3.4 根据其他表的记录来 删除记录185 9.4 比较记录185 9.5 小型案例实训186 小结189 习题189 项目10 使用事务和锁191 10.1 事务192 10.1.1 事务的概念192 10.1.2 事务的属性192 10.1.3 事务的类型193 10.1.4 启动事务193 10.1.5 保存事务193 10.1.6 结束事务193 10.2 并发控制195 10.2.1 并发的负面影响195 10.2.2 并发控制的类型195 10.2.3 数据库引擎中的隔离级别196 10.2.4 自定义事务隔离级别197 10.3 锁定198 10.3.1 锁粒度和层次结构198 10.3.2 锁模式199 10.3.3 锁兼容性200 10.3.4 死锁200 10.4 小型案例实训201 小结203 习题203 项目11 使用游标205 11.1 游标206 11.1.1 游标的概念206 11.1.2 游标的类型206 11.2 使用游标207 11.2.1 使用简单游标的方法207 11.2.2 使用嵌套游标214 11.3 小型案例实训215 小结216 习题217 项目12 创建存储过程219 12.1 存储过程220 12.1.1 存储过程的概念220 12.1.2 存储过程的作用220 12.1.3 存储过程的类型221 12.2 创建存储过程221 12.2.1 创建不带参数的存储 过程221 12.2.2 创建带输入参数的存储 过程222 12.2.3 创建带有默认值的存储 过程223 12.2.4 创建带有输出参数的存储 过程224 12.3 修改存储过程225 12.4 删除存储过程226 12.5 执行存储过程226 12.5.1 执行不带参数的存储过程227 12.5.2 执行带输入参数的存储 过程227 12.5.3 执行带有默认值的存储 过程228 12.5.4 执行带有输出参数的存储 过程229 12.5.5 使用存储过程返回代码值229 12.6 查看存储过程230 12.7 小型案例实训231 小结235 习题235 项目13 创建用户定义函数237 13.1 用户定义函数238 13.1.1 用户定义函数的概念238 13.1.2 用户定义函数的优点238 13.1.3 用户定义函数的类型238 13.2 创建用户定义函数239 13.2.1 创建标量值函数239 13.2.2 创建内联表值函数240 13.2.3 创建多语句表值函数241 13.3 修改用户定义函数242 13.4 删除用户定义函数243 13.5 执行用户定义函数244 13.5.1 执行标量值函数244 13.5.2 执行内联表值函数245 13.5.3 执行多语句表值函数246 13.6 查看用户定义函数246 13.7 小型案例实训247 小结250 习题251 项目14 创建触发器253 14.1 登录触发器254 14.2 DDL触发器255 14.2.1 DDL触发器的概念255 14.2.2 DDL触发器的类型255 14.2.3 DDL触发器的作用域256 14.2.4 创建DDL触发器256 14.2.5 修改DDL触发器257 14.3 DML触发器259 14.3.1 DML触发器的概念259 14.3.2 DML触发器的优点259 14.3.3 DML触发器的类型259 14.4 创建DML触发器260 14.4.1 inserted表和deleted表260 14.4.2 创建包含提醒消息的DML 触发器261 14.4.3 创建在表之间强制实现 业务规则的DML触发器262 14.5 修改DML触发器264 14.5.1 修改DML触发器定义264 14.5.2 指定第一个和最后一个 DML触发器265 14.5.3 禁用DML触发器267 14.5.4 启用DML触发器268 14.6 删除DML触发器269 14.7 查看DML触发器269 14.8 小型案例实训270 小结273 习题273 项目15 备份和还原数据库275 15.1 备份276 15.1.1 备份的概念276 15.1.2 备份的作用276 15.1.3 备份的类型277 15.1.4 备份策略277 15.1.5 备份类型的选择277 15.2 还原和恢复278 15.2.1 还原的概念278 15.2.2 恢复的概念278 15.3 备份设备279 15.3.1 备份设备的概念279 15.3.2 备份磁盘的概念279 15.3.3 介质集的概念279 15.3.4 介质簇的概念279 15.3.5 备份集的概念279 15.3.6 创建备份设备279 15.4 恢复模式280 15.4.1 恢复模式的概念280 15.4.2 恢复模式的类型280 15.5 完整恢复模式下的完整数据库 备份与还原282 15.5.1 完整恢复模式下的完整 数据库备份282 15.5.2 完整恢复模式下的完整 数据库还原283 15.6 完整恢复模式下的差异数据库 备份与还原284 15.6.1 完整恢复模式下的差异 数据库备份284 15.6.2 完整恢复模式下的差异 数据库还原284 15.7 完整恢复模式下的事务日志备份 与还原285 15.7.1 完整恢复模式下的事务 日志备份285 15.7.2 完整恢复模式下的事务 日志还原286 15.7.3 完整恢复模式下的结尾 日志备份287 15.8 完整恢复模式下的文件和 文件组备份与还原288 15.8.1 完整恢复模式下的文件和 文件组备份288 15.8.2 完整恢复模式下的文件和 文件组还原288 15.9 简单恢复模式下的完整数据库 备份与还原289 15.9.1 简单恢复模式下的完整 数据库备份289 15.9.2 简单恢复模式下的完整 数据库还原290 15.9.3 简单恢复模式下的差异 数据库备份290 15.9.4 简单恢复模式下的差异 数据库还原291 15.10 小型案例实训291 小结292 习题293 项目16 导入和导出数据库中的 数据295 16.1 使用SQL Server导入和导出 向导296 16.1.1 启动SQL Server导入和 导出向导296 16.1.2 SQL Server导入和导出 向导界面297 16.2 使用SSIS300 16.2.1 SSIS介绍300 16.2.2 SSIS工作方式300 16.2.3 创建SSIS包301 16.2.4 执行SSIS包304 16.3 小型案例实训305 小结307 习题307 项目17 管理数据库安全309 17.1 数据库权限层次结构310 17.2 身份验证模式311 17.2.1 Windows身份验证模式311 17.2.2 混合验证模式311 17.3 创建登录名312 17.3.1 创建Windows登录312 17.3.2 创建SQL Server登录313 17.3.3 密码策略314 17.4 服务器级别角色315 17.4.1 服务器级别角色的作用315 17.4.2 固定服务器角色316 17.4.3 创建服务器角色316 17.5 数据库用户317 17.5.1 数据库用户的作用317 17.5.2 创建数据库用户317 17.6 数据库级别角色318 17.6.1 数据库级别角色的作用318 17.6.2 固定数据库角色318 17.6.3 创建数据库角色319 17.7 权限320 17.7.1 授予权限320 17.7.2 撤销权限322 17.7.3 拒绝权限322 17.8 小型案例实训323 小结325 习题326 项目18 学生管理系统案例327 18.1 程序设计介绍328 18.1.1 Microsoft Visual Studio 2010集成环境328 18.1.2 C#语言328 18.1.3 ASP.NET329 18.2 小型案例实训330 18.2.1 基于Windows的学生管理 系统330 18.2.2 基于Web的学生管理 系统335 小结341 习题342 附录 各项目习题参考答案343 参考文献365 项目1 ……
你还可能感兴趣
我要评论
|