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

更新时间:2023-12-04 08:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第 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。

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

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

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

CREATE TABLE 图书表 ( 书号 nchar(6) primary key, 书名 nvarchar(30) not null,

第一作者 char(10) not null, 出版日期 smalldatetime, 价格 numeric(4,1)) CREATE 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))

CREATE 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题的图书表的“第一作者”列上建立一个非聚集索引。 答:CREATE INDEX indAuthor ON 图书表 (第一作者)

21.在第12题的书店表的“电话”列上建立一个聚集的唯一索引。 答:CREATE UNIQUE CLUSTERED INDEX indPhone

ON 书店表(电话)

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

本文来源:https://www.bwwdw.com/article/uhwt.html

Top