Database design 如果关系数据库的形式化设计方法是实体关系图,那么NOSQL数据库的设计方法是什么?

Database design 如果关系数据库的形式化设计方法是实体关系图,那么NOSQL数据库的设计方法是什么?,database-design,nosql,Database Design,Nosql,我是数据库设计新手。据我所知,我们使用实体关系图来帮助设计关系数据库 如果关系数据库的正式设计方法是ERD,那么NOSQL数据库的方法是什么?我认为您最好使用实体关系图。仅仅因为数据库没有像RDBMS那样处理数据实体之间的关系并不意味着数据没有关系,只是这些关系是在应用程序中实现的,而不是在(非R)DBMS中实现的。我认为理解您要存储在数据库中每个条目中的信息仍然是值得的 如果你想要更量身定做的东西,那么问题是。在确定最佳设计方法之前,您可能需要确定希望使用哪种NoSQL数据库。我认为,在大多数

我是数据库设计新手。据我所知,我们使用实体关系图来帮助设计关系数据库


如果关系数据库的正式设计方法是ERD,那么NOSQL数据库的方法是什么?

我认为您最好使用实体关系图。仅仅因为数据库没有像RDBMS那样处理数据实体之间的关系并不意味着数据没有关系,只是这些关系是在应用程序中实现的,而不是在(非R)DBMS中实现的。我认为理解您要存储在数据库中每个条目中的信息仍然是值得的


如果你想要更量身定做的东西,那么问题是。在确定最佳设计方法之前,您可能需要确定希望使用哪种NoSQL数据库。我认为,在大多数数据库中,您都会想了解您的实体具有哪些属性,但是,即使您使用的数据库比经典的SQL数据库(例如,键/值对的变量集)具有更大的灵活性。

对于键值存储,请使用哈希映射;对于图形数据库,请使用图形。。。这些模型应该非常简单,但它们是否与er模型一样有用值得怀疑。

对于图形数据库,实体关系模型(或其面向对象的同类,类关联模型)是一个非常好的匹配:匹配非常好,以至于我认为图形数据库是在本地执行这样的模型

所有其他类型的数据库(包括关系数据库)都需要开发人员“做额外的工作”,以便将模型映射到数据库。例如,对于SQL数据库,额外的内容相对较少(例如,将N-N关系映射到额外的表、继承的变通方法)。相反,哈希表的额外内容相当大(属性序列化、关系手动管理等)


当然,不同的图形数据库也不同,连接的无缝程度也不同。我参与了一个名为“从高级模型到代码的步骤是通过代码生成器自动完成的”的图形数据库。

实体关系图是一种可用于设计关系数据库的工具。它们不是唯一的方法,甚至不一定是最好的方法。关系数据库早在ER建模和ER图出现之前就被发明了。实际上,有很多关系NoSQL数据库。例如,图形数据库几乎只能存储关系。它们是非常不同的东西。图形数据库通常不支持关系,而关系数据库不允许数据项之间的导航或“链接”。事实上,图形模型不如关系模型一般。@dportas:如果边不是顶点之间的关系,那么它是什么?@Jörg,边可能代表一种关系,但它肯定不是一种关系。关系是关系数据库的组成部分,而不是关系。一个图形可以用二级或二级以上的关系来表示,但这不是图形数据库实际使用的表示,因此它们不是关系型的。@dportas:我每天都会看到这种情况,也就是说,当它们表示“关系”时,会说“关系”:(