文档库 最新最全的文档下载
当前位置:文档库 › 第03章 SQL语言基础及数据定义功能

第03章 SQL语言基础及数据定义功能

第03章 SQL语言基础及数据定义功能
第03章 SQL语言基础及数据定义功能

第 3 章 SQL语言基础及数据定义功能

1.T-SQL支持哪几种数据类型?

答:支持数值型、字符型、日期时间型和货币类型四种类型。

2.Tinyint数据类型定义的数据的取值范围是多少?

答:0~255。

3.日期时间类型中的日期和时间的输入格式是什么?

答:一般来说年、月、日中间用“/”或“-”分隔符分隔,时间中的时、分、秒用“:”分隔,毫秒与秒之间用“.”分隔。日期和时间中间用空格分隔,且日期和时间均括在单引号中。

4.SmallDatatime类型精确到哪个时间单位?

答:分钟。

5.定点小数类型numeric中的p和q的含义分别是什么?

答:p是数字位个数(包括小数位数和整数位数),q是小数位数。

6.货币数据类型精确到小数点几位?

答:4位。

7.Char(10)、nchar(10)的区别是什么?它们各能存放多少个字符?占用多少空间?

答:两者使用的编码方式不同,char类型是单字节编码方式,而且不同的字符使用的编码方不同;而nchar是双字节编码方式。Char(10)可以存放10个字符,占10个字节;nchar(10)也是可以存放10个字符,但它占20个字节空间。

8.Char(n)和varchar(n)的区别是什么?其中n的含义是什么?各占用多少空间?

答:Char(n)是定长存储的字符串类型,varchar(n)是可变长的字符串类型,它按数据的实际长度来分配空间。其中n的含义都是能够存储的字符的个数,对于char(n)类型其所占的空间固定为n个字节;对于varchar(n)其所占空间最多为n个字节。

9.数据完整性的含义是什么?

答:数据的完整性是为了防止数据库中存在不符合应用语义的数据,为了维护数据的完整性,数据库管理系统提供了一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。

10.在对数据进行什么操作时,系统检查DEFAULT约束?在进行什么操作时,检查CHECK约束?

答:在进行插入操作时检查DEFAULT约束。在进行插入和更新操作时检查CHECK约束。

11.UNIQUE约束的作用是什么?

答:UNIQUE约束的作用是保证数据的取值不重复。

12.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书表”结构如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

销售数量:小整型,大于等于1。

主键为(书号,书店编号,销售日期);

其中“书号”为引用“图书表”的“书号”的外键;

“书店编号”为引用“书店表”的“书店编号”的外键。

答:

CREA TE TABLE 图书表(

书号nchar(6) primary key,

书名nvarchar(30) not null,

第一作者char(10) not null,

出版日期smalldatetime,

价格numeric(4,1))

CREA TE TABLE 书店表(

书店编号nchar(6) primary key,

店名nvarchar(30) not null,

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

地址varchar(40),

邮政编码char(6))

CREA TE TABLE 图书销售表(

书号nchar(6) not null,

书店编号nchar(6) not null,

销售日期smalldatetime not null,

销售数量smallint check(销售数量>=1),

primary key(书号,书店编号,销售日期),

foreign key(书号) references 图书表(书号),

foreign key(书店编号) references 书店表(书店编号))

13.为第12题的图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取

值要大于等于1000。

答:ALTER TABLE 图书表

ADD 印刷数量int check (印刷数量>=1000)

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

答:ALTER TABLE 书店表

DROP COLUMN 邮政编码

15.将第12题的“图书销售表”中的“销售数量”列的数据类型改为整型。

答:ALTER TABLE 图书销售表

ALTER COLUMN 销售数量int

16.索引的作用是什么?分为哪几种类型?

答:索引的作用是为了加快数据的查询速度。索引分为聚集索引和非聚集索引两种。

17.在一个表上可以创建几个聚集索引?可以创建多个非聚集索引吗?

答:在一个表上只能创建一个聚集索引。可以创建多个非聚集索引。

18.聚集索引一定是唯一索引,对吗?反之呢?

答:不对。唯一索引可以是聚集的也可以是非聚集的。

19.在建立聚集索引时,系统是真正将数据按聚集索引列进行物理排序,对吗?在建立非聚集索引时呢?情况又如何?

答:对。但在建立非聚集索引时,系统并不物理地调整数据的排列顺序。

20.在第12题的图书表的“第一作者”列上建立一个非聚集索引。

答:CREA TE INDEX indAuthor ON 图书表(第一作者)

21.在第12题的书店表的“电话”列上建立一个聚集的唯一索引。

答:CREA TE UNIQUE CLUSTERED INDEX indPhone

ON 书店表(电话)

22.在第12题的图书销售表的“书号”和“销售日期”两个列上建立一个非聚集索引。答:CREA TE INDEX indSale ON 图书销售表(书号, 销售日期)

相关文档