首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle Synonym 同義詞建立與管理實務

     編輯:Oracle 教學

Oracle Synonym 同義詞建立與管理實務

Synonym(同義詞)是資料庫物件(表、視圖、序列、程序等)的別名,不佔用實際儲存空間,僅在資料字典存放定義。查詢時 Oracle 會自動解析為對應物件,簡化跨 Schema 存取與 SQL 撰寫。

同義詞分類

類型權限範圍建立語法關鍵字
公有同義詞所有使用者可存取CREATE PUBLIC SYNONYM
私有同義詞建立者擁有,可授權他人使用CREATE SYNONYM

建立同義詞語法

CREATE [PUBLIC] SYNONYM synonym_name FOR schema.object_name;

實作範例

1. 建立公有同義詞

授權:

GRANT CREATE PUBLIC SYNONYM TO siege;

建立:

CREATE PUBLIC SYNONYM public_stu_syn FOR student;

2. 刪除公有同義詞

需額外授權:

GRANT DROP PUBLIC SYNONYM TO siege;
DROP PUBLIC SYNONYM public_stu_syn;

3. 查詢同義詞

-- 私有同義詞
SELECT * FROM user_synonyms WHERE synonym_name = 'PUBLIC_STU_SYN';

-- 公有同義詞 (需 DBA 權限)
SELECT * FROM dba_synonyms WHERE synonym_name = 'PUBLIC_STU_SYN';

應用場景與優勢

  • 簡化跨 Schema 存取: 使用者無需記住完整 schema.table 格式。
  • 應用程式解耦: 底層物件移動/重命名時,只需修改同義詞定義,應用程式碼無需變動。
  • 安全性控制: 透過私有同義詞限制存取範圍,配合權限管理。

注意事項

  • 同義詞本身不具權限,實際存取仍受底層物件權限控制。
  • 公有同義詞命名需避免衝突,建議加前綴(如 PUB_)。
  • 過度使用公有同義詞可能造成命名空間汙染,謹慎規劃。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved