2.5.1测验
1.判断对错:个人社会保险号码,输入格式为‘1111111111’,它可以是下面任何一种数据类型:定长自符、变长字符、数值。
对。只要有效数字达到必要长度。
2.判断对错:数值类型的标度是指数值的总体长度。
错。有效数字是总体长度,标度表示小数点右侧保留的位数。
3.所有的SQL实现都使用同样的数据类型吗?
不是。大多数实现的数据类型都有所不同。虽然他们都遵循ANSI描述的标准,但不同厂商采取了不同的存储方式,可能导致数据类型有所差异。
4.下面定义的有效位数和标度分别是多少?
DECIMAL(4,2)
有效位数4,标度2
DECIMAL(10,2)
有效位数10,标度2
DECIMAL(14,1)
有效位数14,标度1
5.下面哪个数值能够输入到定义为DECIMAL(4,1)的字段里?
A. 16.2
B. 116.2
C. 16.21
D. 1116.2
E. 1116.21
ABC均可,但C会被四舍五入为16.2,而D和E超过了有效位数限制。
6.什么是数据?
数据是信息的集合,以某种数据类型保存在数据库里。
2.5.2练习
1.考虑以下字段名称,为它们设置适当的数据类型,确定恰当的长度,并给出一些示范数据;
2.同样是这些字符串,判断他们应该是NULL还是NOT NULL。:
a) ssn
定长字符串,‘1111111111’,NOT NULL
b) state
变长字符串,‘INDIANA’,NOT NULL
c) city
变长字符串,‘INDIANAPOLIS’,NOT NULL
d) phone_number
定长字符串,‘(555)555-5555’,NULL
e) zip
定长字符串,‘46113’,NOT NULL
f) last_name
变长字符串,‘JONES’,NOT NULL
g) first_name
变长字符串,‘JACQUELINE’,NOT NULL
h) middle_name
变长字符串,‘OLIVIA’,NULL
i) salary
数值,30000,NULL
j) huorly_pay_rate
小数,35.00,NULL
k) date_hired
日期,‘29/10/2007’,NULL