作品简介

本书是一本独特的数据库入门书,以最有效的教学思路讲解数据库的每一个知识点,完全以初学者的思维方式提出疑问再深入答疑。这也许不是一本传统的教科书,但绝对是自学数据库的首选书籍。本书采用【老田、小天】二人对话的形式讲解,其中不乏诙谐幽默的问题和解答,避免对知识点生搬硬套。 通过学习本书,你能够在嬉笑怒骂的环境中轻松掌握数据存储原理、数据库设计技巧以及大量数据库编程的实战经验,更重要的是能够掌握一种优秀的学习方法、决问题的思路和思考的方式。这些经验和技巧得益于我和邹老师两人加起来近25年的项目开发和教育培训经历。

本书第一部分对于数据库的创建、备份、配置、安全等做详细介绍,通过这部分学习,可以掌握关系数据库的基础,以及对数据库的日常维护操作;本书第二部分对于分析项目需求,创建表,然后使用T-SQL语句和存储过程对表中数据做各种操作等做详细讲解,通过这一部分的学习,可以掌握对数据库的基本应用,熟练使用T-SQL语言建库、建表、T-SQL查询、高级检索、存储过程、性能优化技巧等; 读者对象:希望靠一本书从头到尾自学的零基础学员;培训讲师的备课资料,因为这本书总结了我们培训过程所遇到的问题和学生会问的问题、有疑虑的地方;自觉性不高的学员。

田洪川,2010年获得中电科三十集团下属国信安投资,创办学云网,2007年进入成都国信安,完成本科授课、社招培训班授课、企业培训授课、实训授课千余次,2002年进入绵阳新潮集团,从程序员一直干到技术总监(期间换过公司),1999年开始守网吧,自学编程,1996年初中毕业:卖馒头、端盘子洗碗、小混混、搞传销。

邹茂杨,从业13年,一直从事数据库开发与教学研究。任职于成都信息工程学院之前,曾经在成都微软技术中心等多家公司工作。主持或参与过国家级科研项目2项,省级科研项目1项,市区级科研项目3项,校级科研项目1项,参与商业项目和产品的研发推广数十项。研究教学规律、负责教改工作2项。2011年作为访问学者在美国TROY大学访问半年。

作品目录

  • 大话数据库
  • 前言
  • 第一部分 关系型数据库基础
  • 第1章 概 述
  • 1.1 什么是数据库
  • 1.2 为什么要使用数据库
  • 1.3 数据库的基本概念
  • 1.4 数据库的历史
  • 1.5 关系数据库
  • 1.6 为什么选择SQL Server
  • 1.7 SQL语言
  • 1.8 SQL标准
  • 1.9 10分钟探索IDE
  • 1.9.1 启动和登录SQL Server Management Studio
  • 1.9.2 修改登录验证模式
  • 1.9.3 注册数据库服务器
  • 1.9.4 修改数据库服务器属性
  • 1.9.5 启动和停止服务器
  • 1.9.6 创建查询
  • 1.9.7 使用指定数据库
  • 本 章 小 结
  • 问 题
  • 第2章 创建和维护数据库
  • 2.1 系统数据库
  • 2.1.1 修改系统数据
  • 2.1.2 查看系统数据
  • 2.2 创建数据库
  • 2.2.1 使用Transact-SQL语句创建数据库
  • 2.2.2 查看数据库文件属性
  • 2.3 数据库文件和文件组
  • 2.3.1 数据库文件的类型
  • 2.3.2 文件组
  • 2.3.3 删除数据库文件
  • 2.3.4 管理文件组
  • 2.3.5 文件组的填充策略
  • 2.3.6 优化数据库的策略
  • 2.3.7 文件状态
  • 2.4 数据库状态和选项
  • 2.5 查看数据库
  • 2.6 删除数据库
  • 2.7 修改数据库
  • 2.7.1 修改数据库名称
  • 2.7.2 扩展数据库
  • 2.7.3 收缩数据库
  • 2.8 数据库快照
  • 2.8.1 数据库快照的应用
  • 2.8.2 数据库快照的原理
  • 2.8.3 管理数据库快照
  • 2.9 分离和附加数据库
  • 2.9.1 分离数据库
  • 2.9.2 附加数据库
  • 2.10 移动数据库文件
  • 2.11 移动和复制数据库
  • 2.12 备份和还原数据库
  • 2.12.1 备份数据库
  • 2.12.2 还原数据库
  • 本 章 小 结
  • 问 题
  • 第二部分 设计、实现和使用数据库
  • 第3章 Transact-SQL语言
  • 3.1 SQL与Transact-SQL语言概述方式
  • 3.2 Transact-SQL语言的执行方式与调试
  • 3.2.1 调试代码
  • 3.2.2 调试Transact-SQL代码
  • 3.3 数据定义语言(DDL)
  • 3.4 数据操纵语言(DML)
  • 3.5 数据库控制语言(DCL)
  • 3.6 附加的语言元素
  • 3.6.1 标识符和命名规范
  • 3.6.2 局部变量
  • 3.6.3 全局变量
  • 3.6.4 运算符
  • 3.6.5 表达式
  • 3.6.6 注释
  • 3.7 数 据 类 型
  • 3.7.1 字符数据类型
  • 3.7.2 数字数据类型
  • 3.7.3 日期和时间数据类型
  • 3.7.4 二进制数据类型
  • 3.7.5 其他数据类型
  • 3.7.6 用户自定义数据类型
  • 3.8 内 置 函 数
  • 3.8.1 概述
  • 3.8.2 如何查看SQL Server帮助中的语法
  • 3.8.3 如何使用函数
  • 3.8.4 函数类型
  • 本 章 小 结
  • 问 题
  • 第4章 创建与维护表
  • 4.1 概 述
  • 4.2 设计表时应该考虑的因素
  • 4.3 E-R模型
  • 4.3.1 概述
  • 4.3.2 属性和主键
  • 4.3.3 外键
  • 4.3.4 联系
  • 4.3.5 关系规范化
  • 4.4 利用PowerDesigner设计数据库
  • 4.4.1 PowerDesigner说明和模型设置
  • 4.4.2 创建概念数据模型实体
  • 4.4.3 创建概念数据模型关系
  • 4.4.4 从概念数据模型到生成物理数据模型
  • 4.4.5 创建物理数据模型
  • 4.4.6 更新已有的物理数据模型
  • 4.4.7 生成数据库脚本
  • 4.5 表的基本特点和类型
  • 4.5.1 表的特点
  • 4.5.2 表的类型
  • 4.6 创建和修改表
  • 4.6.1 创建普通表
  • 4.6.2 创建临时表
  • 4.6.3 创建分区表
  • 4.6.4 增加和删除列
  • 4.6.5 修改列
  • 4.6.6 创建和修改列标识符
  • 4.6.7 查看表信息
  • 4.6.8 删除表
  • 4.7 约 束
  • 4.7.1 主键约束
  • 4.7.2 外键约束
  • 4.7.3 NOT NULL约束
  • 4.7.4 DEFAULT约束
  • 4.7.5 CHECK约束
  • 4.7.6 UNIQUE约束
  • 4.7.7 禁止与删除约束
  • 本 章 小 结
  • 问 题
  • 第5章 操作表中的数据
  • 5.1 准 备 工 作
  • 5.2 插 入 语 句
  • 5.2.1 简单的插入语句
  • 5.2.2 批量插入语句
  • 5.3 检 索 数 据
  • 5.3.1 选择数据列
  • 5.3.2 使用文字串
  • 5.3.3 改变列标题
  • 5.3.4 数据运算
  • 5.3.5 使用ALL与DISTINCT关键字
  • 5.3.6 使用TOP关键字
  • 5.3.7 排序
  • 5.4 WHERE子句
  • 5.4.1 简单条件查询
  • 5.4.2 模糊查询
  • 5.4.3 复合条件查询
  • 5.4.4 使用IN子句
  • 5.4.5 使用BETWEEN子句
  • 5.4.6 空值与非空值
  • 5.5 修 改 语 句
  • 5.6 删 除 语 句
  • 本 章 小 结
  • 问 题
  • 第6章 高级检索技术
  • 6.1 聚 合 技 术
  • 6.1.1 SELECT子句中的聚合
  • 6.1.2 COMPUTE子句中的聚合
  • 6.2 分 组 数 据
  • 6.2.1 普通分组
  • 6.2.2 使用HAVING子句
  • 6.2.3 使用ROLLUP和CUBE
  • 6.3 联 合 查 询
  • 6.4 连 接 查 询
  • 6.4.1 内连接
  • 6.4.2 外连接
  • 6.4.3 交叉连接
  • 6.4.4 自连接
  • 6.5 子查询技术
  • 6.5.1 使用 IN和NOT IN 的子查询
  • 6.5.2 ANY、ALL等比较运算符的使用
  • 6.5.3 使用EXISTS关键字
  • 6.5.4 子查询的规则
  • 本 章 小 结
  • 问 题
  • 阶 段 作 业
  • 第7章 索 引
  • 7.1 概 述
  • 7.1.1 表组织
  • 7.1.2 堆
  • 7.1.3 B树
  • 7.2 索引的优缺点
  • 7.3 索引的类型
  • 7.3.1 聚集索引
  • 7.3.2 非聚集索引
  • 7.4 索引的属性
  • 7.4.1 唯一性索引
  • 7.4.2 复合索引
  • 7.5 创 建 索 引
  • 7.5.1 使用向导创建索引
  • 7.5.2 使用CREATE INDEX语句创建索引
  • 7.5.3 索引的选项
  • 7.6 维 护 索 引
  • 7.6.1 查看索引碎片
  • 7.6.2 重建索引
  • 7.6.3 统计信息
  • 7.6.4 查看索引
  • 7.6.5 修改索引
  • 7.6.6 删除索引
  • 本 章 小 结
  • 问 题
  • 第8章 视 图
  • 8.1 概 述
  • 8.1.1 为什么需要视图
  • 8.1.2 什么是视图
  • 8.2 视图的优缺点
  • 8.3 创 建 视 图
  • 8.3.1 创建视图的基本原则
  • 8.3.2 使用SQL Server Management Studio创建视图
  • 8.3.3 使用Transact-SQL 命令创建视图
  • 8.4 使 用 视 图
  • 8.5 查 看 视 图
  • 8.6 加 密 视 图
  • 8.7 修 改 视 图
  • 8.8 删 除 视 图
  • 8.9 重命名视图
  • 8.10 通过视图更新数据
  • 8.10.1 通过视图插入数据
  • 8.10.2 使用UPDATE修改数据
  • 本 章 小 结
  • 问 题
  • 第9章 SQL编程及高级应用
  • 9.1 概 述
  • 9.2 流程控制语句
  • 9.2.1 IF…ELSE…语句
  • 9.2.2 BEGIN…END语句
  • 9.2.3 GOTO语句
  • 9.2.4 WHILE BREAK和CONTINUE语句
  • 9.2.5 CASE语句
  • 9.2.6 WAITFOR语句
  • 9.3 游 标
  • 9.3.1 游标的类型
  • 9.3.2 选择游标类型的原则
  • 9.3.3 游标的生命周期
  • 9.3.4 实现Transact-SQL游标
  • 9.4 用户自定义函数
  • 9.4.1 创建用户自定义函数的思考
  • 9.4.2 用户自定义函数的分类
  • 9.4.3 创建及使用用户自定义函数
  • 9.4.4 维护用户自定义函数
  • 本 章 小 结
  • 问 题
  • 第10章 存 储 过 程
  • 10.1 概 述
  • 10.2 存储过程的优点
  • 10.3 存储过程的分类
  • 10.3.1 系统存储过程
  • 10.3.2 API存储过程
  • 10.3.3 用户自定义存储过程
  • 10.4 创建存储过程
  • 10.4.1 创建存储过程应考虑的因素
  • 10.4.2 创建存储过程的语法
  • 10.4.3 创建不带参数的存储过程
  • 10.4.4 创建带参数的存储过程
  • 10.4.5 创建返回值的存储过程
  • 10.4.6 创建带有OUTPUT参数的存储过程
  • 10.4.7 使用SQL Server Management Studio创建存储过程
  • 10.5 维护存储过程
  • 10.5.1 查看存储过程信息
  • 10.5.2 加密存储过程
  • 10.5.3 修改、删除存储过程
  • 10.6 存储过程进阶知识
  • 10.6.1 存储过程的执行过程
  • 10.6.2 存储过程命名
  • 本 章 小 结
  • 问 题
  • 第11章 触 发 器
  • 11.1 概 述
  • 11.1.1 触发器与约束规则
  • 11.1.2 触发器的优缺点
  • 11.2 触发器的分类
  • 11.2.1 DDL触发器
  • 11.2.2 登录触发器
  • 11.2.3 DML触发器
  • 11.3 创建触发器
  • 11.3.1 创建DDL触发器
  • 11.3.2 可触发DDL触发器的事件
  • 11.3.3 维护触发器
  • 11.4 创建DML触发器
  • 11.4.1 创建DML触发器的语法
  • 11.4.2 创建DML触发器需要考虑的因素
  • 11.4.3 创建DML触发器
  • 11.5 DML触发器嵌套
  • 本 章 小 结
  • 问 题
  • 第12章 事 务 和 锁
  • 12.1 事 务 概 述
  • 12.1.1 概念
  • 12.1.2 属性
  • 12.2 创 建 事 务
  • 12.2.1 使用事务考虑的因素
  • 12.2.2 事务的声明和提交
  • 12.2.3 事务的回滚
  • 12.2.4 查看当前执行中的事务
  • 12.2.5 事务的嵌套
  • 12.3 事务的工作原理
  • 12.4 锁定和行版本控制
  • 12.5 锁定的分类
  • 12.6 锁的自动优化
  • 12.6.1 升级阈值
  • 12.7 死 锁
  • 12.7.1 死锁的概念
  • 12.7.2 产生死锁的主要原因和必要条件
  • 12.7.3 减少和预防死锁
  • 12.7.4 检测死锁
  • 12.7.5 设置锁的优先级
  • 本 章 小 结
  • 问 题
  • 第13章 全 文 索 引
  • 13.1 概 述
  • 13.2 全文索引概念
  • 13.2.1 全文索引与查询
  • 13.2.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.4.5 填充全文索引
  • 13.5 使用全文索引
  • 13.5.1 使用全文谓词CONTAINS和FREETEXT查询概述
  • 13.5.2 使用CONTAINS谓词的简单搜索
  • 13.5.3 使用CONTAINS谓词的派生词搜索
  • 13.5.4 使用CONTAINS谓词的前缀词搜索
  • 13.5.5 使用CONTAINS谓词的邻近词搜索
  • 13.5.6 使用CONTAINS谓词的加权词搜索
  • 13.5.7 使用FREETEXT查询
  • 13.5.8 使用CONTAINSTABLE函数搜索
  • 13.5.9 使用FREETEXTTABLE函数搜索
  • 13.6 检索二进制列
  • 本 章 小 结
  • 问 题
  • 结 束 语
展开全部