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