⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db.h

📁 数据库实验
💻 H
字号:
#include <string>
 using namespace std;
 #include <fstream>
//#include "DBT.h"

class DB
{
public:
 int pagesize;//数据库块大小,8KB
 int pagecondition[11];
 char buff[100];
 char indexbuff[100];
 int pageno;//数据库现有的页数,初始分配一页
 int metapage; //数据库首页号

 DBT my_key;//当前记录的key
 DBT my_data;//当前记录的data
 int mykeyblock;//当前记录的key的块号
 int mykeyoffset;//当前记录的data的偏移

 
 string dbname;//数据库名
 string index_name;
 string dbpath; //数据库存储路径
 
 DB();
 DB(string& db_name);
 //~DB();
 DBT db_fetch(DBT& key);

 int db_store(DBT& key,DBT& data,int flag); // return the stored block NO. 
 int db_delete(DBT& key);
 DBT db_firstkey();
 DBT db_nextkey();
 int db_print();
 db_close();


int db_createindex(DBT& indexkey,int indexblock); 
//IndexName是索引名,创建索引时已有记录应生成索引项,以后每当增删记录时索引即随之更新

int db_dropindex(DBT& indexName);

int db_indexscan( string& indexName, string& value); //打开IndexName指定的索引,查找与指定Value匹配的记录

int NestedLoopJoin( char* dbName1, char* dbName2); //根据dbName1和dbName2的Key值执行等值嵌套循环连接,直接输出结果

int IndexJoin( char* dbName1, char* dbName2, char* index); 
 
 //db_open(char* dbname, int flags) 
//void db_close(DB* db) 
//(5) int db_delete(DB* db, DBT key)
//(6) DBT db_firstkey(DBM* db)
//(7) DBT db_nextkey(DB* db)
//(8) int db_print(DB* db);
//void db_error(int error_no);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -