请看如下的创建employee表的DDL语句:
CREATE TABLE employee
(employee_id VARCHAR2 PRIMARY KEY);
基于这个DDL语句,在以下有关employee表的陈述中,哪一个是正确的
A.employee表将使用本地管理的区段
B.数据将存储在基于主键值的表中
C.employee表中的所有数据必须存放在一个表空间中
D.直到向employee表插入数据之前,Oracle不会为这个表分配区段
参考答案:C
解析: 这一题是测试对区段、索引表,以及表空间管理的综合理解程度,这一题是属于比较复杂而且综合性较高的题目。
根据有关表空间中的磁盘空间管理的介绍——“在Oracle 9i或以上版本中本地管理的表空间为默认方式,但是在Oracle 8i中数据字典(系统)管理的表空间为默认方式”,而且EXTENT MANAGEMENT子句是在表空间一级定义的,由于在这个题目中根本就没有说明所使用的数据库的版本,因此无法从CREATE TABLE employee语句中确定这个表所存放的表空间,从而也就无法确定employee表是否将使用本地管理的区段,所以选项A是错误的。
因为本题的CREATE TABLE employee语句所创建的只是一个普通表,并不是索引表,所以选项B肯定也是错误的。
根据有关区段分配的介绍,可知当一个段被创建(created)时Oracle就将分配一个区段,所以可以断定选项D也是错误的。
因为在本题的CREATE TABLE employee语句中并未指明表空间,所以employee表将存放在用户的默认表空间中,而默认的表空间只能是一个,所以可以断定选项C是正确的。