数据库编程练习题

数据库编程练习题
数据库编程练习题

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 部门(部门标识);

相关主题
相关文档
最新文档