</p> (1)聚集(Cluster) 聚集是存储数据的一种可选择的方法。聚集包括存储在一起的一组表,它们共享公共列并经常一起使用。由于内容相关并且物理地存储在一起,存取时间得到改进,存储空间可以减少。聚集是一种优化措施。聚集对性能的改进,依赖于数据的分布和SQL操作的内容。特别是使用聚集对连接非常有利。可以明显地提高连接的速度。建立聚集命令的基本格式:SQL>CREATE CLUSTER〈聚集名〉(列定义[,…]);利用聚集建立表命令基本格式:SQL>CREATE TABLE〈新表名〉(列定义[,…]CLUSTER〈聚集名〉(聚集列);在聚集码上必须建立一个聚集索引,对于每一数据块上每个聚集码值有一索引项。这个索引必须在DML语句对聚集表操作前建立。建立索引的语句是:CREATE INDEX索引名ON CLUSTER聚集名。0 G( V8 h1 ]5 s" w6 Q
(2)序号生成器 序号(SEQUENCE)生成器为表中的单列或多列生成顺序号。利用序号可自动地生成唯一主码。使用SQL语句定义序号,给出一些信息(如序号名、是升序或降序、每个序号间的间隔和其它信息)。所有序号存储在数据字典表中。所有序号定义存储在数据字典的SEQUENCE表中。用户可以通过字典视图USER-SE-QUENCES、ALL-SEQUENCES和DBA-SEQUENCES查询和存取。建立序号生成器的语句是:CREATE SEQUENCE序号生成器名 其它选项。一旦序号生成器S被定义。可用S.Currval来引用S序号生成器的当前值。用S.nextval产生下一个新的序号并加以引用。) \ d' P% [ ]9 K. e3 U
(3)伪列 伪列的行为像表的一列,但不真正存在于表中,在查询时可引用伪列,但伪列不能插入、删除或修改。
# G2 o' J& T' c, n5 X8 e 5.数据字典
; @" w5 e& ]: B$ ` 数据字典ORACLE RDBMS最重要的部分之一。数据字典含有一组系统定义的表,只能读,是关于数据库的引用指南。它可提供以下信息:ORACLE用户的用户名;每个用户被授予的权限和角色;实体的名字和定义;完整性约束为数据库实体分配的空间;通用的数据库结构;审计信息;触发子等的存储。数据字典是以表和视图构成的,像其它数据库数据一样,可用SQL语言查询数据字典。数据字典在DB建立时建立。每当DB进入操作,数据字典就由ORACLE RDBMS负责修改。数据库建立时有两个默认DBA用户:SYS、SYSTEM。SYS持有基本表中的数据。
0 A% N& o; N/ x$ S6 y6 _4 ~ 下面列出的是一些常用的表或视图的名称。; [7 }7 k, N' M; I3 ?( L+ V
(1)DTAB 描述了组或数据字典的所有表。' t+ E" @, J6 u
(2)TAB 用户建的所有基本表、视图和同义词。; R5 m+ W0 g) H6 I
(3)COL 用户创建基本表的所有列的信息。
7 b% _; T( E+ ?! @' h (4)SYNONYMS 用户可存取的同义名词、专用名和公用名。8 w2 X6 f6 E: l$ I8 N5 @4 i0 u, q
(5)CATALOG 用户可存取的表、视图、同义词、序列。
- B1 w) L5 x0 T7 r (6)CONSTRAINTS 用户可存取的约束。% O9 O7 S1 C1 p! H8 Z+ c6 j
(7)INDEXES 用户可存取的表和聚集的序列。1 `& O1 M$ Y: ]2 O. T% K
(8)OBJECTS 用户可存取的对象。
3 v0 _0 w7 ]2 E% ^' u3 E% Z Y (9)TANLERS 用户可存取的表。
7 x z. X" }* ?5 ~ g, f' b! z (10)USERS 查看当前全部用户。
) X6 f& ]2 x \6 _) \* v0 | (11)VIEWS 查看用户可存取的视图。. r4 V% ~9 B+ ]$ n* Q! J6 T
(12)SYSTABAUTH 用户对数据对象的使用权限。可以用SQL>SELECT*FROM〈字典表名或视图名〉WHERE〈条件〉来读取有关信息。可以用SQL>DESCRIBE〈表名〉来查看表的结构定义。但是数据库字典的结构不可改。用DESCRIBE命令还可以查看视图及过程的定义。
" S' K* p* }7 L( @" v 6.ORACLE的SQL、PL/SQL与SQL*PLUS
; t! n- S6 _. P- j9 H3 _ 作为ORACLE数据库核心的SQL语言是ANSI和ISO的标准SQL的扩充。用来存储、检索和维护数据库中的信息,并控制对数据库的存取事务。由于RDBMS执行SQL语句时,是一次只执行一条语句,它是非过程化的。这就使得单条的SQL语句使用方便,功能强大。用户只需说明操作目的,不必关心具体操作的实现方法。但在实际数据库应用开发中,往往要依据前一步对数据库操作的结果或上一个事务提交的情况来确定下一步的操作。故ORACLE推出了一种PL/SQL工具,它扩充了SQL语句,使之具有可进行过程化编程的能力,如循环、分支功能。PL/SQL可支持变量和常量的使用。 |