您的位置:首页 > 数据库 > Oracle

OCP-1Z0-051 第27题 oracle对象命名规则

2014-04-30 16:55 471 查看
一、原题

Which two statements are true regarding tables? (Choose two.)

A. A table name can be of any length.

B. A table can have any number of columns.

C. A column that has a DEFAULT value cannot store null values.

D. A table and a view can have the same name in the same schema
E. A table and a synonym can have the same name in the same schema.

F. The same table name can be used in different schemas in the same database.

答案: EF

二、题目翻译

关于表哪两个句子是正确的?(选择两个)

A. 表名可以是任意长度的。

B. 表能有任意数量的列。

C. 有DEFAULT值的列不能存储空值。

D. 在相同的schema里,表和视图可以有相同的名字。

E. 在相同的schema里,表和同义词可以有相同的名字。

F. 在相同的数据库不同的schema里,表名可以相同。

三、题目解析

A选项不正确,因为表名的长度为1-30个字符

B选项不正确,因为表的列最多为1000个

C选项不正确,因为有DEFAULT值的列可以存储空值

D选项不正确,因为在相同的schema里,表和同义词的名字不能相同

E在这里说明一个,我使用CREATE SYNONYM建立相同表名字的SYNONYM不成功,但是建立PUBLIC SYNONYM成功,所以这句话算是部分正确。具体实验看下面。

F选项正确,不同的schema,表名可以相同。

详见联机文档oracle对象命令规则:

         http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements008.htm#SQLRF00223

四、实验
        关于E选项,这里实验如下:

        scott用户下,已经有emp表。

SQL> desc emp

 Name                                                                                Null?    Type

 ----------------------------------------------------------------------------------- -------- -------------

 EMPNO                                                                               NOT NULL NUMBER(4)

 ENAME                                                                                        VARCHAR2(10)

 JOB                                                                                          VARCHAR2(9)

 MGR                                                                                          NUMBER(4)

 HIREDATE                                                                                     DATE

 SAL                                                                                          NUMBER(7,2)

 COMM                                                                                         NUMBER(7,2)

 DEPTNO                                                                                       NUMBER(2)

SQL> create synonym emp for emp;

create synonym emp for emp

*

ERROR at line 1:

ORA-01471: cannot create a synonym with same name as object

SQL> create public synonym emp for emp;

Synonym created.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息