数据库对象是数据库中用于存储或引用数据的任何已定义对象。我们通过create 命令创建的任何对象都称为数据库对象。它可用于保存和操作数据。数据库对象的一些示例是:视图、序列、索引等。
- 表——存储的基本单位;组合行和列
- 视图——逻辑地表示来自一个或多个表的数据子集
- 序列 –生成主键值
- 索引 –提高某些查询的性能
- 同义词 –对象的替代名称
不同的数据库对象:
- 表 –此数据库对象用于在数据库中创建表。
句法 :
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 服务器索引是一种模式对象,可以通过使用指针加快行的检索。索引可以显式或自动创建。如果列上没有索引,则会进行全表扫描。
索引提供对表中行的直接和快速访问。其目的是通过使用索引路径快速定位数据来减少磁盘 I/O 的必要性。该索引由 Oracle 服务器自动使用和维护。创建索引后,用户不需要直接活动。索引在逻辑上和物理上独立于它们索引的表。这意味着它们可以随时创建或删除,并且对基表或其他索引没有影响。
句法 :
CREATE INDEX index ON table (column[, column]...);
例子 :
CREATE INDEX emp_last_name_idx ON employees(last_name);
- 同义词 –此数据库对象用于在数据库中创建索引。它通过创建同义词(对象的另一个名称)来简化对对象的访问。使用同义词,您可以轻松引用另一个用户拥有的表并缩短冗长的对象名称。要引用另一个用户拥有的表,您需要在表名前加上创建它的用户的名称,后跟一个句点.创建同义词消除了使用模式限定对象名称的需要,并为您提供表、视图、序列、过程或其他对象的替代名称。此方法对于冗长的对象名称尤其有用,例如视图。
在语法中:
PUBLIC : 创建一个所有用户都可以访问的同义词
同义词:是要创建的同义词的名称
object :标识为其创建同义词的对象句法 :
CREATE [PUBLIC] SYNONYM synonym FOR object;
例子 :
CREATE SYNONYM d_sum FOR dept_sum_vu;
参考 :
数据库对象 – ibm
Oracle 9i 简介:SQL 学生指南第 2 卷