Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 在NoSql中使用哪个图(Mcd、Merise、UML)_Django_Nosql_Rdbms - Fatal编程技术网

Django 在NoSql中使用哪个图(Mcd、Merise、UML)

Django 在NoSql中使用哪个图(Mcd、Merise、UML),django,nosql,rdbms,Django,Nosql,Rdbms,再次为我愚蠢的问题道歉,但似乎我从关系数据库学到的东西应该被“删除”,没有连接,所以我该如何在NoSql中使用Merise和UML呢 这一条不适用于NoSql?如何组织项目是用于持久化的技术的独立概念;特别地;UML或ERD或任何此类工具对关系数据库的应用并不比对文档数据库的应用更为广泛 NoSQL“没有连接”的想法既愚蠢又无益。(大多数)文档数据库不提供连接操作符是完全正确的;但这仅仅意味着,当您确实需要连接时,您可以在应用程序代码中而不是在查询语言中进行连接;组织项目的基本事实保持不变 另

再次为我愚蠢的问题道歉,但似乎我从关系数据库学到的东西应该被“删除”,没有连接,所以我该如何在NoSql中使用Merise和UML呢


这一条不适用于NoSql?

如何组织项目是用于持久化的技术的独立概念;特别地;UML或ERD或任何此类工具对关系数据库的应用并不比对文档数据库的应用更为广泛

NoSQL“没有连接”的想法既愚蠢又无益。(大多数)文档数据库不提供连接操作符是完全正确的;但这仅仅意味着,当您确实需要连接时,您可以在应用程序代码中而不是在查询语言中进行连接;组织项目的基本事实保持不变

另一个区别是,文档数据库使表达某些内容更容易,而其他内容则更难。例如,在关系数据库中定义实体关系约束通常比较容易,但在文档数据库中表示继承继承继承关系则比较容易。这两种技术都可以支持这两种概念,当应用程序需要它们时,您肯定会使用它们;不管你最终使用什么技术

简而言之,您应该设计应用程序,而不必首先选择持久性技术。一旦你对你想要坚持的东西有了一个好的想法,你可能会对哪种技术更适合你有一个更好的想法。也许你真正需要的是两者,或者你可能需要与两者完全不同的东西

编辑:外键的想法并不比简单地说“这是那种东西的名字”更神奇。许多SQL数据库恰好提供了一些非常简洁和有用的特性来处理这类事情;具体来说,是约束(此列引用此其他关系;因此除非refereant中有相应的行,否则它不能接受值)和级联(如果referent的状态更改,则对引用进行相应的更改)。这使得即使在最低级别也可以很容易地保持数据的一致性,因为无法告诉数据库进入缺少引用的状态

但要区别的重要一点是,给出数据库实体(关系数据库中的一行,文档数据库中的文档)的想法与模式约束的概念不同。文档数据库的一个优点是,它们可以轻松地组合或重新定位数据所在的位置,这样您就不必总是拥有实际存在的引用;大多数文档数据库使用document类作为键的一部分,因此您仍然可以确保键是有意义的,即使referent实际上不存在

但大多数时候,你确实希望引用存在;您不希望博客文章有作者,除非该作者确实存在于您的系统中。对它的支持程度在很大程度上取决于特定的文档数据库;有些数据库确实提供触发器或其他工具来强制执行引用的完整性,但许多其他数据库只提供某种事务功能,这要求在应用程序中强制执行完整性


重点是,;对于大多数类型的数据库,数据库中的每个值都有某种标识符;在关系数据库中,这是三重关系:列:键;在文档数据库中,它通常类似于pairdocument\u类:path。当您需要一个实体引用另一个实体时,您可以使用任何类型的键来标识该数据库的数据。RDBMSE中的外键约束只是“如果不存在引用,则引发ForeignKeyError”的语法糖(非常有用),如果有助于您的特殊用途,可以通过其他方式以同等的方式实现。

谢谢,问题是,我想写一篇关于一个需要在论文中写点东西的项目的论文,我确信他们会纠正图表,这里有60%(或更多)的工程师的最终项目是基于论文的,所以我应该找到一些东西来“画”,因为我说过:“好吧,让我们做些新的事情”当我试图制作一个“传统”的类图时,我发现有一个问题,那就是如何连接键……那么我要重新发明轮子吗?不同的文档数据库以不同的方式表达键。有些实际上提供了一个可序列化的键,可用于引用其他文档,而另一些则只是索引任何内容,并让您定义“键”必须是什么。这同样适用于RDBMSE;Sqlite3具有
rowid
,表中每一行的唯一ID;许多其他的有一个可选的自动增量功能,有些需要你发明一个密钥结构,GUID是一个推荐的解决方案。但是在Sqlite中,由于它是一个RDBMS,所以有外键,所以你可以用MySql表示系统,但是当使用MongoDB(它的文档)时,这是如何实现的?我是新手,它似乎会使用指针?