我们希望使用.net构建一个应用程序以维持会议记录和类似内容.我正在考虑使用db4o或一些OODB.这是个坏主意吗?我希望简单地创建一个会议纪要的存储库,用户可以按日期和类似的事情执行查找.使用SQL Express DB比使用db4o或Versant FastObject更好
编辑:这是一个跟踪讨论和会议纪要的小创意.我希望尽可能减小应用程序的大小.
例如,Hibernate可以处理CouchDb吗?
在其他ORM解决方案中支持其他OO数据库怎么样?
ORM解决方案的一个(不是那么重要的)好处是可以将一个数据库供应商换成另一个数据库供应商.如果将关系数据库交换为面向对象的数据库怎么办?
我想知道RDBMS或OODBMS会在不久的将来被抑制吗?
今天我读了很多关于两者差异的文章,大多数文章似乎都赞成OODBMS.这是否意味着RDBMS将被OODBMS抑制,但尚未完善?如果没有,是什么让你这么想?
我想了很多次,现在我们有Linq和其他CLR语言特有的内置搜索,排序和其他功能,而不是表,集合和对象,为什么不拥有'SQL Server'或者更确切地称它为'CLR Server' (不仅是OOP服务器而且是CLR 3.5),它将是一个CLR(或COM)DLL,它暴露数据,允许用户直接使用它; 这将节省大量的cuncurrency痛苦,用两种不同语言开发的时间等等.我不是说(上帝保佑)抛弃SQL,它只是让我多次思考,我想让我们听听社区所说的话.
这个想法当然不是全新的,在FoxPro中有这样的(不同于我的想法)数据库.但我说的是一个允许外部访问DLL的纯CLR .NET 3.5+数据库,甚至不应该生成SQL查询,整个系统应该以不同的方式工作.
插入更新和删除应该有额外的Linq关键字,但它们都应该是'Linq样式'.
我100%肯定微软一直在考虑这个问题,可能他们有性能方面的考虑和更多的IDK,让我听听你的意见,我个人认为今天使用.NET 3.5-4.0,如果我们有收集处理,扩展方法等.在服务器中将所有数据视为对象,它可能非常酷(关于编码,再次,不知道性能如何).
你说什么?我希望在正确的地方提出这个问题,请提前接受我的道歉,如果它不属于这里,请发表评论,我将删除它.
抱歉这个可怜的例子,但请理解:
Module Module1
Sub Main()
ClrServer.MyDataBase.ObjectContext.MyTables.Add(New ClrServer.MyDataBase.MyTable)
Try
ClrServer.MyDataBase.SaveChanges()
Catch e As ClrServer.UpdateException
End Try
Dim x = From a In ClrServer.MyDataBase.ObjectContext.MyTables Where a IsNot Nothing
Dim y = From a In ClrServer.MyDataBase.ObjectContext.MyOtherTables Where a IsNot Nothing
Dim z = From a In ClrServer.MyDataBase.ObjectContext.MyFreakingTables Where a IsNot Nothing
'So far no access to server made, the local maintainer hold up the request
'Connection to server …Run Code Online (Sandbox Code Playgroud) 我使用db4o作为DBMS,我有一个问题:
有没有办法指定我不想在数据库中存储模型类中的字段?
@Transient使用关系数据库时类似于注释的东西?
我不知道这个问题的标题是否合适。不管怎样,最近我听说创建数据库可以让生活变得更轻松。通过它您可以使用基于对象的数据库。它将使迁移到其他类型的数据库也变得更容易,例如从 MySQL 到 SQLlite 或其他数据库。
无论如何,我现在制作具有数据库访问权限的网页的主要方法是手动写下查询以从数据库中获取我需要的内容。但是,它也可以通过其他方式完成,这不涉及我必须编写查询。我想知道另一种方法是如何工作的。如何在谷歌中搜索它。
假设我们有三个概念如下:
概念(attribute1,attribute2,..)
A(a,b,c,d)
B(a,b,c,d,e)
C(a,b,c,d,f)
在数据库中为这三个概念建模有三种选择:
1)按原样对它们进行建模
表{column1,column2,...}
A {id,a,b,c,d}
B {id,a,b,c,d,e}
C {id,a,b,c,d,f}
Con:存在数据冗余.
2)在一个表中建模
A {id,object_type,a,b,c,d,e,f}
Con:对于某些概念,某些字段仍为空.
3)使用表之间的关系
一个{parent_id,a,b,c,d}
B {id,parent_id,e}
C {id,parent_id,f}
Con:增加查询复杂性以连接表.
你会用哪种方法?你有其他解决方案吗?你认为第三种方法的性能较差吗?
mysql database data-modeling object-oriented-analysis object-oriented-database
背景:好的,所以我正在寻找我猜的对象数据库.但是,我所看到的(通常很少)对象数据库是简单的持久层,而不是完整的DBMS.我不知道我正在寻找的东西是否被认为是一个对象数据库,所以真的有任何帮助指向我正确的方向将非常感激.
我不想给你两页描述我正在寻找的东西,所以我将用一个例子来说明我的观点.假设我有一个"BlogPost"对象需要存储.这样的东西,伪代码:
class BlogPost
title:String
body:String
author:User
tags:List<String>
comments:List<Comment>
Run Code Online (Sandbox Code Playgroud)
(假设Comment是它自己的类.)
现在,在关系数据库中,author将存储为指向a的外键User.id,并且将使用单独的表存储关系tags,comments并将其存储为一对多或多对多关系.我想要的是一个执行以下操作的数据库引擎:
author,tags等),而不是使用外键,这需要额外的查找; 换句话说,数据库本身应支持彼此顶部的对象我想我正在寻找的是一个导航数据库,但我不知道.有什么东西甚至与我的想法相似吗?如果是这样,它叫什么?(或者更好的是,给我一个实际的工作数据库.)或者我是否过于挑剔?
只是为了澄清,我不是在寻找ORM或抽象层或类似的东西.我正在寻找一个内部执行此操作的实际数据库.对不起,如果我很难,但我搜索过,找不到任何东西.
此外,JVM的优点还不错,但此时我真的不关心它运行的平台.