同义词是对象的一个别名,不占用任何的实际存储空间,只在oracle的数据字典中保存其定义描述,在使用同义词时,oracle会将其翻译为对应对象的名称。
1.用途:
简化SQL语句
隐藏对象的名称和所有者
为分布式数据库的远程对象提供位置透明性
提供对数据库对象的公共访问
创建数据库链接的语法:
CREATE DATABASE LINK 数据库链接名 CONNECT TO user名 IDENTIFIED BY 口令 USING ‘Oracle链接串’;
2.同义词的分类
(1)私有同义词
私有同义词只能被当前模式的用户访问,私有同义词名称不可与当前模式的对象名称相同。要在自身的模式创建私有同义词,用户必须拥有create synonym系统权限。要在其他用户模式创建私有同义词,用户必须拥有create any synonym系统权限。
语法:
CREATE [OR REPLACE] SYNONYM [schema.]synonym_name FOR [schema.]object_name ;
参数解释:
[OR REPLACE]:在同义词存在的情况下替换该同义词
synonym_name:要创建同义词的名称
object_name:指定要为之创建同义词的对象的名称
(2)共有同义词
公有同义词被所有的数据库访问。公有同义词可以隐藏基表的身份,并降低sql语句的复杂性。要创建公有公有同义词,用户必须拥有create public SYNOYM的系统权限。
语法:
CREATE [OR REPLACE] PUBLIC SYNONYM [schema.]synonym_name FOR [schema.]object_name ;
(3)删除同义词
DROP [PUBLIC] SYNONYM [schema.]synonym_name;
十一、分区表
1.含义:
Oracle允许把一个表重的所有行分成几个部分,并将它们存储在不通的表空间,分成的每一部分成为一个分区,被分区的表成为分区表。
对于包含大量数据的表来说,分区很有用,优点有以下几点:
1)改善表的查询性能。在对表进行分区后,用户执行sql查询时可以只访问表中的特定分区而非整个表。
2)表更容易管理。因为分区表的数据存储在多个部分中,按分区加载和删除数据比在表中加载和删除更容易。
3)便于备份和恢复。可以独立地备份和恢复每个分区。
4)提高数据安全性。将不同的分区分布在不同的磁盘,可以减少所有分区的数据同时损坏的可能性。
符合一下条件的表可以建成分区表:
1)数据量大于2GB。
2)已有的数据和新添加的数据有明显的界限划分。