Oracle同義詞學習

2021-09-08 18:52:20 字數 1328 閱讀 6206

從字面上理解就是別名的意思,和檢視的功能類似。就是一種對映關係。

同義詞擁有如下好處:

節省大量的資料庫空間,對不同使用者的操作同一張表沒有多少差別;

擴充套件的資料庫的使用範圍,能夠在不同的資料庫使用者之間實現無縫互動;

同義詞可以建立在不同乙個資料庫伺服器上,通過網路實現連線。

oracle資料庫中提供了同義詞管理的功能。oracle同義詞是資料庫方案物件的乙個別名,經常用於簡化物件訪問和提高物件訪問的安全性。

在oracle中對使用者的管理是使用許可權的方式來管理的,也就是說,如果我們想使用資料庫,我們就必須得有許可權,但是如果是別人將許可權授予了我們,我們也是能對資料庫進行操作的,但是我們必須要已授權的表的名稱前鍵入該錶所有者的名稱,所以這就是比較麻煩的,遇到這種情況,我們該怎麼辦呢?建立個oracle同義詞吧!這樣我們就可以直接使用同義詞來使用表了。

oracle資料庫中提供了同義詞管理的功能。同義詞是資料庫方案物件的乙個別名,經常用於簡化物件訪問和提高物件訪問的安全性。在使用同義詞時,oracle資料庫將它翻譯成對應方案物件的名字。與檢視類似,同義詞並不占用實際儲存空間,只有在資料字典中儲存了同義詞的定義。在oracle資料庫中的大部分資料庫物件,如表、檢視、同義詞、序列、儲存過程、包等等,資料庫管理員都可以根據實際情況為他們定義同義詞。

oracle同義詞有兩種型別,分別是公用oracle同義詞與私有oracle同義詞。

建立公有oracle同義詞的語法:

create [public] synonym 同義詞名稱 for [username.]objectname;

create public synonym table_name for user.table_name;

其中第乙個user_table和第二個user_table可以不一樣。

此外如果要建立乙個遠端的資料庫上的某張表的同義詞,需要先建立乙個database link(資料庫連線)來擴充套件訪問,然後在使用如下語句建立資料庫同義詞:

create synonym table_name for table_name@db_link;

當然,你可能需要在user使用者中給當前使用者(user2)授權:

grant select/delete/update on user2;

select * from dba_synonyms;

資料庫鏈是乙個命名的物件,說明乙個資料庫到另乙個資料庫的路徑,通過其可以實現不同資料庫之間的通訊:

create database link 資料庫鏈名 connect to 使用者名稱 identified by 口令 using 『oracle連線串』;

訪問物件要通過object名@資料庫鏈名。同義詞在資料庫鏈中的作用就是提供位置透明性。

Oracle 同義詞synonym 學習

同義詞 從字面上理解就是別名的意思,和試圖的功能類似。就是一種對映關係。1.建立同義詞語句 create public synonym table name for user.table name 其中第乙個 table name和第二個 table name 可以不一樣。此外如果要建立乙個遠端的資...

Oracle同義詞以及同義詞迴圈鏈錯誤。

就是別名的意思。與檢視類似,是一種對映關係。是表 索引 檢視的物件的別名。建立 create public synonym table name for user.table name 好處 節省資料空間,不同使用者操作同一種表無差別。能夠在不同的資料使用者之間實現無縫互動。簡化物件訪問 和 提高物...

Oracle的同義詞

oracle中建立同義詞語句 create synonym table name foruser.table name 其中第乙個user table和第二個user table可以不一樣。此外如果要建立乙個遠端的資料庫上的某張表的同義詞,需要先建立乙個databaselink 資料庫連線 來擴充套...