㈠ linux下c/c++开发数据库类的软件,主流用什么数据库
市场上现在应用较多的是:oracle
db2
mysql
sysbase
informix等数据库
对于在数据库上做开发,大型数据库的公司都会提供相应的开发工具:如:
oracle的proc
db2的
db2
informix的esql
不同的数据库嵌入式c程序名也规定不同,如:
oracle的
.pc
.pcpp
informix的
.ec
.ecpp
db2的
.sqc
等
总的来说
oracle占的市场份额大一些。
㈡ SQL语法范例大全的目 录
第1篇 SQL及关系数据库概述
第1章 关系数据库概述 2
1.1 数据库的基本概念 3
1.1.1 数据库的发展 3
1.1.2 数据库系统组成 3
1.1.3 数据处理的抽象描述 3
1.1.4 数据模型 4
1.2 关系数据库基本概念 4
1.2.1 关系模式 4
1.2.2 关系模型的特点及组成 5
1.2.3 关系数据语言的种类 6
1.2.4 域 7
1.2.5 笛卡儿积 7
1.2.6 关系 8
1.2.7 全关系系统十二准则 9
1.2.8 规范化(NF范式) 9
1.3 关系数据库类型 10
1.3.1 桌面数据库 10
1.3.2 网络数据库 10
1.4 常用关系数据库介绍 10
1.4.1 Microsoft Access 11
1.4.2 FoxPro 11
1.4.3 MySQL 11
1.4.4 Firebird 12
1.4.5 PostgreSQL 13
1.4.6 Informix 14
1.4.7 DB2 14
1.4.8 Sybase 15
1.4.9 SQL Server 17
1.4.10 Oracle 22
1.5 小结 29
第2章 SQL概述 30
2.1 SQL的功能和特性 31
2.2 SQL语法分类 32
2.3 SQL标准与版本 32
2.3.1 SQL92标准 33
2.3.2 SQL99标准 33
2.3.3 SQL:2003标准 34
2.4 SQL表达式 34
2.5 SQL标识符 34
2.5.1 特殊字符(语法约定) 34
2.5.2 注释字符 35
2.6 SQL常量 35
2.7 SQL变量 37
2.8 SQL数据类型 37
2.8.1 数值型数据 37
2.8.2 字符型数据 38
2.8.3 日期数据类型 38
2.8.4 其他数据类型 39
2.9 SQL语句 40
2.9.1 SQL语句分类 40
2.9.2 SELECT查询语句 41
2.10 SQL语句的执行方法 42
2.11 SQL与关系数据库 42
2.12 SQL的发展 42
2.13 小结 42
第3章 SQL扩展、工具及范例数据库介绍 44
3.1 T-SQL 46
3.1.1 注释语句 46
3.1.2 常量 46
3.1.3 变量 46
3.1.4 运算符 47
3.1.5 数据类型 48
3.1.6 函数 49
3.1.7 流程控制语句 49
3.2 PL/SQL 50
3.2.1 注释语句 50
3.2.2 数据类型 51
3.2.3 SQL92、T-SQL、PL/SQL数据
类型比较 51
3.2.4 运算符 52
3.2.5 函数 52
3.2.6 PL/SQL与T-SQL函数比较 53
3.2.7 常量和变量 53
3.2.8 流程控制语句 54
3.3 SQLCMD工具 55
3.4 SQL Server查询分析工具 57
3.5 Oracle企业管理器EM工具 58
3.6 Oracle SQL * Plus工具 60
3.6.1 SQL*Plus的主要功能 60
3.6.2 SQL*Plus启动和快速登录
方法 61
3.6.3 SQL*Plus常用命令操作 62
3.6.4 iSQL * Plus 70
3.7 PL/SQL Developer工具 72
3.7.1 主要功能特性 72
3.7.2 软件资源 74
3.7.3 基本用法 74
3.8 TOAD工具 76
3.8.1 主要功能特性 76
3.8.2 软件资源 77
3.8.3 基本用法 77
3.9 范例数据库介绍 80
3.9.1 SQL Server学籍管理数据库 80
3.9.2 SQL Server系统示例库 84
3.9.3 Oracle系统示例库 84
3.10 本章小结 90
第2篇 SQL运算符和函数
第4章 SQL运算符 92
4.1 算术运算符 94
4.2 赋值运算符 94
4.3 字符串串联运算符 94
4.3.1 加号“+” 94
4.3.2 双竖号“||” 94
4.4 一元运算符 94
4.5 逻辑运算符 95
4.6 比较运算符 95
4.7 集合运算符 96
4.7.1 UNION运算符 96
4.7.2 EXCEPT运算符 96
4.7.3 INTERSECT运算符 97
4.8 运算符优先级 97
4.9 SQL92、SQL Server和Oracle运算符
比较 97
4.10 小结 99
第5章 函数 100
5.1 数值函数 102
5.2 字符串函数 103
5.3 日期时间函数 104
5.4 数据类型转换函数 106
5.4.1 CAST ()函数 106
5.4.2 CONVERT () 函数 107
5.5 统计函数 109
5.5.1 SUM ()求和 110
5.5.2 COUNT ()计数 110
5.5.3 MAX () /MIN ()求最大/
最小值 111
5.5.4 AVG ()求均值 112
5.5.5 VAR () /VARP () 求方差 113
5.5.6 STDEV () /STDEVP ()求标准
误差 113
5.5.7 使用DISTINCT关键字进行
重值筛选 114
5.6 小结 114
第3篇 数据查询操作
第6章 简单查询 116
6.1 用SELECT子句选择列表 118
6.1.1 选择列 119
6.1.2 更改列标题 119
6.1.3 使用TOP限制选择行数 120
6.1.4 DISTINCT去掉重复的字段
数据 121
6.1.5 DISTINCTROW去掉重复的
记录数据 122
6.2 FROM子句 122
6.2.1 对具有相同列名的两个表
进行查询 123
6.2.2 从查询结果集合中查询数据 123
6.3 WHERE子句 123
6.3.1 使用比较运算符指定查询
条件 124
6.3.2 使用逻辑运算符指定查询
条件 124
6.3.3 使用范围BETWEEN指定
查询条件 125
6.3.4 使用列表IN指定查询条件 125
6.3.5 使用LIKE与通配符指定查询
条件 125
6.3.6 NULL空值的判断 126
6.3.7 使用包含判断词EXISTS、
ALL、ANY、SOME 126
6.4 GROUP BY子句 130
6.4.1 一般情况的分组查询 131
6.4.2 GROUP BY子句根据多列组
合行 132
6.4.3 CUBE和ROLLUP运算符及
使用 132
6.4.4 GROUP BY子句中的NULL
值处理 133
6.5 HAVING子句 134
6.5.1 HAVING子句的一般应用 134
6.5.2 HAVING与WHERE子句的
区别 135
6.5.3 HAVING子句单独使用 136
6.5.4 HAVING子句与CASE语句
结合使用 137
6.6 ORDER BY子句 137
6.6.1 ORDER BY子句的使用 137
6.6.2 ORDER BY子句的约束 139
6.7 小结 139
第7章 连接查询 141
7.1 连接概述 143
7.1.1 连接范围 143
7.1.2 连接类型 143
7.1.3 笛卡儿积 143
7.1.4 连接语法 144
7.1.5 连接运算符 144
7.2 自(身)连接 144
7.3 内连接(INNER JOIN) 145
7.3.1 等值连接 145
7.3.2 不等连接 146
7.3.3 自然连接 147
7.4 外连接 148
7.4.1 左外连接(LEFT JOIN) 148
7.4.2 右外连接(RIGHT JOIN) 149
7.4.3 全外连接(FULL JOIN) 150
7.5 交叉连接(CROSS JOIN) 151
7.6 小结 151
第8章 集合查询 153
8.1 集合概念 155
8.2 集合性质 155
8.3 集合运算 155
8.4 UNION运算符 156
8.4.1 使用UNION进行表内查询 156
8.4.2 使用UNION进行多表查询 157
8.4.3 使用UNION JOIN连接查询 158
8.5 INTERSECT运算符 159
8.6 EXCEPT运算符 159
8.7 小结 160
第9章 子查询 161
9.1 概述 163
9.1.1 子查询定义 163
9.1.2 子查询语法 163
9.1.3 子查询的两种基本形式 164
9.1.4 子查询的优点 165
9.1.5 子查询分类 165
9.1.6 子查询中的比较运算符与谓词 165
9.1.7 使用子查询的规则 168
9.2 单行子查询 169
9.3 多行子查询 170
9.3.1 在多行子查询中使用IN比较符 170
9.3.2 在多行子查询中使用ALL、SOME、ANY比较符 171
9.4 多列子查询 172
9.5 相关子查询 173
9.5.1 使用单行比较运算符引入相关子查询 174
9.5.2 使用IN引入相关子查询 174
9.5.3 在子查询中使用[NOT] EXISTS 175
9.6 在各类SQL语句中使用子查询 177
9.6.1 在SELECT子句中使用子查询 177
9.6.2 在FROM子句中使用子查询 177
9.6.3 在WHERE子句中使用子查询 177
9.6.4 在GROUP BY子句中使用子查询 178
9.6.5 在HAVING子句中使用子查询 178
9.6.6 在CREATE TABLE语句中使用子查询 178
9.6.7 在CREATE VIEW语句中使用子查询 179
9.6.8 在INSERT INTO子句中使用子查询 180
9.6.9 在UPDATE语句中使用子查询 181
9.6.10 在DELETE语句中使用子查询 182
9.6.11 使用WITH子句重用子查询 182
9.7 树查询 183
9.8 小结 184
第4篇 数据更新操作
第10章 数据库操作 186
10.1 创建数据库 188
10.2 查看数据库信息 193
10.3 更改数据库 193
10.3.1 更改数据库名称 195
10.3.2 修改数据库文件 195
10.3.3 更改数据库属性 200
10.4 删除数据库 201
10.5 小结 201
第11章 方案操作 202
11.1 方案概述 204
11.2 查找方案 204
11.3 创建方案 204
11.4 更改方案 206
11.5 删除方案 206
11.6 小结 207
第12章 数据表操作 208
12.1 创建表 210
12.2 复制表 211
12.3 修改表结构 212
12.3.1 增加列和约束 212
12.3.2 查找列约束 214
12.3.3 修改列和约束 214
12.3.4 删除列和约束 215
12.4 行记录操作 215
12.4.1 插入记录 215
12.4.2 修改记录 218
12.4.3 删除记录(DELETE) 223
12.4.4 删除记录(TRUNCATE) 225
12.5 重命名表 226
12.6 删除表 226
12.7 MERGE语句 226
12.8 小结 228
第13章 索引操作 229
13.1 索引的分类 231
13.1.1 索引的概念 231
13.1.2 索引分类 231
13.2 索引使用的场所 232
13.3 查看索引 233
13.4 创建索引 234
13.4.1 创建索引的方法 234
13.4.2 CREATE INDEX语法 234
13.4.3 创建聚簇索引 236
13.4.4 创建非聚簇索引 236
13.4.5 创建简单列索引 236
13.4.6 创建组合列索引 237
13.4.7 创建普通索引 238
13.4.8 创建唯一索引 238
13.4.9 创建视图索引 241
13.5 修改索引 242
13.6 禁用/启用索引 245
13.7 删除索引 245
13.8 小结 246
第14章 视图操作 248
14.1 查询视图 250
14.2 创建视图 251
14.3 修改视图 255
14.4 删除视图 256
14.5 小结 257
第15章 序列操作 258
15.1 创建序列 260
15.2 查找序列值 260
15.3 使用序列 261
15.4 修改序列 261
15.5 删除序列 262
15.6 小结 262
第5篇 数据安全管理
第16章 完整性约束 264
16.1 数据库的安全性 266
16.2 完整性约束分类 267
16.3 表约束 268
16.3.1 DEFAULT约束 268
16.3.2 NOT NULL约束 269
16.3.3 CHECK约束 269
16.3.4 UNIQUE约束 270
16.3.5 PRIMARY KEY约束 270
16.3.6 FOREIGN KEY约束 271
16.3.7 FOREIGN KEY的MATCH
约束 272
16.4 域约束 273
16.5 断言 273
16.6 禁止与启用约束 274
16.7 查看约束 275
16.8 删除约束DROP 275
16.9 小结 275
第17章 用户管理 277
17.1 查找用户及相关信息 279
17.2 创建用户 282
17.3 修改用户 285
17.4 删除用户 286
17.5 小结 286
第18章 角色管理 288
18.1 角色的概念 290
18.2 查找角色 290
18.3 创建角色 293
18.4 更改角色 295
18.5 删除角色 295
18.6 小结 295
第19章 权限管理 297
19.1 权限分类 299
19.2 查看权限 299
19.3 授予权限 303
19.3.1 授予ALL权限 304
19.3.2 授予SELECT权限 304
19.3.3 授予CREATE权限 304
19.3.4 授予INSERT权限 305
19.3.5 授予UPDATE列权限 305
19.3.6 授予ALTER权限 305
19.3.7 授予EXECUTE权限 306
19.3.8 授予REFERENCES权限 306
19.3.9 授予DELETE权限 306
19.3.10 授予DROP权限 306
19.3.11 授予用户角色的权限 307
19.4 收回权限 308
19.5 小结 309
第6篇 SQL编程
第20章 事务控制与并发处理 312
20.1 事务的基本概念 314
20.2 锁的基本概念和分类 314
20.3 事务的并发控制 318
20.3.1 并发控制方法 319
20.3.2 事务隔离级别 319
20.3.3 事务特性的设置 321
20.4 事务开始和终止 322
20.5 数据库读写访问操作 322
20.6 事务提交 322
20.7 事务回滚 323
20.8 SQL Server与Oracle事务处理的
比较 324
20.9 小结 324
第21章 存储过程 326
21.1 存储过程的概念 329
21.2 存储过程的优点 329
21.3 存储过程分类 329
21.4 SQL Server存储过程中的控制语句 330
21.4.1 注释语句 330
21.4.2 屏幕输出语句 330
21.4.3 变量定义和使用语句 330
21.4.4 块语句 331
21.4.5 判断语句 331
21.4.6 循环语句 332
21.4.7 转向定位语句 333
21.4.8 定时执行语句 333
21.4.9 错误捕获语句 333
21.5 Oracle存储过程中的控制语句 333
21.5.1 注释语句 334
21.5.2 屏幕输出语句 334
21.5.3 变量和常量的定义和使用 334
21.5.4 块语句BEGIN…END 337
21.5.5 判断语句IF、CASE 338
21.5.6 循环语句 340
21.5.7 转向定位语句 342
21.5.8 定时执行作业任务dbms_job 342
21.5.9 错误捕获语句 346
21.6 存储过程的创建 346
21.6.1 创建存储过程的语法 346
21.6.2 创建无参数的存储过程 347
21.6.3 创建有参数的存储过程 347
21.7 存储过程的调用与执行 349
21.7.1 RETURN语句及返回值 350
21.7.2 存储过程的创建和调用步骤 351
21.7.3 存储过程调用方法和步骤 352
21.7.4 调用无参数的过程 352
21.7.5 调用有参数的过程 352
21.8 存储过程的查看 354
21.8.1 查看SQL Server存储过程 354
21.8.2 查看Oracle存储过程 356
21.9 存储过程的修改和重编译 359
21.9.1 修改存储过程 360
21.9.2 重命名存储过程 360
21.9.3 存储过程的重编译 361
21.10 存储过程的删除 364
21.11 SQL Server中几个重要的存储
过程介绍 365
21.11.1 sp_attach_db 366
21.11.2 sp_attach_single_file_db 366
21.11.3 sp_changedbowner 367
21.11.4 sp_changeobjectowner 367
21.11.5 sp_configure 368
21.11.6 xp_cmdshell 370
21.11.7 sp_spaceused 373
21.11.8 sp_msforeachtable 374
21.12 存储过程应用实例 374
21.12.1 用存储过程实现数据表更新
操作 374
21.12.2 用存储过程实现数据备份与
恢复 376
21.13 小结 377
第22章 存储函数 379
22.1 存储函数和存储过程的区别 381
22.2 存储函数的类型和约定 381
22.3 存储函数的创建和调用 383
22.3.1 存储函数创建语法 385
22.3.2 存储函数调用类型、方法和
语法 387
22.3.3 SQL Server存储函数的创建
和调用 387
22.3.4 Oracle存储函数的创建和
调用 390
22.4 存储函数的更改 396
22.5 存储函数的编译 397
22.6 存储函数信息的查看 397
22.6.1 查看SQL Server存储函数 398
22.6.2 查看Oracle存储函数 399
22.7 存储函数的删除 401
22.8 小结 402
第23章 触发器 404
23.1 触发器概述 406
23.1.1 触发器的基本概念 406
23.1.2 触发器的用途和优势 407
23.1.3 触发器的类型 408
23.1.4 触发器中的两个临时表 409
23.2 创建SQL Server触发器 409
23.2.1 创建DML触发器 410
23.2.2 创建DDL触发器 420
23.2.3 创建INSTEAD OF触发器 423
23.2.4 创建嵌套触发器 426
23.2.5 创建递归触发器 428
23.3 创建Oracle触发器 430
23.3.1 触发谓词的使用 431
23.3.2 创建DML语句触发器 432
23.3.3 创建DML行触发器 435
23.3.4 创建DDL触发器 438
23.3.5 创建INSTERD OF触发器 439
23.3.6 创建事件触发器 441
23.4 更改触发器 444
23.5 重新编译Oracle触发器 446
23.6 禁止和启用触发器 446
23.7 查看触发器信息 447
23.7.1 查看SQL Server触发器 447
23.7.2 查看Oracle触发器 449
23.8 删除触发器 451
23.9 本章小结 453
第24章 游标 455
24.1 游标的基本概念 457
24.1.1 游标的基本原理 457
24.1.2 游标的内容构成 457
24.1.3 游标的类型 457
24.1.4 游标变量 461
24.2 游标操作 462
24.2.1 申明游标 462
24.2.2 打开游标 463
24.2.3 读取数据 464
24.2.4 关闭游标CLOSE 469
24.2.5 删除游标 469
24.3 查看游标 470
24.3.1 查看SQL Server游标 470
24.3.2 查看Oracle游标 475
24.4 游标循环 476
24.5 参数游标 478
24.6 游标嵌套 479
24.7 游标应用 479
24.8 小结 483
第25章 错误和异常处理 486
25.1 错误和异常分类 488
25.2 SQL Server错误和异常处理 488
25.2.1 错误信息及存储 488
25.2.2 错误捕获方法 488
25.3 Oracle错误和异常处理 492
25.3.1 异常处理方法 492
25.3.2 异常处理语法 492
25.3.3 预定义异常处理 493
25.3.4 非预定义异常处理 494
25.3.5 自定义异常处理 495
25.4 小结 496
第7篇 SQL在数据库开发和
管理中的应用
第26章 嵌入式SQL 498
26.1 ESQL基本概念 500
26.2 SQL的使用方法 500
26.3 ESQL语句和宿主语言之间的通信
方法 502
26.3.1 使用SQL通信区通信 503
26.3.2 使用主变量通信 503
26.3.3 使用游标通信 506
26.4 ESQL的编译处理过程 507
26.5 使用WHENEVER语句简化错误
处理 507
26.6 在高级语言中嵌入SQL 509
26.6.1 ESQL的语法格式 509
26.6.2 在Visual C++下执行ESQL
语句 509
26.6.3 在Visual C#中执行嵌入式
T-SQL语句 511
26.7 在数据库管理系统中嵌入SQL 513
26.7.1 ESQL语句与T-SQL和
PL/SQL语句的比较 513
26.7.2 在SQL Server中使用嵌入式
SQL 514
26.7.3 在Oracle中嵌入SQL 517
26.8 动态SQL技术 524
26.8.1 动态SQL的基本概念 524
26.8.2 SQL Server动态SQL语句的处理 525
26.8.3 Oracle动态SQL语句的处理 527
26.9 小结 532
第27章 数据库的存取访问技术 534
27.1 数据库系统的开发环境 536
27.2 应用系统的典型结构 536
27.3 开发平台和工具 538
27.3.1 Power Builder 538
27.3.2 Delphi 539
27.3.3 Oracle Developer Suite 539
27.3.4 .NET 540
27.3.5 J2EE 542
27.3.6 .NET和J2EE比较 543
27.4 数据库的连接访问技术 543
27.4.1 OLE DB 543
27.4.2 ODBC 545
27.4.3 JDBC 547
27.4.4 ADO 549
27.4.5 ADO.NET 556
27.4.6 Recordset对象方法的使用 561
27.5 ASP/ASP.NET与数据库的连接和访问 562
27.5.1 ASP/ASP.NET与Text 563
27.5.2 ASP/ASP.NET与Excel 563
27.5.3 ASP/ASP.NET与Access 564
27.5.4 ASP/ASP.NET与SQLServer 564
27.5.5 ASP/ASP.NET与Oracle 565
27.6 VB.NET与数据库的连接和访问 566
27.6.1 VB.NET与Text 566
27.6.2 VB.NET与Excel 566
27.6.3 VB.NET与Access 567
27.6.4 VB.NET与SQL Server 568
27.6.5 VB.NET与Oracle 568
27.7 VC#.NET与数据库的连接和访问 569
27.7.1 VC#.NET与Excel 569
27.7.2 VC#.NET与Access 570
27.7.3 VC#.NET与SQL Server 571
27.7.4 VC#.NET与Oracle 572
27.8 小结 572
第28章 用SQL管理SQL Server数据库 573
28.1 操作系统管理 576
28.1.1 查看服务器属性和操作系统参数 576
28.1.2 查看磁盘目录和文件信息 577
28.1.3 查看存储介质与磁盘分区信息 578
28.1.4 查看服务器提供的服务组件与程序 579
28.2 DBMS管理 579
28.2.1 查看数据库服务属性 579
28.2.2 查看数据库系统版本及配置参数 580
28.2.3 查看和修改数据库属性 580
28.2.4 查看数据库文件和文件组属性 582
28.2.5 查看当前数据库重要的数据对象 582
28.2.6 查看数据库日志 583
28.3 用户对象、权限与安全管理 584
28.3.1 查看数据库角色 584
28.3.2 查看和管理数据库用户 585
28.3.3 查看有关权限 586
28.3.4 查看和管理用户的数据对象 587
28.3.5 查看和管理进程 590
28.3.6 查看数据库锁 591
28.3.7 数据库备份和恢复 593
28.4 小结 597
第29章 用SQL管理Oracle数据库 599
29.1 系统管理 606
29.1.1 查看数据库系统属性 606
29.1.2 查看所有数据库对象的属性 607
29.1.3 查看和修改当前数据库的字符集 608
29.1.4 查看数据库文件的属性 609
29.1.5 查看和设置数据库归档信息 609
29.1.6 查看数据库的数据字典 611
29.1.7 查看数据库的后台进程 612
29.1.8 查看和修改系统的当前时间 612
29.1.9 查看SCN和MTS 613
29.2 连接、会话与进程管理 614
29.2.1 查看数据库的并发连接会话数 614
29.2.2 查看客户端连接会话信息 614
29.2.3 查看会话进程及客户端信息 617
29.3 表空间和数据文件管理 619
29.3.1 查看表空间信息 619
29.3.2 查看表空间的数据文件和容量统计信息 620
29.3.3 查看数据对象所占用的表空间信息 622
29.3.4 查看表空间的碎片 623
29.3.5 查看数据文件信息 624
29.3.6 查看日志组信息 625
29.3.7 查看竞争与等待信息 626
29.3.8 查看TRACE脚本文件 628
29.4 回滚段管理 628
29.4.1 查看回滚段的属性 628
29.4.2 查看用户与会话正在使用的回滚段 631
29.5 数据表管理 631
29.5.1 查看数据表的基本属性 631
29.5.2 查看表的存储信息 632
29.5.3 查看表的约束与关联信息 634
29.5.4 表记录管理 636
29.6 索引管理 637
29.6.1 查看索引属性 637
29.6.2 查看用户的索引信息 637
29.6.3 查看索引的存储属性 638
29.6.4 对字段进行全文检索 638
29.7 存储过程、存储函数和触发器管理 639
29.7.1 查看存储过程和函数的状态信息 639
29.7.2 查看触发器、过程、函数的创建脚本 639
29.8 查看运行的SQL语句 640
29.8.1 查看进程所对应的SQL语句 640
29.8.2 查看用户正在运行的SQL语句 642
29.8.3 查看Disk Read最高的SQL语句 642
29.8.4 查看回滚段里正在运行的SQL语句 643
29.8.5 查看视图对应的SQL语句 643
29.8.6 查看SQL语句的执行情况 643
29.9 角色、用户与安全管理 643
29.9.1 查看数据库角色信息 644
29.9.2 查看数据库用户信息 644
29.9.3 查看用户对象和类型 646
29.9.4 查看有关授权信息 649
29.9.5 查看数据备份和恢复信息 650
29.10 锁管理 651
29.10.1 查看锁 651
29.10.2 查看被锁的进程及锁类型信息 654
29.10.3 查看被锁定的数据库对象 655
29.10.4 查看锁定对象的客户端信息 656
29.10.5 解锁操作 656
29.11 参数调整与性能优化 657
29.11.1 查看数据库服务器参数 658
29.11.2 查看客户端参数 659
29.11.3 查看会话环境参数 659
29.11.4 查看inin.ora参数 659
29.11.5 查看NLS参数 659
29.11.6 查看SGA 660
29.11.7 查看PGA 670
29.11.8 查看排序区 670
29.11.9 查看Large Pool 671
29.11.10 查看Java语言区 671
29.11.11 查看UGA区 671
29.11.12 查看CPU资源 671
29.11.13 查看I/O资源的使用情况 672
29.11.14 查看等待与竞争 673
29.11.15 SQL语句优化 676
29.12 小结 678
第8篇 附录
附录A SQL常用语句分类索引 680
附录B SQL、SQL Server、Oracle常用函数分类对照索引 683
附录C SQL Server常用系统表和系统存储过程索引 689
附录D Oracle数据库常用视图索引 696
附录E Oracle数据库系统环境变量参数 700
㈢ postgreSQL数据库有什么用啊
优点事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。
从技术角度来讲,PostgreSQL 采用的是比较经典的 C/S (client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如 ODBC,JDBC,Python,Perl ,Tcl,C/C++,ESQL 等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。
缺点
从 Postgres 开始,PostgreSQL 就经受了多次变化。
首先,早期的 PostgreSQL 继承了几乎所有 Ingres, Postgres, Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性, 性能还是使用方便方面,长期以来一直没有得到重视,直到 PostgreSQL 项目开始以后,情况才越来越好,目前,PostgreSQL 已经完全可以胜任任何中上规模范围内的应用范围的业务。目前有报道的生产数据库的大小已经有 TB 级的数据量,已经逼近 32 位计算的极限。不过学院味也给 PostgreSQL 带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前支持平台最多的数据库管理系统的一种,所支持的平台多达十几种,包括不同的系统,不同的硬件体系。至今,它仍然保持着支持平台最多的数据库管理系统的称号。
其次,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能 等提高数据库性能的机制等。
㈣ 金仓数据库的所具有的功能:
(1) 数据库内核
· 操作系统平台
跨越多种操作系统平台,可运行于Windows、Linux、Solaris等操作系统平台上,客户端与服务器都可跨越操作系统平台。
· 数据存储
支持TB级数据量,数据文件自动管理,无须人工干预。
· 内存管理
· 数据类型
· 数据库对象
· 操作符
· 表达式
· 系统函数
· 事务处理
· 完整性
· SQL语句
(2)数据库工具
· 控制管理器
· 企业管理器
· 查询分析器
· 物理备份恢复工具
· 逻辑备份还原工具
· 数据迁移工具
· 作业调度管理工具
· 系统监控与跟踪工具
(3)数据库接口
· OLE DB
· ODBC
· JDBC
· ESQL
(4)数据库文档
· 联机帮助