标签: relational-database

关系数据库与图数据库的比较

有人可以向我解释一个关系数据库(例如MySQL)与Neo4j等图形数据库相比的优缺点吗?

在SQL中,您有多个表,其中各种ID链接它们.然后你必须加入连接表.从新手的角度来看,为什么要将数据库设计为需要连接,而不是将连接从一开始显示为边缘,就像使用图形数据库一样.从概念上讲,对新手来说没有任何意义.据推测,这有一个非常技术但非概念性的原因?

sql relational-database graph-databases

80
推荐指数
5
解决办法
4万
查看次数

关系数据库和非关系数据库之间有什么区别?

我知道像MySQL,PostgreSQL和MS SQL Server这样的解决方案是关系数据库系统,NoSQL,MongoDB等是非关系型DBMS.

但是,这两种系统有什么区别?

Layman条款是优选的.

谢谢.

non-relational-database relational-database

78
推荐指数
5
解决办法
10万
查看次数

仍然困惑于识别与非识别关系

所以,我一直在阅读我的数据库设计中的识别与非识别关系,并且关于SO的一些答案似乎与我相矛盾.以下是我要看的两个问题:

  1. 识别和识别关系之间的区别是什么
  2. 确定识别或不识别关系的麻烦

从每个问题的最佳答案看,我似乎对识别关系有两种不同的看法.

第一个问题的响应表明,标识关系"描述了子表中行的存在取决于父表中的行的情况." 给出的一个例子是,"作者可以写很多书(1对n的关系),但没有作者就不能存在书." 这对我来说很有意义.

然而,当我阅读对问题二的回答时,我感到困惑,因为它说,"如果一个孩子识别其父母,那就是一种识别关系." 然后答案继续给出一些例子,例如社会安全号码(识别一个人),但地址不是(因为许多人可以住在一个地址).对我来说,这听起来更像是主键和非主键之间的决定.

我自己的直觉(以及对其他网站的额外研究)指出了第一个问题,其反应是正确的.但是,在我继续前进之前,我想验证,因为我不想学习错误,因为我正在努力理解数据库设计.提前致谢.

database database-design relational-database identifying-relationship

74
推荐指数
5
解决办法
7万
查看次数

什么时候我应该使用一对一的关系?

对不起那个noob问题,但有没有真正需要与数据库中的表一对一的关系?您可以在一个表中实现所有必需的字段.即使数据变得非常大,您也可以在SELECT语句中枚举所需的列名而不是使用SELECT *.你什么时候真的需要这种分离?

database database-design relational-database

74
推荐指数
11
解决办法
3万
查看次数

基于文档的数据库与关系数据库的优缺点

我一直试图看看我是否可以用基于文档的数据库来完成一些要求,在本例中是CouchDB.两个通用要求:

  • 具有一些具有唯一索引的字段的实体的CRUD
  • 像eBay这样的电子商务网络应用程序(这里有更好的描述).

我开始认为基于文档的数据库不是满足这些要求的最佳选择.此外,我无法想象使用基于文档的数据库(也许我的想象力太有限).

当我尝试使用面向文档的数据库来满足这些要求时,你能解释一下我是否向榆树询问梨子吗?

database couchdb relational-database nosql document-database

69
推荐指数
5
解决办法
4万
查看次数

什么时候不应该使用关系数据库?

除了google/bigtable场景之外,什么时候不应该使用关系数据库?为什么不,你应该用什么?(你学到了'艰难的道路'吗?)

sql database relational-database nosql

67
推荐指数
6
解决办法
2万
查看次数

关系数据库是否适合Node.js?

最近我一直在玩Node.js.在我的特殊情况下,我最终使用MongoDB,部分原因是因为它非常简单,部分原因是Mongoose似乎是一种非常简单的开始使用它的方法.

我注意到在使用Node.js时似乎对关系数据库有一定程度的反感.与Node.js生态系统中的非关系数据库相比,它们似乎得不到很好的支持,但我似乎无法找到一个简明的理由.

所以,我的问题是,是否存在一个可靠的技术原因,为什么关系数据库比使用MongoDB等替代方案更适合使用Node.js?

编辑:只是想澄清一些事情:

  • 我特别没有找到与我正在构建的特定应用程序相关的详细信息
  • 我也不是在寻找非技术原因(例如,我不是在回答"Node和MongoDB都是新的,所以开发人员一起使用它们")

我正在寻找的只是技术上的原因.例如,如果有一个技术上的原因,为什么关系数据库在与Node.js一起使用时表现异常糟糕,那么这就是我正在寻找的那种东西(请注意,到目前为止,从答案来看似乎不是案子)

relational-database node.js

59
推荐指数
4
解决办法
2万
查看次数

如何在MongoDB中组织多对多的关系

我有两张桌子/收藏品; 用户和组.用户可以是任意数量的组的成员,用户也可以是任意数量的组的所有者.在关系数据库中,我可能有第三个名为UserGroups的表,其中包含UserID列,GroupID列和IsOwner列.

我正在使用MongoDB,我确信在文档数据库中存在这种关系的不同方法.我应该将Users表中的groups和groups-as-owner列表作为两个ObjectID数组嵌入吗?我是否还应该将Groups表中的成员和所有者列表存储为两个数组,从而有效地镜像导致重复关系信息的关系?

或者,桥接UserGroups表是文档数据库中用于多对多关系的合法概念?

谢谢

many-to-many relational-database mongodb document-database

58
推荐指数
2
解决办法
2万
查看次数

每种类型数据库的实际示例(实际案例)

有几种类型的数据库用于不同的目的,但通常MySQL用于一切,因为是最知名的数据库.仅举一个例子,在我的公司中,大数据的应用程序在初始阶段有一个MySQL数据库,这是令人难以置信的,并将给公司带来严重后果.为何选择MySQL?仅仅因为没有人知道应该如何(以及何时)使用另一个DBMS.

所以,我的问题不是供应商,而是数据库的类型.您是否可以为每种类型的数据库提供特定情况(或应用程序)的实际示例,强烈建议您使用它?

例:

•由于Y,社交网络应使用类型X.

•MongoDB或沙发数据库不支持交易,因此文档数据库对银行或拍卖网站的应用程序不利.

等等...


关系: MySQL,PostgreSQL,SQLite,Firebird,MariaDB,Oracle DB,SQL服务器,IBM DB2,IBM Informix,Teradata

对象: ZODB,DB4O,Eloquera,Versant, Objectivity DB,VelocityDB

图形数据库: AllegroGraph,Neo4j,OrientDB,InfiniteGraph,graphbase,sparkledb,flockdb,BrightstarDB

主要价值商店: Amazon DynamoDB,Redis,Riak,Voldemort,FoundationDB,leveldb,BangDB,KAI,hamsterdb,Tarantool, …

database relational-database nosql

58
推荐指数
2
解决办法
4万
查看次数

56
推荐指数
6
解决办法
6万
查看次数