正确答案是:B: 主键由一个或多个字段构成。
分析:
A: 错误。主键字段的取值不能为空值,并且必须是唯一的,不能重复。主键的主要作用是唯一标识表中的每一行记录,因此重复的值是不可接受的。
B: 正确。主键可以由一个字段构成(称为单字段主键),也可以由多个字段组合构成(称为复合主键)。复合主键是通过组合多个字段的值来唯一标识记录。
C: 错误。主键不必是表中的第一个字段。虽然在设计数据库时,通常会把主键放在表的前面,但这不是强制要求。主键可以是表中的任何字段或字段组合。
D: 错误。在一个表中,只允许有一个主键。虽然可以有多个字段组成一个复合主键,但整个复合主键仍然是一个唯一的标识符。一个表可以有多个候选键,但只能选择一个作为主键。