图书目录

                                                   

      

                                                                                  目录 

                                                                               CONTENTS 

      

      

      

第  1 章  数据库与数据管理.............................................................................................................. 1 

        微课视频     10 分钟 

    1.1   数据库   ........................................................................................................................................ 1 

         1.1.1  基本概念.......................................................................................................................1 

         1.1.2  数据库管理系统............................................................................................................2 

         1.1.3  数据库应用系统............................................................................................................3 

         1.1.4   DBMS 产品...................................................................................................................3 

         1.1.5   SQL ..............................................................................................................................6 

         1.1.6  数据库系统体系结构           ....................................................................................................7 

    1.2   数据管理    .................................................................................................................................... 9 

         1.2.1  数据管理的功能............................................................................................................9 

         1.2.2  数据库数据管理的特点.................................................................................................9 

         1.2.3  数据库数据管理任务           ..................................................................................................11 

    1.3   数据模型    .................................................................................................................................. 12 

         1.3.1  信息与数据      .................................................................................................................13 

         1.3.2  数据模型基本概念         ......................................................................................................14 

    1.4   关系模型    .................................................................................................................................. 16 

         1.4.1  关系模型基本概念         ......................................................................................................17 

         1.4.2  关系模式.....................................................................................................................18 

第  2 章  数据类型与运算符............................................................................................................21 

        微课视频     23 分钟 

    2.1   MySQL 数据类型     ...................................................................................................................... 21 

         2.1.1  整数类型.....................................................................................................................22 

         2.1.2  浮点数和定点数类型           ..................................................................................................24 

         2.1.3  日期和时间类型..........................................................................................................25 

         2.1.4  字符串类型      .................................................................................................................29 

         2.1.5  二进制类型      .................................................................................................................32 

         2.1.6  数据类型选型       .............................................................................................................34 

    2.2   MySQL 运算符    .......................................................................................................................... 36 

         2.2.1  运算符概述      .................................................................................................................36 

         2.2.2  算术运算符      .................................................................................................................37 

         2.2.3  逻辑运算符      .................................................................................................................37 

     IV         数据库系统原理及应用:基于                  MySQL 的描述与实现 

                 2.2.4  位运算符     .................................................................................................................... 38 

                 2.2.5  比较运算符       ................................................................................................................ 40 

                 2.2.6  谓词运算符       ................................................................................................................ 42 

                 2.2.7  运算符的优先级         ......................................................................................................... 44 

            2.3   正则表达式............................................................................................................................... 45 

        第  3 章  MySQL基本函数            ............................................................................................................. 48 

                微课视频      27 分钟 

            3.1   数学函数...................................................................................................................................48 

                 3.1.1  绝对值函数       ................................................................................................................ 48 

                 3.1.2  取整函数     .................................................................................................................... 48 

                 3.1.3  取余函数     .................................................................................................................... 49 

                 3.1.4  获取随机数函数         ......................................................................................................... 49 

                 3.1.5  四舍五入函数............................................................................................................. 50 

                 3.1.6  生成唯一数值函数          ..................................................................................................... 51 

                 3.1.7  符号函数     .................................................................................................................... 51 

                 3.1.8  平方根函数       ................................................................................................................ 51 

                 3.1.9  幂运算函数       ................................................................................................................ 51 

                 3.1.10  对数运算函数........................................................................................................... 52 

                 3.1.11  圆周率函数............................................................................................................... 52 

                 3.1.12  角度与弧度相互转换函数......................................................................................... 52 

                 3.1.13  正弦函数和反正弦函数             ............................................................................................ 53 

                 3.1.14  余弦函数和反余弦函数             ............................................................................................ 53 

                 3.1.15  正切函数、反正切函数和余切函数.......................................................................... 53 

            3.2   字符串函数............................................................................................................................... 54 

                 3.2.1  字符串长度函数         ......................................................................................................... 54 

                 3.2.2  字符串合并函数         ......................................................................................................... 55 

                 3.2.3  字符串替换函数         ......................................................................................................... 55 

                 3.2.4  字母大小写转换函数.................................................................................................. 56 

                 3.2.5  获取指定长度字符串函数              .......................................................................................... 56 

                 3.2.6  填充字符串函数         ......................................................................................................... 57 

                 3.2.7  删除空格函数............................................................................................................. 57 

                 3.2.8  删除指定字符串函数.................................................................................................. 58 

                 3.2.9  重复生成字符串函数.................................................................................................. 58 

                 3.2.10  空格函数和替换函数................................................................................................ 58 

                 3.2.11  比较字符串大小函数           ................................................................................................ 58 

                 3.2.12  获取子串函数........................................................................................................... 59 

                 3.2.13  匹配子串开始位置函数             ............................................................................................ 59 

                 3.2.14  字符串逆序函数         ....................................................................................................... 59 

                                                                                                       目录          V 

         3.2.15  返回指定位置的字符串函数               .....................................................................................60 

         3.2.16  返回指定字符串位置函数             .........................................................................................60 

         3.2.17  返回子串位置函数          ....................................................................................................60 

         3.2.18  选取字符串函数........................................................................................................61 

    3.3   日期和时间函数        ....................................................................................................................... 61 

         3.3.1  获取当前日期和获取当前时间....................................................................................62 

         3.3.2  获取当前日期和时间           ..................................................................................................62 

         3.3.3   UNIX 时间戳函数      .......................................................................................................62 

         3.3.4  返回   UTC 日期和时间.................................................................................................63 

         3.3.5  获取月份.....................................................................................................................63 

         3.3.6  获取星期.....................................................................................................................64 

         3.3.7  获取星期数      .................................................................................................................64 

         3.3.8  获取天数.....................................................................................................................65 

         3.3.9  获取年份、季度、小时、分钟和秒钟.........................................................................65 

         3.3.10  时间和秒钟转换........................................................................................................66 

         3.3.11  计算日期和时间........................................................................................................66 

         3.3.12  获取日期的指定值          ....................................................................................................69 

         3.3.13  日期和时间格式化函数.............................................................................................69 

    3.4   其他函数    .................................................................................................................................. 71 

         3.4.1  系统信息函数       .............................................................................................................71 

         3.4.2  条件判断函数       .............................................................................................................75 

         3.4.3  加密函数.....................................................................................................................76 

第  4 章  SQL数据定义语言与数据操作语言...............................................................................79 

        微课视频     13 分钟 

    4.1   数据定义语言........................................................................................................................... 79 

         4.1.1  创建数据表      .................................................................................................................79 

         4.1.2  查看数据表结构..........................................................................................................85 

         4.1.3  修改数据表      .................................................................................................................86 

         4.1.4  删除数据表      .................................................................................................................91 

    4.2   数据操作语言........................................................................................................................... 92 

         4.2.1  插入数据.....................................................................................................................93 

         4.2.2  更新数据.....................................................................................................................96 

         4.2.3  删除数据.....................................................................................................................97 

第  5 章  SQL查询语言          .................................................................................................................100 

        微课视频     28 分钟 

    5.1   查询语句    ................................................................................................................................ 100 

         5.1.1  查询语句格式       ...........................................................................................................101 

         5.1.2  查询语句执行顺序         ....................................................................................................101 

     VI         数据库系统原理及应用:基于                  MySQL 的描述与实现 

            5.2   基本查询................................................................................................................................. 102 

                 5.2.1  查询记录字段信息          ................................................................................................... 102 

                 5.2.2  有条件查询       .............................................................................................................. 103 

                 5.2.3  限制查询结果数量          ................................................................................................... 104 

                 5.2.4  范围查询     .................................................................................................................. 105 

                 5.2.5  字符匹配查询........................................................................................................... 106 

                 5.2.6  多条件查询       .............................................................................................................. 107 

                 5.2.7  查询结果不重复         ....................................................................................................... 108 

                 5.2.8  分组查询     .................................................................................................................. 109 

                 5.2.9  对查询结果进行排序.................................................................................................112 

            5.3   聚合函数................................................................................................................................. 115 

                 5.3.1   COUNT()函数    ...........................................................................................................115 

                 5.3.2   SUM()函数   ................................................................................................................116 

                 5.3.3   AVG()函数.................................................................................................................116 

                 5.3.4   MAX()函数................................................................................................................117 

                 5.3.5   MIN()函数.................................................................................................................117 

            5.4   连接查询................................................................................................................................. 118 

                 5.4.1  内连接查询       ...............................................................................................................118 

                 5.4.2  外连接查询       .............................................................................................................. 120 

            5.5   子查询   .................................................................................................................................... 121 

                 5.5.1  带  IN 关键字的子查询.............................................................................................. 122 

                 5.5.2  带  ANY、SOME     关键字的子查询         ............................................................................ 123 

                 5.5.3  带  ALL 关键字的子查询........................................................................................... 124 

                 5.5.4   EXISTS 关键字    ........................................................................................................ 125 

                 5.5.5  含比较运算符的子查询            ............................................................................................ 126 

            5.6   集合运算合并查询结果            .......................................................................................................... 127 

                 5.6.1  集合并运算      .............................................................................................................. 127 

                 5.6.2  等同于集合交运算          ................................................................................................... 128 

                 5.6.3  等同于集合差运算          ................................................................................................... 128 

            5.7   表和字段设置别名.................................................................................................................. 128 

                 5.7.1  表设置别名      .............................................................................................................. 128 

                 5.7.2  字段设置别名........................................................................................................... 129 

            5.8   使用正则表达式查询.............................................................................................................. 130 

                 5.8.1  查询以特定字符或字符串开头的记录                   ...................................................................... 131 

                 5.8.2  查询以特定字符或字符串结尾的记录                   ...................................................................... 131 

                 5.8.3  替代字符串中的任意一个字符                ................................................................................. 132 

                 5.8.4  匹配多个字符........................................................................................................... 132 

                 5.8.5  匹配指定字符串         ....................................................................................................... 133 

                                                                                                       目录          VII

         5.8.6  匹配指定字符中的任意一个               .....................................................................................134 

         5.8.7  匹配除指定字符之外的字符               .....................................................................................135 

         5.8.8  指定字符串连续出现的次数               .....................................................................................135 

第  6 章  关系运算        ..........................................................................................................................136 

        微课视频     11 分钟 

    6.1   关系代数与关系演算          ............................................................................................................. 136 

    6.2   传统集合运算......................................................................................................................... 137 

         6.2.1  并..............................................................................................................................138 

         6.2.2  差..............................................................................................................................139 

         6.2.3  交..............................................................................................................................139 

         6.2.4  笛卡儿积...................................................................................................................140 

         6.2.5  广义笛卡儿积       ...........................................................................................................140 

    6.3   专有关系运算......................................................................................................................... 141 

         6.3.1  投影  ..........................................................................................................................141 

         6.3.2  选择  ..........................................................................................................................142 

         6.3.3  连接  ..........................................................................................................................144 

         6.3.4  自然连接...................................................................................................................144 

         6.3.5  内连接    ......................................................................................................................145 

         6.3.6  外连接    ......................................................................................................................146 

         6.3.7  除运算    ......................................................................................................................150 

第  7 章  关系数据库规范化..........................................................................................................153 

        微课视频     42 分钟 

    7.1   规范化必要性......................................................................................................................... 153 

         7.1.1  规范化的目的       ...........................................................................................................153 

         7.1.2  不规范关系表的异常问题             .........................................................................................154 

    7.2   函数依赖    ................................................................................................................................ 157 

         7.2.1  关系模式五元组........................................................................................................157 

         7.2.2  数据依赖...................................................................................................................157 

         7.2.3  函数依赖的基本概念           ................................................................................................158 

    7.3   阿姆斯特朗公理        ..................................................................................................................... 160 

         7.3.1  函数依赖扩展概念         ....................................................................................................160 

         7.3.2  阿姆斯特朗公理规则           ................................................................................................161 

         7.3.3  阿姆斯特朗公理推论           ................................................................................................161 

         7.3.4  X 关于函数依赖集        F 的闭包    .....................................................................................161 

         7.3.5  最小函数依赖集........................................................................................................163 

         7.3.6  候选键求解方法........................................................................................................165 

    7.4   范式........................................................................................................................................ 167 

         7.4.1  范式的基本概念........................................................................................................168 

     VIII       数据库系统原理及应用:基于                  MySQL 的描述与实现 

                 7.4.2  第一范式     .................................................................................................................. 168 

                 7.4.3  第二范式     .................................................................................................................. 171 

                 7.4.4  第三范式     .................................................................................................................. 172 

                 7.4.5   BC 范式.................................................................................................................... 173 

                 7.4.6  第四范式     .................................................................................................................. 174 

                 7.4.7  第五范式     .................................................................................................................. 177 

            7.5   模式分解................................................................................................................................. 178 

        第  8 章  关系数据库设计             ............................................................................................................. 182 

                微课视频      6 分钟 

            8.1   项目管理................................................................................................................................. 182 

                 8.1.1  软件工程项目管理          ................................................................................................... 182 

                 8.1.2  软件生命周期........................................................................................................... 183 

                 8.1.3  数据库项目管理         ....................................................................................................... 185 

            8.2   数据库项目设计方法.............................................................................................................. 189 

                 8.2.1  设计方法     .................................................................................................................. 189 

                 8.2.2  数据流图     .................................................................................................................. 190 

                 8.2.3  数据字典     .................................................................................................................. 191 

                 8.2.4  小说明...................................................................................................................... 194 

            8.3   关系数据库结构        ..................................................................................................................... 194 

                 8.3.1  概念结构设计........................................................................................................... 194 

                 8.3.2  逻辑结构设计........................................................................................................... 200 

                 8.3.3  物理结构设计........................................................................................................... 201 

                 8.3.4  外模式设计       .............................................................................................................. 203 

                 8.3.5  数据库的实施和维护................................................................................................ 203 

        第  9 章  索引.................................................................................................................................. 205 

                微课视频      23 分钟 

            9.1   MySQL 体系结构..................................................................................................................... 205 

            9.2   MySQL  存储引擎     ................................................................................................................ 206 

                 9.2.1   InnoDB 存储引擎逻辑结构....................................................................................... 206 

                 9.2.2   InnoDB 存储引擎架构       .............................................................................................. 207 

                 9.2.3  后台线程     .................................................................................................................. 210 

                 9.2.4   MySQL  支持的存储引擎        ...........................................................................................211 

            9.3   MySQL 索引   ............................................................................................................................ 211 

                 9.3.1  索引概念     .................................................................................................................. 212 

                 9.3.2   MySQL  索引类型     ..................................................................................................... 212 

                 9.3.3  索引结构     .................................................................................................................. 214 

                 9.3.4  索引的设计原则         ....................................................................................................... 220 

            9.4   创建索引................................................................................................................................. 221 

                                                                                                       目录          IX

         9.4.1  创建表同时创建索引           ................................................................................................221 

         9.4.2  在已建表中创建索引           ................................................................................................224 

    9.5   删除索引    ................................................................................................................................ 226 

第  10 章  存储过程和存储函数....................................................................................................228 

        微课视频     14 分钟 

    10.1   创建存储过程和存储函数             .................................................................................................... 228 

         10.1.1  创建存储过程       .........................................................................................................228 

         10.1.2  创建存储函数       .........................................................................................................230 

    10.2   基本语法    .............................................................................................................................. 231 

         10.2.1  变量  ........................................................................................................................231 

         10.2.2  定义条件和处理程序           ..............................................................................................233 

         10.2.3  控制语句.................................................................................................................236 

    10.3   基本操作    .............................................................................................................................. 241 

         10.3.1  调用存储过程        .........................................................................................................241 

         10.3.2  调用存储函数        .........................................................................................................242 

         10.3.3  查看存储过程和存储函数             .......................................................................................242 

         10.3.4  修改存储过程和存储函数             .......................................................................................243 

         10.3.5  删除存储过程和存储函数             .......................................................................................244 

    10.4   游标  ...................................................................................................................................... 244 

         10.4.1  游标操作.................................................................................................................244 

         10.4.2  游标实例.................................................................................................................245 

第  11 章  触发器和视图................................................................................................................247 

        微课视频     5 分钟 

    11.1   触发器   .................................................................................................................................. 247 

         11.1.1  触发器类型      .............................................................................................................247 

         11.1.2  触发器事件      .............................................................................................................248 

         11.1.3  创建触发器      .............................................................................................................250 

         11.1.4  查看触发器      .............................................................................................................252 

         11.1.5  删除触发器      .............................................................................................................253 

         11.1.6  使用触发器      .............................................................................................................253 

    11.2   视图  ...................................................................................................................................... 254 

         11.2.1  视图概念.................................................................................................................254 

         11.2.2  创建视图.................................................................................................................255 

         11.2.3  查看视图.................................................................................................................256 

         11.2.4  修改视图.................................................................................................................257 

         11.2.5  更新视图.................................................................................................................258 

         11.2.6  删除视图.................................................................................................................258 

 

     X         数据库系统原理及应用:基于                  MySQL 的描述与实现 

       第  12 章  MySQL事务         ................................................................................................................. 260 

               微课视频      27 分钟 

           12.1   事务概述............................................................................................................................... 261 

                12.1.1  事务特性     ................................................................................................................ 261 

                12.1.2  事务隔离级别......................................................................................................... 262 

                12.1.3  事务相关概念......................................................................................................... 262 

           12.2   事务操作............................................................................................................................... 263 

                12.2.1  支持事务的引擎         ..................................................................................................... 263 

                12.2.2  事务基本操作......................................................................................................... 263 

           12.3   并发问题和事务隔离级别             .................................................................................................... 265 

                12.3.1  并发问题     ................................................................................................................ 265 

                12.3.2  事务隔离级别......................................................................................................... 267 

           12.4   并发事务操作       ....................................................................................................................... 268 

                12.4.1  查看隔离级别......................................................................................................... 268 

                12.4.2  设置隔离级别......................................................................................................... 269 

                12.4.3  测试事务     ................................................................................................................ 269 

                12.4.4  测试脏读     ................................................................................................................ 270 

                12.4.5  测试不可重复读         ..................................................................................................... 271 

                12.4.6  测试幻读     ................................................................................................................ 272 

                12.4.7  串行化隔离级别的并发测试................................................................................... 273 

           12.5   MySQL 锁  .............................................................................................................................. 274 

                12.5.1  锁机制.................................................................................................................... 274 

                12.5.2   MySQL  死锁........................................................................................................... 279 

           12.6   MySQL 日志   .......................................................................................................................... 282 

                12.6.1   MySQL  日志类型.................................................................................................... 282 

                12.6.2  访问日志     ................................................................................................................ 283 

           12.7   事务重做与回滚机制............................................................................................................ 284 

                12.7.1  重做日志     ................................................................................................................ 284 

                12.7.2  回滚日志     ................................................................................................................ 284 

           12.8   MVCC 机制    ........................................................................................................................... 285 

                12.8.1  多版本并发控制         ..................................................................................................... 285 

                12.8.2   MVCC  原理   ............................................................................................................ 285