日期:2014-05-16  浏览次数:20455 次

笔记:Unix 环境高级编程之数据库函数库
学计算机的人,就应该看下《Unix 环境高级编程》,绝对经典。

历史:
dbm(3):UNIX系统中很流行的数据库函数库,由Ken Thompson开发,使用动态散列结构。
ndbm: BSD的开发者扩充的dbm函数库。
SUS(Single UNIX Specification): Unix的第三个标准是,它是POSIX的超集,整个系统接口叫做XSI(X/Open System Interface),XSI定义了除了POSIX以外的接口,如果这些接口被支持就认为是满足XSI的(XSI-conforming),只有满足XSI的系统才是UNIX系统。其他标准查看书籍第二章。
SUS的介绍引用之他人博客:http://hi.baidu.com/david_jlu/blog/item/ab52c1820c8fcda60cf4d2c7.html
db(3):BSD提供的另一个库。
建议记录锁:数据库函数需要实现并发控制:具体查看书籍14.3。
B+树,动态散列技术:数据库实现技术。

函数库:
#include "apue_db.h"
DBHANDLE db_open(const char *pathname, int oflag, .../* int mode */); //返回值:若成功则返回数据库句柄,若出错则返回NULL
int db_close(DBHANDLE db);
in db_store(DBHANDLE db, const char *key, const char*data, int flag);
char* db_fetch(DBHANDlE db, const char *key);//若成功则返回指向数据的指针,若记录没有找到则返回NULL。
int db_delete(DBHANDLE db, const char *key);//返回值:若成功则返回0, 若记录没有找到则返回-1。
void db_rewind(DBHANDLE db);
char* db_nextrec(DBHANDLE db, char *key);//返回值:若成功则返回指向数据的指针,若到达数据库的结尾则返回NULL

引用
待续