10写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束。

:

(1)“图书表”结构如下:

书号:统一编码定长类型,长度为6,主码

书名:统一编码可变长类型,长度为30,非空

第一作者:普通编码定长类型,长度为10,非空

出版日期:小日期时间类型

价格:定点小数,小数部分1位,整数部分3

Create table 图书表(

书号 nchar(6) primary key,

书名nvarchar (30 ) not null,

第一作者char(10) not null,

出版日期smalldatetime ,

价格: numeric ( 4,1)

(2)“书店表”结构如下:

书店编号:统一编码定长类型,长度为6,主码

店名:统一编码可变长类型,长度为30,非空

电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字

地址:普通编码可变长字符类型,40位长

邮政编码:普通编码定长字符类型,6位长

Create table书店表(

书店编号nchar ( 6) primary key,

店名nvarchar (30 ) not null,

电话char ( 8) check (电话like'[O-9] [0-9][0-9][0-9] [0-9][0-9][0-9][ O-9]),

地址 varchar ( 40) ,

邮政编码char (6)

(3)“图书销售表”结构如下:

书号:统一编码定长类型,长度为6,非空

书店编号:统一编码定长类型,长度为6,非空

销售日期:小日期时间类型,非空

销售数量:微整形,大于等于1

主码为(书号,书店编号,销售日期);其中“书号”为引用“图书表”的“书号”的外码;“书店编号为引用“书店表”的“书店编号”的外码。

Create table图书销售表(

书号nchar ( 6) not null,

书店编号nchar( 6) not null,

销售日期smalldatetime no tnull;

销售数量smalldatetime check(销售数量>= 1);

11.为“图书表”添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000

: alter table图书表 Add印刷数量int check(印刷数量>= 1000 )

12.删除“书店表”中的“邮政编码”列。

: alter table书店表Drop co lumn邮政编码

13.将“图书销售表”中的“销售数量”列的数据类型改为整型。答: alter table图书销售表Alter column销售数量int

 

posted on 2022-04-04 21:12  辰逸1  阅读(208)  评论(0)    收藏  举报