當前位置:成語大全網 - 漢語詞典 - Oracle中可視和同義詞的區別

Oracle中可視和同義詞的區別

Oracle中視圖和同義詞的區別如下:

視圖和同義詞分別是數據庫中對象的名稱。它們與實際的數據存儲並不對應,都依賴於其他對象的存在。

1.視圖:視圖可以被視為虛擬表或存儲查詢。除非是索引視圖,否則該視圖的數據不會作為非重復對象存儲在數據庫中。壹般由基於壹個或多個數據表的數據查詢語句構造而成;視圖可以在數據查詢語句中重用。

2.同義詞:框架內對象的另壹個名稱。通過使用同義詞,客戶端應用程序可以引用由壹部分組成的名稱,而不是由兩部分、三部分或四部分組成的名稱。可以理解為數據庫中某個對象的快捷方式,也可以理解為特定範圍內的別名;不限於數據表,幾乎所有數據庫對象都可以建立同義詞。

1.視圖可以對應壹個或多個表,同義詞只能對應壹個表名。

2.視圖可以設置其他約束。

3.您可以創建同義詞視圖:

例如,名為synonym_city的同義詞和名為Table _ CIYS的表已經存在,因此可以創建視圖:創建或替換no force view _ City as select * from Synonym _ City,Table _ CIYS;

4.您可以通過對同義詞的任何DML操作來插入、更新和刪除表數據,但只能更新和刪除視圖。

值得註意的是,視圖和同義詞都可以阻止用戶訪問其他用戶擁有的表。

例如,有兩個用戶:scott和sys,他們以sys用戶身份登錄。

為跨用戶表創建同義詞:

為scott.emp創建或替換公共同義詞SYN _ EMP

創建跨用戶表的視圖:

將視圖view_EMP創建或替換為SELECT * FROM scott.emp

然後查詢操作:

SELECT * FROM SYN _ EMP

SELECT * FROM view _ EMP

查詢結果是壹樣的。