国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

ORACLE8i數(shù)據(jù)庫體系結(jié)構(gòu)

2024-08-29 13:36:10
字體:
供稿:網(wǎng)友

  ORACLE8i數(shù)據(jù)庫體系結(jié)構(gòu)
點擊查看大圖

  前言:
  
  0.1 之所以選Oracle8i來講是因為我對它很熟悉。
  
  0.2 Oracle 8.1.5改用了和MS SQLServer7類似的mmc治理界面,很爽。
  
  0.2 其實這幅圖之所以這么復(fù)雜是因為俺對java甚有好感,從Delphi的角度看只要下半截足夠了。:-)
  
  0.3 正規(guī)數(shù)據(jù)庫最終總是以磁盤文件形式存在的,文件治理系統(tǒng)通常是操作系統(tǒng)的部份,上圖并沒標(biāo)示出來,其實存儲設(shè)計治理的好壞直接影響系統(tǒng)性能,很重要的。Oracle8i內(nèi)置有文件治理系統(tǒng),所以是可以脫離操作系統(tǒng)安裝的。
  
  0.4 在近來很熱的vmware里就有專門的Oracle8i獨立安裝wizard可用,想感覺一下的話下個30天試用版,不用另找機器就可以玩了。
  
  說明:
  
  1、Oracle8i數(shù)據(jù)內(nèi)部除了含有關(guān)系數(shù)據(jù)庫治理系統(tǒng)、SQL引擎之外,還有一套對象關(guān)系數(shù)據(jù)庫引擎,及一套完整的JAVA環(huán)境。
  
  2、Oracle8i包含了與RDBMS并列的ORDBMS,同時內(nèi)置了CORBA ORB以便使用庫內(nèi)對象。ORB是很爽的,不過ORDBMS對類的動態(tài)治理目前還不夠靈活,究竟是新出的東西嘛,等等就好了。
  
  3、而內(nèi)置的JAVA虛擬機則為在數(shù)據(jù)庫內(nèi)部嵌入JAVA對象提供了可能,在JVM基礎(chǔ)上,Oracle8i提供了EJB容器,這個容器除治理EJB對象之外,更通過將JTS封裝在DB的事務(wù)之上等手段提高EJB性能。
  
  4、系統(tǒng)內(nèi)部還提供了內(nèi)部JDBC,這樣內(nèi)置的EJB對數(shù)據(jù)庫的訪問就可以完全在內(nèi)部完成,無須通過通過網(wǎng)絡(luò)系統(tǒng),速度很快。
  
  5、在Oracle8i中任何可以使用PL/SQL的地方都可以使用JAVA,并提供SQLJ支持。不過俺覺得用處不大,不知道哪位可以開導(dǎo)開導(dǎo)俺。
  
  6、Oracle的Caller Interface簡稱為OCI,這是訪問Oracle數(shù)據(jù)庫最基本的方法。
  
  7、Oracle OCI的命令和數(shù)據(jù)是通過NET8協(xié)議傳送的,NET8協(xié)議是可以在tcp/ip和namepiple協(xié)議上跑的,可能其它協(xié)議也可以,不過我機器上的net8偵聽器只偵聽tcp/ip,省事。
  
  8、不管是odbc/ado/jdbc2/bde,它們最后都要把數(shù)據(jù)庫訪問轉(zhuǎn)到OCI,再通過net8送給Oracle。
  
  9、Oracle的net8偵聽器將從特定端口得到的指令數(shù)據(jù)轉(zhuǎn)給SQL引擎,也會把SQL引擎返回的結(jié)果打包通過net8協(xié)議發(fā)回客戶。
  
  10、100% Java的Type IV型JDBC驅(qū)自己解釋OCI,并直接利用net8聯(lián)絡(luò)DBMS。
  
  11、Delphi的第三方控件DOA也能自己解釋OCI,并直接利用net8訪問DBMS,所以速度比什么odbc/ado/bde都要快得多(據(jù)先驅(qū)們講3~5倍吧)。同時也省掉了發(fā)布時安裝Oracle客戶端的苦力活。
  
  12、以上是俺自己根據(jù)手上的資料和理解總結(jié)的,不到之處在所難免,歡迎批評指正。
  
  結(jié)論:
  
  1、數(shù)據(jù)庫的經(jīng)典結(jié)構(gòu)是:文件/數(shù)據(jù)治理子系統(tǒng)<=>SQL引擎<=>偵聽器<=>DCI<=>高層數(shù)據(jù)庫訪問接口。
  
  2、簡而言之,最重要的是得建立一個鏈接才能訪問數(shù)據(jù)庫,應(yīng)用程序的指令數(shù)據(jù)通過鏈接傳給數(shù)據(jù)庫,數(shù)據(jù)庫內(nèi)部處理結(jié)果也通過這個鏈接返回給應(yīng)用程序。
  
  3、好的數(shù)據(jù)庫對各種開發(fā)應(yīng)用環(huán)境都會提供良好的支持,最基本的是ODBC,好象沒有不支持的;其次是超新星JDBC,人氣也是極旺,不過出生在MS世家的SQL Server7為維護DNA的純正沒有供給,好在還有jdbc-odbc橋可用,Type IV的也還有weblogical之類的第三方產(chǎn)品;ado/ole_db是windows世界的未來標(biāo)準(zhǔn),不過在unix世界里就很難講了,幸好MS早有防御,搞了一個ole_db PRovider for odbc,只要有odbc驅(qū)動照樣用;BDE雖然是所謂的標(biāo)準(zhǔn),但32K blob限制之類的麻煩甚多,另外SQL Link好象得靠borland自家打造,個人以為最好只用它做做桌面型的應(yīng)用。
  
  4、在Delphi里做oracle應(yīng)用還是用DOA爽。
  
  5、基于Oracle做企業(yè)級應(yīng)用時,Server端用Java簡直是爽歪了!
  
  備注:
  
  1、JAVA函數(shù)申明過程:
  
  定義,在SQL*Plus中:
  
  Create or Replace Function FormatDate(InDate in Date)
  Return Varchar Is Language JAVA Name
  'com.oracle.y2k.FormatDate (String) return java.lang.String';
  
  裝入代碼,在命令行下:
  
  loadjava system/manager y2k.class
  據(jù)說這一過程除了登錄模塊信息外,還會由JVM分析模塊,再將JVM輸出轉(zhuǎn)換成C代碼,用宿主機上的本地編譯器編譯鏈接成一個DLL,供ORACLE運行時訪問。

  
  卸載申明與代碼:
  
  sqlplus>drop function FormatDate;
  c:/>dropjava ..

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 治多县| 思南县| 宣威市| 承德县| 扶风县| 四平市| 仁怀市| 乌拉特中旗| 临西县| 巴彦淖尔市| 华池县| 湛江市| 珲春市| 达日县| 藁城市| 四子王旗| 利辛县| 宁波市| 禹州市| 和田县| 惠来县| 会同县| 北京市| 屏山县| 将乐县| 日土县| 兰考县| 仁布县| 聂荣县| 井陉县| 汾西县| 信丰县| 遂宁市| 高台县| 察哈| 汝南县| 佛教| 新干县| 永城市| 广宗县| 正定县|