軟件工程碩士畢業(yè)論文《數(shù)據(jù)庫管理操作臺的研究與實現(xiàn)》_第1頁
軟件工程碩士畢業(yè)論文《數(shù)據(jù)庫管理操作臺的研究與實現(xiàn)》_第2頁
軟件工程碩士畢業(yè)論文《數(shù)據(jù)庫管理操作臺的研究與實現(xiàn)》_第3頁
軟件工程碩士畢業(yè)論文《數(shù)據(jù)庫管理操作臺的研究與實現(xiàn)》_第4頁
軟件工程碩士畢業(yè)論文《數(shù)據(jù)庫管理操作臺的研究與實現(xiàn)》_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、專業(yè)碩士學位論文一種數(shù)據(jù)庫管理操作臺的研究與實現(xiàn)作者姓名 學科專業(yè) 指導教師 培養(yǎng)院系 Research and Implementation ofA Kind of Database Management ConsoleA Dissertation Submitted for the Degree of MasterCandidate:Supervisor:Associate Prof. Chen Mengdong碩 士 學 位 論 文一種數(shù)據(jù)庫管理操作臺的研究與實現(xiàn)作者姓名 申請學位級別 軟件工程碩士指導教師姓名 職 稱 學科專業(yè) 軟件工程 研究方向 信息平安學習時間自 起至 論文提交日期

2、 論文辯論日期 學位授予單位 學位授予日期 年 月 日關于學位論文的獨創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在指導教師指導下獨立進行研究工作所取得的成果,論文中有關資料和數(shù)據(jù)是實事求是的。盡我所知,除文中已經(jīng)加以標注和致謝外,本論文不包含其他人已經(jīng)發(fā)表或撰寫的研究成果,也不包含本人或他人為獲得北京航空航天大學或其它教育機構(gòu)的學位或?qū)W歷證書而使用過的材料。與我一同工作的同志對研究所做的任何奉獻均已在論文中作出了明確的說明。假設有不實之處,本人愿意承當相關法律責任。學位論文作者簽名: 日期: 年 月 日學位論文使用授權(quán)書本人完全同意有權(quán)使用本學位論文包括但不限于其印刷版和電子版,使用方式包括但不

3、限于:保存學位論文,按規(guī)定向國家有關部門機構(gòu)送交學位論文,以學術(shù)交流為目的贈送和交換學位論文,允許學位論文被查閱、借閱和復印,將學位論文的全部或局部內(nèi)容編入有關數(shù)據(jù)庫進行檢索,采用影印、縮印或其他復制手段保存學位論文。保密學位論文在解密后的使用授權(quán)同上。學位論文作者簽名: 日期: 年 月 日指導教師簽名: 日期: 年 月 日摘 要數(shù)據(jù)庫管理工具是數(shù)據(jù)庫用戶管理和維護數(shù)據(jù)庫的主要途徑。隨著我國信息化建設的深入,企業(yè)應用的數(shù)量和范圍不斷擴大,企業(yè)應用環(huán)境也越來越復雜。由于企業(yè)不同業(yè)務應用系統(tǒng)的建設時期不同,需求不同,可能使用了不同的數(shù)據(jù)庫產(chǎn)品,增大了對數(shù)據(jù)庫進行管理的難度。基于這種狀況,人們開始研

4、究和設計能夠支持多種關系數(shù)據(jù)庫的數(shù)據(jù)庫管理工具,以降低管理的復雜性。本論文研究和設計了一種數(shù)據(jù)庫管理操作臺,它能夠支持多種主流關系數(shù)據(jù)庫,方便企業(yè)用戶對數(shù)據(jù)庫進行管理。論文主要進行了以下方面的工作:(1) 設計了一套描述數(shù)據(jù)庫對象、對象間關系以及對象操作的數(shù)據(jù)庫表示方法,從而實現(xiàn)對不同數(shù)據(jù)庫的支持,提供對數(shù)據(jù)庫對象信息的統(tǒng)一展示和操作方式,并且便于擴充以支持更多特征。數(shù)據(jù)庫管理操作臺按照該方法定義的數(shù)據(jù)庫概要信息來表現(xiàn)和處理數(shù)據(jù)庫對象,實現(xiàn)管理功能。(2) 采用B/S模式、RIA架構(gòu)和Ajax技術(shù)進行系統(tǒng)設計,通過瀏覽器提供了一種類似桌面應用程序的用戶交戶界面。在提供便捷性的同時,增強了基于瀏

5、覽器的數(shù)據(jù)庫管理工具的交互性。(3) 將數(shù)據(jù)庫管理操作臺作為統(tǒng)一數(shù)據(jù)庫平安增強系統(tǒng)的重要組成模塊,進行集成。為該系統(tǒng)提供了數(shù)據(jù)庫管理功能,并且使數(shù)據(jù)庫管理操作臺通過該系統(tǒng)提供的數(shù)據(jù)庫平安保障機制及身份鑒別和訪問控制等手段實現(xiàn)了平安性,從而也完善了統(tǒng)一數(shù)據(jù)庫平安增強系統(tǒng)的平安體系。關鍵詞:數(shù)據(jù)庫,管理工具,元數(shù)據(jù),富互聯(lián)網(wǎng)應用,XML,SQLAbstractThe database management tool is the major way to manage and maintain databases. In China, along with the movement of info

6、rmationization, the quantity and range of enterprise applications can not be stopped extending. And enterprise application circumstances have become more complicated. Because of the varieties of development period or requirements of the business systems, different databases would have been chosen. T

7、his brings great troubles in management of them. So someone has started to work on the database management tool which can support multiple relational databases to cut the complexity.The primary contribution of this thesis is designing a database management console which is able to support kinds of m

8、aster relational database and make enterprise users manage databases more easily.Pieces of work listed below are involved in this thesis:(1) A database description method is designed to represent database objects, object relationships and object operations. So it is able to implement compatibility a

9、mong different databases, display objects information coincidently and have the character of better functional extension. The console shows and operates the database objects according to the database profile document which is made using this method.(2) B/S and RIA architecture and Ajax technique are

10、 used in system design to provide a kind of user-friendly interface which is similar to the tabletop application by browser. It not only brings convenience, but enhances the interactivity of the database management tool based on browser.(3) The database management console is integrated with Unified

11、Database Security Enhancement System as an indispensable part of the latter. The console supplies the system with the functionality of database management and gains extra security characters from the security mechanism and the techniques of identity authentication and access control of the system. S

12、o the console assures the integrity of the systems security architecture.Key Words: Database, Management Tool, Metadata, RIA, XML, SQL目 錄第一章緒論1引言1數(shù)據(jù)庫管理工具應用現(xiàn)狀1研究背景和意義4研究目標及內(nèi)容5論文組織結(jié)構(gòu)6第二章數(shù)據(jù)庫管理工具相關理論9數(shù)據(jù)庫用戶類型9數(shù)據(jù)庫管理工具分類102.3關系數(shù)據(jù)庫11結(jié)構(gòu)化查詢語言12SQL-99標準13SQL標準的兼容性14SQL執(zhí)行方式15SQLJ17本章小結(jié)17第三章跨數(shù)據(jù)庫管理工具分析19跨數(shù)據(jù)庫管理工具的

13、復雜性19跨數(shù)據(jù)庫管理工具的功能特征20數(shù)據(jù)庫元數(shù)據(jù)信息獲取21直接獲取方式22間接獲取方式25通用數(shù)據(jù)庫連接標準JDBC27對B/S和C/S模式的支持28與SQL的兼容性29XML技術(shù)29XML解析30XPath31Web應用技術(shù)32RIA技術(shù)33RIA技術(shù)的優(yōu)勢34RIA客戶端技術(shù)35本章小結(jié)36第四章數(shù)據(jù)庫管理操作臺的設計37引言37跨數(shù)據(jù)庫平臺37管理功能擴展37用戶接口一致38跨操作系統(tǒng)平臺38方便使用及應用集成38總體設計方案40數(shù)據(jù)庫支持擴展40系統(tǒng)架構(gòu)41系統(tǒng)功能42系統(tǒng)模塊43數(shù)據(jù)庫概要信息44結(jié)構(gòu)定義44加載與處理機制51用戶接口設計53與其他企業(yè)應用系統(tǒng)的接口設計55本章

14、小結(jié)56第五章數(shù)據(jù)庫管理操作臺的實現(xiàn)57數(shù)據(jù)庫概要信息加載57數(shù)據(jù)庫對象樹生成63數(shù)據(jù)庫對象信息顯示及執(zhí)行相關操作67SQL腳本處理71本章小結(jié)73第六章數(shù)據(jù)庫管理操作臺應用實例與分析75DBMC應用實例75統(tǒng)一數(shù)據(jù)庫平安增強系統(tǒng)簡介75DBMC與UDS的集成78DBMC技術(shù)特點81DBMC與其他工具的比擬81與B/S結(jié)構(gòu)數(shù)據(jù)庫管理工具的比照82與跨數(shù)據(jù)庫管理工具的比照82本章小結(jié)83結(jié) 論85參考文獻87攻讀碩士學位期間取得的學術(shù)成果89致 謝90圖 清 單圖1 數(shù)據(jù)庫管理操作臺應用示意圖5圖2 嵌入式SQL處理方式16圖3 CLI方式處理過程17圖4 SQL-99標準數(shù)據(jù)庫對象20圖5 R

15、IA應用程序模型圖34圖6 DBMC多數(shù)據(jù)庫支持實現(xiàn)方案41圖7 DBMC與傳統(tǒng)數(shù)據(jù)庫管理工具架構(gòu)比照41圖8 DBMC主要功能項42圖9 DBMC系統(tǒng)組件圖43圖10 Oracle與SQL Server 2005數(shù)據(jù)庫對象樹例如46圖11 數(shù)據(jù)庫概要信息XML的DTD文件主要內(nèi)容49圖12 數(shù)據(jù)庫概要信息加載及處理活動圖52圖13 DBMC數(shù)據(jù)庫對象查看操作界面示意圖54圖14 DBMC SQL執(zhí)行器示意圖54圖15 DBMC與其他應用集成場景55圖16 Operation元素數(shù)據(jù)結(jié)構(gòu)57圖17 GroupNode元素數(shù)據(jù)結(jié)構(gòu)58圖18 DataNode元素數(shù)據(jù)結(jié)構(gòu)59圖19 ObjectV

16、iew元素數(shù)據(jù)結(jié)構(gòu)59圖20 DataView元素數(shù)據(jù)結(jié)構(gòu)60圖21 ActionGroup元素數(shù)據(jù)結(jié)構(gòu)60圖22 Action元素數(shù)據(jù)結(jié)構(gòu)61圖23 Input元素不同類型的數(shù)據(jù)結(jié)構(gòu)62圖24 加載數(shù)據(jù)庫概要信息的DBProfileLoader類63圖25 Oracle數(shù)據(jù)庫對象樹定義例如65圖26 數(shù)據(jù)庫對象樹展開和選中事件處理66圖27 DBMC數(shù)據(jù)庫對象樹實例67圖28 數(shù)據(jù)庫對象信息視圖創(chuàng)立活動圖68圖29 數(shù)據(jù)庫表信息視圖實例69圖30 數(shù)據(jù)庫用戶信息視圖實例69圖31 數(shù)據(jù)庫會話信息視圖實例70圖32 數(shù)據(jù)庫對象操作視圖創(chuàng)立活動圖70圖33 DBMC數(shù)據(jù)庫對象操作視圖實例71圖3

17、4 SQL腳本處理活動圖72圖35 DBMC SQL腳本執(zhí)行器73圖36 UDS系統(tǒng)應用示意圖76圖37 UDS系統(tǒng)應用架構(gòu)77圖38 UDS系統(tǒng)功能結(jié)構(gòu)圖78圖39 DBMC與UDS集成應用環(huán)境79圖40 DBMC與UDS集成后的用戶訪問方式79圖41 UDS的DBMC應用設計80表 清 單表1 Oracle完全支持的核心SQL-99特征列表14表2 MS SQL Server常用信息架構(gòu)視圖22表3 Oracle數(shù)據(jù)字典視圖集合23表4 MS SQL Server 2005兼容性系統(tǒng)視圖24表5 MS SQL Server 2000系統(tǒng)表與2005系統(tǒng)視圖映射關系25表6 MS SQL S

18、erver與元數(shù)據(jù)相關的系統(tǒng)函數(shù)例如26表7 MS SQL Server與元數(shù)據(jù)相關的常用存儲過程26表8 DBMC與其他應用接口信息定義56第1章 緒論1.1 引言隨著信息化程度的不斷提高,許多單位為了提高自身的工作效率,方便與合作伙伴的協(xié)作與信息共享,以及為客戶提供更加便捷的信息和效勞,已經(jīng)建設了一系列企業(yè)應用系統(tǒng)。這些系統(tǒng)的一大特點就是數(shù)據(jù)量較大且涉及眾多關鍵業(yè)務信息和內(nèi)部信息。它們是以企業(yè)的重要數(shù)據(jù)資源為根底,進行分析、分類、加工和處理,并以不同的方式展現(xiàn)給不同用戶所需的信息,從而滿足企業(yè)日常業(yè)務的需要。在現(xiàn)階段,數(shù)據(jù)庫系統(tǒng)已經(jīng)成為各個行業(yè)領域不可或缺的根底設施,人們對數(shù)據(jù)庫系統(tǒng)的依賴

19、與日俱增,并不斷為其新業(yè)務提出新的系統(tǒng)需求。為實現(xiàn)這些新需求而設計和開發(fā)的新的業(yè)務系統(tǒng)局部構(gòu)建在不同數(shù)據(jù)庫存儲的數(shù)據(jù)之上,并且更深入地使用了數(shù)據(jù)庫的高級功能以充分發(fā)揮其強大性能。所以,使用單位也越來越需要有專門的數(shù)據(jù)庫管理人員來對其數(shù)據(jù)庫進行日常管理和維護,以保證各個業(yè)務系統(tǒng)正常、高效地運行。這些用戶都迫切需要一種有效途徑以使他們能夠更加直觀、方便和快捷地訪問和使用數(shù)據(jù)庫。而數(shù)據(jù)庫管理工具正是為此目的而設計和開發(fā)的一套專用軟件工具,架起了連接用戶與數(shù)據(jù)庫之間快速溝通的橋梁。1.2 數(shù)據(jù)庫管理工具應用現(xiàn)狀數(shù)據(jù)庫管理系統(tǒng)Database Management System,簡稱DBMS,它是由數(shù)據(jù)

20、庫廠商提供的一種數(shù)據(jù)管理軟件,能夠?qū)崿F(xiàn)數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫運行管理以及數(shù)據(jù)庫建立和維護10四大主要功能。人們?nèi)粘V苯邮褂玫木褪菙?shù)據(jù)庫管理系統(tǒng),因此它必須提供相關工具幫助用戶建立、訪問、管理和維護數(shù)據(jù)信息。一般地,數(shù)據(jù)庫廠商向用戶提供了一整套工具,以便于他們訪問數(shù)據(jù)信息,獲取數(shù)據(jù)庫及各局部的狀態(tài),進行數(shù)據(jù)庫管理和維護。這些工具一般提供有命令行和圖形界面兩種操作方式。命令行方式是一種根底的操作方式,也是數(shù)據(jù)庫管理系統(tǒng)提供的標準方式,更適合于高級用戶使用;而圖形界面方式更加直觀,也更易于使用,在主流數(shù)據(jù)庫管理系統(tǒng)中被廣泛采用,簡化了用戶的操作。通過這兩種方式,數(shù)據(jù)庫管理工具可以適應不同用戶的需

21、要,幫助用戶進行管理維護工作。Oracle®公司為其數(shù)據(jù)庫產(chǎn)品開發(fā)了專用管理工具Oracle Enterprise Manager,它由Oracle的系統(tǒng)管理控制臺、公共效勞和集成的平臺圖形工具組成3。Oracle Enterprise Manager提供了一整套標準數(shù)據(jù)庫管理應用程序,用來使管理員的公共日常任務變得自動化且簡單化。這些輔助應用程序著眼于數(shù)據(jù)庫管理這一專門領域,幫助管理員完成管理數(shù)據(jù)庫及相關效勞的日常例行任務,并保持這些任務的可操作性。Microsoft® SQL Server Management Studio是為SQL Server 2005數(shù)據(jù)庫管理員

22、和開發(fā)人員提供的新工具。此工具由Microsoft Visual Studio內(nèi)部承載,它提供了用于數(shù)據(jù)庫管理的圖形工具和功能豐富的開發(fā)環(huán)境。Management Studio將SQL Server 2000企業(yè)管理器、Analysis Manager和SQL查詢分析器的功能集于一身,還可用于編寫MDX、XMLA和XML語句。MySQL® Administrator是MySQL數(shù)據(jù)庫提供的功能強大的可視化管理控制臺,能夠使管理員容易地管理MySQL環(huán)境,并對數(shù)據(jù)庫的運作機制有更為清晰的了解。它現(xiàn)在集成了數(shù)據(jù)庫管理和維護功能于單一無縫的環(huán)境,并具有清晰和直觀的圖形用戶界面。另外,MyS

23、QL數(shù)據(jù)庫還提供了可視化工具MySQL Query Brower,用來創(chuàng)立、執(zhí)行和優(yōu)化SQL查詢語句。Quest® Toad® for Oracle是一套基于Windows的專業(yè)Oracle數(shù)據(jù)庫管理和PL/SQL開發(fā)工具。它透過圖形式的操作接口,提高程序開發(fā)人員和數(shù)據(jù)庫管理員的工作效率。Toad先進的編輯器能讓使用者同時編輯多個檔案,甚至是不同類型的檔案,包括SQL、PL/SQL、HTML、Java及Text。而快捷鍵、自動修正、程序代碼模板及其他眾多編輯效率提升功能,大幅提升了程序開發(fā)人員的開發(fā)速度。另外,通過整合性Result Set、Explain Plan、Tra

24、cing和DBMS_OUTPUT的運用,有效簡化了修改與測試的流程。SQL-Front原名MySQL-Front是用于管理MySQL數(shù)據(jù)庫的圖形前端,它與MySQL數(shù)據(jù)庫具有高度的兼容性,使得執(zhí)行如創(chuàng)立和改變數(shù)據(jù)結(jié)構(gòu)、查看和創(chuàng)立數(shù)據(jù)以及直接執(zhí)行SQL命令等所有重要的管理任務變得容易。Embarcadero®公司開發(fā)的DBArtisan®是市場上具有代表性的跨數(shù)據(jù)庫平臺的數(shù)據(jù)庫管理工具,用來幫助DBA最大化他們負責的數(shù)據(jù)庫系統(tǒng)的可用性、性能與平安性7。其全面的圖形管理工具和向?qū)ㄟ^減少錯誤以及允許當前的管理員管理更多的數(shù)據(jù)庫從而顯著提高了生產(chǎn)力。DBArtisan具有高級的空

25、間、產(chǎn)量和性能管理能力,DBA們能夠容易地檢測到存儲相關的系統(tǒng)瓶頸,不斷追蹤存儲和增長,并查明性能問題。DBArtisan一致并統(tǒng)一地支持所有主流數(shù)據(jù)庫平臺,包括IBM® DB2® for LUW、IBM DB2 for z/OS®及OS/390、Microsoft SQL Server、Oracle和Sybase®,允許單位針對數(shù)據(jù)庫管理制定一套標準解決方案。DbVisualizer是一個用于協(xié)助開發(fā)人員和DBA開發(fā)和維護數(shù)據(jù)庫的功能豐富且直觀的多數(shù)據(jù)庫工具,提供了單一且功能強大的跨多操作系統(tǒng)的接口。由于其簡單易用且界面簡潔,DbVisualizer被

26、認為是現(xiàn)有最具本錢效益的數(shù)據(jù)庫工具之一,被Mimer Information Technology指定為其Mimer SQL的標準數(shù)據(jù)庫工具,并已經(jīng)被包括在BEA公司的WebLogic® Workshop產(chǎn)品之中5。由于它能夠運行于所有主流操作系統(tǒng)之上,并且能夠支持現(xiàn)有所有主流關系數(shù)據(jù)庫管理系統(tǒng),用戶只需學習和掌握這一個數(shù)據(jù)庫工具即可。由上述介紹可以看出,數(shù)據(jù)庫管理系統(tǒng)提供的管理工具是專為自身設計開發(fā)的,提供了對其數(shù)據(jù)庫管理系統(tǒng)所有功能和效勞最快捷最穩(wěn)定的實現(xiàn)方式,即具有極強的針對性。也就是說,數(shù)據(jù)庫管理系統(tǒng)的原生管理工具能夠與其進行很好的配合,利用其提供的專用接口進行交互,也就能夠

27、從根本上為用戶提供數(shù)據(jù)庫所具有的強大功能。數(shù)據(jù)庫自帶管理工具一般來說是該數(shù)據(jù)庫的管理員進行數(shù)據(jù)庫管理工作的第一選擇,提供了對數(shù)據(jù)庫的全面支持。而一些軟件廠商也針對某種數(shù)據(jù)庫提供了自己的解決方案,在友好性和用戶體驗等方面進行了加強,以滿足用戶更多的要求。多數(shù)第三方數(shù)據(jù)庫管理工具是通過數(shù)據(jù)庫廠商提供的公共接口來實現(xiàn)相應功能的,無法使用數(shù)據(jù)庫內(nèi)部接口。因此,它們與數(shù)據(jù)庫自帶工具相比,很難完全支持數(shù)據(jù)庫實現(xiàn)的所有功能特征,或者對某些功能的支持還不夠理想。從第三方數(shù)據(jù)庫管理工具所支持的數(shù)據(jù)庫范圍來看,它們中有專門支持某一種數(shù)據(jù)庫產(chǎn)品的專用數(shù)據(jù)庫管理工具,也有同時支持假設干種數(shù)據(jù)庫產(chǎn)品的通用數(shù)據(jù)庫管理工具

28、。在專用數(shù)據(jù)庫管理工具中,商業(yè)軟件占據(jù)了主導地位,它們性能比擬突出,穩(wěn)定性強,并且提供了專門的客戶支持效勞。還有些開發(fā)商通過與數(shù)據(jù)庫廠商結(jié)成合作伙伴,從而獲得更多的專家和數(shù)據(jù)庫底層支持,開發(fā)出功能更加強大的產(chǎn)品,能夠更深入地對這種數(shù)據(jù)庫進行支持,充分發(fā)揮該數(shù)據(jù)庫的性能。典型的專用數(shù)據(jù)庫管理工具有上述Toad for Oracle以及Toad for DB2、Toad for SQL Server等系列產(chǎn)品和Allround Automations公司的PL/SQL Developer等。通用數(shù)據(jù)庫管理工具,如上述DBArtisan、DbVisualizer以及Seabird Software公

29、司的dbAnalyst、開源軟件ViennaSQL和Datastream Pro等,實現(xiàn)了對兩種以上數(shù)據(jù)庫產(chǎn)品的支持。但由于專注的方向和設計目標都與專用工具存在較大不同,這兩類數(shù)據(jù)庫工具在功能上各有千秋,適用于不同的場合,一般都對常用數(shù)據(jù)庫管理功能提供了良好的支持。此外,需要注意的是,開源數(shù)據(jù)庫管理工具,無論是專用還是通用工具,它們的功能參差不齊。但另一方面,由于用戶可以自由下載、使用和評估這些軟件的全部功能,并可向開發(fā)小組反響發(fā)現(xiàn)的問題,而那些對該工具具有濃厚興趣的用戶還可以參加到開發(fā)團隊中,與其他成員一起進行開發(fā)和維護,逐步推進和完善該軟件工具。因此,在一些比擬活潑的開源社區(qū),開發(fā)活動可能

30、會獲得機構(gòu)或個人的資助,這就在一定程度上保證了產(chǎn)品的功能和性能,同時加快了更新速度。1.3 研究背景和意義典型的數(shù)據(jù)庫管理工具都屬于專用工具,不能夠支持對多種數(shù)據(jù)庫的管理。但隨著數(shù)據(jù)庫市場的擴大和數(shù)據(jù)庫的普及,企業(yè)信息化建設的不斷深入以及企業(yè)間的合并和重組,企業(yè)當前正在或即將開發(fā)的企業(yè)級應用軟件可能會涉及到其不同部門的數(shù)據(jù),而這些部門可能在不同時期選用了不同數(shù)據(jù)庫廠商的產(chǎn)品。這種現(xiàn)象在我國也普遍存在。為了保障企業(yè)日常業(yè)務的正常運行,同時保護已有投資,企業(yè)根本不可能一次性統(tǒng)一所有的數(shù)據(jù)庫并更新運行在這些數(shù)據(jù)庫上的業(yè)務系統(tǒng)。在不同廠商的數(shù)據(jù)庫系統(tǒng)上維護統(tǒng)一的模式結(jié)構(gòu),或者將這些數(shù)據(jù)庫的數(shù)據(jù)信息遷移

31、到某個數(shù)據(jù)庫上,通常都需要極富經(jīng)驗的數(shù)據(jù)庫管理員進行大量、廣泛的手工干預,這對企業(yè)和數(shù)據(jù)庫管理員來說將是一件極具挑戰(zhàn)性的任務和沉重的負擔。如果能夠使用同時支持不同數(shù)據(jù)庫平臺的數(shù)據(jù)庫管理工具顯然能夠使企業(yè)和數(shù)據(jù)庫管理員從中獲益。而對于數(shù)據(jù)庫應用軟件開發(fā)人員來說,不同單位根據(jù)系統(tǒng)建設的需要選擇了不同的數(shù)據(jù)庫產(chǎn)品,因此很可能需要同時開發(fā)和維護基于不同數(shù)據(jù)庫產(chǎn)品的軟件系統(tǒng)。而擁有一套支持主流關系數(shù)據(jù)庫系統(tǒng)的管理工具,能夠幫助其進行相關數(shù)據(jù)庫的設計、維護和開發(fā),并盡量屏蔽產(chǎn)品的差異,簡化操作過程,從而保證工作高效、順利進行,將成為數(shù)據(jù)庫軟件開發(fā)人員理想的數(shù)據(jù)庫開發(fā)工具。另一方面,像Toad系列和DBAr

32、tisan等數(shù)據(jù)庫管理工具,它們是Windows應用程序,只能夠在Windows平臺運行,大大限制了使用的范圍。此外,目前面市的通用數(shù)據(jù)庫管理軟件均為C/S結(jié)構(gòu)的桌面應用程序,需要為每個用戶單獨進行安裝,管理維護麻煩。綜上所述,在我國進行通用數(shù)據(jù)庫管理工具的相關研究很有必要,符合市場需求,具有研究和應用價值。1.4 研究目標及內(nèi)容本論文的主要研究目標是設計一種數(shù)據(jù)庫管理操作臺,能夠?qū)Χ喾N關系數(shù)據(jù)庫產(chǎn)品進行統(tǒng)一管理,以適應復雜多變的企業(yè)應用環(huán)境。在為用戶提供管理和維護不同數(shù)據(jù)庫的一致途徑外,還具有外部接口,能夠與其他企業(yè)應用整合。該工具的應用環(huán)境如圖1所示:圖 數(shù)據(jù)庫管理操作臺應用示意圖圖1描繪

33、了在某一企業(yè)環(huán)境中,數(shù)據(jù)庫管理員和數(shù)據(jù)庫開發(fā)人員在不同系統(tǒng)平臺下使用數(shù)據(jù)庫管理操作臺同時訪問不同數(shù)據(jù)庫的應用情形。圖中粗實線箭頭兩端的對象主要通過網(wǎng)絡進行數(shù)據(jù)傳輸和交互。根據(jù)“易觀國際發(fā)布的?IT產(chǎn)品和效勞2007年第1季度中國數(shù)據(jù)庫軟件市場數(shù)據(jù)監(jiān)測?的數(shù)據(jù)顯示,Oracle、IBM、Microsoft和Sybase牢牢占據(jù)國內(nèi)數(shù)據(jù)庫軟件市場前四位,擁有93.8%的市場份額。因此,本論文的研究主要針對上述廠商的數(shù)據(jù)庫產(chǎn)品及常用開源數(shù)據(jù)庫MySQL,并進行設計和實現(xiàn)。數(shù)據(jù)庫管理操作臺提供一套符合主流關系數(shù)據(jù)庫特征要求的數(shù)據(jù)庫特征信息描述方法,并通過這種統(tǒng)一描述機制,結(jié)合數(shù)據(jù)庫SQL語言,完成對不

34、同數(shù)據(jù)庫特征信息的抽取、處理和顯示,以實現(xiàn)對這些數(shù)據(jù)庫的支持并能夠進行擴展。此外,數(shù)據(jù)庫管理操作臺還需要提供外部應用接口,可以與其它應用系統(tǒng)協(xié)作,滿足某些企業(yè)應用的特殊需求。論文具體的研究內(nèi)容包括:l 支持不同數(shù)據(jù)庫平臺的策略。即通過何種手段來保證對不同關系數(shù)據(jù)庫及同一數(shù)據(jù)庫不同版本的支持;l 數(shù)據(jù)庫元數(shù)據(jù)信息的提取方法。從各個數(shù)據(jù)庫中準確有效地獲取所需的數(shù)據(jù)庫對象信息,以進行進一步的處理;l 數(shù)據(jù)庫對象層次結(jié)構(gòu)的表示方法。明確數(shù)據(jù)庫模式對象之間的關系,并根據(jù)該信息動態(tài)獲取相應對象信息,以便用戶查看和操作;l 用戶交互方式。為數(shù)據(jù)庫管理員和開發(fā)人員提供訪問數(shù)據(jù)庫管理操作臺直觀、方便的方式,增強

35、交互性;l 開放系統(tǒng)架構(gòu)。構(gòu)建一種開放的系統(tǒng)架構(gòu),提供外部接口,以實現(xiàn)與其他企業(yè)系統(tǒng)的靈活集成與配合。1.5 論文組織結(jié)構(gòu)本論文后續(xù)各章結(jié)構(gòu)如下:第二章介紹了數(shù)據(jù)庫管理工具的相關概念、分類和標準等方面內(nèi)容,作為數(shù)據(jù)庫管理操作臺實現(xiàn)的根底。第三章對能夠支持不同數(shù)據(jù)庫的管理工具需要解決的問題及其功能特征進行闡述,同時將涉及的技術(shù)方法作了介紹和分析。第四章對數(shù)據(jù)庫管理操作臺進行了分析和設計。首先提出該系統(tǒng)的設計目標,并結(jié)合這些目標對系統(tǒng)總體結(jié)構(gòu)和重要的功能模塊進行了詳細的分析和設計,從而保證設計目標的實現(xiàn)。第五章介紹了數(shù)據(jù)庫管理操作臺的實現(xiàn)細節(jié)、操作流程和界面效果,說明了具體實現(xiàn)思路和方法。第六章主

36、要通過“統(tǒng)一數(shù)據(jù)庫平安增強系統(tǒng)的具體應用,說明了數(shù)據(jù)庫管理操作臺的實用價值和地位,也表達了開放性特征。同時,數(shù)據(jù)庫管理操作臺也從統(tǒng)一數(shù)據(jù)庫平安增強系統(tǒng)提供的平安機制上獲得了平安性保障。之后,將數(shù)據(jù)庫管理操作臺與具有相似性的數(shù)據(jù)庫管理工具進行了比擬,說明了優(yōu)勢和缺乏。結(jié)論局部詳細總結(jié)了本論文的研究工作,并針對存在的主要缺乏指出了改進的重點和今后的方向。第2章 數(shù)據(jù)庫管理工具相關理論數(shù)據(jù)庫管理工具是專門為數(shù)據(jù)庫用戶而設計的,它能夠方便數(shù)據(jù)庫用戶查詢數(shù)據(jù)庫狀態(tài),進行相關操作,從而完成維護或開發(fā)工作,提高數(shù)據(jù)庫的使用性能。因此,在研究數(shù)據(jù)庫管理工具的相關理論之前需要對數(shù)據(jù)庫用戶的類型及主要工作職責有明

37、確地了解,以掌握這些用戶的使用需求。2.1 數(shù)據(jù)庫用戶類型不同單位使用數(shù)據(jù)庫的用戶類型以及用戶的角色和職責可能差異很大。比方一個小的單位可能只具有一名數(shù)據(jù)庫管理員以及假設干與數(shù)據(jù)庫打交道的應用程序開發(fā)人員和用戶;而在一個規(guī)模巨大的單位,將一個數(shù)據(jù)庫管理員的職責劃分成不同的專門領域以讓假設干人來協(xié)同和分擔那么是非常有必要的。例如,可以將Oracle數(shù)據(jù)庫的用戶劃分為以下類型2:數(shù)據(jù)庫管理員、平安專員、網(wǎng)絡管理員、應用程序開發(fā)人員、應用程序管理員和數(shù)據(jù)庫用戶。數(shù)據(jù)庫管理員簡稱DBA,是每個數(shù)據(jù)庫必須具有的用戶,其職責可根據(jù)數(shù)據(jù)庫規(guī)模由一人或多人承當。DBA的主要職責包括:l 安裝、升級數(shù)據(jù)庫效勞器

38、和應用工具;l 為數(shù)據(jù)庫系統(tǒng)分配系統(tǒng)存儲并規(guī)劃將來的存儲需求;l 在開發(fā)人員設計好應用程序后為其創(chuàng)立主要的數(shù)據(jù)庫存儲結(jié)構(gòu)表空間;l 同時還要為應用程序創(chuàng)立主要的數(shù)據(jù)庫對象表、視圖、索引;l 在必要時,根據(jù)開發(fā)人員給出的信息,修改數(shù)據(jù)庫結(jié)構(gòu);l 添加用戶并維護系統(tǒng)平安;l 確保根據(jù)數(shù)據(jù)庫許可協(xié)議進行操作;l 監(jiān)控用戶對數(shù)據(jù)庫的訪問;l 跟蹤與優(yōu)化數(shù)據(jù)庫性能;l 制定備份和恢復數(shù)據(jù)庫信息的方案;l 維護備份到磁帶上的存檔數(shù)據(jù);l 備份和恢復數(shù)據(jù)庫;l 聯(lián)系數(shù)據(jù)庫提供商獲取技術(shù)支持。平安專員,在某些情況下用來負責添加用戶,監(jiān)控用戶的數(shù)據(jù)庫訪問以及維護系統(tǒng)平安。當專門指派平安專員時,DBA就可以不再負

39、責這些職責。網(wǎng)絡管理員,主要負責管理數(shù)據(jù)庫的網(wǎng)絡組件,特別是在分布式數(shù)據(jù)庫應用情況下。應用程序開發(fā)人員,主要負責設計和實現(xiàn)數(shù)據(jù)庫應用程序并與DBA協(xié)作完成。具體職責包括:l 設計和開發(fā)數(shù)據(jù)庫應用程序;l 設計應用程序的數(shù)據(jù)庫結(jié)構(gòu);l 估計應用程序的存儲需求;l 指定應用程序相關數(shù)據(jù)庫結(jié)構(gòu)的變更;l 提交以上信息給DBA;l 在開發(fā)期間調(diào)整應用程序;l 在開發(fā)期間制定應用程序的平安策略。應用程序管理員,負責管理特定的應用程序,每一個應用程序可以擁有一個管理員。數(shù)據(jù)庫用戶,通過應用程序和數(shù)據(jù)庫工具與數(shù)據(jù)庫進行交互。典型地,其職責包括以下兩個方面:l 在允許的位置輸入、修改和刪除數(shù)據(jù);l 從這些數(shù)據(jù)

40、中生成報表。根據(jù)涉及的數(shù)據(jù)庫對象不同,我們可以將數(shù)據(jù)庫相關用戶分為兩大類,一類是數(shù)據(jù)庫管理人員,另一類是應用數(shù)據(jù)操作人員。由上述不同類型用戶的職責可知,DBA、平安專員和網(wǎng)絡管理員顯然屬于數(shù)據(jù)庫管理人員,數(shù)據(jù)庫用戶那么屬于應用數(shù)據(jù)操作人員。對于應用程序開發(fā)人員來說,雖然理論上他們不直接與數(shù)據(jù)庫交互,而是通過DBA或應用程序管理員來實現(xiàn)對應用程序數(shù)據(jù)庫結(jié)構(gòu)的設計與修改等相關操作,因此也屬于數(shù)據(jù)庫管理人員范疇。剩下的應用程序管理員,由于他根據(jù)實際需要可能會對應用程序相關數(shù)據(jù)進行操作,因此可以看作具有雙重身份。兩類數(shù)據(jù)庫用戶職責不同,操作的數(shù)據(jù)庫對象不同,便于進行分工。企業(yè)可以根據(jù)自己的實際需要對這

41、兩類用戶分別進行約束和管理,并合理安排協(xié)調(diào)他們之間的工作,保證數(shù)據(jù)庫及相關應用的正常運行。2.2 數(shù)據(jù)庫管理工具分類從傳統(tǒng)意義上講,數(shù)據(jù)庫管理工具是特定于某一種數(shù)據(jù)庫產(chǎn)品的,甚至于同一種數(shù)據(jù)庫的不同版本之間數(shù)據(jù)庫管理工具也可能不能夠通用??梢哉f傳統(tǒng)的數(shù)據(jù)庫管理工具缺乏對不同數(shù)據(jù)庫的管理能力,他們大多是數(shù)據(jù)庫提供商針對自己的數(shù)據(jù)庫產(chǎn)品來設計開發(fā)的。因此,管理那些涉及不同數(shù)據(jù)庫產(chǎn)品的應用將是一項極具挑戰(zhàn)性的任務。例如在不同數(shù)據(jù)庫之間維護相同的模式結(jié)構(gòu),或者在不同數(shù)據(jù)庫之間進行數(shù)據(jù)遷移,這通常都需要有經(jīng)驗的DBA大量的手工干預來完成。顯然這種處理方式代價高昂,而一種能夠同時支持多種數(shù)據(jù)庫產(chǎn)品的數(shù)據(jù)庫

42、管理工具將能有效地降低這種代價,使得用戶能夠從中獲益。目前,根據(jù)開發(fā)者的目的和支持數(shù)據(jù)庫的種類,我們可以將數(shù)據(jù)庫管理工具劃分為專用數(shù)據(jù)庫工具和通用數(shù)據(jù)庫工具;按照開發(fā)者的身份,可以劃分為數(shù)據(jù)庫原廠工具和第三方數(shù)據(jù)庫工具;按照軟件運作模式,那么可以劃分為商業(yè)數(shù)據(jù)庫工具和開源數(shù)據(jù)庫工具;按照軟件技術(shù)平臺,還可以分為平臺特定數(shù)據(jù)庫工具和平臺無關數(shù)據(jù)庫工具從不同的評價標準出發(fā),我們還可以做出更多的劃分,但現(xiàn)有數(shù)據(jù)庫管理工具總會屬于某一種劃分中的某一類。上述沒有一種劃分能夠完全說明數(shù)據(jù)庫管理工具的特點,因此在選擇、評價一款數(shù)據(jù)庫管理工具時,需要依據(jù)其設計目標、適用人群及功能特點等指標,從自己的實際需要出

43、發(fā),更好地利用工具自身的優(yōu)勢完成相關工作。2.3 關系數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)從誕生到現(xiàn)在,在近半個世紀的時間里,形成了堅實的理論根底、成熟的商業(yè)產(chǎn)品和廣泛的應用領域,吸引越來越多的研究者參加。50年間數(shù)據(jù)庫領域獲得了三次計算機圖靈獎C.W.Bachman、E.F.Codd及J.N.Gray,更加充分地說明了數(shù)據(jù)庫是一個充滿活力和創(chuàng)新精神的領域。通常按照數(shù)據(jù)模型的特點將傳統(tǒng)數(shù)據(jù)庫系統(tǒng)分成層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關系數(shù)據(jù)庫三類。層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫首先被開發(fā)出來,它們很好地解決了數(shù)據(jù)的集中和共享問題,但是在數(shù)據(jù)獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種數(shù)據(jù)庫進行存取時,仍然需要明確數(shù)據(jù)的存儲結(jié)構(gòu),

44、指出存取路徑。而后來出現(xiàn)的關系數(shù)據(jù)庫較好地解決了這些問題。1970年,IBM的研究員E.F.Codd博士在刊物?Communication of the ACM?上發(fā)表了一篇名為“A Relational Model of Data for Large Shared Data Banks的論文,提出了關系模型的概念,奠定了關系模型的理論根底。這篇論文被普遍認為是數(shù)據(jù)庫系統(tǒng)歷史上具有劃時代意義的里程碑。后來Codd又陸續(xù)發(fā)表多篇文章,論述了范式理論和衡量關系系統(tǒng)的12條標準10,用數(shù)學理論奠定了關系數(shù)據(jù)庫的根底。關系模型有嚴格的數(shù)學根底,抽象級別比擬高,而且簡單清晰,便于理解和使用。但是當時也有

45、人認為關系模型是理想化的數(shù)據(jù)模型,用來實現(xiàn)DBMS是不現(xiàn)實的,尤其擔憂關系數(shù)據(jù)庫的性能難以接受,更有人視其為當時正在進行中的網(wǎng)狀數(shù)據(jù)庫標準化工作的嚴重威脅。為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關系數(shù)據(jù)庫兩派之間的辯論。這次著名的辯論推動了關系數(shù)據(jù)庫的開展,使其最終成為現(xiàn)代數(shù)據(jù)庫產(chǎn)品的主流。關系型數(shù)據(jù)庫系統(tǒng)以關系代數(shù)為堅實的理論根底,經(jīng)過幾十年的開展和實際應用,技術(shù)越來越成熟和完善。涌現(xiàn)了許多性能良好的商品化關系數(shù)據(jù)庫管理系統(tǒng)簡稱RDBMS,如著名的Oracle、DB2、Sybase以及MS SQL Server

46、等。2.4 結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言Structured Query Language,簡稱SQL的概念最早是由Boyce和Chamberlin于1974年提出。之后,IBM公司的San Jose實驗室在其關系數(shù)據(jù)庫管理系統(tǒng)System R上實現(xiàn)了SQL,當時稱其為SEQUELStructured English Query Language,之后就演變?yōu)镾QL發(fā)音仍為“sequel。1979年,Relational Software即當今的Oracle公司引入了第一個SQL的商用實現(xiàn)。由于SQL語言結(jié)構(gòu)簡捷、功能豐富,得到了廣泛應用,經(jīng)過不斷修改、擴充和完善,最終開展成為關系數(shù)據(jù)庫的標準

47、語言。1986年10月,美國國家標準局簡稱ANSI采用SQL作為關系數(shù)據(jù)庫語言的美國標準,1987年國際標準化組織簡稱ISO也采納了這一標準。此后,經(jīng)過ANSI和ISO不斷修改和完善,SQL標準經(jīng)歷了SQL-89、SQL-92、SQL-99直到現(xiàn)在的SQL-200n11。ANSI和ISO在制定數(shù)據(jù)庫SQL標準方面具有明確的目的,即在增強不同產(chǎn)品SQL應用之間的可移植性的同時,標準數(shù)據(jù)庫產(chǎn)品,增強和穩(wěn)固數(shù)據(jù)庫市場。SQL強大的功能使所有數(shù)據(jù)庫用戶受益,從技術(shù)上講,SQL是一種數(shù)據(jù)子語言4。它的目的就是為關系數(shù)據(jù)庫提供一個接口,所有的SQL語句就是這些數(shù)據(jù)庫的指令,從這點上說,SQL與通用的編程語

48、言不同。SQL的特點如下:l SQL將以組為單位處理數(shù)據(jù)集,而不是作為獨立的單位;l SQL提供了對數(shù)據(jù)的自動導航;l SQL分別使用復雜但功能強大的各種語句,因此是獨立的。本質(zhì)上,SQL使你能夠在邏輯層次上與數(shù)據(jù)打交道。比方,當你想要查詢數(shù)據(jù)的時候,你只需要考慮執(zhí)行的細節(jié)即可,而不需要關心這些數(shù)據(jù)物理上是如何存儲或被檢索的。SQL提供了不同的語句用以處理不同的任務,這些任務包括:l 查詢數(shù)據(jù);l 在表中插入、修改和刪除某些行記錄;l 創(chuàng)立、更新、修改和刪除數(shù)據(jù)對象;l 控制對數(shù)據(jù)庫及其數(shù)據(jù)對象的訪問;l 保證數(shù)據(jù)庫的一致性和完整性。SQL用一種一致的語言統(tǒng)一了上述所有任務。當前,所有主流關系

49、數(shù)據(jù)庫管理系統(tǒng)都支持SQL,也都申明了對SQL標準的兼容性程度。因此,可以將在一個數(shù)據(jù)庫獲取的SQL相關技巧方便地應用于其他數(shù)據(jù)庫上。此外,使用SQL寫成的所有程序是兼容的,通常只需要很少的改動就可以從一個數(shù)據(jù)庫遷移到另一個數(shù)據(jù)庫上。應用程序和數(shù)據(jù)庫工具允許數(shù)據(jù)庫用戶訪問數(shù)據(jù)庫而無須直接使用SQL,但這些應用在執(zhí)行用戶的請求時那么必須使用SQL。所以,SQL是使用關系數(shù)據(jù)庫的根底,也是數(shù)據(jù)庫管理工具的應用根底。2.4.1 SQL-99標準目前,大多數(shù)主流數(shù)據(jù)庫廠商的產(chǎn)品都能夠支持到SQL-99又稱SQL3標準。因此,接下來本文對SQL-99標準進行一些簡單介紹。從SQL-99開始,SQL標準被

50、分為了多個局部,分別對不同局部進行闡述,以加強SQL語言的完備性和正交性。按照組織結(jié)構(gòu)和功能模塊,ANSI/ISO/IEC 9075:1999一共包括5個局部8,14,15,16,17:l 第一局部:框架SQL/Framework,包括對整個標準的概述和一致性條款;l 第二局部:根底SQL/Foundation,包括了各種根本要素:類型、模式、表、視圖、查詢及更新語句、表達式、平安模型、謂詞、分配規(guī)那么、事務管理等等;l 第三局部:調(diào)用級接口SQL/CLI,使得沒有對SQL語句進行預處理的必要;l 第四局部:持久存儲模塊SQL/PSM),對SQL的擴展以使其過程化;l 第五局部:主機語言綁定S

51、QL/Bindings),對動態(tài)、嵌入和直接SQL的調(diào)用。其中SQL-99的強制局部,也就是通常所說的核心SQL-99,位于第二局部和第五局部。2.4.2 SQL標準的兼容性由上文可知,SQL-99只有局部內(nèi)容屬于強制標準,它還包括了許多非強制內(nèi)容及一些可選局部,劃分了不同的一致性級別,并且允許數(shù)據(jù)庫廠商對SQL標準進行擴展。許多關系數(shù)據(jù)庫廠商為了提供一些高級操作或某些簡化方式,增加了語句或指令。但由于種種原因,這些擴展過的SQL對SQL標準本身的支持程度不同且有限,一般只能兼容入門級的一致性標準。因此,很少有兩個以上的數(shù)據(jù)庫提供商支持同一種擴展。以下將以Oracle為例說明當前主流數(shù)據(jù)庫與S

52、QL-99標準的兼容性情況。表1 Oracle完全支持的核心SQL-99特征列表特征ID特征E011Numeric data typesE031IdentifiersE061Basic predicates and search conditionsE081Basic privilegesE091Set functionsE101Basic data manipulationE111Single row SELECT statementE131Null value support (nulls in lieu of values)E141Basic integrity constraintsE

53、151Transaction supportE152Basic SET TRANSACTION statementE153Updatable queries with subqueriesE161SQL comments using leading double minusE171SQLSTATE supportF041Basic joined tableF051Basic date and timeF081UNION and EXCEPT in viewsF131Grouped operationsF181Multiple module supportF201CAST functionF22

54、1Explicit defaults表1 Oracle完全支持的核心SQL-99特征列表續(xù)特征ID特征F261CASE expressionsF311Schema definition statementF471Scalar subquery valuesF481Expanded NULL predicateB011Embedded AdaB012Embedded CB013Embedded COBOLOracle 9i數(shù)據(jù)庫管理系統(tǒng)的以下產(chǎn)品提供了表1所示的與SQL-99標準完全兼容的特征:l Oracle9i database serverl Pro*C/C+, release l Pro

55、*COBOL, release ll SQL Module for Ada (Mod*Ada), release ll Pro*PL/I, release l OTT, release l OTT8, release 然而更多的特征那么是與核心SQL-99局部兼容,還有一些等價的和不支持的特征,本文就不在詳細列出,請參考Oracle的相關文檔4。SQL標準努力提供一種一致地操作數(shù)據(jù)庫的方式,也取得了很大的成果,但是由于其只是指導性的非強制標準,同時各個數(shù)據(jù)庫廠商有不同利益關系,SQL在目前以及較遠的未來不太可能具有唯一的實現(xiàn),也就是說不能作為一種完全通用的語言在各個關系數(shù)據(jù)庫之間隨意使用。因此,從某種意義上說,數(shù)據(jù)庫廠商擴展的SQL是該數(shù)據(jù)庫最根本的一種數(shù)據(jù)庫工具,也是其他高級數(shù)據(jù)庫工具的根底;同時,它還是一種專用數(shù)據(jù)庫工具,能夠完全對本數(shù)據(jù)庫進行操作,但幾乎無法直接用于其他數(shù)據(jù)庫。2.4.3 SQL執(zhí)行方式有了SQL這個數(shù)據(jù)庫接口,我們就可以使用它對數(shù)據(jù)庫進行操作,因此接下來就需要了解如何使用SQL以完成所需功能。SQL-99標準的第三局部和第五局部共介紹了SQL的4種執(zhí)行方式。第五局部論述了嵌入式SQL、動態(tài)SQL和直接SQL這3種執(zhí)行方式,第三局部論述了調(diào)用級接口CLI方式。l 嵌入式S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論