当前位置:Gxlcms > 数据库问题 > 从零开始实现一个最简单的数据库_Step4:Table

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

时间:2021-07-01 10:21:17 帮助过:3人阅读

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

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

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

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

 

  1. // 为LzjSchema的实例
  2. /* LzjTable在硬盘中的格式:
  3. part1: 本LzjTable的名称
  4. part2: 本表所用的模式的名称
  5. part3: m_recordList
  6. */
  7. class LzjTable{
  8. public:
  9. LString
  10. m_strName;
  11. LzjSchema
  12. *m_pSchema;
  13. // 本表所用的模式
  14. LList<LzjRecord*>
  15. m_recordList;
  16. public:
  17. LzjTable(LString strName);
  18. LzjTable(LString strName, LzjSchema *pSchema);
  19. ~LzjTable();
  20. void
  21. Add(LzjRecord *pRecord);
  22. // pRecord为内生变量
  23. LzjRecord*
  24. Get(DWORD dwIndex);
  25. // From 0
  26. void
  27. Delete(DWORD dwIndex);
  28. void
  29. Update(DWORD dwIndex, LzjRecord *pRecord);
  30. DWORD
  31. Serialize(LFile *pFile);
  32. // 序列化
  33. DWORD
  34. Unserialize(LFile *pFile);
  35. // 反序列化
  36. void
  37. ConsoleOut(std::ostream *pCout);
  38. };

  

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

标签:

人气教程排行