数据库编程练习题
1. 哪一个CREATE TABLE 语句执行时会失败? B
A CREATE TABLE date_1 (date_1 DATE);
B CREATE TABLE date (date_id NUMBER(9));
C CREATE TABLE time (time_id NUMBER(9));
D CREAT
E TABLE time_date (time NUMBER(9));
2. 您想要创建表名为“旅行”的表,作为“雇员”表的子表。应该执行下述哪个语句?D
CREATE TABLE 旅行
(目的地标识主键, 出发日期date, 返回日期date, 雇员标识REFERENCES 雇员(雇员标识));
CREATE TABLE 旅行
(目的地标识number 主键, 出发日期date, 返回日期date, t.雇员标识= e.雇员标识);
CREATE TABLE 旅行
(目的地标识number 主键, 出发日期date, 返回日期date, JOIN 雇员标识number(10) ON 雇员(雇员标识));
CREATE TABLE 旅行
(目的地标识number 主键, 出发日期date, 返回日期date, 雇员标识number(10) REFERENCES 雇员(雇员标识));
3. 您正在创建“雇员”表。此表应包含“佣金”列;如果在插入记录时未提供任何佣金
值,此表会使用值10%。应当在CREATE TABLE 语句中包括以下哪一行来完成此任务?C
佣金NUMBER(4,2) DEFAULT 0.10
佣金NUMBER(4,2) DEFAULT = 0.10
佣金NUMBER(4,2) DEFAULT (0.10)
佣金NUMBER(4,2) (DEFAULT, 0.10)
4. 评估此CREATE TABLE 语句的执行结果:
1 CREATE TABLE customer#1 (
2. cust_1 NUMBER(9),
3. sales$ NUMBER(9),
4. 2date DATE DEFAULT SYSDA TE);
此语句的哪一行会导致产生错误?4
5. 哪一个列名是有效的?NUMBER_1$
1NUMBER
NUMBER
NUMBER_1$
1_NUMBER#
Section 8 Lesson 2
6. 评估此CREATE TABLE 语句的执行结果:
CREATE TABLE sales
(sales_id NUMBER,
customer_id NUMBER,
employee_id NUMBER,
sale_date TIMESTAMP WITH LOCAL TIME ZONE,
sale_amount NUMBER(7,2));
以下关于SALE_DA TE 列哪个说法是的?C
数据将以客户的时区为标准进行设置。
存储的数据将不包含秒。
数据将以精度为5 的小数秒的形式存储。
存储在列中的数据将会以数据库的本地时区格式返回。
7. 您需要以年和月的形式存储“季节性”数据。应该使用哪一种数据类型? C
DA TE
TIMESTAMP
INTERV AL YEAR TO MONTH
INTERV AL DAY TO SECOND
8.您需要使用含时差的值存储“聘用日期”值并允许返回以用户本地会话时区表示的数
据。应该使用哪种数据类型? D
DA TETIME
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE
9. 以下哪些数据类型可以存储可变长度字符数据?请选择二项。
(选择所有答案) CD
CHAR
NCHAR
CLOB
V ARCHAR2
10. “元素”列的定义如下所示:
NUMBER(6,4)
“元素”列允许在小数点右边有多少位?C
零位
两位
四位
六位
Section 8 Lesson 2
11. “速度时间”列应该存储小数秒值。应该使用哪种数据类型?D
DA TE
DA TETIME
TIMESTAMP
INTERV AL DAY TO SECOND
12. 如果某一列用于存储多达4 千兆字节的二进制数据,则应该定义为哪种数据类型?C
LONG
NUMBER
BLOB
LONGRAW
Section 8 Lesson 3
13. 您的主管让您修改ORDERS 表中的AMOUNT 列。他要求将该列配置为接受默认值250。该表包含您需要保留的数据。应执行以下哪条语句来完成此任务? B
ALTER TABLE orders
CHANGE DATATYPE amount TO DEFAULT 250;
ALTER TABLE orders
MODIFY (amount DEFAULT 250);
DROP TABLE orders;
CREATE TABLE orders
(orderno varchar2(5) CONSTRAINT pk_orders_01 PRIMARY KEY,
customerid varchar2(5) REFERENCES customers (customerid),
orderdate date,
amount DEFAULT 250);
DELETE TABLE orders;
CREATE TABLE orders
(orderno varchar2(5) CONSTRAINT pk_orders_01 PRIMARY KEY,
customerid varchar2(5) REFERENCES customers (customerid),
orderdate date,
amount DEFAULT 250)
14. TEAMS 表包含以下各列:
TEAM_ID NUMBER(4) Primary Key
TEAM_NAME V ARCHAR2(20)
MGR_ID NUMBER(9)
TEAMS 表当前是空表。您需要允许用户在经理标识值中包含文本字符。应使用以下哪条语句来执行此任务?B
ALTER teams
MODIFY (mgr_id V ARCHAR2(15));
ALTER TABLE teams
MODIFY (mgr_id V ARCHAR2(15));
ALTER TABLE teams
REPLACE (mgr_id V ARCHAR2(15));
ALTER teams TABLE
MODIFY COLUMN (mgr_id V ARCHAR2(15));
不能修改MGR_ID 列的数据类型。
15. 评估以下语句:
TRUNCATE TABLE employee;
以下有关此TRUNCATE TABLE 语句的哪个说法是的?D
可以通过执行“DROP TABLE employee”语句来得到同样的结果。
可以执行此语句来保留INVENTORY 表的结构。
可以通过执行ROLLBACK 语句来撤消该语句。
可以通过执行“DELETE EMPLOYEE”语句来得到同样的结果。
16. 以下关于列的哪个说法正确的是D
不可以增大CHAR 列的宽度。
如果列包含非空数据,则可以修改列的数据类型。
可以将CHAR 数据类型的列转换为V ARCHAR2 数据类型。
可以将DATE类型列转换为V ARCHAR2类型
第8 部分
17. 要逻辑删除某一列且不要因重写所有表数据块而导致性能降低,您可以执行以下命令: B
Alter table modify column
Alter table drop column
Alter table set unused
Drop column "columname"
18. 以前的管理员创建了一个名为CONTACTS 的表,其中包含过时的数据。您想从数据库中删除该表及该表中的数据。应使用以下哪条语句? B
DROP TABLE
DELETE
TRUNCATE TABLE
ALTER TABLE
19. 以下关于减小列宽的哪个说法是的? C
当字符列包含数据时,不能减小列的宽度。
当字符列包含数据时,可以不受任何限制地减小列的宽度。
当字符列包含数据时,如果现有数据不违反新的大小,则可以减小列的宽度。
不能减小字符列的宽度,除非包含该列的表是空表。
20. 评估EMPLOYEE 表的结构:
EMPLOYEE_ID NUMBER(9)
LAST_NAME VARCHAR2(25)
FIRST_NAME V ARCHAR2(25)
DEPARTMENT_ID NUMBER(9)
MANAGER_ID NUMBER(9)
SALARY NUMBER(7,2)
EMPLOYEE_ID 列当前包含500 个雇员标识号。业务需求已发生变化,您需要允许用户在标识值中包含文本字符。应该使用哪条语句来更改该列的数据类型?A
ALTER TABLE employee
MODIFY (employee_id V ARCHAR2(9));
ALTER TABLE employee
REPLACE (employee_id V ARCHAR2(9));
ALTER employee TABLE
MODIFY COLUMN (employee_id V ARCHAR2(15));
您不能修改EMPLOYEE_ID 列的数据类型,因为该表不为空。
Section 8 Lesson 3
21. 评估以下语句:
ALTER TABLE employee SET UNUSED (fax);
此语句将完成什么任务?C
删除FAX 列
释放FAX 列数据使用的磁盘空间
阻止显示FAX 列数据,方法是逻辑删除该列。
阻止在EMPLOYEE 表中添加新的FAX 列
22. 可以使用哪个命令从表的行中快速删除所有数据而不删除表自身?D
ALTER TABLE
DROP TABLE
MODIFY
TRUNCATE TABLE
23. 评估EMPLOYEE 表的结构:
EMPLOYEE_ID NUMBER(9)
LAST_NAME VARCHAR2(25)
FIRST_NAME V ARCHAR2(25)
DEPARTMENT_ID NUMBER(9)
MANAGER_ID NUMBER(9)
SALARY NUMBER(7,2)
您使用以下哪条语句可将LAST_NAME 列(当前包含200 条记录)的长度增加到35 个字节?C
ALTER employee TABLE
ALTER COLUMN (last_name V ARCHAR2(35));
ALTER TABLE employee
RENAME last_name V ARCHAR2(35);
ALTER TABLE employee
MODIFY (last_name V ARCHAR2(35));
不能增大LAST_NAME 列的宽度。
Section 9 Lesson 1
24. 评估以下CREATE TABLE 语句的执行结果:CREATE TABLE customers
( customer_id NUMBER, customer_name V ARCHAR2(25), address V ARCHAR2(25),
city V ARCHAR2(25),
region V ARCHAR2(25),
postal_code V ARCHAR2(11),
CONSTRAINT customer_id_un UNIQUE(customer_id), CONSTRAINT customer_name_nn NOT NULL(customer_name));
为什么执行时此语句会失败?D
NUMBER 数据类型要求精度值。
UNIQUE 约束条件必须在列级定义。
CREATE TABLE 语句不定义PRIMARY KEY。
不能在表级定义NOT NULL 约束条件。
25. 在以下约束条件中,哪个只能在列级进行创建?A
NOT NULL
FOREIGN KEY
UNIQUE
CHECK
26. 您需要确保SEAT_ID 列中的每个值唯一或为空。应该在SEAT_ID 列上定义哪个约束条件? A
CHECK
UNIQUE
NOT NULL
PRIMARY KEY
27. 以下关于约束条件的哪个说法是的? C
对一个列只能应用一个约束条件。
只能在列级指定PRIMARY KEY 约束条件。
只能在列级指定NOT NULL 约束条件。
UNIQUE 约束条件与PRIMARY KEY 约束条件是相同的。
28. 一个表中最多可以有多少个非空限制条件?D
5
10
3
非空限制条件的数量可以和列数一样多。
29. 判断对错。一个表只能定义一个主键限制条件。对
Section 9 Lesson 2
30. 在Oracle 允许你在子表中创建FOREIGN KEY约束条件之前,父表应当先具备什么条件? B
在父表的主键列已经存在FOREIGN KEY约束条件
在父表中必须存在PRIMARY KEY或UNIQUE KEY约束条件
在父表中必须存在索引
在父表中必须存在CHECK约束条件
Section 9 Lesson 2
31. 以下哪个说法最准确地描述了CHECK 约束条件的功能? B
CHECK 约束条件强制引用数据的完整性。
CHECK 约束条件定义了对能够在列或列的组合中输入的值的限制。
CHECK 约束条件强制能够在列或组合列中输入的值的唯一性。
创建PRIMARY KEY 约束条件后,将自动创建CHECK 约束条件。
32. 以下哪种类型的约束条件强制唯一性? D
CHECK
FOREIGN KEY
PRIMARY KEY
NOT NULL
33. 以下关于外键强制性约束条件的哪个说法是的? B
外键值不能为空。
外键值必须唯一。
外键值必须与父表中的现有值匹配。
外键值必须为空或与父表中的现有值匹配。
34. 您需要创建PROJECT_HIST 表。该表必须符合下列要求:
该表必须包含EMPLOYEE_ID 和TASKED_HOURS 列以存储数值数据。
该表必须包含START_DA TE 和END_DATE 列以存储日期值。
该表必须包含HOURL Y_RA TE 和PROJECT_COST 列以存储精度与小数位数分别为5,2 和10,2 的数值数据。
该表必须具有EMPLOYEE_ID 和START_DA TE 列的组合主键。
评估以下CREATE TABLE 语句:
CREATE TABLE project_hist
( employee_id NUMBER,
start_date DATE,
end_date DATE,
tasked_hours NUMBER,
hourly_rate NUMBER(5,2),
project_cost NUMBER(10,2),
CONSTRAINT project_hist_pk PRIMARY KEY(employee_id, start_date));
该CREATE TABLE 语句满足多少要求?C
四条要求一条也不满足
四条要求全部满足
仅满足其中的三条要求
仅满足其中的两条要求
35. 可以为每个表创建多少个PRIMARY KEY 约束条件?B
无
可以且仅可以创建一个
一个或两个
任意个
36. 您需要在EMPLOYEE 表上创建组合主键约束条件。以下哪个说法是正确的? A
PRIMARY KEY 约束条件必须在表级定义。
必须为组合主键中的每个列定义PRIMARY KEY 约束条件。
必须为组合主键中的第一个列定义PRIMARY KEY 约束条件。
必须在表级为组合主键中的每个列定义PRIMARY KEY 约束条件。
第9 部分
37. 评估此CREATE TABLE 语句的执行结果:
CREATE TABLE part(
part_id NUMBER,
part_name VARCHAR2(25),
manufacturer_id NUMBER(9),
retail_price NUMBER(7,2) NOT NULL,
CONSTRAINT part_id_pk PRIMARY KEY(part_id),
CONSTRAINT cost_nn NOT NULL(cost),
CONSTRAINT FOREIGN KEY (manufacturer_id) REFERENCES manufacturer(id));
哪一行会导致产生错误?7
6
8
9
第9 部分
Section 9 Lesson 3
38. PO_DETAILS 表包含以下列:
PO_NUM NUMBER NOT NULL, Primary Key
PO_LINE_ID NUMBER NOT NULL, Primary Key
PRODUCT_ID NUMBER Foreign Key to PRODUCT_ID column of the PRODUCTS table QUANTITY NUMBER
UNIT_PRICE NUMBER(5,2)
请评估以下语句:C
ALTER TABLE po_details
DISABLE CONSTRAINT po_details_pk CASCADE; 此语句用于完成什么任务?
新创建一个对PO_NUM 列的PRIMARY KEY 约束条件
删除并重新创建对PO_NUM 列的PRIMARY KEY以及FOREIGN KEY的约束条件禁用依赖于PO_NUM 列的所有FOREIGN KEY 约束条件
禁用对PO_NUM 列的约束条件,同时创建PRIMARY KEY 索引
39. 评估以下语句:
ALTER TABLE employees
ADD CONSTRAINT employee_id PRIMARY KEY;
该语句将返回以下哪种结果?C
将返回语法错误。
将向EMPLOYEES 表添加约束条件。
将改写EMPLOYEES 表的一个现有约束条件。
将启用EMPLOYEES 表的一个现有约束条件。
40. 请观察PRODUCT 表和SUPPLIER 表的结构。PRODUCT
PRODUCT_ID NUMBER NOT NULL, Primary Key
PRODUCT_NAME V ARCHAR2 (25)
SUPPLIER_ID NUMBER(SUPPLIER 表的SUPPLIER_ID 的外键)LIST_PRICE NUMBER (7,2)
COST NUMBER (7,2)
QTY_IN_STOCK NUMBER
QTY_ON_ORDER NUMBER
REORDER_LEVEL NUMBER
REORDER_QTY NUMBER
SUPPLIER
SUPPLIER_ID NUMBER NOT NULL, Primary Key
SUPPLIER_NAME V ARCHAR2 (25)
ADDRESS V ARCHAR2 (30)
CITY V ARCHAR2 (25)
REGION V ARCHAR2 (10)
POSTAL_CODE V ARCHAR2 (11)
请评估以下语句:
ALTER TABLE suppliers
DISABLE CONSTRAINT supplier_id_pk CASCADE;
该语句用于执行什么任务? E
删除引用SUPPLIERS 表的所有约束条件
删除对FOREIGN KEY 表的FOREIGN KEY 约束条件
删除引用PRODUCTS 表的所有约束条件
禁用所有依赖于PRODUCTS 表的SUPPLIER_ID 列的完整性约束条件禁用所有依赖于SUPPLIERS 表的SUPPLIER_ID 列的完整性约束条件
Section 9 Lesson 3
41. DEPARTMENT 表包含以下列:
DEPT_ID NUMBER, Primary Key
DEPT_ABBR V ARCHAR2(4)
DEPT_NAME VARCHAR2(30)
MGR_ID NUMBER
EMPLOYEE 表包含以下列:
EMPLOYEE_ID NUMBER
EMP_LNAME V ARCHAR2(25)
EMP_FNAME V ARCHAR2(25)
DEPT_ID NUMBER
JOB_ID NUMBER
MGR_ID NUMBER
SALARY NUMBER(9,2)
HIRE_DATE DATE
请评估以下语句:
ALTER TABLE employee
ADD CONSTRAINT REFERENTIAL (mgr_id) TO department(mgr_id);
以下哪个说法?A
ALTER TABLE 语句创建从EMPLOYEE 表到DEPARTMENT 表的引用约束条件。
ALTER TABLE 语句创建从DEPARTMENT 表到EMPLOYEE 表的引用约束条件。
ADD CONSTRAINT 子句存在语法错误,因此ALTER TABLE 语句将会失败。
ALTER TABLE 语句执行成功,但不重新创建引用约束条件。
42. 可以通过查找哪个数据字典表来查看为特定表定义的约束条件? A
USER_CONSTRAINTS
CONSTRAINTS_ALL
SYS_DATA_DICT
US_CON_SYS
43. 要向雇员表中的部门标识列添加FOREIGN KEY 约束条件以引用部门表中的标识列,应该使用哪个语句? B
ALTER TABLE 雇员
MODIFY COLUMN dept_id_fk FOREIGN KEY (部门标识) REFERENCES 部门(部门标识);