第1篇 步入MySQL开发的殿堂第1章 MySQL导论 2
1.1 数据库概述 2
1.1.1 数据库技术的发展 3
1.1.2 数据模型 4
1.1.3 常用数据库介绍 6
1.2 MySQL简介 7
1.2.1 MySQL是什么 8
1.2.2 MySQL的特点 8
1.2.3 MySQL的应用 11
1.3 MySQL体系结构综述 13
1.3.1 插件式存储引擎体系结构 13
1.3.2 公共MySQL数据库服务器层 14
1.4 MySQL引擎 15
1.4.1 选择存储引擎 15
1.4.2 使用存储引擎 16
1.4.3 MyISAM存储引擎 17
1.4.4 InnoDB存储引擎 19
1.5 小结 22
第2章 MySQL基本操作 23
2.1 获得MySQL 23
2.2 MySQL的安装和配置 24
2.2.1 Windows下二进制包安装 24
2.2.2 重新配置MySQL服务器 28
2.3 MySQL GUI的安装和使用 29
2.3.1 MySQL Administrator 29
2.3.2 MySQL Query Browser 31
2.3.3 MySQL Migration Toolkit 31
2.3.4 MySQL Workbench 32
2.4 MySQL的使用 32
2.4.1 MySQL的基本使用 32
2.4.2 MySQL客户端程序 36
2.4.3 MySQL服务端程序 37
2.5 MySQL工具程序的使用 40
2.5.1 mysqladmin 40
2.5.2 mysqlcheck 42
2.5.3 mysqldump 44
2.5.4 mysqlshow 45
2.5.5 myisamchk 45
2.5.6 myisampack 47
2.5.7 mysqlbinlog 47
2.5.8 mysqlimport 49
2.5.9 perror 50
2.6 小结 51
第3章 SQL基础知识 52
3.1 SQL语言基本知识 52
3.1.1 SQL的历史 52
3.1.2 SQL的特点 53
3.1.3 SQL的基本概念 55
3.2 数据定义语言 57
3.2.1 数据库级别的SQL操作 58
3.2.2 创建、删除与修改基本表 61
3.3 数据查询语言 69
3.3.1 普通查询 70
3.3.2 条件查询 71
3.3.3 查询排序 73
3.3.4 查询分组与行计数 75
3.3.5 多表查询 77
3.4 数据操纵语言 79
3.4.1 插入数据 79
3.4.2 修改数据 85
3.4.3 删除数据 86
3.5 数据控制语言 87
3.5.1 授权 88
3.5.2 回收权限 91
3.6 嵌入式SQL 92
3.6.1 嵌入式SQL语句与主语言之间的通信 92
3.6.2 不用游标的SQL语句 93
3.6.3 使用游标的SQL语句 95
3.7 小结 97
第2篇 苦练基本功 100
第4章 数据库分析与设计 100
4.1 数据设计概述 100
4.1.1 数据库和信息系统 100
4.1.2 数据库设计的特点 100
4.1.3 数据库设计的基本步骤 101
4.1.4 数据库各级模式的形成过程 102
4.2 数据库的设计范式 102
4.3 数据库设计技巧 104
4.3.1 需求分析阶段 104
4.3.2 表和字段的设计 105
4.3.3 选择键和索引 106
4.3.4 索引使用原则 107
4.3.5 数据完整性设计 107
4.3.6 其他设计技巧 108
4.4 Power Designer 10简介 109
4.5 Power Designer 10的使用 110
4.6 正向工程与逆向工程 112
4.7 小结 114
第5章 存储过程、触发器 116
5.1 存储过程和授权表 116
5.2 存储过程的语法 118
5.2.1 基本语法规则 118
5.2.2 条件 119
5.2.3 循环 120
5.2.4 调用存储过程 122
5.2.5 参数和返回值 122
5.2.6 存储过程的管理 122
5.2.7 BEGIN-END复合语句 124
5.2.8 存储过程的变量 125
5.2.9 游标 126
5.2.10 存储过程应用示例 129
5.3 存储过程、函数、触发器和复制:常见问题 131
5.4 触发器 132
5.4.1 创建触发器 133
5.4.2 删除触发器 134
5.4.3 触发器应用示例 135
5.5 存储过程和触发器的二进制日志功能 136
5.6 小结 137
第6章 JDBC基础 138
6.1 基本的JDBC概念 138
6.1.1 JDBC基本功能 138
6.1.2 JDBC的层次 138
6.1.3 JDBC驱动 139
6.2 关于ODBC 142
6.2.1 ODBC接口 142
6.2.2 ODBC体系结构 143
6.2.3 JDBC与ODBC 147
6.2.4 建立ODBC数据源 147
6.3 JDBC数据库设计方法 150
6.3.1 JDBC的数据库访问模型 150
6.3.2 连接池 153
6.4 JDBC安全性 154
6.4.1 Java体系结构对信息安全的支持 154
6.4.2 JDBC安全模式 156
6.5 获取和安装JDBC 157
6.6 关于JDBC API 157
6.6.1 接口概貌 158
6.6.2 JDBC API的接口和类 159
6.6.3 如何实现JDBC性能优化 162
6.7 小结 163
第7章 Connector/J的使用 165
7.1 安装Connector/J 165
7.1.1 支持的Java版本 165
7.1.2 MySQL服务器版本指南 165
7.1.3 Connector/J的安装 166
7.2 JDBC引用 167
7.2.1 JDBC基本编程的步骤 168
7.2.2 预处理语句 175
7.2.3 批处理命令 177
7.2.4 事务 180
7.2.5 可更新的结果集 182
7.2.6 用DataSource建立连接 183
7.3 与J2EE和其他Java框架一起使用Connector/J 184
7.3.1 O/R Mapping的介绍 184
7.3.2 Hibernate介绍 184
7.3.3 Struts简介 185
7.4 诊断Connector/J方面的问题 195
7.4.1 关于授权问题 195
7.4.2 SQLException,无法连接到MySQL服务器 195
7.4.3 结果集不可更新 196
7.4.4 如何通报缺陷和问题 196
7.5 Connector/J的版本 196
7.6 小结 197
第3篇 突出重围 项目实战第8章 用户管理系统案例 200
8.1 系统需求分析 200
8.1.1 需求概述 200
8.1.2 系统功能描述 202
8.2 系统总体架构 204
8.3 数据库设计 205
8.3.1 业务实体设计 205
8.3.2 数据模型设计 206
8.4 系统详细设计 207
8.4.1 界面设计 207
8.4.2 逻辑主线 208
8.4.3 系统中的视图设计 212
8.4.4 系统中的包设计 213
8.4.5 数据库的访问连接设计 214
8.4.6 业务层设计 215
8.5 运行与调试本章的案例 230
8.6 小结 232
第9章 CASE支撑系统案例 233
9.1 系统需求分析 233
9.1.1 需求概述 233
9.1.2 系统功能描述 234
9.2 系统总体架构 238
9.3 数据库设计 239
9.3.1 业务实体设计 239
9.3.2 数据模型设计 240
9.4 系统详细设计 242
9.4.1 界面设计 242
9.4.2 逻辑主线 243
9.4.3 系统中的视图设计 247
9.4.4 系统中的包设计 249
9.4.5 数据库的访问连接设计 250
9.4.6 业务层设计 252
9.5 运行与调试本章的案例 273
9.6 小结 274
第10章 文件管理系统案例 275
10.1 系统需求分析 275
10.1.1 需求概述 275
10.1.2 系统功能描述 276
10.2 系统总体架构 278
10.3 数据库设计 278
10.3.1 E-R图 278
10.3.2 数据模型设计 279
10.4 系统详细设计 280
10.4.1 界面设计 280
10.4.2 逻辑主线 280
10.4.3 系统中的视图设计 284
10.4.4 系统中的包设计 290
10.4.5 数据库的访问连接设计 291
10.4.6 业务层设计 292
10.5 运行与调试本章的案例 314
10.6 小结 315
第11章 教务管理系统案例 316
11.1 系统需求分析 316
11.1.1 需求概述 316
11.1.2 系统功能描述 316
11.1.3 系统分析 321
11.2 系统总体架构 324
11.3 数据库设计 324
11.3.1 数据库逻辑结构设计 324
11.3.2 创建数据库 326
11.3.3 创建表的脚本文件 328
11.4 系统详细设计 329
11.4.1 界面设计 329
11.4.2 目录和包结构设计 332
11.4.3 HibernateUtil设计 333
11.4.4 SetCharacterEncodingFilter设计 336
11.4.5 数据层设计 338
11.5 小结 338
第4篇 高级开发技术 340
第12章 MySQL 5.0高级特性 340
12.1 MySQL 5.0存储过程新特性 340
12.1.1 存储过程体中合法的MySQL语句 340
12.1.2 Call the Procedure调用存储过程 341
12.1.3 Characteristics Clauses特征子句 341
12.1.4 Parameters参数 343
12.2 新SQL语句和Loops循环语句 345
12.2.1 新SQL语句 345
12.2.2 Conditions and IF-THEN-ELSE条件式和IF-THEN-ELSE 347
12.2.3 循环语句 349
12.3 数据导入导出工具mysqlimport 353
12.4 MySQL性能优化 354
12.5 小结 356
第13章 MySQL与XML 357
13.1 XML 357
13.1.1 XML的10个设计目标 358
13.1.2 XML的语法简介 359
13.1.3 XML的相关技术及应用简介 362
13.2 XSLT 364
13.2.1 XPath简介 365
13.2.2 XSLT-转换 367
13.3 XML、MySQL的结合运用 370
13.3.1 ExtractValue()函数 371
13.3.2 UpdateXML()函数 373
13.4 小结 374