问题标签 [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.
c# - EF Code First 4.1:“多重继承”(Is A)问题
我正在尝试使用 EF 4.1 Code First 建模一种“多重继承”关系。这是我正在尝试做的一个例子。
假设我正在尝试使用“用户”对象对用户与我的应用程序交互的方式进行建模。这是基类,用于描述当前用户没有做任何特别的事情(例如访问主页)。它可能看起来像这样:
现在,如果我想在网站的不同部分创建同一用户的表示,例如,作为购物者,它可能如下所示:
等等等等。当我插入具有预先存在的用户条目的购物者时,它会引发异常,因为 PK 已经在用户表中。
有没有办法用 EF Code First 来模拟这种(IsA)关系?还是我会被这样的事情困住?
我想坚持 Code First 并在我的 DbContext 中对关系进行建模,但我不知道如何做这样的事情。谢谢!
编辑:
所以,我正在尝试做这样的事情:
基本上就像使用面向对象的角色一样,我猜。我想对该用户的每个表示使用相同的 PK,但将他们的所有基本信息存储在一个名为 User 的基类中。当然,我知道如果我编写自己的 SQL,这是可能的,但我想看看 EF Code First 是否也能做到。
java - 在 Java 生产中使用的最佳 OO-DBMS 是什么?
我正在考虑开始研究 Java 应用程序在生产场景中使用的 OO-DBMS 性能。您是否有使用面向 Java 的 OO-DBMS 而不是 RDMBS 的成功经验?如果是这样,您使用的是什么 dbms?
java - 我可以将休眠用于以数据为中心的应用程序吗?
我正在浏览一个休眠教程,他们说休眠不适合以数据为中心的应用程序。它为程序提供的“面向对象结构”给我留下了深刻的印象,但我的应用程序非常以数据为中心(它获取和更新大量记录。但我不使用任何存储过程)。我不能使用hibernate吗?是否有任何通过hibernate编写的包装器,我可以将其用于我的应用程序?感谢任何帮助。
object-oriented-database - .NET 对象数据库选项?
由于 Versant 刚刚宣布他们将放弃对他们的对象数据库的 .NET 支持(而我们恰好处于该产品的开发中期),我们正在寻找替代方案。
我们的开发规模适中,需要支持并发查询和高可用性。有什么建议么?
python - 寻找一个取消数据库的 webapp 框架
在过去一年左右的时间里,我一直在使用 Django 进行开发,并且非常喜欢它。但有时我发现 ORM 有点像紧身衣。我在数据库中来回移动的所有数据都可以轻松放入 1GB 的 RAM。即使项目增长了几个数量级,它仍然适合 1GB。
我想要一个解决方案,我的应用程序只需要在启动时从磁盘读取,但在我更新对象时隐式写入磁盘。我不太关心这可能给我带来的任何速度提升。我真正追求的是增加的灵活性。如果我有一个与链表、树或其他数据结构非常匹配的问题,我不应该将其移植到关系数据库中。
Python会很好,但其他语言也很好。我正处于这个探索阶段。我想了解一下现有的解决方案。在谷歌搜索这个问题时,我得到了很多与不同 Nosql 项目相关的点击。但是,据我所知,Nosql 是关于当您因为拥有太多数据而超出关系数据库时您所做的一切。我真的处于光谱的另一端。我的数据太少,以至于关系数据库实际上是多余的。
对象数据库是谷歌搜索这个问题时出现的另一件事,这让我想起了 Zope 和 ZODB。很久以前我涉足过 Zope,但我真的不喜欢它。但是读了一点对象数据库让我觉得这可能是我正在寻找的东西。再说一次,他们普遍未能吸引用户让我怀疑。对象数据库已经存在了很长时间,但仍然没有流行起来。我想这意味着他们有问题?
python - 对象数据库的索引方法
我正在使用对象数据库 (ZODB) 来存储许多对象之间的复杂关系,但遇到了性能问题。因此,我开始构建索引以加快对象检索和插入。这是我的故事,希望对你有所帮助。
最初,当我将一个对象添加到数据库中时,我会将其插入专用于该对象类型的分支中。为了防止多个对象代表同一个实体,我添加了一个方法,该方法将遍历分支中的现有对象以查找重复项。这起初是可行的,但随着数据库规模的增长,将每个对象加载到内存中并检查属性所花费的时间呈指数增长,令人无法接受。
为了解决这个问题,我开始根据对象中的属性创建索引,以便在添加对象时将其保存在类型分支以及属性值索引分支中。例如,假设我正在保存一个具有属性 firstName = 'John' 和 lastName = 'Smith' 的人员对象,该对象将被附加到人员对象类型分支,并且还将被附加到属性索引分支内的列表中,带有键'约翰”和“史密斯”。
这节省了大量重复检查的时间,因为可以分析新对象并且只需要检查与属性索引相交的对象集。
但是,我很快遇到了另一个关于更新对象时的处理问题。索引需要更新以反映它们可能不再准确的事实。这需要记住旧值以便可以直接访问它们并删除对象,或者迭代属性类型的所有值以便找到然后删除对象。无论哪种方式,性能都很快开始再次下降,我无法找到解决它的方法。
你以前有过这样的问题吗?你做了什么解决它,或者这只是我在使用 OODBMS 时必须处理的事情?
提前感谢您的帮助。
java - 使用 RDBMS 的面向对象方法
我有一个关于如何在使用 mysql 等 RDBMS 时使用面向对象方法的问题。我正在开发一个跟踪计费的小型应用程序。它是用 java 构建的,我使用 MySQL 数据库来存储数据。我的应用程序有一个客户和一个产品类。现在通常,如果我使用数组或不同的数据容器处理持久数据存储,我将对客户类和产品类进行更新、删除等操作。但是,我发现自己使用的静态方法比以往任何时候都多。因为我没有客户数组,例如,我只有一个包含客户信息的数据库在它的主要ID上。
我想问大家的是,在使用 RDBMS 的时候,你们是如何采用面向对象的方式呢?
database - 对象数据库:更改类层次结构
我正在将我读入面向对象的数据库中,并且必须进行一些演示。
我没有得到并且无处可以找到的东西是以下问题:
当我更改我的类层次结构时,数据库的数据会发生什么。
例如,我有 A 从 C 扩展。但后来我注意到 C 必须从 B 扩展,B 必须从 A 扩展:
我存储在数据库中的(用户)数据会发生什么变化?
如果数据库不能被采用,数据就不能再使用了,对吧?因此,例如,当我有一个社交网络时,所有数据都将丢失并且网络必须重新开始......我在这里还是我错过了什么?
jakarta-ee - ObjectDB 的自定义领域,使用带有 HTTP 基本身份验证的 ObjectDB
我想为我的 Web 服务实现 HTTP 基本身份验证,但我也想使用 ObjectDB 来存储凭据。有没有办法做到这一点?我想我需要一个自定义领域,而且,以前有人已经这样做了,所以如果是,请举手。否则请帮助我实施。我已经检查了制作自定义领域的基础知识。是否有可能以某种方式使其与 JDBCRealm 一起工作,或者更直接地,是否可以在使用 ObjectDB 服务器的 GlassFish 中创建 JDBC 资源?
到目前为止,我所做的是以下基础Realm
:
, 和LoginModule
:
更新
遗憾的是, ObjectDB还没有 JDBC 驱动程序。但是,请随时提出建议!
提前致谢!
database - 如何将对象存储在数据库中以进行检索
我正在尝试创建一个可用于存储大量对象的数据库。我试图用关系数据库来做到这一点,但它似乎有点像野兽。我的意思是拿下面的简单对象
从这些您可以想象出一辆 3 门绿色汽车,配备黑色 17 英寸合金轮毂、低调、光滑的橡胶轮胎、2 个带安全带的座椅。显然,这整个对象不是一成不变的,你可以去然后扩展
(例如。
)
最终,假设有很多对象,我想返回一个具有这些特征的对象列表
从这里我可能会得到一个有 3 扇门但有各种其他属性的 5 辆汽车的列表,没关系,我没有指定这些标准。我可以进一步缩小范围,寻找所有带光面轮胎的 3 门车......我可能会回来 2
所以我在想一个有 3 个主表的数据库:对象、属性和值。然后有链接表,将对象链接到属性,将属性链接到值。但是,如果像在示例中一样,我有包含对象的对象,并且如果我计划拥有一个 car 对象,该示例可以作为该示例的扩展呢?
我们如何处理这种类型的数据库问题?可以使用关系数据库完成还是需要面向对象的数据库?如果是这样,是否有任何 OODB 可以像 MySQL 一样轻松地通过网站实现。
如果您可以使用 RDB 来执行此操作,那么查询肯定会占用大量资源吗?OODB 怎么样?作为资源密集型?
如何为网站制作面向对象的数据库?使用 RDB 或 OODB,我不介意,就是这样