第四章 数据库对象


Oracle中存储着数十种数据库对象,Object Browser基本上都为用户提供了GUI的接口。

本章将对各种对象类型的显示画面进行说明,在此之前先对画面上方工具栏的使用方法进行说明。

   [新建(C)]  基于[定义信息][代码]中被设置的内容创建或更改数据库对象。
当内容未被设置或[数据]打开时,此功能不能使用。
   [恢复(R)] 读取最新的数据库定义状态。
   [退出(X)] 关闭当前画面。
   [显示空间信息] 显示出数据库对象的空间信息。
在选项设置的画面中可以设置此项功能在画面初期显示时就有效。
   [授予对象权限]  显示对象授权画面。
(→请参照 3-4-6)
   [关联信息图]  显示关联信息图画面。
(→请参照 3-4-4)
   [数据生成工具]   显示数据生成工具。
(此按钮只存在于表,视图画面。)
(→请参照 3-16)
   [脚本打印] 打印脚本。
   [EXCEL文件输出] 将数据库对象的定义信息输出到EXCEL文件里。
(→请参照 3-4-3)
   [样本]   显示样本代码。
(本按钮只存在于各程序画面。)

4-1 表
4-2 索引
4-3 视图
4-4 JAVA 代码
4-5 JAVA 类
4-6 JAVA RESOURCE
4-7 存储过程(PROCEDURE),存储函数(FUNCTION),存储包(PACKAGE),类型(TYPE)
4-8 数据库触发器
4-9 序列(SEQUENCE)
4-10 聚簇(CLUSTER)
4-11 同义词(SYNONYM)
4-12 物化视图(MATERIALZED VIEW)
4-13 物化视图日志(MATERIALZED VIEW LOG)
4-14 刷新组(REFRESH GROUP)
4-15 数据库链接(DATABASE LINK)
4-16 库(LIBRARY)
4-17 制约


4-1 表  

[定义信息]
  画面上方显示着表的注释,在显示列的区域中有列名,数据类型,位数(小数点后位数),是否可以为空(NULL),缺省值,列注释。
  并且可以更新。
  当把光标移动到最下方时,可以在最后追加新列。另外通过[
插入][ 删除]按钮也可以对列进行编辑。

  在下边还显示有从属于该表的制约,索引,触发器的一览表。
  在此按鼠标右键,使用弹出菜单可以实现创建,对象修正,删除,有效/无效状态切换的功能。

   [CONSTRAINT(制约)] 显示出从属于当前表的制约名称和制约类型(CHECK, UNIQUE, PRIMARY KEY,  FOREIGN KEY), 并显示制约的内容和状态.
(→请参照 4-17)
   [INDEX(索引)] 显示从属于该表的索引的名称,可否重复,索引列及状态。
(→请参照 4-2)
   [TRIGGER触发器] 显示从属于该表的触发器名称及状态。
(→请参照 4-8)

使用此画面的[ 新建]按钮时,Object Browser将使用ALTER TABLE语句完成对表定义的更改。
但是如果是在表的中间加入列(不是最后位置),或删除列等情况下,Oracle将不支持使用ALTER TABLE完成操作。这时Object Browser将使用CRATE TABLE进行对表的修改。
但是因为需要进行再编译,表中所有的数据将被删除。

[代码]
  用来创建表的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
新建]按钮实现对表的创建及变更操作。

  当选中[ 显示空间信息]功能时,关于扩张信息的代码也将被显示。

  在这个画面中点击[
新建]按钮时,系统将使用CREATE TABLE语句,所以当前表中的所有数据将被删除。请您一定注意。

[数据]
  可以对表中数据进行更新。

  对数据进行修改后,当光标移动到其他行时自动进行COMMIT.但是也可以通过设置相应选项实现在任意时刻进行COMMIT/ROLLBACK操作。

  画面上方的[条件]文本框中可以输入检索条件。
  而且在下边的项目列表中也可以指定各列的[最大值][最小值]来检索信息。(在此各条件之间使用AND连接)

  在项目列表的最右侧可以设置排序功能。
  在某列后面输入1时将按照此列进行排序。对多个列进行排序时可以按优先顺序分别输入1,2,3等等。同时可以在序号后面输入DESC进行逆排序。

  鼠标点击数据显示区域的每行开头的部分(当前显示   标志的部分)时,可以选中整行数据。
  在一行被选中的状态时可以通过拷贝和粘贴方便的完成数据添加的工作。
  (当存在主键制约时请先使用编辑器修改内容后再进行粘贴。)

使用画面左边的工具按钮可以实现以下功能。

   [显示数据] 以输入的条件和排序条件为基准刷新显示数据。
   [指定显示项目] 显示指定显示列的画面。
   [检索条件 排序条件] 将输入检索条件和排序条件的部分置为显示或非显示。
也可以通过选项设置功能来决定画面的初期显示状态。
   [重置抽出条件排列顺序] 删除所有输入的抽出条件排列顺序的值。
   [导出指定条件的SELECT语句到剪贴板] 导出指定抽出条件的SELECT语句到剪贴板。
   [设置显示结果为
      可编辑状态]
设置当前显示的数据是否可以编辑。
如果没有编辑的必要可以将这个按钮的状态设置成OFF,这样还可以提高反映速度。
也可以通过选项设置功能来决定画面的初期显示状态。
   [变更输出方向] 横向或纵向输出数据。
   [向Excel文件中
      输出结果]
将显示的全部数据向EXCEL文件输出。
也可以通过选项设置功能来决定画面的初期显示状态。
   [向剪贴板中输出结果] 将显示的全部数据向EXCEL文件输出。
也可以通过选项设置功能来决定画面的初期显示状态。
   [插入记录] 为插入一条记录而生成一个空白行。
   [删除记录] 删除当前记录。

[空间信息]
    表空间信息分为[标准][分区][聚簇]

1.标准   这是最一般的保存方法,只在唯一的表空间中分配存储空间。

画面中各个参数值与实际发行的命令语句关系如下:

参数值 相对应CREATE / ALTER 语句的参数
缓冲 CACHE/NOCACHE
记录日志 LOGGING/NOLOGGING
保留空间率 PCTFREE
使用空间率 PCTUSED
最小访问事务数 INITRANS
最大访问事务数 MAXTRANS
表空间 TABLESPACE
初次扩展空间 STORAGE(INITIAL)
扩张扩展空间 STORAGE(NEXT)
扩展空间增加率 STORAGE(PCTINCREASE)
初期扩展空间数 STORAGE(MINEXTENTS)
最大扩展空间数 STORAGE(MAXEXTENTS)
空连数 STORAGE(FREELISTS)
空连组数 STORAGE(FREELIST GROUP)
缓冲池 STORAGE(BUFFER_POOL)

2.分区存储
  将表中的数据分成若干部分分别存储在不同的表空间中。
  使用此项功能时必须安装Oracle数据库的[分区选件]。

可以选择Range partition、Hash Partition、list partition

  在[项目名称]中指定分区列名,在画面下侧输入所需的分区名称,分区项目的最大值,扩张信息,以及所需分区数。
  于PCTFREE以后的参数的缺省值请参看标准的情况。

在此使用工具按钮可以完成以下功能。

   [项目列表] 显示表中列的信息一览表。
   [追加分区] 在当前行的前面加入新行。
   [删除分区] 删除当前被选中的行。

3.聚簇
  使用聚簇来保存数据.请在[聚簇]列表框中选择可以使用的聚簇。
  在画面下侧将显示出聚簇列的一览表。

4.索引构成表
  在存储数据时使用索引构成表。
  指定[溢出段记忆表空间]时,请设定基准分类的度量阀值。
  使用溢出段记忆表空间时,数据存储的效率会提高。
  要赋予位图索引的话,请在[映射表]选项打勾。
  于PCTFREE以后的参数的缺省值请参看标准的情况。



4-2 索引  

[定义信息]
  画面上侧显示对象表的名称和索引的列及其顺序。
  使用画面中间的[
] [ ]按钮可以实现增加,删除列的功能。

  在这个画面中点击[ 新建]按钮时,一般情况下Object Browser将根据变更内容使用ALTER INDEX来完成定义的更改,
  但是如果涉及增加删除列或更改表空间等ALTER INDEX不能实现的操作时,系统将使用CREATE INDEX语句。

[代码]
  显示创建索引时的SQL代码。
  您可以在这里编辑SQL代码或点击上面的[
新建]按钮修改索引对象。

 


4-3 视图  

[定义信息]
  画面上方显示着视图的注释,在显示列的区域中有列名,数据类型,位数(小数点后位数),是否可以为空(NULL),缺省值,列注释。
  与表不同的是在这个画面中除了注释之外的信息是不能修改的。

[代码]
  用来创建视图的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
新建]按钮实现对视图的创建及变更操作。

[数据]
  显示通过视图能看见的数据。来自于单一表的视图或满足更新条件时可以对数据进行修正。

  详情请参看4-1 [数据]的说明。

[执行计划]
  画面中侧是当执行视图的SELECT语句时发生的I/O统计信息,下侧将用阶梯图形显示执行视图SELECT语句的执行计划。
  同时,当数据库的优化模式设置为COST模式时,视图SELECT语句的COST也将被显示。
  (统计信息在画面的初期状态将不被显示。)

  在此也请您同时参照 4-1[数据]3-5[执行计划]的说明。

[权限]
 
选择画面下方用户一览中的对象用户,变更画面中段所选用户的权限,最后通过点击[作成]按钮,
  可以实现对象权限的授予与取消。

  请参照3-4-6[权限授予]

[相关]
 
显示标对象和其他对象的关联性。
相关信息的默认值为显示到第三层,但是通过变更「选项」中的设置,可以实现更深层次关联的显示。


  请参照3-4-4 [关联信息图].


4-4 JAVA代码(Oracle8i以上)  

[定义信息]
  可以在这里手动输入JAVA代码或者通过指定文件名来对外部代码文件进行加载。
  (→请参照5-2-3)

  对于已经存在的JAVA代码,现在的版本不支持对JAVA代码的修正功能,只能创建,删除,再编译。


4-5 JAVA类 (Oracle8i以上)  

[定义信息]
  可以在这里指定路径及文件名来对JAVA类文件进行加载。
  (→请参照5-2-3)

  对于已经存在的JAVA类,现在的版本不支持对JAVA类的修正功能,只能创建,删除,再编译。

*请在[表空间信息]画面的「目录」中设置目录中显示的列表。


4-6 JAVA档案 (Oracle8i以上)  

[定义信息]
  可以在这里指定路径及文件名来对JAVA档案文件进行加载。
  (请参照5-2-3)

  对于已经存在的JAVA档案,现在的版本不支持对JAVA档案的修正功能。(只能实现创建、删除和再编译)



4-7存储过程(PROCEDURE),存储函数(FUNCTION),存储包(PACKAGE),类型(TYPE)   

在此显示创建对象时使用的SQL。
在完成SQL的编辑后,点击画面上方的[
新建]按钮,就可以完成对象的创建和修改。

如果创建对象时发生编译错误,画面的下方将显示错误列表,您可以根据这些信息进行查错。
用鼠标双击错误信息,光标将移动到程序中发生错误地方。

或者,点击[
样本]按钮,显示样本代码,通过参照样本代码,就可以理解PL/SQL的句法了。

small>对于存储过程,存储函数,存储包,可以通过[[ 执行]按钮运行该程序。


4-8 数据库触发器  

[定义信息]
  画面上方显示发生触发的条件,画面下方显示被触发时所执行的SQL。

  点击画面上方的[
新建]按钮,将完成创建,更新触发器的操作。
  再创建对象时如果发生编译错误,画面的下方将会显示错误列表。您可以利用这些信息查错。
  当用鼠标双击错误信息时,光标将移动到程序中发生错误的地方。

  画面下方的代码中,绿色表示的部分用户不能进行修正。
  (这部分代码是根据在上面指定的条件自动生成的)

[代码]
  用来创建触发器的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
新建]按钮实现对触发器的创建及变更。

[相关]
 
显示表对象与其他对象的关联性。
相关信息的默认值为显示到第三层,但是通过变更「选项」中的设置,可以实现更深层次关联的显示。


  请参照3-4-4[关联信息图]


4-9 序列(SEQUENCE)  

[定义信息]
  显示序列对象的相应信息。
  修改相应的信息后,点击[
新建]按钮,系统将发行ALTER SEQUENCE语句完成对序列的变更。
  但是当对序列的开始值(START WITH)进行修正时,系统使用
CREATE SEQUENCECREATE SEQUENCE语句生成序列。



  在此对[当前值][开始值]作如下说明。

    当前值
      被保存在内存缓冲区的最新数值。ORACLE将这个值与[增量]加后得到下一个当前值。
      这个值是各个进程在取得序列最新值时所参看的值。
      点击当前值右边的[加算]按钮后,下一次的序列结果将被显示出来。

    开始值
      这个值是保存在硬盘上的序列的最大值。在当前值超出开始值大小时,开始值将自动增加一个缓冲大小[CACHE SIZE]
      Oracle再启动时将从这个值开始计数。
      点击开始值右边的[加算]按钮后,下一次的序列结果将被显示出来。

[代码]
  用来创建序列的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
新建]按钮实现对序列的创建及变更操作。


4-10 聚簇  

[定义信息]
  显示聚簇的定义信息。在此可以修正相应的信息,当点击[
新建]按钮时,系统将发行ALTER CLUSTER语句。

  使用工具按钮的[
增加列][ 删除列]按钮可以对聚簇列进行增加,删除。
  但是这时系统将发行CREATE CLUSTER语句进行再创建。

[代码]
  用来创建聚簇的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
新建]按钮实现对聚簇的创建及变更操作。



  [空间信息]按钮
     在这里可以指定数据的保存方法。关于空间信息,每个保存方法的设置内容也都不同,聚簇中可用的保存方法只有[标准]。

[表]
  使用着当前聚簇的表及列的信息一览表。
 相应的聚簇列名也同时被显示出来。


4-11 同义词(SYNONYM)  

[定义信息]
  显示被连接的数据库对象信息。

  点击[ 浏览]按钮时,被连接的数据库对象的定义信息画面将被显示出来。
  当点击[
新建]按钮时,同义词将被创建。

[代码]
  用来创建同义词的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
创建]按钮实现对同义词的创建及变更操作。


4-12 物化视图(MATERIALZED VIEW)  

[定义信息]
  画面上方显示着刷新(REFRESH)方式,间隔,是否允许更改数据,行的识别方法。
  画面下方显示出读取数据的SELECT语句。

  点击[ 创建]按钮时系统将发行ALTER MATERIALZED VIEW或CREATE MATERIALZED VIEW进行物化视图的更新或创建。

[代码]
  用来创建物化视图的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
]按钮实现对物化视图的创建及变更操作。

[数据]
  显示出物化视图中的数据。
  (请参照→ 4-1 数据)


[空间信息]
 在这里可以指定空间信息的保存方式。
关于空间信息,每个保存方法的设置内容都是不同的。详细内容如下:

标准

这是最一般的保存方法。确保该空间对应单一的表空间。
画面的各值和实际发行的指令对应如下:
画面值 对应CREATE /ALTER文的option
CACHE CACHE乛NOCACHE
记录到REDO LOGGING乛NOLOGGING
使用用途 PCTFREE
TRAN数 INITRANS MAXTRANS
表空间 TABLESPACE
扩展空间大小
Buffer Poll
STORAGE

聚簇

数据的保存中使用聚簇。
通过[聚簇]复选框,选择可用的聚簇。在画面下方将显示出指定聚簇的项目列表。

请参照→( 4-1[空间信息])


4-13 物化视图日志(MATERIALZED VIEW LOG)   

[定义信息]
  在此可以指定物化视图日志的对象表,及用户名,行的识别方式(PRIMARY KEY 或 ROWID)。

  点击[
创建]按钮时系统将发行ALTER MATERIALZED VIEW LOG或CREATE MATERIALZED VIEW LOG进行物化视图日志的更新或创建。

 

[代码]
  用来创建物化视图日志的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
创建]按钮实现对物化视图日志的创建及变更操作。

 

[日志]
  显示出物化视图日志中的数据。

选中 [空间信息]
EXTENTS关系的代码也将被补充上去。 (请参照→ 4-1[空间信息])


4-14 刷新组(REFRESH GROUP)  

[定义信息]
  画面上方可以设置刷新(REFRESH)方式及回滚段。
  画面下方列表显示出所有可以利用的物化视图供选择。
  使用画面中央的[
][ ]按钮可以完成添加,删除物化视图的功能。

  使用[ 创建]按钮可以创建刷新组。

  使用[
更新]按钮可以对现存的刷新组进行更新。

[代码]
  用来创建刷新组的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的
[ 创建]按钮实现对刷新组的创建及变更操作。


4-15 数据库链接(DATABASE LINK)  

[定义信息]
  指定要连接的目标数据库名,以及目标服务器的UserID/Password。

  点击[ 创建]按钮时进行数据库链接的更新或创建。

  对于已经存在的数据库链接,使用[
连接]按钮可以连接到目标服务器上。

[代码]
  用来创建数据库链接的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[
创建]按钮实现对数据库链接的创建及变更操作。

  但是密码将不被保存在代码中,在每次创建或变更时都必须重新输入密码。


4-16 库(LIBRARY)  

[定义信息]
  指定相应的外部程序的绝对路径后,使用[创建]按钮,可以对库进行创建或更新。

[代码]
  用来创建库的相应的SQL代码在这里被显示。
  您可以在这里编辑SQL代码并点击上面的[新建]按钮实现对库的创建及变更操作。


4-17 制约  

画面上方可以设置制约的表名称,用户名,制约种类,有效/无效标志。
画面下方随着制约种类的变化而变化。

[CHECK]制约 (检查制约)
  在画面下方输入CHECK条件。

[UNIQUE KEY]制约 (唯一索引制约)
  画面下方右侧显示出数据库表的一览表,
  通过使用画面中央的[
][ ][ ][ ]按钮将对象列加入到唯一索引中。

  选中工具按钮的
  空间信息]按钮时,将在画面下方显示出相应的空间信息。
  (请参照→4-1[空间信息])

[PRIMARY KEY]制约 (主键制约)
  画面下方右侧显示出数据库表的一览表,
  通过使用画面中央的[
][ ][ ][ ]按钮将对象列加入到主键制约中。
  (主键制约的列不能重复)

  选中
工具按钮的   空间信息]按钮时,将在画面下方显示出相应的空间信息。
  (请参照→4-1[空间信息])

[FOREIGN KEY]制约 (外键制约)
  在画面中央设置参照完整性的对象库表、用户名及对象表的索引信息。
  画面左下侧的表格中显示出被指定的相应目标表的索引列名,右下侧设置与左侧相对应的表自身的列名。