#SQL#第二章测验和练习

一、测验

1、判断对错:个人社会保险号码,输入格式为‘1111111111’, 它可以是下面任何一种数据类型:定长字符、变长字符、数值。

对,有效数字达到必要长度。

2、判断对错:数值类型的标度是指数值的总体长度。

错,有效数字才是总体长度,而标度表示小数点右侧保留的位数。

3、所有的SQL实现都使用同样的数据类型吗?

不是,大多数实现的数据类型都有所不同。虽然他们都遵循ANSI描述的标准,但不同的厂商采取了不同的存储方式,可能导致数据类型有所差异。

4、下面定义的有效位和标度分别是多少?

DECIMAL(4,2); DECIMAL(10,2); DECIMAL(14,1)

注:DECIMAL(p, s) p 表示字段允许的最大长度,s表示小数点后面的位数。

有效位指数值的总体长度,不包含小数点。标度是小数点后面的位数,也就是小数点后面保留多少位的问题。

5、下面哪个数值能够输入到定义为DECIMAL(4,1)的字段里?

A、16.2

B、116.2

C、16.21

D、1116.2

E、1116.21

前三个都可以,但16.21会被四舍五入为16.2.后面两个数值超过了有效位数。

6、什么是数据?

数据是信息的集合,以某种数据类型保存在数据库里。

二、练习

a) ssn  社保卡号(Social Security Number)

b) state  国家

c) city  城市

d) phone_number  电话号码

e) zip  

f) last_name

g) first_name

h) middle_name

i) salary

j) hourly_pay_rate

k) date_hired

1、为上面的数据设置适当的数据类型,确定恰当的长度,并给出一些示范数据。

2、同样是这些字段,判断他们应该是NULL或者NOT NULL。体会在不同的应用场合,有些一般是NOT NULL的字段可能应该是NULL,反之亦然。

NULL和NOT NULL的本质区别在于,所指的数据类型是否必须指定值,比如电话号码,不是每一个人都有电话号码,所以可以为NULL,但是SSN就不一样了,每一个人都是有社保卡号的(在美帝国),就像中国的身份证号一样。

 

posted on 2012-12-07 23:03  半个馒头  阅读(597)  评论(0编辑  收藏  举报

导航