第1章 简介 3
1·1 SQL语言 3
第一部分 SQL的概述 3
1·2 SQL的功能 4
1·3 SQL的特性和优越性 6
第2章 SQL快速导航 10
2·1 一个简单的数据库 10
2·2 检索数据 10
2·3 统计数据 13
2·4 向数据库添加数据 14
2·5 删除数据 14
2·6 更新数据库 14
2·7 数据保护 15
2·8 创建数据库 15
2·9 小结 16
3·2 SQL简史 17
第3章 SQL剖析 17
3·1 SQL和数据库管理 17
3·3 SQL标准 21
3·4 SQL和网络 24
3·5 SQL的衍生 28
3·6 小结 33
第4章 关系数据库 35
4·1 早期的数据模型 35
4·2 关系数据模型 39
4·3 Codd的十二条规则 45
4·4 小结 47
第二部分 数据检索 51
第5章 SQL基础 51
5·1 语句 51
5·2 名字 54
5·3 数据类型 56
5·4 常量 60
5·5 表达式 63
5·6 内嵌函数 63
5·7 丢失数据(NULL值) 64
5·8 小结 65
第6章 简单查询 67
6·1 SELECT语句 67
6·2 查询结果 69
6·3 简单查询 72
6·4 相同行(DISTINCT) 76
6·5 行选择(WHERE子句) 77
6·6 搜索条件 78
6·7 排序查询结果(ORDER BY子句) 91
6·8 单表查询处理规则 93
6·9 小结 99
第7章 多表查询(连接) 100
7·1 一个两表查询例子 100
7·2 简单的连接(相等连接) 102
7·3 不相等连接 110
7·4 多表查询的SQL考虑因素 111
7·5 多表查询的性能 116
7·6 连接的结构 117
7·7 外部连接 119
7·8 连接和SQL2标准 127
7·9 小结 135
第8章 统计查询 136
8·1 字段函数 136
8·2 分组查询(GROUP BY子句) 145
8·3 分组搜索条件(HAVING子句) 153
8·4 小结 156
第9章 子查询和查询表达式 158
9·1 使用子查询 158
9·2 子查询搜索条件 161
9·3 子查询和连接 172
9·4 嵌套子查询 173
9·5 关联子查询 174
9·6 HAVING子句中的子查询 176
9·7 子查询小结 178
9·8 SQL2的高级查询 178
9·9 SQL查询——最后的总结 194
第三部分 数据更新 199
第10章 数据库更新 199
10·1 向数据库添加数据 199
10·2 删除数据库数据 205
10·3 修改数据库数据 209
10·4 小结 212
第11章 数据的完整性 213
11·1 什么是数据完整性 213
11·2 必需数据 214
11·3 简单地合法性检查 214
11·4 实体统一 217
11·5 参照统一 218
11·6 高级约束性能(SQL2) 229
11·7 商业规则 233
11·8 小结 237
第12章 事务处理 239
12·1 什么是一个事务 239
12·2 事务:场景背后* 245
12·3 事务和多用户处理 247
12·4 锁定 252
12·5 小结 261
第四部分 数据库结构 265
第13章 创建数据库 265
13·1 数据库定义语言 265
13·2 创建一个数据库 266
13·3 表定义 267
13·4 约束定义 280
13·5 别名和同义词(CREATE/DROPALIAS) 281
13·6 索引(CREATE/DROP INDEX) 282
13·7 管理其他数据库对象 285
13·8 数据库结构 288
13·9 数据库结构和ANSI/ISO标准 293
13·10 小结 298
第14章 视图 299
14·1 什么是视图 299
14·2 创建视图(CREATE VIEW) 301
14·3 更新视图 309
14·4 删除视图(DROP VIEW) 313
14·5 小结 314
第15章 SQL安全性 315
15·1 SQL安全性的概念 315
15·2 视图和SQL安全性 322
15·3 授予权限(GRANT) 324
15·4 撤消权限(REVOKE) 328
15·5 小结 333
16·1 什么是系统目录 335
第16章 系统目录 335
16·2 表信息 338
16·3 字段信息 340
16·4 视图信息 343
16·5 注释 345
16·6 关系信息 346
16·7 用户信息 348
16·8 权限信息 349
16·9 SQL2信息方案 350
16·11 小结 353
第五部分 用SQL编程 357
第17章 内嵌式的SQL 357
17·1 SQL编程技术 357
17·2 简单的内嵌SQL语句 364
17·3 内嵌SQL的数据检索 382
17·4 基于游标的删除和更新 395
17·5 游标和事务处理 398
17·6 小结 399
第18章 动态SQL 400
18·1 静态SQL的局限 400
18·2 动态SQL的概念 401
18·4 两步动态执行 405
18·5 动态查询 415
18·6 动态SQL方言 425
18·7 动态SQL和SQL2标准 432
18·8 小结 442
第19章 SQL API 443
19·1 API概念 443
19·2 dblib API(SQL Sever) 445
19·3 ODBC和SQL/CLI标准 461
19·4 ODBC API 488
19·5 Oracle Call Interface(OCI) 494
19·6 小结 501
20·1 存储过程的概念 505
第六部分 SQL的现状和展望 505
第20章 数据库处理和存储过程 505
20·2 简例 506
20·3 使用存储过程 507
20·4 存储过程的优点 529
20·5 存储过程的性能 530
20·6 系统定义的存储过程 530
20·7 外部存储过程 530
20·8 触发器 531
20·9 存储过程和SQL标准 538
20·10 小结 545
第21章 SQL与数据仓库 546
21·1 数据仓库的概念 546
21·2 仓库数据库结构 549
21·3 数据仓库性能 554
21·4 小结 556
22·1 分布式数据管理所面临的挑战 557
第22章 SQL网络化与分布式数据库 557
22·2 数据分布的实用方法 561
22·4 分布式数据库的访问 575
22·5 两阶段确认协议 579
22·6 网络应用程序和数据库结构 582
22·7 小结 586
第23章 SQL和对象 588
23·1 面向对象的数据库 588
23·2 对象关系数据库 591
23·3 抽象的(结构化的)数据类型 595
23·4 继承性 600
23·5 集(set)、数组和集合(collection) 604
23·6 用户自定义的数据类型 612
23·7 方法和存储过程 613
23·8 小结 615
第24章 SQL的未来 617
24·1 数据库市场的未来趋势 617
24·2 今后十年的SQL 623
第七部分 附录 629
附录A 样本数据库 629
附录B 数据库供应商概况 634
B·1 A2i,Inc(www.a2i.com) 635
B·2 Angara Database Systems(www.angara.com) 635
B·3 Arbor Software(www.hyperion.com) 635
B·4 Ardent Software(www.ardcntsoftware.com) 636
B·5 Centura Software(www.centurasoft.com) 636
B·6 Cloudscape,Inc.(www.cloudscape.com) 636
B·7 Computer Associates(www.cai.com) 637
B·8 Computer Corporation of America(www.cca-int.com) 638
B·9 Empress Software(www.empress.com) 638
B·10 IBM Corporation(www.ibm.com) 638
B·11 Informix Software(www.informix,com) 639
B·12 Microsoft Corporation(www.microsoft.com) 640
B·15 Oracle Corporation(www.oracle.com) 641
B·13 Object Design(www.odi.com) 641
B·14 Objectivity(www.objectivity.com) 641
B·16 Persistence Software(www.Persistence.com) 642
B·17 Pervasive Software(www.pervasive.com) 643
B·18 Quadbase Systems(www.quadbase.com) 643
B·19 Raima Corporation(www.raima.com) 643
B·20 Red Brick Systems(www.redbrick.com) 644
B·21 Rogue Wave Software(www.roguewave.com) 644
B·22 Sybase Inc.(www.sybase.com) 645
B·23 Tache Group(www.tachegroup.com) 646
B·24 Tandem Computers(www.tandem.com) 646
B·25 TimesTen Performance Software(www.timesten.com) 646
B·26 Versant Corporation(www.versant.com) 647
附录C 公司及产品列表 648
附录D SQL语法参考 654
D·1 数据定义语句 654
D·4 基于游标的语句 656
D·2 基本的数据操作语句 656
D·3 事务处理语句 656
D·5 查询表达式 657
D·6 搜索条件 658
D·7 表达式 659
D·8 语句元素 659
D·9 简单元素 659
附录E SQL Call Level Interface 661
E·1 CLI 返回值 662
E·2 常用的句柄管理程序 662
E·3 SQL环境管理程序 663
E·4 SQL连接管理程序 663
E·5 SQL语句管理程序 665
E·6 SQL语句执行程序 666
E·7 查询结果处理程序 666
E·8 查询结果描述程序 667
E·9 查询结果描述符管理程序 668
E·10 延迟动态参数处理程序 670
E·11 错误、状态和诊断程序 670
E·12 CLI工具信息程序 671
E·13 CLI参数值代码 671
附录F SQL Information Schema 标准 677
F·1 SCHEMATA视图 678
F·2 TABLES视图 678
F·3 COLUMNS视图 679
F·4 VIEWS视图 680
F·5 VIEW_TABLE_USAGE视图 680
F·6 VIEW_COLUMN_USAGE视图 680
F·7 TABLE_CONSTRAINTS视图 681
F·8 REFERENTIAL_CONSTRAINTS视图 681
F·9 CHECK_CONSTRAINTS视图 682
F·10 KEY_COLUMN_USAGE视图 682
F·13 CONSTRAINT_COLUMN_USAGE视图 683
F·12 CONSTRAINT_TABLE_USAGE视图 683
F·11 ASSERTIONS视图 683
F·14 TABLE_PRIVILEGES视图 684
F·15 COLUMN_PRIVILEGES视图 684
F·16 USAGE_PRIVILEGES视图 685
F·17 DOMAINS视图 685
F·18 DOMAIN_CONSTRAINTS视图 686
F·19 DOMAIN_COLUMN_USAGE视图 687
F·20 CHARACTER_SETS视图 687
F·21 COLLATIONS视图 688
F·23 SQL_LANGUAGES视图 689
附录G CD-ROM安装指南 690
G·1 安装SQL DBMS软件 690
G·2 Microsoft SQL Server7 691
G·2 Oracle8 694
G·3 Informix 700
G·4 Sybase 704