我对数据库设计还很陌生。据我所学,我们使用实体关系图来帮助设计关系型数据库。
如果关系型数据库的正式设计方法是ERD,那么NOSQL数据库的设计方法是什么?
我对数据库设计还很陌生。据我所学,我们使用实体关系图来帮助设计关系型数据库。
如果关系型数据库的正式设计方法是ERD,那么NOSQL数据库的设计方法是什么?
对于图形数据库来说,实体关系模型(或其面向对象的表亲,类关联模型)是非常匹配的:匹配得如此之好,以至于我认为图形数据库本质上就是在执行这样的模型。
所有其他类型的数据库(包括关系型数据库)都需要开发人员“做额外的工作”来将模型映射到数据库。例如,对于SQL数据库,额外的工作相对较小(例如将N-N关系映射到额外的表格,继承的解决方法等)。相反,哈希表的额外工作相当大(属性序列化,关系手动管理等)。
当然,不同的图形数据库也有所不同,连接的无缝性也不同。我参与了一个名为InfoGrid的图形数据库,在这个数据库中,从高级模型到代码的转换是通过代码生成器自动完成的。
对于键值存储使用哈希映射表,对于图形数据库使用图形结构...这些模型应该是相当直接的,但它们是否像ER模型一样有用还存在疑问。