1

在数据库中,“行”和“记录”这两个词有什么区别?一条记录是否包含多行?

编辑:它们完全一样吗?

编辑 2:数据库系统第 14 章的第一句话读到

仅仅分散表示各个块之间关系元组的记录是不够的。

你们确定记录和元组的含义相同吗?

4

6 回答 6

2

虽然已经回答得很好;我也想补充一下我的观点。

这些词可以互换使用。

 1          2         3              4 
--------------------------------------------------------------------
Row    =  Record  =  Tuple        =  Entity 

Column =  Field   =  Attribute    =  Attribute

table  =  File    =  Relation     =  Entity Types(or Entity Set)
  • 学习 ER-Modules 时好用的 4 个术语
  • 3 使用关系模型时
  • 2 一般场景,DataBase books start with these terminology因为这些在现实生活中被人们广泛使用,在文件系统中也是如此。

编辑
It is not sufficient simply to scatter the records that represent tuples of a relation among various blocks.

Record是存储系统中具有隐含意义的基本单元。在 DBMSrecord中,章节中的“使用”一词描述了数据库表如何存储在磁盘块上。我书中 的一句话primary methods of organizing files of records on disk。在 DBMS 中,arecord-oriented filesystem是一个文件系统,其中文件存储为记录的集合。(RECORD/Field/File/Block是文件系统(操作系统)术语)位命令然后在存储系统上下文中行。虽然,Records也叫tuples, structs, or compound data.


由于某些原因,我没有在 OO 数据库设计中添加术语。它们是 { 对象、数据类型、对象结构或 (STRUCTURE)}


在正确的地方使用正确的术语是技术人员的好习惯,尤其是在教学时!

于 2012-12-08T15:59:16.867 回答
1

关系数据库世界中,这些术语可以互换使用。

还有其他类型的数据库中没有出现这些术语;例如,有文档数据库、键值存储和图形数据库。

但是在普通的关系数据库中,一个表(或关系)是由许多行(或记录,或元组)组成的,每行代表一个表所描述的“类型”的“对象”。术语上的差异实际上是一种感知:当您以图形方式查看表格时使用row ;在强调物理结构时使用记录。

于 2012-12-08T04:43:05.710 回答
1

哲学上没有真正的区别。同样,每种语言、每个数据库等的分类法都不相同,因此没有一个答案。但是你可以这样考虑

数据库有表。就像在 Excel 中绘制表格一样,每个表格都有列和行。所以我们可以说每个表都有行。

但有可能单一类型实体的数据存储在多个表中。例如,您可以在一个名为 Employee 的表中包含员工 ID、名字、姓氏,并且可以是每个员工的一行。

但也有可能诸如地址之类的附加信息存储在称为地址的其他位置。

因此,稍后当您查询并获取员工的完整详细信息时,您会从员工和地址表中获取员工详细信息。这可以被认为是一个记录或完整的记录。它由来自多个表的行的数据组成。

但同样,没有一个答案。

于 2012-12-08T04:46:12.210 回答
0

它们并不总是一样的。

它们在关系数据库领域中的含义相同,但“记录”在关系数据库之外具有含义。

例如,IMS数据库有“记录”,COBOL 有 RECORD 关键字,而 COBOL 曾经是用于业务的主要语言,并且早于关系数据库的存在。

“行”是一个严格的关系数据库术语。

于 2012-12-08T19:34:40.673 回答
0

没有区别,它们是一样的。

当我被教导(我承认这是不久前)时,它只是行和列,但如果您愿意,您同样可以使用记录代替行,并使用属性代替列。

我知道有些人更喜欢为单个表条目保留行并将记录用于连接查询(例如来自多个表),但我不确定命名法是否普遍。

于 2012-12-08T04:42:52.037 回答
0

在使用数据库 API(如 ADO.NET)的上下文中,两者在很大程度上是同义词。然而,不太正式的“记录”往往指的是一个逻辑信息单元,例如一些非规范化的行组合(例如采购订单的详细信息与订单的各个行项目组合)。

于 2012-12-08T04:44:22.493 回答