一尘不染

SQL Server 中的"record" and a "row"有什么区别?

sql

我们如何区分这些相关术语以及如何正确使用它们呢?

Row

Record


阅读 77

收藏
2022-10-26

共1个答案

一尘不染

我刚刚搜索了文档“信息技术 - 数据库语言 - SQL 第 2 部分:基础 (SQL/Foundation)”,该文档定义了所有主要 RDBMS 实现的 SQL 的 ANSI 标准。

正如预期的那样,该词row在整个文档中主要使用了数百次。

该词record仅用于描述类似于 Oracle PL/SQL 中使用的记录的记录(特别是描述 ADA 记录数据类型)。文件中提到 6 处。

我认为这澄清了这个问题,并回答了双方的各种论点。


附加信息

来自 wiscorp.com 上的一份(最新免费提供的草案版本)SQL 标准的副本(SQL 标准页面有其他几个旧版本和修订版)。

搜索日期为2011-12-21的7IWD2-02-Foundation-2011-12.pdf显示单词row在文档中出现 2277 次,而单词record仅出现 21 次,或者作为动词“记录”或者在最后的一些附录中,在 SQL 数据类型和宿主语言类型(Ada、Pascal)的数据类型对应的规范中。

此外,同一文件在第 57 页(强调我的):

4.15.1 表格介绍

本款由 ISO/IEC 9075-9 中的第 4.10.1 款“表格介绍”修改。

表是零个或多个行的集合,*其中每一行是一个或多个列值的序列。最具体的类型是行类型。给定表的每一行都具有相同的行类型,称为该表的行类型。表中每一**行的第 i 个字段的值就是表中该的第 i 列的值。行是可以插入表和从表中删除的最小数据单位。*

一个表的度数,以及它的每一的度数,是该表的列数。表中的行数是它的基数。基数为 0(零)的表称为空表。

可以是基表派生表临时表


就使用 SQL 的 DBMS 而言:

Rows不是记录,fields不是列,tables不是文件!

2022-10-26