在数据库中,“行”和“记录”这两个词有什么区别?一条记录是否包含多行?
编辑:它们完全一样吗?
编辑 2:数据库系统第 14 章的第一句话读到
仅仅分散表示各个块之间关系元组的记录是不够的。
你们确定记录和元组的含义相同吗?
虽然已经回答得很好;我也想补充一下我的观点。
这些词可以互换使用。
1 2 3 4
--------------------------------------------------------------------
Row = Record = Tuple = Entity
Column = Field = Attribute = Attribute
table = File = Relation = Entity Types(or Entity Set)
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)}
在正确的地方使用正确的术语是技术人员的好习惯,尤其是在教学时!
在关系数据库世界中,这些术语可以互换使用。
还有其他类型的数据库中没有出现这些术语;例如,有文档数据库、键值存储和图形数据库。
但是在普通的关系数据库中,一个表(或关系)是由许多行(或记录,或元组)组成的,每行代表一个表所描述的“类型”的“对象”。术语上的差异实际上是一种感知:当您以图形方式查看表格时使用row ;在强调物理结构时使用记录。
哲学上没有真正的区别。同样,每种语言、每个数据库等的分类法都不相同,因此没有一个答案。但是你可以这样考虑
数据库有表。就像在 Excel 中绘制表格一样,每个表格都有列和行。所以我们可以说每个表都有行。
但有可能单一类型实体的数据存储在多个表中。例如,您可以在一个名为 Employee 的表中包含员工 ID、名字、姓氏,并且可以是每个员工的一行。
但也有可能诸如地址之类的附加信息存储在称为地址的其他位置。
因此,稍后当您查询并获取员工的完整详细信息时,您会从员工和地址表中获取员工详细信息。这可以被认为是一个记录或完整的记录。它由来自多个表的行的数据组成。
但同样,没有一个答案。
它们并不总是一样的。
它们在关系数据库领域中的含义相同,但“记录”在关系数据库之外具有含义。
例如,IMS
数据库有“记录”,COBOL 有 RECORD 关键字,而 COBOL 曾经是用于业务的主要语言,并且早于关系数据库的存在。
“行”是一个严格的关系数据库术语。
没有区别,它们是一样的。
当我被教导(我承认这是不久前)时,它只是行和列,但如果您愿意,您同样可以使用记录代替行,并使用属性代替列。
我知道有些人更喜欢为单个表条目保留行并将记录用于连接查询(例如来自多个表),但我不确定命名法是否普遍。
在使用数据库 API(如 ADO.NET)的上下文中,两者在很大程度上是同义词。然而,不太正式的“记录”往往指的是一个逻辑信息单元,例如一些非规范化的行组合(例如采购订单的详细信息与订单的各个行项目组合)。