我是数据库的新手,正在探索SQL与noSQL。
什么样的数据是高度关系的,并且受益于SQL以及哪种数据没有?
请提供一些例子。
答案 0 :(得分:2)
你的问题似乎背负着一些误解。关系数据库中的关系是指一种数据模型 - 用于数据的表示系统。 如果您的DBMS支持该类型的信息,则可以关联地表示由事实(命题)组成的任何信息。任何信息的内在质量都不会使其或多或少地适合RDBMS。
SQL是一种(严格非关系型)数据库语言。
NOSQL是一个松散的术语,可以应用于任何不使用SQL或扩展SQL功能的数据库系统。 NOSQL和关系是不相互排斥的概念。 NOSQL不一定是指“非关系型”,它只是意味着“不是SQL”。
答案 1 :(得分:2)
关系数据符合relation:
的定义这些条件是所有Normal Forms关系的先决条件。也就是说,除非是关系,否则表格甚至不符合第一范式。如果表不是关系表,SQL中的许多操作都无法正常工作。
更实际的是,关系表必须在每一行上具有相同的属性,具有相同的名称,并且必须在一列或多列上定义主键,以便您可以单独引用每一行。
NoSQL实际上是用于标记和推广某些数据管理产品的营销术语。这不是计算机科学术语。
但如果您的意思是非关系,那么您可以看到允许非关系数据存储破坏上述一些规则:
但是通过违反这些规则,你失去了关系运作的基础。