(本题10分)写出创建如下三张表的SQL语句。
“图书”表结构:
书号:普通编码定长字符类型,长度为10,主键。
书名:统一编码可变长字符类型,长度为20,非空。
类别:统一编码定长字符类型,长度为4,取值为:“计算机”、“通信”、“外语”。
出版日期:日期型。
单价:整型
“经销商”表结构:
商家编号:普通编码定长字符类型,长度为20,主键。
商家名:统一编码可变长字符类型,长度为10,非空。
商家地址:统一编码可变长字符类型,长度为30。
联系电话:普通编码定长字符类型,长度为11,取值不重。
“销售”表结构:
书号:普通编码定长字符类型,长度为10,引用“图书”表的外键。
商家编号:普通编码定长字符类型,长度为20,引用“经销商”的外键。
销售日期:日期型,默认值为系统当前日期。
主键:(书号,商家编号,销售日期)。

答案
(本题10分)参考答案及评分要点:
CREATE TABLE 图书(
书号 char(10) primary key,
书名 nvarchar(20) not null,
类别 nchar(4) CHECK (类别 IN('计算机','通信', '外语')),
出版日期 date,
单价 int
)
评分要点:主键1分;CHECK约束1分;其他1分;共计3分。
CREATE TABLE 经销商(
商家编号 char(20) primary key,
商家名 nvarchar(10) not null,
商家地址 nvarchar(30),
联系电话 char(11) unique
)
评分要点:主键1分;unique约束1分;其他1分;共计3分。
CREATE TABLE 销售(
书号 char(10),
商家编号 char(20),
销售日期 date default getdate(),
Primary key(书号,商家编号,销售日期),
Foreign key(书号) references 图书(书号),
Foreign key(商家编号) references 经销商(商家编号)
)
评分要点:主键1分;2个外键共2分;default约束1分;共计4分。