gpt4 book ai didi

c - Oracle Berkeley DB 中记录概念的查询

转载 作者:行者123 更新时间:2023-11-30 19:20:06 25 4
gpt4 key购买 nike

根据 link ,我了解到在berkeley DB中记录是(key,value),与关系模型数据库中的记录是元组(表中的一行)。

但是当我运行使用 Oracle berkeley DB C API 的示例应用程序(display.exe)时,我得到下表信息

$ display

table1
table2
table3
table4

使用下面的命令,我得到table1的行

$ display table1

enter image description here

从上表中,我了解到,任何使用berk DB API的应用程序都可以放入/获取数据,并以(key,value)的形式在内部实际存储,例如(Colname1 ,0x300003) (Colname2, World) (Colname3, 0x10040) (Colname4, World) (Colname1, 0x30004a) (Colname2, 'EnterpriseVPN M')... 但是,我们以表格的形式看到这些数据,因为display 模块正在内部获取(键,值)对并将其呈现为表行。

我的理解正确吗?

最佳答案

不太正确。在你的例子中,关键并不明显。每个“表”可能是一个数据库。 “值”是一个具有四个字段的 C 结构:Colname1、Colname2、Colname3 和 Colname4。与关系数据库并不完全相反。在这里,一条记录仍然是一行。

但是,您必须选择这些字段之一作为键 - 您必须决定如何对数据建立索引。尽管 BDB 能够处理重复键,但您可能会发现在实践中使用它存在问题。因此,您的 key 应该是唯一的。

例如,也许 Colname1 中的数据就是键?如果是这样,您可以执行 db->get(0x300039) 并检索包含 0x300039、MgmtInventory、0x25e0000 和 MgmtInventory 的记录。

关于c - Oracle Berkeley DB 中记录概念的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23034117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com