1.表
表是数据库中最常用的数据存储单元,它包括所有用户可以访问的数据。作为关系型数据库,Oracle表由行和列组成。每行代表唯一的一条记录,而每列代表记录中的一个域。
表是包含数据库中所有数据的数据库对象。表定义为列的集合。例如,在包含公司雇员数据的表中,每一行代表一名雇员,各列分别表示雇员的详细资料,如雇员编号、姓名、地址、职位及家庭电话号码等。
2.索引
索引是与表相关联的可选结构。创建索引可以提高读取数据的效率。Oracle索引提供对表数据的访问路径,从而使用户能够快速定位指定的信息。
数据库中的索引与书籍中的索引类似。在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置。可以为表中的单个列建立索引,也可以为一组列建立索引;索引采用B树结构。索引包含一个条目,该条目有来自表中每一行的一个或多个列(搜索关键字)。B树按搜索关键字排序,可以在搜索关键字的任何子词条集合上进行高效搜索。例如,对于一个A、B、C列上的索引,可以在A及A、B和A、B、C上对其进行高效搜索。
大多数书中包含一个关于词汇、名称、地点等的总索引。数据库则包含分别关于所选类型或数据列的索引,这好比在一本书中分别为人名和地名建立索引。
3.约束
约束是数据库服务器强制用户必须遵从的业务逻辑。它们限制用户可能输入指定列的值,从而强制引用完整性。在数据库设计器中创建约束时,约束遵从用于创建和更改表的ANSI标准。
4.视图
视图是一个虚拟表,其内容由查询定义,它在物理上并不存在。视图可以把表或其他视图的数据按照一定的条件组合起来,所以也可以把它看成是一个存储的查询。与真实的表一样,视图包含一系列带有名称的列和行数据。行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。分布式查询也可以用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,当需要将这些服务器上相似结构的数据组合起来时,这种方式就很有用。
5.存储过程
存储过程使管理数据库、显示关于数据库及其用户信息的工作更为容易。存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可通过来自应用程序的调用来执行,并且允许用户声明变量、条件执行及其他强大的编程功能。存储过程按返回的数据类型,可分为两类:一类类似于SELECT语句,用于查询数据,查询到的数据以结果集的形式给出;另一类存储过程是通过输出参数返回信息,或不返回信息,只执行一个动作。存储过程可以嵌套,一个存储过程可以调用另一个存储过程。
6.触发器(www.xing528.com)
触发器是一种特殊类型的存储过程,主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,Oracle就会自动执行触发器所定义的SQL语句,从而确保对数据的处理符合由这些SQL语句所定义的规则。
触发器的主要作用就是实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其他许多不同的功能:
(1)强化约束(Enforce restriction),触发器能够实现比CHECK语句更为复杂的约束。
(2)跟踪变化(Auditing changes),触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化发生。
(3)级联运行(Cascaded operation),触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含对另外一个表的数据操作(如删除、更新、插入),而该操作又导致该表上触发器被触发。
(4)存储过程的调用(Stored procedure invocation),为了响应数据库更新,触发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS(数据库管理系统)本身之外进行操作。
7.序列
序列用于生成唯一的序列号,例如,要求Oracle为表中某一行生成唯一的标识,此时可以使用序列。
8.同义词
同义词(synonym)是任何表、视图、快照、序列、过程、函数或包的别名,其定义存储在数据字典中。同义词因安全性和方便原因而经常使用,可用于:①屏蔽对象的名字及其持有者;②为分布式数据库的远程对象提供位置透明性;③为用户简化SQL语句。
9.函数
函数是封装了一系列语句的命名块,通常情况下,使用过程执行一个动作,使用函数计算一个值。
10.程序包
程序包是将相关的过程和函数,以及其使用的游标和变量组织起来的一种方式。程序包存储在数据库中,可以作为单个单元进行使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。