當前位置:首頁 » 數據倉庫 » oracle資料庫同義詞
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle資料庫同義詞

發布時間: 2022-07-04 12:40:17

『壹』 Oracle中的Dblink和同義詞有什麼區別嗎

Oracle中的Dblink和同義詞有什麼區別嗎
dblink:當用戶要跨本地資料庫訪問另外一個資料庫表中的數據時,本地資料庫中必須創建了遠程資料庫的dblink,通過dblink本地資料庫可以像訪問本地資料庫一樣訪問遠程資料庫表中的數據。
同義詞:同義詞(synonyms)從字面上理解就是別名的意思,和試圖的功能類似,就是一種映射關系,此外如果要創建一個遠程的資料庫上的某張表的同義詞,需要先創建一個Database Link(資料庫連接)來擴展訪問。

『貳』 Oracle中視圖和同義詞的區別

Oracle中視圖和同義詞的區別如下:
視圖和同義詞分別都是資料庫中的對象名稱,它們都不對應實際的數據存儲,都依賴其他對象的存在而存在。
一、視圖:視圖可以被看成是虛擬表或存儲查詢。除非是索引視圖,否則視圖的數據不會作為非重復對象存儲在資料庫中。一般是基於一個或多個數據表經數據查詢語句構建而成;視圖可以再被用於數據查詢語句中。
二、同義詞:是架構范圍內的對象的另一名稱。通過使用同義詞,客戶端應用程序可以使用由一部分組成的名稱來引用基對象,而不必使用由兩部分、三部分或四部分組成的名稱。可以理解為是對資料庫中一個對象的快捷方式或者在特定范圍內的別名;不限於數據表,幾乎所有的資料庫對象都可以建立同義詞。
1.視圖可以對應一張或多張表,同義詞只能對應一張表名稱
2.視圖可以設置其他約束條件
3.可以在同義詞上建立視圖:
例如,已經存在一個名為synonym_city的同義詞和一個名為table_citys的表,可以創建視圖:CREATE OR REPLACE NOFORCE VIEW view_city AS SELECT * FROM synonym_city,table_citys;
4.可以通過對同義詞進行任何DML操作,對表數據進行插入、更新、刪除,通過對視圖只能進行更新和刪除操作。
值得注意的是:視圖和同義詞都可以屏蔽用戶訪問其他用戶擁有的表。
例如:現在存在兩個用戶:scott、sys,以sys用戶登錄
創建跨用戶表的同義詞:
CREATE OR REPLACE PUBLIC SYNONYM SYN_EMP for scott.emp;
創建跨用戶的表的視圖:
CREATE OR REPLACE VIEW view_EMP AS SELECT * FROM scott.emp
然後進行查詢操作:
SELECT * FROM SYN_EMP ;
SELECT * FROM view_EMP ;
查詢結果是一樣的。

『叄』 ORACLE 創建同義詞 是否可加WHERE條件

同義詞是資料庫方案對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。 Oracle的同義詞有兩種類型:公有同義詞與私有同義詞。 1:公有同義詞由一個特殊的用戶組Public所擁有。 2:私有同義詞是由創建他的用戶所有。創建同義詞的語法: Create [public] synonym 同義詞名稱 for [username.]objectName 刪除同義詞的語法: Drop [public] synonym 同義詞名稱 查看所有同義詞: select * from dba_synonyms

『肆』 oracle同義詞是什麼意思

相當於alias(別名),比如把user1.table1在user2中建一個同義詞table1
create synonym table1 for user1.table1;
這樣當你在user2中查select * from table1時就相當於查select * from user1.table1;
優點自己總結吧。

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

『伍』 oracle資料庫中循環同義詞,怎麼處理

1、 當用程序連接或者用plsql查詢同義詞時,如果出現ora-01775:同義詞的循環鏈這樣的問題。
一般是因為存在同義詞,但同義詞沒有相應的對象。

2、 先查有沒有循環的同義詞。
select * from dba_synonyms
where table_owner='TEST'
and synonym_name<>table_name;

沒有記錄。

3、 再查同義詞沒有對象的資料庫對象
select * from dba_synonyms
where table_owner='TEST'
and
synonym_name in
(select a.synonym_name from dba_synonyms a where a.table_owner='TEST'
minus
select object_name from user_objects)

4、 把查詢出來的結果進行查詢表
select * from DRILL_PRESON
如果該同義詞沒有相應的對象,則會包ora-01775的錯誤

5、 把這個同義詞刪除
drop public synonym DRILL_PRESON

『陸』 oracle 中怎麼創建同義詞

我們需要准備的材料分別是:電腦、oracle。

1、首先打開oracle,如果想要實現表空間的方法,則輸入以下代碼:

『柒』 oracle里synonym的作用是什麼

Oracle同義詞的作用是:

1、 多用戶協同開發中,可以屏蔽對象的名字及其持有者。如果沒有同義詞,當操作其他用戶的表時,必須通過user名.object名的形式,採用了Oracle同義詞之後就可以隱蔽掉user名。

當然這里要注意的是:public同義詞只是為資料庫對象定義了一個公共的別名,其他用戶能否通過這個別名訪問這個資料庫對象,還要看是否已經為這個用戶授權。

2、為用戶簡化sql語句。上面的一條其實就是一種簡化sql的體現,同時如果自己建的表的名字很長,可以為這個表創建一個Oracle同義詞來簡化sql開發。

3、為分布式資料庫的遠程對象提供位置透明性。

(7)oracle資料庫同義詞擴展閱讀:

Oracle資料庫中提供了同義詞管理的功能。同義詞是資料庫方案對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。在使用同義詞時,Oracle資料庫將它翻譯成對應方案對象的名字。與視圖類似,同義詞並不佔用實際存儲空間,只有在數據字典中保存了同義詞的定義。

在Oracle資料庫中的大部分資料庫對象,如表、視圖、同義詞、序列、存儲過程、包等等,資料庫管理員都可以根據實際情況為他們定義同義詞。Oracle同義詞有兩種類型,分別是公用Oracle同義詞與私有Oracle同義詞。

參考資料來源:網路-同義詞

『捌』 oracle同義詞

Oracle的同義詞(synonyms)從字面上理解就是別名的意思,和視圖的功能類似,就是一種映射關系。它可以節省大量的資料庫空間,對不同用戶的操作同一張表沒有多少差別;它擴展了資料庫的使用范圍,能夠在不同的資料庫用戶之間實現無縫交互;Oracle資料庫中提供了同義詞管理的功能。同義詞是資料庫對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。在使用同義詞時,Oracle資料庫將它翻譯成對應方案對象的名字。與視圖類似,同義詞並不佔用實際存儲空間,只有在數據字典中保存了同義詞的定義
創建同義詞
CREATE SYNONYM SYSN_TEST FOR TEST;
查看同義詞
SELECT * FROM USER_SYNONYMS

使用同義詞
SELECT * FROM SYSN_TEST;
刪除同義詞
DROP SYNONYM SYSN_TEST;

『玖』 Oracle怎樣創建同義詞

同義詞可分為兩種:1)公有同義詞。2)私有同義詞。
create public synonym 同義詞名稱 for 資料庫對象名;----公有同義詞
create synonym 同義詞名稱 from 資料庫對象;-----私有同義詞

『拾』 oracle資料庫同義詞導入錯誤,怎麼重新導入

oracle導入的同義詞其實就是一個創建語句而已,如果同義詞很多的話,直接用PL/SQL Developer的菜單欄的工具=>導出對象裡面選擇需要導出的同義詞 命名為imp_synonym.sql 導出路徑比如設置位D盤根目錄 D:\ imp_synonym.sql 完成後 打開cmd窗口 輸入 D:
進入到D盤,然後sqlplus到目標資料庫,然後輸入 @imp_synonym.sql 或者直接寫全路徑
@D:\imp_synonym.sql直接執行這個腳本文件就導入同義詞了。