A. 数据库对象 是数据库中用于存储或引用数据的任何已定义对象。我们用什么做的 创建命令 被称为数据库对象。它可以用来保存和操作数据。数据库对象的一些示例包括:视图、序列、索引等。
null
- 表- 基本存储单元;组合行和列
- 视图- 逻辑上表示一个或多个表中的数据子集
- 顺序—— 生成主键值
- 索引- 提高了某些查询的性能
- 同义词- 对象的替代名称
不同的数据库对象:
- 表- 此数据库对象用于在数据库中创建表。
语法:
CREATE TABLE [schema.]table (column datatype [DEFAULT expr][, ...]);
例子:
CREATE TABLE dept (deptno NUMBER(2), dname VARCHAR2(14), loc VARCHAR2(13));
输出:
DESCRIBE dept;
- 视图- 此数据库对象用于在数据库中创建视图。视图是基于一个表或另一个视图的逻辑表。视图本身不包含数据,但就像一个窗口,通过它可以查看或更改表中的数据。视图所基于的表称为基表。视图作为SELECT语句存储在数据字典中。
语法:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY [CONSTRAINT constraint]];
例子:
CREATE VIEW salvu50 AS SELECT employee_id ID_NUMBER, last_name NAME, salary*12 ANN_SALARY FROM employees WHERE department_id = 50;
输出:
SELECT * FROM salvu50;
- 顺序—— 此数据库对象用于在数据库中创建序列。序列是用户创建的数据库对象,可由多个用户共享以生成唯一的整数。序列的一个典型用法是创建一个主键值,它对于每一行都必须是唯一的。序列由内部Oracle例程生成并递增(或递减)。
语法:
CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}];
例子:
CREATE SEQUENCE dept_deptid_seq INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCACHE NOCYCLE;
检查序列是否由以下人员创建:
SELECT sequence_name, min_value, max_value, increment_by, last_number FROM user_sequences;
- 索引- 此数据库对象用于在数据库中创建索引。Oracle server索引是一种模式对象,可以通过使用指针加快行的检索速度。可以显式或自动创建索引。如果列上没有索引,则会进行全表扫描。
索引提供了对表中行的直接和快速访问。其目的是通过使用索引路径快速定位数据,减少磁盘I/O的必要性。该索引由Oracle服务器自动使用和维护。一旦创建了索引,用户就不需要直接活动。索引在逻辑和物理上独立于它们所索引的表。这意味着可以随时创建或删除它们,并且对基表或其他索引没有影响。
语法:
CREATE INDEX index ON table (column[, column]...);
例子:
CREATE INDEX emp_last_name_idx ON employees(last_name);
- 同义词- 此数据库对象用于在数据库中创建索引。它通过创建同义词(对象的另一个名称)简化了对对象的访问。使用同义词,可以轻松地引用另一个用户拥有的表,并缩短冗长的对象名称。要引用另一个用户拥有的表,需要在表名前面加上创建它的用户的名称,然后加上句点。创建同义词无需使用模式限定对象名,并为表、视图、序列、过程或其他对象提供替代名称。这种方法对于较长的对象名称(如视图)特别有用。
在语法中: PUBLIC:创建可供所有用户访问的同义词 同义词:要创建的同义词的名称 对象:标识为其创建同义词的对象
语法:
CREATE [PUBLIC] SYNONYM synonym FOR object;
例子:
CREATE SYNONYM d_sum FOR dept_sum_vu;
参考资料: 数据库对象——ibm Oracle 9i简介 :SQL学生指南第2卷
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END