SQL> remark 同义词:Oracle为了方便对数据的 操作,允许用户创建对象的别名,用于简化查询的语句,这个别名称为同义词;
SQL> remark 同义词的分类:公有同义词 私有同义词
SQL> remark 公有同义词:所有的对象都可以进行访问
SQL> remark 私有同义词:只有创建者能访问;
SQL> remark 创建同义词的权限:create any synonym drop any synonym;
SQL> remark 创建一个表空间
SQL> create tablespace HOPESPACE
2 datafile 'd:\hopespace.dbf'
3 size 30m
4 autoextend on;
Tablespace created.
SQL> remark 创建一个用户 hope
SQL> create user hope
2 identified by hope123
3 default tablespace hopespace
4 temporary tablespace temp;
User created.
SQL> remark 给新建的用户进行系统权限授权
SQL> grant connect to hope;
Grant succeeded.
SQL> grant resource to hope;
Grant succeeded.
SQL> remark 现在:新建的用户操作系统缺省(默认)用户scott;
SQL> remark 系统给用户授予创建和删除同义词的权限
SQL> grant create any synonym to hope;
Grant succeeded.
SQL> grant drop any synonym to hope;
Grant succeeded.
SQL> remark 连接scott 用户 ,]
SQL> conn scott/tiger;
Connected.
SQL> remark scott 用户给hope用户授予emp表的使用权限
SQL> grant all on emp to hope;
Grant succeeded.
SQL> remark 连接hope账户,并创建同义词
SQL> conn hope/hope123;
Connected.
SQL> create synonym myemp for scott.emp;
Synonym created.
SQL> remark 通过同义词查询表的信息
SQL> select empno,job,sal from myemp;
EMPNO JOB SAL
---------- --------- ----------
7369 CLERK 800
7499 SALESMAN 1600
7521 SALESMAN 1250
7566 MANAGER 2975
7654 SALESMAN 1250
7698 MANAGER 2850
7782 MANAGER 2450
7788 ANALYST 3000
7839 PRESIDENT 5000
7844 SALESMAN 1500
7876 CLERK 1100
EMPNO JOB SAL
---------- --------- ----------
7900 CLERK 950
7902 ANALYST 3000
7934 CLERK 1300
14 rows selected.
SQL> remark 注:用户在使用同义词对象的时候,对同义词操作的权限等同于所依赖的对象的权限;即:使用同义词是,依赖的对象必须是授权过的;
SQL> remark ..............公有同义词.........................
SQL> remark 权限:create public synonym drop public synonym
SQL> remark 创建公有同义词的用户必须拥有上面的两个权限
SQL> remark 其他的用户操作同义词的时候要依赖同义词所关联的对象;
SQL> remark 给hope 用户授予创建公有同义词的权限
SQL> conn system/manager;
Connected.
SQL> grant create public synonym to hope;
Grant succeeded.
SQL> grant drop public synonym to hope;
Grant succeeded.
SQL> reamrk 登陆hope用户,并创建公有同义词
SP2-0734: unknown command beginning "reamrk 登..." - rest of line ignored.
SQL> edit
Wrote file afiedt.buf
1* grant drop public synonym to hope
SQL> remark 登陆hope用户,并创建公有同义词
SQL> conn hope/hope123;
Connected.
SQL> create public synonym pubemp for scott.emp;
Synonym created.
SQL> remark 另外创建一个用户,并使用这个公有同义词
SQL> conn system/manager;
Connected.
SQL>
1 create user hope1
2* identified by hope1123
3 /
User created.
SQL> remark 给新建的用户授予系统权限
SQL> grant connect to hope1;
Grant succeeded.
SQL> grant resource to hope1;
Grant succeeded.
SQL> remark 连接hope1用户使用公有同义词
SQL> conn hope1/hope1123;
Connected.
SQL> remark 由于scott并没有授权给hope1这个用户相关对象的权限,所有hope1并不能使用该公有同义词
SQL> remark 给hope1进行授权
SQL> conn scott/tiger;
Connected.
SQL> grant all on emp to hope1;
Grant succeeded.
SQL> conn hope1/hope1123;
Connected.
SQL> select empno,ename,sal from pubemp;
SQL> remark 连接hope用户进行使用公有同义词
SQL> conn hope/hope123;
Connected.
SQL> select empno,ename from pubemp;
SQL> remark ..................................................................
SQL> remark ..................................................................
SQL> remark 创建公有同义词
SQL> create public synonym pubemp for scott.emp;
create public synonym pubemp for scott.emp
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> remark ..................................................................
SQL> remark 删除同义词
SQL> drop synonym myemp;
Synonym dropped.
SQL> drop synonym pubemp;
drop synonym pubemp
*
ERROR at line 1:
ORA-01434: private synonym to be dropped does not exist
SQL> spool off;
分享到:
相关推荐
Oracle 11g数据库是Oracle公司推出的一款关系型数据库管理系统,是企业级数据管理的重要工具。本教程将针对初学者,详细介绍Oracle 11g的基础知识,并提供详细的安装步骤。 一、Oracle 11g概述 Oracle 11g是Oracle...
- **同义词 (Synonym)**:为数据库对象提供的别名。 - **数据库链 (Database Link)**:允许从一个数据库访问另一个数据库中的数据。 - **簇 (Cluster)**:一组表共享同一组数据块,适用于存储相关表的数据。 - *...
Oracle 11g数据库是企业级关系型数据库管理系统,提供了丰富的功能和工具来管理数据。在数据迁移、备份和恢复等场景中,导入导出功能显得尤为重要。标题中提到的"oracle11g数据库三种方式导入导出必备的exe文件"——...
模式对象是指 Oracle 数据库中的逻辑结构,包括表、索引、视图、同义词、存储过程和函数等。模式对象是 Oracle 数据库的基本组成部分,它们共同组成了 Oracle 数据库的逻辑结构。 数据访问 数据访问是指从 Oracle ...
3. **数据库对象管理**:包括表、视图、索引、存储过程、触发器、序列和同义词等对象的创建、修改和删除,以及对象权限的管理和数据完整性约束。 4. **备份与恢复**:学习Oracle的备份策略,如完整备份、增量备份和...
在Oracle 10g数据库管理系统中,创建表空间、数据链路、同义词、序列号和视图是管理和操作数据库的重要环节。下面将详细解释这些概念及其创建语句。 **1. 创建表空间(Tablespaces)** 表空间是Oracle数据库中存储...
同义词在Oracle数据库中是一种对象,它为另一个对象提供别名。同义词可以分为公有同义词和私有同义词两种类型。 ##### 创建公有同义词 根据实验内容,我们创建一个名为`Pub_syn`的公有同义词,指向表`SC`。 ```sql...
虚拟私有数据库(VPD)是另一个强大的安全工具,它允许开发者将特定的安全策略直接绑定到数据库对象,如表、视图或同义词。VPD策略可以根据安全应用上下文动态应用,确保数据访问的隔离和限制。Oracle 10g还引入了列...
Oracle 11g SQL语言参考手册是Oracle数据库官方提供的文档,详细介绍了SQL语句在Oracle 11g数据库环境中的使用方法和语法。Oracle Database是一个广泛使用的关系数据库管理系统(RDBMS),它的11g版本在数据存储、数据...
模式对象包括了Oracle数据库中各种可用来存储数据或实现数据库功能的对象,例如表、视图、索引、序列和同义词等。表是关系型数据库中最为基础的数据存储单位,包含了相关的列和行,每列代表一个属性,每行代表一个...
- USER_SOURCE表存储了用户定义的存储过程和其他数据库对象的源代码。 **23. 合法的PL/SQL变量名称:** - **正确答案:b. aVariable** - PL/SQL变量名称必须遵循命名规则,不能以数字开头,也不能包含特殊字符。 ...
- **同义词(Synonym)**:为数据库对象提供别名,简化引用。 - **存储过程(Procedure)**:预编译的SQL代码块,可接收参数,执行后返回结果。 - **触发器(Trigger)**:在特定数据库事件发生时自动执行的PL/SQL代码块。...
6. **数据库对象**:除了表,你还会接触到视图、序列、同义词、存储过程和包等数据库对象,它们在数据管理和应用程序开发中起到重要作用。 7. **安全性**:Oracle提供了强大的权限和角色管理机制,确保数据安全。...
- 视图与同义词:创建和使用视图,通过同义词提供数据库对象的别名。 - 审计:监控数据库活动,确保数据安全。 9. **PL/SQL编程** - PL/SQL简介:了解PL/SQL语言结构,过程、函数、异常处理。 - 游标和动态SQL...
4. 数据库对象的创建与管理:这部分内容会涉及到表、视图、索引、序列、同义词等数据库对象的创建、修改和删除方法。 5. 安全性和权限管理:包括用户账号的创建、权限的分配和角色的管理,以保证数据库的安全性和...