成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

創建Oracle同義詞帶來的3種意外驚喜

數據庫 Oracle
在使用同義詞時,Oracle數據庫將它翻譯成對應方案對象的名字。與視圖類似,同義詞并不占用實際存儲空間,只有在數據字典中保存了Oracle同義詞的定義。基于這樣的特點,使用Oracle同義詞給我們帶來了很多便利。

Oracle數據庫中提供了同義詞管理的功能。Oracle同義詞是數據庫方案對象的一個別名,經常用于簡化對象訪問和提高對象訪問的安全性。在Oracle數據庫中的大部分數據庫對象,如表、視圖、同義詞、序列、存儲過程、函數、JAVA類、包等等,數據庫管理員都可以根據實際情況為他們定義同義詞。通過Oracle數據庫同義詞管理,可以給數據庫管理員與應用程序開發人員帶來不少驚喜。

驚喜一:應用程序開發可以不管數據庫的具體對象名。

在應用程序中,要不斷的調用Oracle數據庫的對象,如表、視圖、對象等等。為此,在管理軟件開發的過程中,若應用程序已經完成了某部分功能的開發。此時,數據庫管理員若一定需要更改某個數據庫對象的命名。那么,此時應用程序也需要調整。這在實際工作中,會很不方便。特別是有些應用程序如果提供了功能自定義平臺的話,會非常的麻煩。如在一個ERP軟件中,有報表自定義功能。在系統中,原來就有一張供應商產品明細表。但是,用戶覺得這張報表信息不夠齊全。用戶希望能夠顯示出某個零件所對應的成品。此時,用戶可以更改原有的數據庫對象來完成這個自定義。但是,這往往不被建議這么做。因為若不小心修改錯誤,那么就很難再修改回來。所以自定義平臺中,若需要對原有報表進行比較大的變更時,往往建議用戶另外建立一個視圖,來收集自己所需要的信息。若這么做的話,那么用戶不僅需要定義數據庫對象,而且還要重新調整前臺應用程序的報表格式。顯然這工作量有多大。

而現在有了Oracle同義詞功能的話,這一切都會變得方便。因為前臺應用程序可以不用作調整,而只需把數據庫對象同義詞進行重新定義即可。這既保障了前臺應用程序的可恢復性;同時也降低了工作量。這就是Oracle數據庫同義詞給我們帶來的第一個驚喜。

驚喜二:避免應用程序直接訪問數據庫對象,提高數據庫安全性。

在開發數據庫應用程序的時候,應當普遍遵守的一個規則是盡量避免直接飲用數據庫的表、視圖、函數或者其他對象。因為這會在很大程度上破壞數據庫的安全性。

如在前臺應用程序中直接調用數據庫對象,那么攻擊者只需要對應用程序所引用的對象進行分析,就可以很容易的了解后臺數據庫的基本邏輯結構。這顯然會為攻擊者提供很大的便利。所以,為了保障數據庫的安全,前臺應用程序最好通過同義詞來訪問后臺數據庫。如此的話,攻擊者就很難通過前臺應用程序的調用,來分析后臺數據庫的對象,以及對象之間的關系。

驚喜三:簡化數據庫對象的訪問。

有時候,我們某個數據庫對象的名字可能會很長,如AD_USER_ROLE_NAME_TRL。若每次調用這個數據庫對象的時候,都要輸入這么長的對象名,肯定會讓數據庫管理員很頭疼。但是,若名字定義的太短了呢,可讀性就不好。其他一些數據庫,只有犧牲可讀性,把數據庫對象的名字盡量縮短。

不過在Oracle數據庫中,則可以不用這個煩惱。因為我們可以給這個數據庫對象設置一個Oracle同義詞,就好像別名一樣。如此的話,在訪問的時候,只需要通過同義詞訪問即可,而不需要輸入這么長的對象名。

除了上面三個應用之外,在分布式數據庫系統中,為存儲在遠程數據庫中的對象創建同義詞,使用戶可以像使用本地對象一樣對遠程對象進行操作,就不需要提供網絡連接名進行限定了。顯然,這也會給一些分布式數據庫管理員帶來很大的便利。

Oracle同義詞有兩種類型,分別是公用同義詞與方案同義詞。

1)公用Oracle同義詞:由一個特殊的用戶組Public所擁有。顧名思義,數據庫中所有的用戶都可以使用公用同義詞。公用同義詞往往用來標示一些比較普通的數據庫對象,這些對象往往大家都需要引用。在引用這些對象時,并不需要在其前面添加一個Public所有者名字作為限定。否則的話,如果在一個公用同義詞前加上一個Public,就是畫蛇添足,系統反而會給出一個錯誤提示。不過在實際應用中,筆者不建議用戶采用公用同義詞。因為現在系統中,公用同義詞已經有很多。若用戶仍然為數據庫定義公用同義詞的話,不能夠起到簡化數據庫對象訪問的作用。

2)方案Oracle同義詞:它是是跟公用同義詞所對應,他是由創建他的用戶或者方案所有。故也被稱為私有同義詞。當然,這個同義詞的創建者,可以控制其他用戶是否有權使用屬于自己的方案同義詞。方案同義詞經常在應用程序開發中使用,為應用開發提供命名上的解決方案。如當一個數據庫對象,如一張表,被重命名或者被復制成新的表時,并且新名字與老名字都需要使用的情況下,數據庫管理員就可以使用方案同義詞,即為老名字和新名字都建立專用同義詞,不過他們都同時指向同一個數據庫對象。

其實創建方案同義詞也很簡單。不過其必須要有一個前期條件,就是必須要擁有一定的權限,如CREATE SYNONYM權限,若是要在他人的方案中建立同義詞的話,則還必須擁有CREATE ANY SYNONYM權限等等。這些是必須遵循的首要條件。否則的話,就不能夠建立同義詞。

另外需要注意的是,即使在數據庫對象不存在的情況下,也可以為預計要建立的數據庫對象設置同義詞。這個特性很好用,它可以幫助數據庫開發團隊或者應用程序開發團隊進行更高的協作。如只要數據庫管理員跟應用程序預先做好對象的命名與同義詞的定義工作,那么即使數據庫管理員還沒有開發好某個數據庫對象,前臺應用程序開發人員也可以通過引用同義詞的方式引用為建立的數據庫對象。如此的話,就不會因為某一步工作沒有完成而給其他人的工作帶來什么負面影響。

【編輯推薦】

  1. 詳解Oracle創建用戶權限全過程
  2. 詳解Oracle創建用戶授權與修改密碼
  3. Oracle創建臨時表空間用到的代碼的示例
  4. Oracle創建表空間的實操
  5. Oracle創建表空間的代碼示例
責任編輯:王婧瑤 來源: 互聯網
相關推薦

2011-04-13 16:39:43

2010-04-22 14:29:12

Oracle同義詞

2010-04-22 14:26:00

Oracle創建同義詞

2021-01-19 08:09:04

Oracle數據庫權限

2010-05-04 14:02:53

Oracle同義詞

2010-05-06 09:09:13

Oracle同義詞

2011-08-12 12:59:33

Oracle數據庫同義詞

2021-07-05 11:30:04

OracleSynonymORA

2011-08-02 17:06:29

Oracle遠程數據庫創建DB Link

2012-05-03 15:14:38

Firefox 13Beta

2010-10-28 10:37:54

Oracle批量賦權

2018-06-10 06:27:00

物聯網互聯網智能

2023-03-08 15:38:56

Linux命令dict

2010-12-08 10:09:39

ChromeGoogle

2011-03-23 11:22:14

oracle dbli

2010-10-12 13:55:41

MySQL EXPLA

2010-04-23 15:07:07

Oracle數字

2021-04-17 23:10:59

Python微軟Word

2022-09-07 11:49:20

Matter通信協議

2016-10-17 09:43:51

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕在线观看第一页 | 看av电影| 久久不射电影网 | 天天玩天天干天天操 | 不卡的av一区 | 亚洲精品乱码久久久久久按摩 | 在线观看亚洲专区 | 国产美女在线观看 | 中文字幕乱码一区二区三区 | 在线看黄免费 | av一级毛片 | 理论片免费在线观看 | 日韩在线观看一区 | 日本欧美在线视频 | 天天插天天舔 | 日本三级在线 | 午夜影院在线免费观看视频 | 欧美精品一区在线发布 | 免费黄网站在线观看 | 草比网站 | 国产成人免费视频网站视频社区 | 成人在线精品视频 | 在线91| 91久久国产综合久久 | 色综合一区二区 | 久久精品性视频 | 欧美精品在线观看 | 国产一级电影在线 | 日本精品一区二区三区在线观看 | 妖精视频一区二区三区 | 国产中文字幕在线观看 | 精品国产欧美一区二区 | 天天躁日日躁狠狠的躁天龙影院 | 亚洲午夜视频 | 精品日韩在线 | 成人影院一区二区三区 | 欧美一级观看 | 五月天婷婷丁香 | 黄色一级大片在线免费看产 | 欧美成人一区二区三区 | 久久国产电影 |