热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

SQL 开发人员 Oracle Berkeley DB 指南(1)

来源: 作者: 时间:2007-12-02 Tag: 点击:
  常常有人问 Oracle Berkeley DB “我如何在 Berkeley DB 中进行 ?"因此,我们此处将介绍如何在 Oracle Berkeley DB 中实施众多您喜爱的 SQL 功能。不是所有的 SQL 应用程序都应该在 Oracle Berkeley DB 实施( Oracle Berkeley DB 是一个开放源的嵌入式数据库引擎,提供了快速、可靠、本地的持久性,无需管理),但如果您有一系列相对固定的查询且很关心性能,Berkeley DB 将是很好的选择。
  让我们从头开始 (很好的起步点)。我们从 ABC 开始学阅读,在 Berkeley DB 中我们从术语开始。
  这里为坚定的 SQL 程序员提供了一个小型“翻译指南”:
SQL 术语
Oracle Berkeley DB 对应词汇
数据库
环境
数据库
字节组/
/数据对
主索引
次索引
次数据库
  选择一个应用程序域 — 传统员工数据库,经过一定的简化。我们进一步假定您需要所有 Berkeley DB 的全部额外特性:并发、事务、可恢复性等。
  创建数据库
  在 SQL 中,您可以执行以下命令
  CREATE DATABASE personnel
  在 Berkeley DB 中, 您想要创建一个放置所有应用程序数据的环境。在代码中,您将通过一个环境句柄来引用环境,该句柄类型为 DB_ENV。您将使用这一句柄来操作此环境。现在,将一些精妙的错误处理过程放在一边,来集中讨论 API。 
DB_ENV *dbenv;
  int ret;
  /* Create the handle. */
  DB_ASSERT(db_env_create(&dbenv, 0) == 0);
  /*
  * If you wanted to configure the environment, you would do that here.
  * Configuraition might include things like setting a cache size,
  * specifying error handling functions, specifying (different)
  * directories in which to place your log and/or data files, setting
  * parameters to describe how many locks you'd need, etc.
  */
  /* Now, open the handle. */
  DB_ASSERT(dbenv->open(dbenv, "my_databases/personnel",
  DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL | DB_INIT_TXN | DB_THREAD, 0644);
您现在创建和打开了一个环境。需要注意几项事情:
·                            开始前必须有 my_databases/personnel 目录。
·                            open 调用的最后一个参数就是作为此环境的一部分为您创建的文件的模式。
·                            此处指定的标记将允许您创建环境
(DB_CREATE)
,使用锁定 (DB_INIT_LOCK);有一个共享的内存缓存池 (DB_INIT_MPOOL);使用事务 (DB_INIT_TXN);并同时在不同的控制线程中使用得到的环境句柄 (DB_THREAD)
  在 SQL 中,查询通常由单独的服务器处理,该服务器由数据库管理员配置以在您的系统上正常(或不正常)工作。因为 Berkeley DB 嵌入到了您的应用程序中,因此该应用程序可以执行许多配置工作。但这确实与数据库调优有关,我们将另文详述。


相关文章:
SQLite3 C/C++ 开发接口简介(API函数) 二
SQLite3 使用教学
Scaling out MySQL - Hardware today and tomorro
SQLite适用的范围
sybase cursor declare
SQL语句大全精要
用户配额
decode函数
Oracle 数据库创建表空间、创建用户指定表空间
MySQL教会我使用GnuPG验证软件包
MySQL中MyISAM引擎与InnoDB引擎性能简单测试
initdb
mysqladmin在线帮助文档
CentOS 4.7 安装Oracle 9.2.0.4的一些问题
文本如何导入oracle(sqlldr 的用法)
ORA-00600: 内部错误代码,自变量: [16201], [],
分布式Oracle的database link
install a MySQL source distribution
Mysql备份脚本(未验证)
oracle 9.2.0.1 update 9.2.0.5
每小时Dump所有mysql数据库到NAS存储设备上
Oracle SCN机制解析
Account LOCKED(TIMED)
MySQL数据库5.0的my.cnf配置选项
oracle存储过程中调用其他用户的表
修改sqlplus提示符
MYSQL建表实例
一些对Mysql DBA有用的脚本
Oracle DBA 强悍挑战OS 64位 Solaris 10-真正休
[Bugzilla]由Mysql迁移到Oracle的方法