有职工表(职工号,姓名,地址1,地址2),其中,职工号为主码。现要求地址1和地址2组合起来不能有重复值。在SQL Server 2008环境中有下列创建该表的语句:

Ⅰ.CREATE TABLE 职工表(职工号 int PRIMARY KEY,姓名 nchar(10),地址1 nvarchar(20),地址2 nvarchar(20),UNIQUE(地址1,地址2))

Ⅱ.CREATE TABLE 职工表(职工号 int PRIMARY KEY,姓名 nchar(10),地址1 nvarchar(20),地址2 nvarchar(20) UNIQUE(地址1,地址2))

Ⅲ.CREATE TABLE 职工表(职工号 int PRIMARY KEY,姓名 nchar(10),地址1 nvarchar(20) UNIQUE,地址2 nvarchar(20) UNIQUE

)Ⅳ.CREATE TABLE 职工表(职工号 int PRIMARY KEY,姓名 nchar(10),地址1 nvarchar(20) UNIQUE(地址1,地址2),地址2 nvarchar(20))

上述语句能正确实现此约束的是

【正确答案】 A
【答案解析】

在create table语句中,有下列几种约束: Primary key 主键约束,每个表只能创建一个主键约束; Unique 唯一性约束(候选键) ,可以又多个唯一性约束; Not null 非空约束,指该列不允许有空值出现。 其中,如果约束多个列唯一,则需要在Unique后用小括号()将这些列括起,并用逗号相连。Ⅲ实现的是地址1和地址2均唯一,而不是组合起来唯一。 故本题答案是A。