【发布时间】:2011-03-31 21:05:40
【问题描述】:
我正在开发一个应用程序,它是一个用于评估 SPJ 查询的小型 DBMS 设计。该程序是用 C++ 实现的。
当我必须处理连接和分组查询时,我需要在主内存中维护一组记录。因此,我必须在主内存中维护临时表来执行用户输入的查询。
我的问题是,在 C++ 中实现这一目标的最佳方法是什么?为了实现这一点,我需要使用什么数据结构?
在我的应用程序中,我将数据存储在二进制文件中并使用目录(其中包含所有现有表的架构),我需要检索数据并处理它们。
我的应用程序中只有 2 种数据类型:int(4 字节)和 char(1 字节)
我可以使用 std:: 向量。实际上,我尝试使用向量的向量:内部向量用于存储属性,但问题是数据库中可能存在许多关系,每个关系可能是任意数量的属性。此外,这些属性中的每一个都可以是 int 或 char。所以,我无法确定实现这一目标的最佳方法是什么。
编辑
我不能对表使用结构,因为我不知道新添加的表中有多少列,因为所有表都是在运行时根据用户查询创建的。因此,表模式不能存储在结构中。
【问题讨论】:
-
你试过
std::vector吗? -
@larsmans,请协助。谢谢
-
我正在尝试找出您已经尝试过的内容。
标签: c++ database-design data-structures database