新書推薦:
《
以爱为名的支配
》
售價:NT$
286.0
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:NT$
245.0
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
《
新时代硬道理 广东寻路高质量发展
》
售價:NT$
352.0
《
6S精益管理实战(精装版)
》
售價:NT$
458.0
《
异域回声——晚近海外汉学之文史互动研究
》
售價:NT$
500.0
《
世界文明中的作物迁徙:聚焦亚洲、中东和南美洲被忽视的本土农业文明
》
售價:NT$
454.0
《
无端欢喜
》
售價:NT$
347.0
|
編輯推薦: |
培养SQL从业者的技能
三十多年来,数据科学家、程序员和其他技术人员一直使用SQL数据库来收集、检索和修改数据。由于SQL的普遍应用,与其交互仍然是数据科学家、商业智能分析师、云工程师、机器学习程序员等众多从业者日常工作中不可或缺的一部分。
《SQL职场》为读者详述了处理各类SQL数据所需的基本技能。通过“边做边学”这种简明直观的教学方式,让读者轻松掌握SQL的基础知识,并能在实际工作环境和场景中快速而高效地将其应用。书中的每一课都详细阐述了关键概念,并配备了与SQL任务紧密相关的实践练习,以帮助读者巩固所学的内容。
读者将学习有关SQL数据库创建和管理的基础知识,深入了解数据工程和数据科学背后的基本概念,并进一步熟悉更高级的概念,如数据定义语言(DDL)命令和数据操纵语言(DML)命令等。同时,本书还提供了实用的SQL查询参考和便捷的操作指南。
|
內容簡介: |
主要内容
● 探索关系数据库和SQL
● 安装MySQL服务器
● 处理SQL数据
● 连接SQL数据库
● 通过Python、Java和其他语言与SQL交互
● 常见和有用的SQL术语
● 构建和规范化SQL示例数据库
|
關於作者: |
Kimberly A. Weiss是Wiley Edge课程运营的高级经理。她与多所大学以及企业培训机构合作,针对软件开发课程为学员设计成功的交互式教学
案例。
Haythem Balti博士是Wiley Edge的副院长。他创建了许多门课程,供数千个软件协会和Wiley Edge(前身为mthree)校友使用,以学习SQL、Go、Java、Python和其他编程语言及数据科学技能。
|
目錄:
|
第I部分 数据库概念介绍
第1课 探索关系数据库和SQL 3
1.1 保存数据 3
1.2 什么是数据库 4
1.2.1 使用数据库 4
1.2.2 数据与信息 5
1.2.3 结构化和非结构化 6
1.2.4 数据库和数据库管理系统 6
1.3 关系数据库概念 7
1.4 ACID规则 9
1.4.1 ACID属性 10
1.4.2 数据库和日志文件 12
1.5 实体完整性 13
1.5.1 确保唯一性 13
1.5.2 查找记录 14
1.6 备份策略 15
1.7 本课小结 16
1.8 本课练习 17
第2课 应用范式 18
2.1 什么是范式 18
2.1.1 数据冗余是个问题 19
2.1.2 减少存储空间 20
2.1.3 功能依赖 20
2.2 规范数据 21
2.3 第一范式 22
2.3.1 没有从上到下或从左到右的排序关系 22
2.3.2 每行都能被唯一标识 22
2.3.3 每个单元格只包含一个值 23
2.3.4 第一范式总结 24
2.4 第二范式 25
2.4.1 规范化到1NF 26
2.4.2 复合键 27
2.4.3 第二范式总结 30
2.5 第三范式 32
2.6 去规范化 34
2.7 本课小结 36
2.8 本课练习 37
第3课 创建实体-关系图 41
3.1 使用ERD 41
3.2 ERD组件 44
3.2.1 创建表 45
3.2.2 添加列 46
3.2.3 添加键标识符 47
3.2.4 加入其他表 47
3.2.5 显示关系 49
3.3 数据库的ERD 51
3.4 多对多关系 51
3.5 本课小结 52
3.6 本课练习 53
第4课 动手练习:规范化黑胶唱片商店数据库 56
4.1 黑胶唱片商店数据概览 57
4.2 第1步:识别实体和属性 58
4.3 第2步:1NF 59
4.3.1 确定主键 60
4.3.2 解析带有多个值的列 61
4.3.3 规范化歌曲(song)实体 63
4.3.4 第2步的结果 65
4.4 第3步:2NF 66
4.5 第4步:3NF 67
4.5.1 第4步的结果 68
4.5.2 3NF的ERD 69
4.6 第5步:确定最终结构 70
4.7 最后一步 71
4.8 本课小结 73
第II部分 应用SQL
第5课 使用MySQL服务器 77
5.1 MySQL安装 77
5.1.1 第1步:获得下载文件 78
5.1.2 第2步:跳过登录 79
5.1.3 第3步:开始安装 79
5.1.4 第4步:工具选择 80
5.1.5 第5步:产品配置 81
5.1.6 第6步:MySQL Router配置 86
5.2 MySQL Notifier 90
5.3 命令行接口 91
5.4 MySQL Workbench入门 92
5.4.1 使用MySQL Workbench 93
5.4.2 运行测试命令 96
5.5 本课小结 96
5.6 本课练习 97
第6课 深入了解SQL 99
6.1 SQL简介 99
6.2 SQL语法 100
6.2.1 分号 101
6.2.2 换行和缩进 101
6.2.3 字母大小写 102
6.2.4 逗号 103
6.2.5 空格 104
6.2.6 引号 104
6.2.7 拼写问题 104
6.3 处理空值 105
6.3.1 null与0 105
6.3.2 可以为空的列 106
6.3.3 空值的后果 107
6.4 使用索引 110
6.4.1 主存储与辅助存储 111
6.4.2 索引列 112
6.5 本课小结 114
6.6 本课练习 114
第7课 使用DDL进行数据库管理 116
7.1 数据库管理 117
7.1.1 创建新的数据库 117
7.1.2 列出已经存在的数据库 118
7.1.3 使用数据库 119
7.1.4 删除一个现有的数据库 119
7.2 MySQL数据类型 120
7.2.1 数据类型 120
7.2.2 数字数据类型 121
7.2.3 字符串类型 122
7.2.4 日期/时间类型 123
7.3 管理MySQL中的表 123
7.3.1 创建表 124
7.3.2 展示现有表 126
7.3.3 查看表 127
7.3.4 更改表 127
7.3.5 删除表 130
7.3.6 总结book表的变化 131
7.4 管理MySQL中的关系 131
7.4.1 定义外键 132
7.4.2 实体完整性 133
7.4.3 参照完整性 133
7.4.4 参照完整性的解决方案 134
7.5 本课小结 136
7.6 本课练习 136
第8课 动手练习:创建黑胶唱片商店数据库 143
8.1 步骤1:检查数据库结构并组织表 144
8.1.1 组织表 145
8.1.2 创建脚本文件 146
8.2 步骤2:创建数据库 147
8.3 步骤3:创建主要表 148
8.3.1 列的顺序 149
8.3.2 自己动手实践 150
8.4 步骤4:创建相关表 151
8.4.1 创建song表 151
8.4.2 创建songAlbum表 153
8.4.3 自行创建bandArtist表 154
8.5 步骤5:完善脚本 154
8.6 本课小结 156
第III部分 数据管理与操作
第9课 应用CRUD:基本数据管理与操作 161
9.1 数据操作语言 161
9.2 创建数据库 162
9.2.1 构建数据库 164
9.2.2 检查数据库是否存在 165
9.3 插入数据 165
9.3.1 插入数据时,不给出列的名称 166
9.3.2 插入数据时,给出列的名称 166
9.3.3 更好的选择 167
9.3.4 一次插入多条记录 168
9.3.5 不按顺序增加自动递增值 169
9.3.6 插入外键 170
9.4 更新数据 172
9.4.1 更新一行 172
9.4.2 在更新之前进行预览 173
9.4.3 更新多条记录 173
9.4.4 禁用SQL_SAFE_UPDATES 175
9.5 删除数据 176
9.6 本课小结 180
9.7 本课练习 180
第10课 使用SELECT进行查询 183
10.1 设置数据库 183
10.2 使用SELECT关键字 186
10.2.1 对单个表使用SELECT 187
10.2.2 使用SELECT* 188
10.3 使用WHERE子句 189
10.3.1 过滤数值 192
10.3.2 过滤日期 193
10.3.3 模式匹配文本 194
10.3.4 NULL:“十亿美元级别的错误” 196
10.4 执行计算 198
10.5 本课小结 200
10.6 本课练习 200
第11课 使用连接 210
11.1 从schema开始 210
11.2 从多个表中获取数据 212
11.3 使用JOIN子句 214
11.4 INNER JOIN 215
11.4.1 可选的语法元素 216
11.4.2 多表连接 218
11.4.3 INNER JOIN的限制 221
11.5 OUTER JOIN: LEFT、RIGHT和FULL 222
11.6 SELF-JOIN和别名 228
11.7 CROSS JOIN 231
11.8 本课小结 232
11.9 本课练习 232
第12课 对查询结果进行排序和过滤 237
12.1 使用ORDER BY 238
12.1.1 按照单个列排序 238
12.1.2 按照多个列排序 239
12.1.3 改变列的顺序 242
12.2 使用LIMIT 244
12.3 使用 DISTINCT 246
12.4 本课小结 247
12.5 本课练习 247
第13课 分组和聚合 252
13.1 聚合函数 252
13.2 使用GROUP BY 254
13.2.1 分组和多列 256
13.2.2 添加DISTINCT 258
13.3 使用HAVING 259
13.4 SELECT语句运行的顺序 261
13.5 其他示例 262
13.6 本课小结 264
13.7 本课练习 265
第14课 动手练习:向黑胶唱片商店数据库添加数据 272
14.1 组织表 273
14.2 创建脚本文件 274
14.3 插入数据 275
14.3.1 什么是平面文件 275
14.3.2 通过SQL插入数据 275
14.3.3 更新记录 280
14.4 导入CSV数据 281
14.4.1 设置MySQL 282
14.4.2 准备CSV文件 284
14.4.3 导入文件 289
14.5 向脚本中添加数据 296
14.6 测试脚本 298
14.7 总结黑胶唱片商店的脚本 298
14.8 本课小结 299
第15课 深入探讨高级SQL主题 300
15.1 添加子查询 300
15.1.1 IN运算符与子查询 301
15.1.2 将子查询用作表 302
15.1.3 将子查询用作值 303
15.2 使用视图 304
15.3 理解事务 305
15.3.1 事务的示例 306
15.3.2 ACID 307
15.4 schema优化 309
15.4.1 选择最佳的数据类型 310
15.4.2 索引 312
15.5 本课小结 314
15.6 本课练习 314
附录A 使用Python应用SQL的附加课程 318
附录B SQL快速参考 341
|
內容試閱:
|
关 于 本 书
现代计算机应用程序严重依赖数据库,即使该程序不是专门用于帮助用户管理数据。电脑游戏也依赖数据库来跟踪角色、角色属性、角色在游戏过程中可以使用的物品,以及游戏中的位置。学习管理系统(learning management system,LMS)使用数据库来跟踪学员、教师、内容、成绩、出勤率及用户间的通信。
数据库可以包括结构化数据和非结构化数据。托管数据库的现代数据库软件程序通常可以同时处理结构化数据和非结构化数据,但理解它们之间的区别仍然是有益的。
带有结构化数据的数据库,称为结构化数据库,数据以特定的模式组织。通过它可以方便地管理数据,并轻松地查找所需数据。在结构化数据库中,开发人员可以限制存储在数据库中的数据类型,以提高数据的完整性并减少数据冗余。这是一种权衡,因为与在非结构化数据库中创建和访问数据相比,在结构化数据库中创建新数据和访问存储的数据相对较慢。结构化数据库最适合用于存储可预测数据类型的数据集合,如银行账户、人事记录和库存。
关系数据库中存储的是结构化数据,它们将数据组织成一个或多个表或关系,其中,每个表表示一组逻辑数据。在日常的专业工作中,我们通常使用“表”一词来描述。“关系”是正式的学术术语,如果在其他环境中阅读有关数据库的内容,则可能会遇到它。“关系”也是关系数据库的基础。在更抽象的层面上,术语“实体”也用于指代“表”,特别是在数据库设计阶段和在服务器上构建数据库之前。
本书旨在使读者了解关系数据库和结构化查询语言(SQL)。SQL是一门特定领域的语言,专门用于处理关系数据库管理系统中存储的数据。
本书中的SQL课程
本书包括了一门完整的SQL课程,该课程由Wiley Edge Global Academy和Software Guild用来培训我们的校友学习SQL和其他主题,如数据分析和数据科学。
如何充分利用本书
当你阅读本书时,请查看代码清单并尝试运行代码清单。如果你也采取动手实践的方式来做练习,则将能够更好地把所学知识提升到下一个水平。
最重要的是,本书(以及Job Ready系列)超越了许多书籍所提供的内容,它包括一些课程,帮助你将所学的一切知识有机地整合起来,更贴近工作中的实践方式。如果你通过“整合一切”的课程进行学习,那么你将能更好地为那些需要SQL技能的工作做好准备。
本书主要内容
如前所述,本书是一门完整的 SQL 编程课程。它被分为三个部分,每个部分都包括多节课。
第I部分:数据库概念介绍 本书的第I部分的重点是介绍数据库概念,包括结构化数据和非结构化数据,以及关系数据库概念。
第 II 部分:应用 SQL 本书的第II部分的重点是帮助你安装和设置MySQL,以便能够使用它。这包括安装MySQL和设置在本书中需要使用的工具。此外,本部分还介绍了MySQL的基础知识,包括查询设计和开发,以及数据库管理的基础知识。
第III部分:数据管理与操作 本书的第III部分的重点是超越MySQL的基础知识,关注学习设计和开发复杂数据库,以及对存储在MySQL上的数据进行高级查询所需的概念。这包括 CRUD(创建、检索、更新、删除)操作、连接操作、选择查询、排序和聚合。此外,本部分还包括如何利用 Python 来查询SQL数据的内容。
配套文件下载
在学习本书的示例时,应该手动输入所有代码,这有助于学习并更好地理解代码的功能。
在某些课程中,需要下载一些文件,下载地址为www.wiley.com/go/ jobreadysql,也可通过扫描本书封底的二维码下载。
|
|