
0人評分過此書
PostgreSQL 9.6从零开始学:视频教学版
作者
:
出版日期
:
2018/04/01
閱讀格式
:
EPUB
ISBN
:
9787302496212
本書循序漸進地介紹PostgreSQL9.6數據庫系統管理與開發的相關基礎知識,並提供大量具體操作PostgreSQL9.6數據庫的示例。通過本書的學習,讀者可以完整地掌握PostgreSQL9.6的技術要點並具備系統管理與開發的基本技能。全書共分爲18章,主要內容包括PostgreSQL9.6的安裝與配置、數據庫的基本操作、數據表的基本操作、SQL語言基礎、輕鬆掌握SQL語句、認識函數、PostgreSQL查詢、數據的更新、創建和使用索引、事務和鎖、視圖操作、觸發器、PostgreSQL的安全機制、數據庫的備份與還原、高可用、負載均衡、數據複製、服務器配置與數據庫監控、內部結構等。同時,本書在大部分章節的後面提供典型習題,供讀者操作練習,從而加深理解。本書適合PostgreSQL9.6數據庫初學者學習,同時也適合想全面瞭解PostgreSQL9.6的數據庫系統管理與開發的人員閱讀。
- 封面页
- 书名页
- 版权页
- 内容简介
- 前言
- 目录
-
第1章 初识PostgreSQL
-
1.1 数据库基础
-
1.1.1 什么是数据库
-
1.1.2 表
-
1.1.3 数据类型
-
1.1.4 主键
-
1.1.5 什么是开源
-
-
1.2 数据库技术构成
-
1.2.1 数据库系统
-
1.2.2 SQL语言
-
1.2.3 数据库访问技术
-
-
1.3 什么是PostgreSQL
-
1.3.1 客户机-服务器软件
-
1.3.2 PostgreSQL发展历程
-
1.3.3 PostgreSQL的优势
-
-
1.4 如何学习PostgreSQL
-
-
第2章 PostgreSQL 9.6的安装与配置
-
2.1 PostgreSQL 9.6的新功能
-
2.2 安装与启动PostgreSQL 9.6
-
2.2.1 下载PostgreSQL 9.6安装包
-
2.2.2 安装PostgreSQL 9.6
-
2.2.3 启动PostgreSQL服务器
-
-
2.3 pgAdmin 4的基本操作
-
2.3.1 pgAdmin 4的启动与连接
-
2.3.2 pgAdmin 4的界面简介
-
2.3.3 配置PostgreSQL服务器的属性
-
2.3.4 执行SQL查询语句
-
-
2.4 常见问题及解答
-
疑问1:连接pgAdmin时提示“服务器未监听”的错误怎么办?
-
疑问2:如何修改服务器登录密码?
-
-
2.5 本章小结
-
2.6 经典习题
-
-
第3章 数据库的基本操作
-
3.1 创建数据库
-
3.1.1 使用对象浏览器创建数据库
-
3.1.2 使用SQL创建数据库
-
-
3.2 修改数据库的属性
-
3.2.1 使用对象浏览器修改数据库的属性
-
3.2.2 使用SQL语句修改数据库的属性
-
-
3.3 删除数据库
-
3.3.1 使用对象浏览器删除数据库
-
3.3.2 使用SQL语句删除数据库
-
-
3.4 综合案例——数据库的创建和删除
-
3.5 常见问题及解答
-
疑问1:如何使用SQL语句创建具有一定条件的数据库?
-
疑问2:使用DROP语句时需要注意什么问题?
-
-
3.6 经典习题
-
-
第4章 数据表的基本操作
-
4.1 创建数据表
-
4.1.1 创建数据表的基本方法
-
4.1.2 使用主键约束
-
4.1.3 使用外键约束
-
4.1.4 使用非空约束
-
4.1.5 使用唯一性约束
-
4.1.6 使用默认约束
-
-
4.2 修改数据表
-
4.2.1 修改表名
-
4.2.2 修改字段的数据类型
-
4.2.3 修改字段名
-
4.2.4 添加字段
-
4.2.5 删除字段
-
4.2.6 删除表的外键约束
-
-
4.3 删除数据表
-
4.3.1 删除没有被关联的表
-
4.3.2 删除被其他表关联的主表
-
-
4.4 综合案例——数据表的基本操作
-
4.5 常见问题及解答
-
疑问1:删除和修改表时需注意什么问题?
-
疑问2:每一个表中都要有一个主键吗?
-
-
4.6 经典习题
-
-
第5章 数据类型和运算符
-
5.1 PostgreSQL数据类型介绍
-
5.1.1 整数类型
-
5.1.2 浮点数类型
-
5.1.3 任意精度类型
-
5.1.4 日期与时间类型
-
5.1.5 字符串类型
-
5.1.6 二进制类型
-
5.1.7 布尔类型
-
5.1.8 数组类型
-
-
5.2 如何选择数据类型
-
5.3 常见运算符介绍
-
5.3.1 运算符概述
-
5.3.2 算术运算符
-
5.3.3 比较运算符
-
5.3.4 逻辑运算符
-
5.3.5 运算符的优先级
-
-
5.4 综合案例——运算符的使用
-
5.5 常见问题及解答
-
疑问1:PostgreSQL中可以存储文件吗?
-
疑问2:二进制和普通字符串的区别是什么?
-
-
5.6 经典习题
-
-
第6章 PostgreSQL函数
-
6.1 PostgreSQL函数简介
-
6.2 数学函数
-
6.2.1 绝对值函数ABS(x)和返回圆周率的函数PI()
-
6.2.2 平方根函数SQRT(x)和求余函数MOD(x,y)
-
6.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)
-
6.2.4 四舍五入函数ROUND(x)和ROUND(x,y)
-
6.2.5 符号函数SIGN(x)
-
6.2.6 幂运算函数POW(x,y)、POWER(x,y)和EXP(x)
-
6.2.7 对数运算函数LOG(x)
-
6.2.8 角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)
-
6.2.9 正弦函数SIN(x)和反正弦函数ASIN(x)
-
6.2.10 余弦函数COS(x)和反余弦函数ACOS(x)
-
6.2.11 正切函数TAN(x)、反正切函数ATAN(x)和余切函数COT(x)
-
-
6.3 字符串函数
-
6.3.1 计算字符串字符数和字符串长度的函数
-
6.3.2 合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…)
-
6.3.3 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)
-
6.3.4 填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2)
-
6.3.5 删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s)
-
6.3.6 删除指定字符串的函数TRIM(s1 FROM s)
-
6.3.7 重复生成字符串的函数REPEAT(s,n)
-
6.3.8 替换函数REPLACE(s,s1,s2)
-
6.3.9 获取子串的函数SUBSTRING(s,n,len)
-
6.3.10 匹配子串开始位置的函数POSITION(str1 IN str)
-
6.3.11 字符串逆序函数REVERSE(s)
-
-
6.4 日期和时间函数
-
6.4.1 获取当前日期的函数和获取当前时间的函数
-
6.4.2 获取当前日期和时间的函数
-
6.4.3 获取日期指定值的函数
-
6.4.4 日期和时间的运算操作
-
-
6.5 条件判断函数
-
6.6 系统信息函数
-
6.6.1 获取PostgreSQL版本号
-
6.6.2 获取用户名的函数
-
-
6.7 加密和解密函数
-
6.7.1 加密函数MD5(str)
-
6.7.2 加密函数ENCODE(str,pswd_str)
-
6.7.3 解密函数DECODE(crypt_str,pswd_str)
-
-
6.8 改变数据类型的函数
-
6.9 综合案例——PostgreSQL函数的使用
-
6.10 常见问题及解答
-
疑问1:如何从日期时间值中获取年、月、日等部分日期或时间值?
-
疑问2:如何计算年龄?
-
-
6.11 经典习题
-
-
第7章 插入、更新与删除数据
-
7.1 插入数据
-
7.1.1 为表的所有字段插入数据
-
7.1.2 为表的指定字段插入数据
-
7.1.3 同时插入多条记录
-
7.1.4 将查询结果插入表中
-
-
7.2 更新数据
-
7.3 删除数据
-
7.4 综合案例——记录的插入、更新和删除
-
7.5 常见问题及解答
-
疑问1:插入记录时可以不指定字段名称吗?
-
疑问2:更新或者删除表时必须指定WHERE子句吗?
-
-
7.6 经典习题
-
-
第8章 查询数据
-
8.1 基本查询语句
-
8.2 单表查询
-
8.2.1 查询所有字段
-
8.2.2 查询指定字段
-
8.2.3 查询指定记录
-
8.2.4 带IN关键字的查询
-
8.2.5 带BETWEEN AND的范围查询
-
8.2.6 带LIKE的字符匹配查询
-
8.2.7 空值查询
-
8.2.8 带AND的多条件查询
-
8.2.9 带OR的多条件查询
-
8.2.10 查询结果不重复
-
8.2.11 对查询结果排序
-
8.2.12 分组查询
-
8.2.13 用LIMIT限制查询结果的数量
-
-
8.3 使用集合函数查询
-
8.3.1 COUNT()函数
-
8.3.2 SUM()函数
-
8.3.3 AVG()函数
-
8.3.4 MAX()函数
-
8.3.5 MIN()函数
-
-
8.4 连接查询
-
8.4.1 内连接查询
-
8.4.2 外连接查询
-
8.4.3 复合条件连接查询
-
-
8.5 子 查 询
-
8.5.1 带ANY、SOME关键字的子查询
-
8.5.2 带ALL关键字的子查询
-
8.5.3 带EXISTS关键字的子查询
-
8.5.4 带IN关键字的子查询
-
8.5.5 带比较运算符的子查询
-
-
8.6 合并查询结果
-
8.7 为表和字段取别名
-
8.7.1 为表取别名
-
8.7.2 为字段取别名
-
-
8.8 使用正则表达式查询
-
8.8.1 查询以特定字符或字符串开头的记录
-
8.8.2 查询以特定字符或字符串结尾的记录
-
8.8.3 用“.”符号替代字符串中的任意一个字符
-
8.8.4 使用“*”和“+”匹配多个字符
-
8.8.5 匹配指定字符串
-
8.8.6 匹配指定字符中的任意一个
-
8.8.7 匹配指定字符以外的字符
-
8.8.8 使用{M}或者{M,N}指定字符串连续出现的次数
-
-
8.9 综合案例——数据表查询操作
-
8.10 常见问题及解答
-
疑问1:DISTINCT可以应用于所有列吗?
-
疑问2:ORDER BY可以和LIMIT混合使用吗?
-
疑问3:什么时候使用单引号?
-
疑问4:在WHERE子句中必须使用圆括号吗?
-
疑问5:为什么通配符格式正确却没有查找出符合条件的记录?
-
-
8.11 经典习题
-
-
第9章 索 引
-
9.1 索引简介
-
9.1.1 索引的含义和特点
-
9.1.2 索引的分类
-
9.1.3 索引的设计原则
-
-
9.2 创建索引
-
9.2.1 使用pgAdmin创建索引
-
9.2.2 使用SQL语句创建索引
-
-
9.3 重命名索引
-
9.4 删除索引
-
9.5 综合案例——创建索引
-
9.6 常见问题及解答
-
疑问1:应该如何正确使用索引?
-
疑问2:为什么尽量使用短索引?
-
-
9.7 经典习题
-
-
第10章 视 图
-
10.1 视图概述
-
10.1.1 视图的含义
-
10.1.2 视图的作用
-
-
10.2 创建视图
-
10.2.1 创建视图的语法形式
-
10.2.2 在单表上创建视图
-
10.2.3 在多表上创建视图
-
-
10.3 查看视图
-
10.3.1 使用pgAdmin图形化工具查看视图
-
10.3.2 使用SQL语句在views表中查看视图详细信息
-
-
10.4 删除视图
-
10.4.1 使用pgAdmin图形化工具删除视图
-
10.4.2 使用SQL语句删除视图
-
-
10.5 综合案例——视图应用
-
10.6 常见问题及解答
-
疑问1:PostgreSQL中视图和表的区别以及联系是什么?
-
疑问2:如何修改视图的属性?
-
-
10.7 经典习题
-
-
第11章 触 发 器
-
11.1 什么是触发器和触发器函数
-
11.2 创建触发器
-
11.3 查看和修改触发器
-
11.4 使用触发器
-
11.5 删除触发器
-
11.6 综合案例——触发器的使用
-
11.7 常见问题及解答
-
疑问1:使用触发器时应注意什么问题?
-
疑问2:为什么要及时删除不需要的触发器?
-
-
11.8 经典习题
-
-
第12章 事务处理与并发控制
-
12.1 事务管理简介
-
12.1.1 事务的含义
-
12.1.2 事务的属性
-
12.1.3 事务块管理的常用语句
-
12.1.4 事务的应用案例
-
-
12.2 PostgreSQL的并发控制
-
12.3 锁机制
-
12.3.1 锁的类型
-
12.3.2 死锁
-
12.3.3 锁的应用案例
-
-
12.4 常见问题及解答
-
疑问1:事务和锁在应用上的区别是什么?
-
疑问2:事务和锁有什么关系?
-
-
12.5 经典习题
-
-
第13章 PostgreSQL用户管理
-
13.1 组角色管理
-
13.1.1 创建组角色
-
13.1.2 查看和修改组角色
-
13.1.3 删除组角色
-
-
13.2 角色的各种权限
-
13.3 账户管理
-
13.3.1 创建用户
-
13.3.2 删除用户
-
13.3.3 修改用户密码
-
-
13.4 组角色和用户权限管理
-
13.4.1 对组角色授权
-
13.4.2 对用户授权
-
13.4.3 收回组角色权限
-
13.4.4 收回用户权限
-
-
13.5 数据库权限管理
-
13.5.1 修改数据库的拥有者
-
13.5.2 增加用户的数据表权限
-
-
13.6 综合案例——综合管理用户权限
-
13.7 常见问题及解答
-
疑问1:如何撤销用户对数据表的操作权限?
-
疑问2:组角色和登录角色之间的区别是什么?
-
疑问3:如何使用超级用户权限?
-
-
13.8 经典习题
-
-
第14章 数据备份与还原
-
14.1 数据备份
-
14.1.1 使用pgAdmin 4备份数据库
-
14.1.2 使用pg_dump工具备份数据库
-
14.1.3 使用pg_dumpall工具备份整个服务器的数据库
-
-
14.2 数据还原
-
14.2.1 使用pgAdmin 4还原数据库
-
14.2.2 使用psql还原数据库
-
14.2.3 使用pg_restore快速还原数据库
-
-
14.3 数据库迁移
-
14.3.1 相同版本的PostgreSQL数据库之间的迁移
-
14.3.2 不同版本的PostgreSQL数据库之间的迁移
-
14.3.3 不同类型数据库之间的迁移
-
-
14.4 综合案例——数据的备份与恢复
-
14.5 常见问题及解答
-
疑问1:pgdump备份的文件只能在PostgreSQL中使用吗?
-
疑问2:使用pgAdmin恢复数据库时需要注意什么问题?
-
-
14.6 经典习题
-
-
第15章 性能优化
-
15.1 优化简介
-
15.2 优化查询
-
15.2.1 分析查询语句EXPLAIN
-
15.2.2 索引对查询速度的影响
-
15.2.3 优化子查询
-
-
15.3 优化数据库结构
-
15.3.1 将字段很多的表分解成多个表
-
15.3.2 增加中间表
-
15.3.3 增加冗余字段
-
15.3.4 优化插入记录的速度
-
15.3.5 分析表的统计信息
-
-
15.4 优化PostgreSQL服务器
-
15.4.1 优化服务器硬件
-
15.4.2 优化PostgreSQL的参数
-
-
15.5 综合案例——优化PostgreSQL服务器
-
15.6 常见问题及解答
-
疑问1:是不是索引建立得越多越好?
-
疑问2:如何更新缓冲区的缓冲?
-
-
15.7 经典习题
-
-
第16章 高可用、负载均衡和数据复制
-
16.1 常见的数据同步解决方案
-
16.2 日志传送备用服务器
-
16.2.1 日志传送概述
-
16.2.2 设置备用服务器
-
-
16.3 数据的流复制
-
16.3.1 流复制概述
-
16.3.2 身份验证
-
-
16.4 数据的同步复制
-
16.4.1 同步复制概述
-
16.4.2 同步复制的应用案例
-
-
16.5 常见问题及解答
-
疑问1:如何监控系统中锁的情况?
-
疑问2:什么是数据分区?
-
-
-
第17章 服务器配置与数据库监控
-
17.1 服务器配置
-
17.1.1 服务器配置的文件
-
17.1.2 连接与认证
-
17.1.3 资源消耗
-
17.1.4 预写式日志
-
17.1.5 查询规划
-
17.1.6 错误报告和日志
-
17.1.7 运行时统计
-
17.1.8 自动清理
-
17.1.9 客户端连接配置
-
17.1.10 锁管理
-
17.1.11 版本和平台兼容性
-
-
17.2 监控数据库的活动
-
17.2.1 配置统计收集器
-
17.2.2 查看收集到的统计信息
-
-
17.3 监控磁盘的使用
-
17.3.1 监控磁盘的使用量
-
17.3.2 磁盘满导致的失效
-
-
17.4 综合实战——查看监控磁盘的使用情况
-
17.5 常见问题及解答
-
疑问1:当服务器配置出现冲突时采用什么优先级?
-
疑问2:为什么有时磁盘没有写满性能却很差?
-
-
-
第18章 内部结构
-
18.1 PostgreSQL的内部概述
-
18.1.1 查询经过的路径
-
18.1.2 建立连接
-
18.1.3 分析器阶段
-
18.1.4 PostgreSQL规则系统
-
18.1.5 规划器/优化器
-
18.1.6 执行器
-
-
18.2 PostgreSQL的内部系统表
-
18.2.1 数据表
-
18.2.2 系统视图
-
-
18.3 PostgreSQL的内部前端/后端协议
-
18.3.1 概述
-
18.3.2 消息流
-
18.3.3 消息数据类型
-
18.3.4 消息格式
-
18.3.5 错误和通知消息字段
-
-
18.4 PostgreSQL的编码约定
-
18.4.1 格式
-
18.4.2 报告服务器里的错误
-
18.4.3 错误消息风格指南
-
-
18.5 基因查询优化器
-
18.5.1 作为复杂优化问题的查询处理
-
18.5.2 基因算法
-
18.5.3 PostgreSQL里的基因查询优化
-
-
18.6 索引访问方法接口定义
-
18.6.1 索引的系统表记录
-
18.6.2 索引访问方法函数
-
18.6.3 索引扫描
-
18.6.4 索引唯一性检查
-
18.6.5 索引开销估计函数
-
-
18.7 GiST索引
-
18.7.1 GiST简介
-
18.7.2 可扩展性
-
18.7.3 实现方法
-
-
18.8 数据库物理存储
-
18.8.1 数据库文件布局
-
18.8.2 TOAST
-
18.8.3 数据库分页文件
-
-
18.9 BKI后端接口
-
18.9.1 BKI文件格式
-
18.9.2 BKI命令
-
18.9.3 系统初始化的BKI文件结构
-
18.9.4 例子
-
-
18.10 常见问题及解答
-
疑问1:什么是GIN索引?
-
疑问2:使用索引锁需要注意什么?
-
-
- 出版地 : 中國大陸
- 語言 : 簡體中文
評分與評論
請登入後再留言與評分