关系数据库将数据组织成表,这些表有列(或属性)定义了存储信息的种类,例如FirstName、EmailAddress或ProductPrice。行用于存储关于某个人、电子邮件或产品的具体信息。可以把表看作是一个结构化的网格,类似于电子表格。如果列代表了信息的分类(例如在宠物表中是Name、Species、Age),那么每一行就代表了该分类集中的一个独立、完整条目或项。每一行为表中描述的某一个事物的特定列保存了具体的值。例如,考虑一个简单的Pets表:PetIDNameSpeciesAge1FidoDog52WhiskersCat33BuddyDog8在这个表中:第一行(PetID 1, Name Fido, Species Dog, Age 5)表示一只特定的宠物:狗狗Fido。第二行表示另一只特定的宠物:猫咪Whiskers。依此类推。每一行包含表中所有列的值(尽管有时某个值可能被明确标记为未知或NULL)。单行中这些值的集合构成了关于一个特定实体的完整信息单元。行作为记录你会经常听到记录这个词与行同义使用。记录本质上就是单行中包含的信息。它是一组相关数据字段(列值),作为一个单元被处理。因此,Pets表中的第一行就是名为Fido的宠物的记录。这是一个可视化表示:graph G { node [shape=plaintext]; T [label=< <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0"> <TR><TD BGCOLOR="#ced4da"><B>宠物ID</B></TD><TD BGCOLOR="#ced4da"><B>名称</B></TD><TD BGCOLOR="#ced4da"><B>种类</B></TD><TD BGCOLOR="#ced4da"><B>年龄</B></TD></TR> <TR><TD BGCOLOR="#a5d8ff">1</TD><TD BGCOLOR="#a5d8ff">Fido</TD><TD BGCOLOR="#a5d8ff">Dog</TD><TD BGCOLOR="#a5d8ff">5</TD></TR> <TR><TD>2</TD><TD>Whiskers</TD><TD>Cat</TD><TD>3</TD></TR> <TR><TD>3</TD><TD>Buddy</TD><TD>Dog</TD><TD>8</TD></TR> </TABLE> >]; }一个简单的表格显示了列(标题)和行(记录)。高亮显示的第一行表示宠物“Fido”的完整记录。这个道理很基本:列定义了框架,而行提供了实际数据,每行表示一个符合该框架的独立项或实体。正如我们很快会看到的那样,保证每行都有一个单一标识(比如这里使用PetID)是关系数据库设计的一个主要方面,这引出了主键的理念。眼下,请着重领会行是表格的一个横向切面,它保存了表格正在记录的某个特定事项的所有信息。