新書推薦:
《
药食同源中药鉴别图典
》
售價:HK$
67.0
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
87.4
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:HK$
55.8
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:HK$
76.2
《
汗青堂丛书144·决战地中海
》
售價:HK$
168.0
《
逝去的武林(十周年纪念版 武学宗师 口述亲历 李仲轩亲历一九三零年代武人言行录)
》
售價:HK$
54.9
《
唐代冠服图志(百余幅手绘插画 图解唐代各类冠服 涵盖帝后 群臣 女官 士庶 军卫等 展现唐代社会风貌)
》
售價:HK$
87.4
《
知宋·宋代之科举
》
售價:HK$
99.7
編輯推薦:
《SQL Server 2016 数据库入门与应用》中大量内容来自真实的程序范例,使读者更容易掌握SQL Server数据库的开发。《SQL Server 2016 数据库入门与应用》难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。
知识点全
《SQL Server 2016 数据库入门与应用》紧密围绕SQL Server数据库展开讲解,具有很强的逻辑性和系统性。
实例丰富
书中各实例均经过作者的精心设计和挑选,它们都是根据作者在实际开发中的经验总结而来,涵盖了实际开发中遇到的各种问题。
应用广泛
对于精选案例,给出了详细步骤,结构清晰简明,分析深入浅出,而且有些程序能够直接在项目中使用,避免读者进行二次开发。
基于理论,注重实践
在讲述过程中,不仅介绍理论知识,而且在合适位置安排综合应用实例,或者小型应用程序,将理论应用到实践中,来增强读者的实际应用能力,巩固学到的知识。
內容簡介:
SQL是英文Structured Query Language的缩写,中文通常称为结构化查询语言。按照ANSI(American National Standards Institute,美国国家标准协会)的规定,SQL是关系型数据库系统的标准语言。使用SQL语句可以执行各种各样的操作,如更新数据库中的数据、从数据库中提取数据等。 SQL Server 2016在SQL Server 2012版本的基础上,又推出了许多新的特性和关键的改进,使得它成为迄今为止的*强大和*全面的SQL Server版本。《SQL Server 2016 数据库入门与应用》将对SQL Server 2016进行介绍,从实用和实际的角度,深入浅出地分析它的各个要点。 《SQL Server 2016 数据库入门与应用》共分为14章,第1~13章的主要内容包括:SQL Server 2016发展史、SQL Server 2016新特性、SQL Server 2016如何安装、sqlcmd工具的使用、系统数据库、自定义数据库、数据库的组成、创建和修改数据库、数据库快照、数据表的创建和修改、管理数据表、操作表数据、SELECT语法、简单查询、条件查询、模糊查询、分组查询、排序查询、子查询、多表连接、内连接、外连接、交叉连接、联合查询、T-SQL语言分类、变量、常量、运算符、表达式、流程控制语句、系统函数、自定义函数、SQL注释、XML数据类型、XML查询模式、XML索引、XML DML操作、视图、游标、存储过程、触发器、索引、事务、锁定、安全机制分类、账户管理、角色管理、权限管理、数据库备份、数据库恢复、压缩数据库、附加数据库等,第14章将各章介绍的主要知识点结合起来,开发一个医院预约挂号系统。 《SQL Server 2016 数据库入门与应用》可以作为高等院校计算机相关专业SQL Server数据库设计课程的教材,也可以作为SQL Server设计的培训教材,还可以作为自学者的参考书。
關於作者:
李艳丽,具有多年.NET项目开发经验,深入掌握.NET框架技术,熟练开发ASP.NET与WinForm项目,精通C#、ASP 、C、VB语言,熟练使用MTS、COM 、Web Service分布式架构。
靳智良,知名互联网社区架构师,一个拥有5年软件工程经验和深厚理论基础的软件工程专家,善于解剖和分析问题,使用生动形象的比喻,能将复杂的、难于理解的问题与知识简单化讲解。致力于研究、优化Web 2.0系统架构技术,对LAMP体系架构有着丰富的经验,挖掘LAMP架构的性能潜力,探索新型高效能的Web 2.0站点系统支撑平台以及系统集群。
目錄 :
第1章 数据库和SQL Server 2016
1.1 什么是数据库 2
1.1.1 数据库概述 2
1.1.2 数据库模型 2
1.2 了解关系型数据库 3
1.2.1 数据库组成 3
1.2.2 常见术语 4
1.2.3 完整性规则 5
1.3 范式理论和E-R模型 5
1.3.1 范式理论 6
1.3.2 E-R模型 7
1.4 SQL Server 2016概述 8
1.4.1 SQL Server 2016发展史 9
1.4.2 SQL Server 2016的功能 9
1.5 安装和运行SQL Server 2016 12
1.5.1 安装SQL Server 2016 12
1.5.2 运行SQL Server 2016 18
1.6 验证SQL Server 2016安装 19
1.6.1 查看服务 19
1.6.2 注册服务器 20
1.6.3 配置身份验证模式 21
1.7 实践案例:使用sqlcmd工具执行SQL查询 22
1.8 练习题 23
第2章 管理SQL数据库
2.1 SQL Server 2016数据库概述 26
2.1.1 SQL系统数据库 26
2.1.2 文件和文件组 27
2.1.3 数据库状态和文件状态 28
2.2 数据库的组成 29
2.2.1 表 29
2.2.2 视图 29
2.2.3 存储过程 30
2.2.4 触发器 30
2.2.5 其他组成部分 30
2.3 创建数据库 31
2.3.1 图形界面创建 31
2.3.2 T-SQL语句创建 33
2.4 管理数据库 34
2.4.1 查看数据库信息 34
2.4.2 修改数据库名称 36
2.4.3 修改数据库大小 37
2.4.4 删除数据库 38
2.4.5 收缩数据库 39
2.5 数据库快照 40
2.5.1 快照概述 40
2.5.2 创建快照 40
2.5.3 数据库快照的限制 41
2.6 实践案例:创建超市会员管理系统数据库 41
2.7 练习题 43
第3章 管理SQL数据表
3.1 表概述 46
3.1.1 什么是表 46
3.1.2 系统表和临时表 47
3.1.3 表的数据类型 48
3.1.4 表结构设计 52
3.2 图形界面创建表 52
3.2.1 创建表 53
3.2.2 修改表结构 54
3.2.3 删除表 55
3.3 命令语句创建表 56
3.3.1 CREATE TABLE语句 56
3.3.2 ALTER TABLE语句 59
3.3.3 为表创建约束 60
3.3.4 DROP TABLE语句 64
3.4 操作表数据 64
3.4.1 添加数据 64
3.4.2 修改数据 67
3.4.3 删除数据 68
3.4.4 实践案例:界面方式操作数据 70
3.5 实践案例:完善超市管理系统的商品数据表 71
3.6 练习题 74
第4章 SQL数据简单查询
4.1 简单查询 78
4.1.1 SELECT语句 78
4.1.2 查询全部行和列 78
4.1.3 查询部分列 79
4.1.4 为列指定别名 80
4.1.5 查询前几行 80
4.1.6 查询不重复数据 81
4.1.7 实践案例:查询数据时使用计算列 82
4.2 条件查询 83
4.2.1 比较条件 83
4.2.2 逻辑条件 84
4.3 模糊查询 85
4.3.1 LIKE查询 85
4.3.2 IS NULL查询 86
4.3.3 BETWEEN查询 87
4.3.4 IN查询 88
4.4 分组查询 89
4.4.1 单列分组查询 89
4.4.2 多列分组查询 91
4.4.3 HAVING条件 92
4.4.4 条件比较排序 93
4.5 实践案例:查询用户信息 95
4.6 练习题 96
第5章 SQL高级查询
5.1 子查询 100
5.1.1 简单子查询 100
5.1.2 INNOT IN子查询 101
5.1.3 EXISTS子查询 102
5.1.4 实践案例:嵌套子查询 103
5.2 多表连接 104
5.2.1 连接语法 104
5.2.2 使用别名 105
5.2.3 使用JOIN关键字连接查询 106
5.3 内连接查询 106
5.3.1 语法格式 106
5.3.2 等值连接 107
5.3.3 非等值连接 108
5.4 外连接查询 109
5.4.1 外连接介绍 109
5.4.2 左外连接 109
5.4.3 右外连接 110
5.4.4 全外连接 111
5.5 交叉连接 112
5.6 联合查询 113
5.7 实践案例:自连接查询 115
5.8 实践案例:查询超市商品的具体信息 115
5.9 练习题 117
第6章 T-SQL语言编程基础
6.1 了解T-SQL语言编程 120
6.1.1 什么是T-SQL 120
6.1.2 T-SQL语言分类 120
6.2 常量和变量 121
6.2.1 常量 121
6.2.2 变量 122
6.3 运算符和表达式 125
6.3.1 运算符 125
6.3.2 运算符优先级 129
6.3.3 表达式 129
6.4 流程控制语句 130
6.4.1 BEGIN-END语句块 130
6.4.2 IF-ELSE条件语句 130
6.4.3 CASE多重分支语句 132
6.4.4 GOTO语句 134
6.4.5 常用循环语句 135
6.4.6 RETURN语句 136
6.4.7 延迟语句 136
6.4.8 异常处理语句 137
6.5 系统函数 138
6.5.1 系统函数分类 138
6.5.2 数学函数 139
6.5.3 字符串函数 140
6.5.4 数据类型转换函数 141
6.5.5 日期和时间函数 142
6.6 用户自定义函数 144
6.6.1 创建语法 144
6.6.2 标量值函数 145
6.6.3 表值函数 146
6.6.4 实践案例:创建切割字符串的表值函数 148
6.7 SQL注释 149
6.7.1 单行注释 150
6.7.2 多行注释 150
6.8 实践案例:通过流程控制语句输出菱形 150
6.9 练习题 151
第7章 XML查询技术
7.1 XML数据类型 154
7.1.1 了解XML数据类型 154
7.1.2 使用XML数据类型 154
7.1.3 XML类型限制 155
7.1.4 XML类型方法 155
7.2 XQuery简介 159
7.3 XML查询模式 160
7.3.1 RAW模式 160
7.3.2 AUTO模式 162
7.3.3 EXPLICIT模式 163
7.3.4 PATH模式 165
7.4 实践案例:嵌套查询 167
7.5 XML高级查询 168
7.5.1 XML索引 168
7.5.2 OPENXML函数 170
7.5.3 XML DML 172
7.6 练习题 174
第8章 视图和游标
8.1 视图 178
8.1.1 了解视图 178
8.1.2 视图优点 178
8.1.3 视图分类 179
8.2 SQL语句操作视图 181
8.2.1 创建视图 181
8.2.2 查看视图 183
8.2.3 修改视图 184
8.2.4 命名视图 185
8.2.5 删除视图 185
8.3 SQL语句操作数据 186
8.3.1 插入数据 186
8.3.2 修改数据 188
8.3.3 删除数据 189
8.4 实践案例:图形界面工具操作视图 190
8.5 SQL语句操作游标 192
8.5.1 声明游标 193
8.5.2 打开游标 194
8.5.3 读取游标 195
8.5.4 关闭游标 197
8.5.5 删除游标 198
8.6 实践案例:利用游标更新和删除数据 199
8.7 练习题 201
第9章 存储过程
9.1 什么是存储过程 204
9.1.1 存储过程的优点 204
9.1.2 存储过程的分类 204
9.1.3 系统存储过程 205
9.2 调用存储过程 206
9.2.1 调用语法介绍 206
9.2.2 常用系统存储过程 207
9.3 创建存储过程 208
9.3.1 创建语法和限制 208
9.3.2 普通存储过程 209
9.3.3 加密存储过程 210
9.3.4 临时存储过程 211
9.3.5 实践案例:嵌套存储过程 211
9.4 管理存储过程 212
9.4.1 查看存储过程 212
9.4.2 修改存储过程 213
9.4.3 删除存储过程 214
9.5 使用存储过程参数 215
9.5.1 参数的定义 215
9.5.2 指定输入参数 215
9.5.3 为参数设置默认值 216
9.5.4 指定输出参数 217
9.6 实践案例:以界面方式操作存储过程 218
9.7 实践案例:SQL存储过程实现分页查询 220
9.8 练习题 222
第10章 触发器
10.1 什么是触发器 226
10.1.1 了解触发器 226
10.1.2 触发器的类型 226
10.1.3 触发器的执行环境 227
10.2 DML触发器 228
10.2.1 创建语法 228
10.2.2 INSERT触发器 229
10.2.3 UPDATE触发器 230
10.2.4 DELETE触发器 231
10.2.5 INSTEAD OF触发器 232
10.3 DDL触发器 234
10.3.1 DDL创建语法 234
10.3.2 数据库触发器 234
10.3.3 服务器触发器 235
10.4 管理触发器 236
10.4.1 修改触发器 236
10.4.2 删除触发器 237
10.4.3 禁用和启用触发器 238
10.5 递归触发器 238
10.5.1 递归触发器注意事项 238
10.5.2 递归触发器分类 239
10.5.3 禁用或启用递归触发器 239
10.6 嵌套触发器 240
10.6.1 嵌套触发器注意事项 240
10.6.2 启用或禁用嵌套触发器 240
10.6.3 实践案例:嵌套触发器实现职工的增删 241
10.7 练习题 243
第11章 SQL Server高级特性
11.1 了解索引 246
11.1.1 索引的作用 246
11.1.2 索引的分类 246
11.1.3 聚集索引 246
11.1.4 非聚集索引 247
11.1.5 聚集索引和非聚集索引的区别 248
11.2 管理索引 248
11.2.1 确定索引列 248
11.2.2 创建索引的SQL语法 249
11.2.3 复合索引 251
11.2.4 查看索引 252
11.2.5 修改索引 254
11.2.6 删除索引 254
11.2.7 实践案例:通过数据测试有无索引的区别 254
11.3 实践案例:图形界面工具操作索引 255
11.4 事务 258
11.4.1 什么是事务 258
11.4.2 ACID属性 258
11.4.3 事务分类 259
11.4.4 处理语句 259
11.4.5 事务隔离级 261
11.4.6 实践案例:事务机制实现转账功能 263
11.5 锁定 264
11.5.1 为什么使用锁 265
11.5.2 锁定粒度 265
11.5.3 锁定模式 265
11.5.4 获取与锁有关的信息 266
11.6 练习题 268
第12章 数据库安全机制
12.1 安全机制概述 272
12.1.1 安全机制分类 272
12.1.2 SQL身份验证模式 272
12.1.3 SQL Server安全性机制 273
12.1.4 数据库安全验证过程 274
12.2 账户管理 274
12.2.1 创建Windows账户登录 274
12.2.2 创建SQL Server登录账户 277
12.2.3 创建数据库用户 278
12.2.4 删除用户和登录账户 280
12.2.5 guest用户 280
12.3 角色管理 281
12.3.1 固定服务器角色 281
12.3.2 固定数据库角色 282
12.3.3 应用程序角色 284
12.3.4 自定义数据库角色 285
12.4 管理数据库权限 286
12.4.1 分配权限 286
12.4.2 拒绝权限 288
12.4.3 撤销权限 288
12.5 数据库架构 288
12.5.1 界面方式创建架构 289
12.5.2 命令语句创建架构 289
12.5.3 删除架构 290
12.6 实践案例:为用户分配权限并进行测试 290
12.7 练习题 292
第13章 数据库的备份和恢复
13.1 数据库备份 296
13.1.1 备份概述 296
13.1.2 何时备份 296
13.1.3 备份方法 297
13.2 备份设备 298
13.2.1 命令语句创建备份设备 298
13.2.2 界面创建备份设备 298
13.2.3 查看备份设备 299
13.2.4 删除备份设备 300
13.3 SQL命令备份数据库 300
13.3.1 完整备份 300
13.3.2 差异备份 301
13.3.3 备份文件或文件组 302
13.3.4 备份事务日志 303
13.4 实践案例:图形界面备份数据库 303
13.5 实践案例:图形界面实现压缩备份 304
13.6 数据库恢复 305
13.6.1 前期准备工作 305
13.6.2 恢复整个数据库 306
13.6.3 恢复事务日志 306
13.6.4 实践案例:通过图形界面恢复数据库 307
13.7 附加和实践案例:图形界面附加数据库 308
13.8 实践案例:数据库收缩功能的实现 309
13.9 练习题 309
第14章 医院预约挂号系统数据库设计
14.1 系统概述 312
14.1.1 开发背景 312
14.1.2 开发意义 312
14.1.3 功能概述 313
14.2 数据库设计 314
14.2.1 创建数据库 315
14.2.2 创建数据表 315
14.2.3 创建视图 320
14.2.4 模拟简单业务逻辑 321
14.2.5 创建存储过程 323
14.3 常见业务办理 326
14.3.1 更新患者姓名 326
14.3.2 修改密码 326
14.3.3 更改医生表 327
14.3.4 查询预约信息 328
14.4 备份和恢复数据库 329
练习题答案
內容試閱 :
前言
Microsoft SQL Server 2016是微软公司发布的新一代数据平台产品,全面支持云技术与平台,并且能够快速构建相应的解决方案,实现私有云与公有云之间数据的扩展与应用的迁移。全新一代的SQL Server 2016为用户带来更好的体验,独特的产品优势定能使用户获益良多。
为了使广大学生和工作者能真正掌握SQL Server 2016技术,作者根据多年的程序开发和SQL Server授课经验,精心编写了本书。本书并不单纯从知识角度来讲解SQL Server数据库设计,而是从实践和解决开发问题的角度来介绍SQL Server数据库,在编写的过程中,注重把SQL Server数据库的重点、难点、要点和编程中常见的问题融合在一起进行讲解。
本书编写思路清晰、内容翔实、案例实用,详细介绍使用SQL Server数据库开发设计的方方面面。本书可作为计算机软件以及其他计算机相关专业的教材,也可以作为SQL Server数据库编程人员的参考书。
本书内容
全书共分14章,主要内容如下。
第1章 数据库和SQL Server 2016。本章从数据库的概念开始,简要介绍关系数据库及其范式。然后介绍SQL Server的发展史,并讲解SQL Server 2016的新特性和安装过程以及安装后的简单应用,最后介绍sqlcmd工具的使用。
第2章 管理SQL数据库。本章详细介绍如何管理SQL Server 2016数据库,如数据库的创建、数据库名称的修改、数据库的删除、数据库的组成部分等内容。在介绍这些内容前,首先需要了解SQL Server 2016的系统数据库。
第3章 管理SQL数据表。本章详细介绍SQL数据表的管理,主要介绍表的概念、特点,如何创建、删除、修改表结构,以及如何为表添加各种约束、键等内容。
第4章 SQL数据简单查询。本章介绍如何通过SELECT语句针对数据表的数据简单查询。
第5章 SQL高级查询。本章为读者介绍SQL Server的高级查询语句,首先从子查询开始介绍,然后再介绍如何实现多表连接查询、内连接查询、外连接查询、交叉连接查询等内容。第6章 T-SQL语言编程基础。本章详细介绍T-SQL语言编程基础的有关内容,首先从T-SQL的特点、语言分类开始介绍,接着依次介绍常量、变量、运算符、表达式、流程控制语句、内置函数、自定义函数、SQL注释等内容,最后以一个综合的实践案例结束本章。
第7章 XML查询技术。本章详细介绍SQL Server 2016中如何通过XML技术查询数据,主要内容包含XML数据类型、XML类型方法、XQuery技术、XML高级查询等。
第8章 视图和游标。本章详细介绍视图和游标,例如视图的分类、优缺点,以及如何创建、修改、删除和查看视图,游标的声明、打开、读取、关闭等内容。
第9章 存储过程。本章详细介绍存储过程的知识,例如存储过程的分类、常用的系统存储过程、无参存储过程和有参存储过程的创建与使用等。
第10章 触发器。本章主要介绍SQL Server 2016触发器,包含触发器的概念、分类、执行环境、创建语法、修改以及删除等多项内容。
第11章 SQL Server高级特性。本章详细介绍索引、事务、锁定的有关知识,包含索引作用、索引分类、创建索引、复合索引、修改索引、删除索引、事务的ACID属性、事务分类、事务处理语句、事务隔离级别、锁定粒度、锁定模式等多项内容。
第12章 数据库安全机制。SQL Server 2016提供了非常强大的内置安全性和数据库保护来实现数据安全,数据库安全机制涉及用户、角色、权限等多个与安全性有关的概念,本章将详细介绍这些知识。
第13章 数据库的备份和恢复。本章详细介绍数据库文件的备份和恢复操作,除此之外,还将提到数据附加和数据库复制操作。
第14章 医院预约挂号系统数据库设计。本章以医院网上预约系统为背景进行需求分析,然后在SQL Server 2016中实现。包括数据库的创建、创建表和视图,并在最后模拟实现常见业务的办理。
本书特色
本书中大量内容来自真实的程序范例,使读者更容易掌握SQL Server数据库的开发。本书难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。
知识点全
本书紧密围绕SQL Server数据库展开讲解,具有很强的逻辑性和系统性。
实例丰富
书中各实例均经过作者的精心设计和挑选,它们都是根据作者在实际开发中的经验总结而来,涵盖了实际开发中遇到的各种问题。
应用广泛
对于精选案例,给出了详细步骤,结构清晰简明,分析深入浅出,而且有些程序能够直接在项目中使用,避免读者进行二次开发。
基于理论,注重实践
在讲述过程中,不仅介绍理论知识,而且在合适位置安排综合应用实例,或者小型应用程序,将理论应用到实践中,来增强读者的实际应用能力,巩固学到的知识。
贴心的提示
为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下。
提示:通常是一些贴心的提醒,让读者加深印象或取得建议,或获得解决问题的方法。
注意:提出学习过程中需要特别注意的一些知识点和内容,或相关信息。
技巧:通过简短的文字,指出知识点在应用时的一些小窍门。
读者对象
本书适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。
● SQL Server 数据库开发入门者。
● SQL Server 数据库的初学者以及在校学生。
● 各大中专院校的在校学生和相关授课老师。
● 准备从事与SQL Server 数据库技术相关的人员。
本书由李艳丽、靳智良编著,其他参与编写的人员还有郑志荣、侯艳书、刘利利、侯政洪、肖进、李海燕、侯政云、祝红涛、崔再喜、贺春雷等,在此表示感谢。在本书的编写过程中,我们力求精益求精,但难免存在一些不足之处,敬请广大读者批评指正。
编 者