您好,登錄后才能下訂單哦!
1.同義詞介紹
同義詞在對象簡化與數據鏈接這塊應用場景比較多,有了同義詞非自主對象就可以不用帶上對象的schema來簡化書寫。
create synonym table_name for table_name@DB_Link,這里可以在有防火墻問題的前提下,在ABC三庫下,通過建立同義詞,達到一定操作。(A不能訪問C,A能訪問B,B能訪問C)
同義詞跟視圖的功能類似,就是一種映射關系,都并不占用實際存儲空間,只有在數據字典中保存了同義詞的定義。
在Oracle數據庫中的大部分數據庫對象,如表、視圖、物化視圖、序列、函數、存儲過程、包、同義詞等等,數據庫管理員都可以根據實際情況為他們定義同義詞。
2 同義詞分類
Oracle同義詞有兩種類型,分別是Oracle公用同義詞與Oracle私有同義詞。普通用戶創建的同義詞一般都是私有同義詞,公有同義詞一般由DBA創建,普通用戶如果希望創建同義詞,則需要CREATE PUBLIC SYNONYM這個系統權限。
1)Oracle公用同義詞:由一個特殊的用戶組Public所擁有。顧名思義,數據庫中所有的用戶都可以使用公用同義詞。公用同義詞往往用來標示一些比較普通的數據庫對象,這些對象往往大家都需要引用。
2)Oracle私有同義詞:它是跟公用同義詞所對應,他是由創建他的用戶所有。當然,這個同義詞的創建者,可以通過授權控制其他用戶是否有權使用屬于自己的私有同義詞。
----公共同義詞和用戶的schema無關,但是公共的意思并不是所有的用戶都可以訪問它,必須被授權后才能進行
CREATE SYNONYM、CREATE ANY SYNONYM、CREATE PUBLIC SYNONYM
CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同義詞名稱 FOR [ schema.] object [ @dblink ];
存在同名對象和公共同義詞時,數據庫優先選擇對象作為目標,存在同名私有同義詞和公共同義詞時,數據庫優先選擇私有同義詞作為目標
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。