1、同義詞:
在分布式資料庫環境中,為了識别一個資料庫對象,必須規定主機名、伺服器名、對象的擁有者和對象名。這無疑增加了通路者的通路難度。為了給不同的使用者使用資料庫對象時提供一個簡單的、唯一辨別資料庫對象的名稱,可以為資料庫對象建立同義詞。
舉例說明:假設我們在資料庫database中有一個使用者user擁有表table,那麼當資料庫database中的其他使用者需要通路table表的時候需要使用user.table的方式通路,這就要求我們在通路table表的時候必須知道table表的擁有者是誰。為了避免這種現象我們可以建立一個同義詞synonym指向user.table表,那麼以後任何使用者都可以直接使用synonym通路user的table表了。
同義詞可以指向的對象有表、視圖、過程、函數、包和序列。
同義詞有公共同義詞和私有同義詞兩種。公共同義詞是資料庫中所有使用者共享,而私有同義詞是隻有自己可以使用。
使用SQL建立同義詞:
使用SQL删除同義詞:
2、資料庫連結:
作為一個分布式資料庫系統,Oracle提供了使用遠端資料庫的功能。如果表在遠端資料庫中,為了指定遠端資料庫中一個對象的通路路徑,必須建立一個資料庫連結,使本地使用者通過這個資料庫連結登入到遠端資料庫上使用它的資料。資料庫連結也有公有和私有兩種,私有則隻有建立者可以通路,預設是私有的。
建立資料庫連結:
使用遠端資料庫連結:
建立了遠端資料庫連結以後,我們就可以使用它了。假設我們現在建立了一個到遠端資料庫ORCL的資料庫連結orclLink,在ORCL的目前使用者中有一個表t_module, 使用者scott有一個表emp,那麼我們就可以利用如下方式通路t_module中的資料了:
但是當我們需要通路scott的emp表的時候則需要加入schema,通路方式如下:
我們也可以為t_module建立遠端的同義詞:
為其他使用者表如scott的emp表建立同義詞的時候則需要加入schema,如:
建立了遠端的同義詞後,我們就可以使用如下通路方式了:
删除資料庫連結: