Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
Sql 什么样的数据是高度相关的_Sql_Database_Nosql - Fatal编程技术网

Sql 什么样的数据是高度相关的

Sql 什么样的数据是高度相关的,sql,database,nosql,Sql,Database,Nosql,我是数据库新手,正在探索SQL和noSQL 什么样的数据是高度相关的并从SQL中获益,而什么样的数据不是 请提供一些例子。你的问题似乎有一些误解。关系数据库中的关系是指一种数据模型——用于数据的表示系统。如果DBMS支持由事实(命题)组成的任何信息,那么这些信息都可以用关系表示。任何信息都没有内在的质量,使其或多或少适合于RDBMS SQL是一种(严格的非关系型)数据库语言 NOSQL是一个松散的术语,可以应用于任何不使用SQL或扩展SQL功能的数据库系统。NOSQL和关系数据库并不是相互排斥的

我是数据库新手,正在探索SQL和noSQL

什么样的数据是高度相关的并从SQL中获益,而什么样的数据不是


请提供一些例子。

你的问题似乎有一些误解。关系数据库中的关系是指一种数据模型——用于数据的表示系统。如果DBMS支持由事实(命题)组成的任何信息,那么这些信息都可以用关系表示。任何信息都没有内在的质量,使其或多或少适合于RDBMS

SQL是一种(严格的非关系型)数据库语言


NOSQL是一个松散的术语,可以应用于任何不使用SQL或扩展SQL功能的数据库系统。NOSQL和关系数据库并不是相互排斥的概念。NOSQL并不一定意味着“非关系”,它只是意味着“非SQL”。

关系数据符合以下定义:


  • 标题定义了一组有限的列
  • 每列都有一个名称和一个数据类型
  • 数据类型是一组命名的、有限的不同值
  • 关系的给定行中的每一列都包含相应列的一个适当数据类型的值
  • 行没有隐含的顺序
  • 列没有隐含的顺序
  • 不允许重复行
这些条件是所有关系发展的先决条件。也就是说,一个表甚至不符合第一范式,除非它是一个关系。如果表不是关系型的,SQL中的许多操作都不能正常工作

为了更实用,关系表必须在每一行上具有相同的属性,使用相同的名称,并且必须在一个或多个列上定义主键,以便您可以单独引用每一行

NoSQL实际上是一个营销术语,用于对一些数据管理产品进行品牌推广。这不是一个计算机科学术语

但是,如果您指的是非关系型,那么您可以看到,非关系型数据存储可以打破上述一些规则:

  • 给定集合中的两个条目(行)可以重复
  • 每个条目的字段可能有所不同。不同的编号、不同的名称、不同的数据类型
  • 一个给定字段可以在两个条目中包含相同的值,但由于某些原因(例如,取决于另一个字段中的值),该值被视为不同
  • 条目的顺序很重要(例如,假设条目按时间顺序排列)
  • 字段的顺序很重要(例如,假设第一个字段是某种类型的键)

<>但是通过打破这些规则,你就失去了关系操作工作的基础。 高度相关的东西可能重复:簿记(总账)、库存和订单/销售系统,几乎所有当前存在于“业务线”应用程序伞下的东西,真的吗?像带有父子排名的菜单和老板-员工排名通常被认为是分层的,不太适合在关系数据库中使用,也更难在关系数据库中使用。那又怎样?马克问什么数据能与SQL很好地结合;他也没有提出流行的“NoSQL是一个单一事物”的误解。他问“什么样的数据是高度相关的”,这正是我试图回答的问题。+1我认为通过“表示”,你指的是结构和运算符;)“一个标题定义了一组有限的列”:我想你的意思是,“一个标题定义了一组有限的属性”。类似地,您使用SQL或其他非正式术语试图表达“关系”的含义,老实说,我认为它不起作用——我认为只需链接到正式定义就足够了;)@onedaywhen:谢谢,我确实支持尽可能使用精确的术语,但StackOverflow帖子并不是向人们介绍正式定义所需的所有术语的地方。我做出了一些牺牲,使用了读者更熟悉的非正式术语。为了更全面地描述关系的含义,我推荐C.J.Date的“SQL和关系理论”。