码迷,mamicode.com
首页 > 数据库 > 详细

从零开始实现一个最简单的数据库_Step4:Table

时间:2015-06-13 18:31:35      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

记录(Record)做好后,表(Table)就简单了。

基本上表要做的工作就是对记录的管理,增删改查那一套。

到了这里,基本上需要的功能都差不多了,目前能想到的就是这些。下一步打算是把代码优化一下,更稳健一些,毕竟里面大量使用了指针,很有可能在哪个角落里没有处理好对象的创建、删除,会导致后面程序的不健壮。然后就是把接口再优化一下,做一些Demo程序,来规范本数据库的使用。没问题了就可以考虑ERP了。

当然,在写ERP的时候肯定会对数据库提出各种各样的要求,到时候肯定会再回过头来修改这个数据库的。

 

// 为LzjSchema的实例
/* LzjTable在硬盘中的格式:
	part1: 本LzjTable的名称
	part2: 本表所用的模式的名称
	part3: m_recordList
*/
class LzjTable{
public:
	LString		m_strName;
	LzjSchema	*m_pSchema;	// 本表所用的模式
	LList<LzjRecord*>	m_recordList;
public:
	LzjTable(LString strName);
	LzjTable(LString strName, LzjSchema *pSchema);
	~LzjTable();

	void	Add(LzjRecord *pRecord);	// pRecord为内生变量
	LzjRecord*	Get(DWORD dwIndex);	// From 0
	void	Delete(DWORD dwIndex);
	void	Update(DWORD dwIndex, LzjRecord *pRecord);

	DWORD	Serialize(LFile *pFile);	// 序列化
	DWORD	Unserialize(LFile *pFile);	// 反序列化
	void	ConsoleOut(std::ostream *pCout);
};

  

从零开始实现一个最简单的数据库_Step4:Table

标签:

原文地址:http://www.cnblogs.com/Lzjxk/p/DB_Table.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!