问题标签 [object-oriented-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
676 浏览

mysql - 在sql查询中使用foreach,面向对象数据库

以下是面向对象设置中的数据库方案。每个关系都成为对象的集合。学生是人,教师也是人。这些显示为标记为“isa”的有向边。所有其他有向边都显示参考属性。请注意,课程中的 PreReq 属性是一组引用。

在此处输入图像描述

这是我需要写的查询:对于每个分类,列出学生人数和平均 GPA。查询不能使用常量,例如“Freshman”。在输出中,每个元组应由 Classification、NumOfStudents 和 AvgGPA 组成。

如果我可以使用常量,我想我可以做到这一点。我认为某种 foreach 可以用于分类,但我不知道如何做到这一点。请注意,查询应该只使用基本的 mysql 语法编写。

0 投票
1 回答
1735 浏览

mysql - 查询面向对象的数据库

以下是scheme面向对象设置中的数据库。每个关系都成为对象的集合。学生是人,教师也是人。这些显示为标记为“isa”的有向边。所有其他有向边都显示参考属性。请注意,课程中的 PreReq 属性是一组引用。

在此处输入图像描述

这是我无法弄清楚如何编写的查询:

按 StudentID 重新组织注册集合。对于每个学生,检索学生的 ID 和成绩。等级应该是由CourseCodeLetterGrade属性组成的关系。

通过重新组织,我很确定这只是意味着按该顺序检索信息,而不是对数据库进行任何更新。

0 投票
1 回答
689 浏览

xml - XQuery 中的面向对象查询

使用关系样式连接编写 XQuery 查询没有问题。但是,我在使用面向对象的样式构造时遇到了一些麻烦。我有一个 xml 数据库,其方案可以在 xsd 文档 -> http://pastebin.com/Jj6PMgxe中找到。下面是数据库的图表。在此处输入图像描述

我正在尝试为成绩至少获得 A 的学生列出学生的 StudentID 和导师的 FacultyID。任何帮助表示赞赏。谢谢

0 投票
2 回答
703 浏览

c# - Db4o - 刷新持久会话中的所有新对象

在 Db4o 中是否可以将新对象加载到持久性 IObjectContainer 中?

我有一个桌面应用程序,它在启动时会打开一个连接(IObjectContainer)。如果我查询所有对象:

它完美地选择了所有对象。但是,如果另一个客户端在此之后添加了新类,则相同的查询仍然选择相同的对象,而没有新的对象。

我还知道:

但我什至没有激活对新对象的引用,所以在那里。如何刷新新对象

请注意:我不想每次需要一些数据时都打开/关闭会话,我想利用 OODB(透明激活、加载后的对象持久性等)

谢谢

更新(代码示例以便更好地理解)

我需要类似的东西:

0 投票
3 回答
1317 浏览

java - 将 java 对象树保存到数据库或文件的开源库

我正在寻找一个开源库,它可用于透明地将 java 对象(及其依赖项!)保存到文件或数据库,一种快照。

示例用例:我在一堆对象、玩家、分数、位置等中有游戏的状态。用户单击“保存”,现在我需要保存这些对象(所有要保存的对象都可以注释)到一个文件或数据库。如果系统崩溃或用户稍后登录,我应该能够从这一点恢复。

我正在寻找一个可以尽可能透明和高效地完成它的库。交易等是不必要的。我的优先事项是

  1. 开源,免费,良好的文档
  2. 使用方便。修改某些内容后,用户不必手动保存对象。如果他必须这样做,那应该是微不足道的活动
  3. 稳定的
  4. 应该很容易从快照中读取和恢复。

是否存在涵盖所有 4 个或至少大部分上述 req 的库?我对面向方面的方法持开放态度

我为我的用例问错了 q 吗?它在行业中的做法有很大不同吗?

0 投票
2 回答
521 浏览

graph - 如何用对象数据库实现复杂图的持久化?

我有几个图表。每个图表的广度和深度可能会有所不同,并且会在运行时发生变化和变更。请参见示例图。

在此处输入图像描述

有一个根节点可以控制整个图(即树)。一个节点可以有几个孩子,每个孩子都有一个特殊的用途。此外,节点可以访问其所有直接子节点以检索某些信息。另一方面,子节点可能不知道它自己的父节点,也不知道其他兄弟节点。到目前为止没有什么壮观的。

存储每个图并使用对象数据库(在本例中为 DB4O)对其进行更新看起来非常简单。我本可以使用关系数据库来实现数据持久性(包括数据库触发器等),但我想用对象数据库来实现它。

我的图表有一个奇怪的地方。请参阅另一个示例图。

在此处输入图像描述

为了正确执行计算,某些节点需要来自其他节点的信息。这些其他节点可能是兄弟姐妹、孩子/孙子或其他类型的相关节点。在这种情况下,特定节点也知道其他相关节点(因此可以直接从它们获取所需信息)。为了简单起见,第一张图片没有显示所有潜在的连接。

如果一个节点发生状态变化(例如由内部计时器触发或由其他节点触发),它将通知其他节点(感兴趣的观察者,另请参见观察者模式)有关更改。然后,每个被通知的节点将采取适当的行动来更新自己的状态(并根据需要通知其他观察者)。根节点不会知道发生的每一个变化,因为只有涉及的节点才会知道某些事情发生了变化。如果这样的事件链是由根节点触发的,那么当然这不是什么大问题。

目的是确保对象数据库的数据持久性。内存中的数据应该与数据库中存储的数据同步。增加复杂性的是图形不包含简单(和愚蠢)的数据节点,而是在每个节点中集成了许多功能(即触发整个图形状态更改的事件)。

我对如何处理提出的问题有几个粗略的想法(例如(1)数据和功能的更强分离或(2)数据库的更强集成或(3)设置任意时间间隔来更新数据并接受数据可能一段时间内不同步)。我正在寻找关于这样一个关键问题的更多输入和选项(这肯定会在具体实施中留下重要的足迹)。

(已编辑)还有一个方面我忘了提。图表不应该一直驻留在内存中。不需要的图将仅存在于数据库中,因此处于暂停状态。这是另一个需要考虑的问题。在暂停期间,更新机制也可能会进入休眠状态,这不是有意的。

0 投票
2 回答
341 浏览

java - db4o 类模型瞬态字段

我使用 db4o 作为 DBMS,我有一个问题:

有什么方法可以指定我不想将模型类中的字段存储在数据库中?

@Transient使用关系数据库时类似于注释的东西?

0 投票
1 回答
115 浏览

object-oriented-database - 什么是“对象数据库”,什么时候使用它有好处?

我非常熟悉我所理解的关系数据库,例如 mysql,您可以在其中使用表、行、列和连接来确定内容之间的关系。

有人建议我将对象数据库用于我正在忙的项目,但我不知道对象数据库是什么,也不知道它何时比关系数据库更有利。

我已经用谷歌搜索了,维基百科是丰富的信息(是的,讽刺),我必须承认我遵循的几个链接并不是特别有启发性。因此我转向未来的谷歌;众包信息。有谁知道我可以阅读的好文章,或者任何人都可以向我解释。

提前致谢。

0 投票
3 回答
469 浏览

hibernate - OODB JPA 实现与 Hibernate 的区别

我已经有一些使用 Hibernate 的经验,但是,如果我是正确的,没有办法使用它来访问像 Versant 的 VOD 这样的对象数据库。由于他们刚刚发布了支持 JPA 的预览版,我想知道是否可以使用我有限的 Hibernate 技能来使用 JPA 的对象数据库。如果有人有经验,请告诉我这些版本是否兼容。

最好的。

哈利

0 投票
4 回答
123 浏览

sql - 数据库或其他存储和动态访问巨大二进制对象的方法

我有一些大的(200 GB 是正常的)平面数据文件,我想将它们存储在某种数据库中,以便可以快速且直观地以逻辑组织数据的方式访问它。可以将其视为大量非常长的录音,其中每个录音的长度(样本)相同,并且可以被视为一行。其中一个文件通常包含大约 100,000 条记录,每个记录长度为 2,000,000 个样本。

将这些记录作为 BLOB 数据行存储在关系数据库中很容易,但在许多情况下,我只想将整个数据集的某些列(例如,样本 1,000-2,000)加载到内存中。什么是最节省内存和时间的方法?

请不要犹豫,询问您是否需要对我的数据细节进行更多说明,以便提出建议。

编辑:澄清数据维度...一个文件包括:100,000 行(记录)乘 2,000,000 列(样本)。我研究过的大多数关系数据库在一个表中最多允许几百到几千行。再说一次,我对面向对象的数据库知之甚少,所以我有点想知道这样的东西在这里是否有帮助。当然,任何好的解决方案都是非常受欢迎的。谢谢。

编辑:澄清数据的使用......数据只能由我将编写的自定义桌面/分布式服务器应用程序访问。每个数据“集”(到目前为止我称之为 200 GB 文件)都有元数据(收集日期、过滤器、采样率、所有者等)。还有与每个记录相关的元数据(我希望它是表格中的一行,所以我可以为每条记录元数据添加列)。所有元数据都是一致的。即,如果某个记录存在特定的元数据,则该文件中的所有记录也都存在该元数据。样本本身没有元数据。每个样本是 8 位普通的二进制数据。