數據庫應用技術系統開發_第1頁
數據庫應用技術系統開發_第2頁
數據庫應用技術系統開發_第3頁
數據庫應用技術系統開發_第4頁
數據庫應用技術系統開發_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第12章數據庫應用系統開發學習目標:了解數據庫訪問接口相關概念。了解JSP基本知識。掌握JSP訪問Oracle數據庫的方法。掌握基于JSP的數據庫應用系統開發的思路和方法。一個完整的數據庫應用系統在邏輯上包括用戶界面和數據庫訪問鏈路。Oracle不具備圖形用戶界面的設計功能,一般把它作為整個數據庫應用系統的后端數據庫,滿足客戶端連接數據庫和存儲數據的需要。圖形用戶界面的設計工作通常使用可視化開發工具來完成,如VisualStudio2005、Java、JSP等。本章將以JSP作為開發工具,介紹開發數據庫應用系統的方法。12.1數據庫訪問接口ODBC開放式數據庫互聯(OpenedDatabase

2、Connectivity,ODBC)是一種用于訪問數據庫的統一界面標準,由Microsoft公司于1991年底發布,它應用數據通信方法、數據傳輸協議、DBMS等多種技術定義了一個標準的接口協議,允許應用程序以SQL作為數據存取標準,來存取不同的DBMS管理的數據。ODBC是基于SQL語言的,是一種在SQL和應用界面之間的標準接口,它解決了嵌入式SQL接口非規范核心問題,免除了應用軟件隨數據庫的改變而改變的麻煩。ODBC組成ODBC是一個分層體系結構,由四部分構成:ODBC數據庫應用程序(Application)、驅動程序管理器(DriverManager)、DBMS驅動程序(DBMSDrive

3、r)、數據源(DataSource)。應用程序應用程序利用ODBC接口中的ODBC功能與數據庫進行操作,其主要功能有:調用ODBC函數,遞交SQL語句給DBMS,檢索出結果,并進行處理。應用程序要完成ODBC外部接口的所有工作。驅動程序管理器驅動程序管理器是一個動態連接庫(DLL),用于連接各種DBS的DBMS驅動程序(如SQLServer、Oracle、Sybase等驅動程序),管理應用程序和DBMS驅動程序之間的交互作用。當一個應用程序與多個數據庫連接時,驅動程序管理器能夠保證應用程序正確地調用這些DBS的DBMS,實現數據訪問,并把來自數據源的數據傳送給應用程序。DBMS驅動程序應用程序

4、不能直接存取數據庫,其各種操作請求要通過ODBC的驅動程序管理器提交給DBMS驅動程序,通過驅動程序實現對數據源的各種操作,數據庫的操作結果也通過驅動程序返回給應用程序。應用程序通過調用驅動程序所支持的函數來操縱數據庫。驅動程序也是一個動態連接庫(DLL)。ODBC的數據源數據源(DataSourceName,簡稱DSN)是驅動程序與DBS連接的橋梁,數據源不是DBS,而是用于表達一個ODBC驅動程序和DBMS特殊連接的命名。數據源分為以下三類:用戶數據源:用戶創建的數據源,稱為“用戶數據源”。此時只有創建者才能使用,并且只能在所定義的機器上運行。任何用戶都不能使用其他用戶創建的用戶數據源。系

5、統數據源:所有用戶和在WindowsNT下以服務方式運行的應用程序均可使用系統數據源。文件數據源:文件數據源是ODBC3.0以上版本增加的一種數據源,可用于企業用戶,ODBC驅動程序也安裝在用戶的計算機上。創建數據源最簡單的方法是使用ODBC驅動程序管理器。在連接中,用數據源名來代表用戶名、服務器名、所連接的數據庫名等,可以將數據源名看成是與一個具體數據庫建立的連接。JDBCJDBC是Java數據庫連接(JavaDataBaseConnectivity)技術的簡稱,是Java同許多數據庫之間連接的一種標準,這種連接獨立于數據庫。它是由Sun定義了技術規范,并由Sun及其Java合作伙伴開發的與

6、平臺無關的標準數據庫訪問接口。JDBC主要由兩部分組成:一部分是由數據庫廠商提供的使Java程序能夠與數據庫連接通信的驅動程序,即JDBC數據庫驅動程序;另一部分是訪問數據庫的高層接口,即通常所說的JDBCAPI。JDBC數據庫驅動程序JDBC驅動程序可以分為以下四類:JDBC-ODBC橋加ODBC驅動程序:該類驅動程序為Java應用程序提供了一種把JDBC調用映射為ODBC調用的方法。這種類型的驅動使Java應用可以訪問所有支持ODBC的DBMS。部分用Java來編寫的本地API驅動程序:該類驅動程序把客戶機API上的JDBC調用轉換為對特定的數據庫如Oracle、SybaseDB2等或其它

7、DBMS的調用。JDBC網絡純Java驅動程序:該類驅動程序將JDBC調用轉換為與DBMS無關的網絡協議。本地協議純Java驅動程序:該類驅動程序將JDBC調用直接轉換為DBMS所使用的網絡協議。這將允許從客戶機上直接調用DBMS服務器。JDBCAPIJDBC定義了表示數據庫連接、SQL句柄、預編譯的SQL句柄、執行存儲過程的SQL句柄、記錄集、記錄集元數據和數據庫元數據的Java接口。這些接口提供了標準的數據庫訪問功能。下面介紹JDBC中DriverManager、Connection、Statement、PrepareStatementCallableStatement和ResultSet

8、的使用。DriverManagerDriverManager是用于管理JDBC驅動程序的接口。這個接口的主要用途是通過getConnection方法來取得Connection對象引用。常用方法如下:publicstaticsynchronizedConnection(Stringurl,Stringuser,Stringpwd)throwsSQLException:該方法獲得url對應數據庫的一個連接。publicstaticvoidsetLoginTimeout(intseconds):該方法用于設置要進行數據庫登錄時驅動程序等待的遲延時間。ConnectionConnection對象是通過

9、DriverManager.getConnection()取得的,表示驅動程序提供的與數據庫連接的對話。常用方法如下:StatetementcreateStatement()throwsSQLException:該方法返回一個Statetement對象。CallableStatementprepareCall(Stringsql):該方法返回一個CallableStatement對象,該對象能夠調用存儲過程。PrepareStatementprepareStatement(Stringsql)throwsSQLException:該方法返回一個PrepareStatement對象,并能把SQL

10、語句提交刀數據庫進行預編譯。voidsetAutoCommit(BooleanautoCommit)throwsSQLException:該方法用于設置事務提交的模式。voidcommit()throwsSQLException:該方法作用是進行當前業務開始以來的所有改變。voidrollback()throwsSQLException:該方法作用是放棄當前業務開始以來的所有改變。StatementStatement是向數據庫提交SQL語句并返回相應結果的工具。語句可以是SQL查詢、修改或插入。常用方法如下:ResultSetexecuterQuery(Stringsql)throwsSQLE

11、xception:用于執行一個查詢語句并將返回結果集于ResultSet對象中。intexecuteUpdate(Stringsql)throwsSQLException:用于執行一個修改或查詢語句,并返回發生改變的記錄條數。Booleanexecute(Stringsql)throwsSQLException:用于執行一個修改或插入語句,返回的布爾值表示語句是否執行成功。使用Statement方法時,語句可能返回或不返回ResultSet對象。如果提交的時查詢語句(select),通常使用executerQuery(Stringsql);如果提交的是修改或插入語句(update,delete

12、,insert),通常使用executeUpdate(Stringsql)。PrepareStatementPrepareStatement接口繼承Statement接口。當一條SQL語句需要稍加變化而反復執行時,通常使用PrepareStatement,女口:PrepareStatementpstmt=conn.PrepareStatement“hsertintostockvalues(?,?,?)”;While(rs.next()/rs為向數據庫提交查詢語句返回的結果集pstmt.setString(1,rs.getString(Stockid”);pstmt.setString(2,rs

13、.getString(StockName”);pstmt.setString(3,rs.getString(stockNum”);pstmt.executeQuery();CallableStatementCallableStatement繼承PrepareStatement接口,用于執行存儲過程。例如:CallableStatementstmt=conn.prepareCall(callMyProcedure(?,?,?)”stmt.setInt(1,77);stmt.String(2,Ruby”;stmt.setInt(3,45);stmt.executeUpdate();存儲過程MyPr

14、ocedure的SQL語句腳本如下:createorreplaceprocedureMyProcedure(sninnumber,nameinchar,ageinchar)asbegininsertintodeptvalues(sn,name,age);end;ResultSetResultSet接口定義訪問執行Statement產生的結果集的方法。ResultSet結果集可以按照名稱或列名(從1到n)訪問。其常用的方法如下:Booleannext()throwsSQLException:將ResultSet定位到下一行。ResultSet定位從結果集第一行開始。ResultSetMetaDa

15、tagetMetaData()throwsSQLException:返回包含當前結果集說明的對象:列號、每列類型和結果屬性。voidclose()throwsSQLException:釋放ResultSet對象資源。Booleanabsolute(introw)throwsSQLException:將結果集移動到指定行,如果row為負數,則放在倒數第幾行。12.2使用JSP開發數據庫應用程序JSP(JavaServerPages是一門熱門的網絡編程語言,適合編寫目前流行的三層架構應用程序(數據訪問層、業務邏輯層、頁面表示層)。JSP是在傳統的靜態頁面文件(*.html,*.htm)中加入Jav

16、a程序片斷和JSP標記,構成JSP頁面。在JSP中,可以使用JavaBean封裝頁面中的表現邏輯或初步的業務邏輯,實現一些比較復雜的事務處理。簡介Java是由Sun公司開發出來的。它的誕生主要源于家用電器的芯片。隨著WWW的發展,Java語言得到了快速的發展,成為網絡上流行的開發語言之一。Java語言是面向對象編程語言,也是跨平臺的語言,它具有簡單、可移植性、面向對象、解釋型、分布式、高性能、健壯性、多線程、安全、動態及體系結構等一系列優點。簡單:Java語言的風格類似于C+語言,但要比C+簡單。它舍棄了C+中一些不常使用、難于理解、易于混淆的特性。面向對象:用Java語言編程的任何程序都具有

17、面向對象的特點,利用類和對象的機制將數據及其操作封裝在一起,通過統一的接口與外界交互。分布式:Java語言的類庫提供用HTTP和FTP傳送信息的方法,Java程序能夠通過URL很方便地打開和訪問網絡上的資源,其便利程度如同訪問本地文件一樣。解釋型和高性能:Java是解釋型的語言,編譯后生成可以在Java虛擬機(JVM)系統上被解釋執行的字節碼。由于解釋型語言的執行速度比編譯型語言要慢,Java提供了即時編譯(JIT)方法,它可以一次把字節碼編譯為本地代碼,緩存得到的結果,在需要的時候重新調用,從而使Java的運行速度接近于普通的編譯型語言。健壯性:Java自己進行內存管理從而減少了內存出錯的可

18、能性,它提供的自動垃圾收集防止了編程人員在管理內存時容易產生的錯誤。Java提供了異常處理機制,在編譯時,Java將提示可能出現但未被處理的異常,幫助編程人員正確地進行選擇以防止系統的崩潰。另外,類型檢查可以幫助編程人員檢查出許多開發早期出現的問題。安全:Java可以通過自己的安全機制防止了病毒程序的產生和下載程序對本地系統的威脅破壞。另外,Java安全機制禁止Java程序進行一些操作:如禁止運行時堆棧溢出、禁止在自己的處理空間外破壞內存等。體系結構中立:Java程序設計者的目標是“一次編寫,處處運行”。Java編譯器通過生成與特定計算機體系結構無關的字節碼指令來實現這個目標。而且字節碼文件既

19、可以容易地在當今大多數通用計算機體系結構上解釋執行,也能夠在運行時很容易地被翻譯成本地機器代碼。可移植性:結構中立構成了程序可移植性的基礎。Java語言的基本數據類型長度采取了固定長度消除了代碼移植時讓人頭疼的主要問題。另外,Java的類庫提供了可移植性的接口。多線程:Java提供了一套復雜地線程同步化機制,使得編程人員可以很方便地使用這種機制設計的方法,編寫出健壯的多線程程序。動態:Java的動態性使得它能夠適應發展的環境。Java的類庫可以隨意地增加新的方法及實例變量,而客戶端可以不做任何更改。Javabean簡介JavaBean是JavaSoft公司開發的技術組件,實現了“Wrireon

20、ce,runanywhere,reuseeverywhere”,即一次編譯,處處運行,具有“一次編寫,可以在任何地方執行,可以在任何地方重用的”特性。Javabean支持可視化和非可視化兩種組件。可視化的組件在運行中能夠顯示出來,像按鈕、文本框等,都能在程序中顯示出來;非可視化組件通常用來處理程序中的一些復雜事務,一般不會有可視化輸出。雖然平時使用的JavaBean以可視化的居多,但非可視化的JavaBean也有她的優點,特別是jsp,它只支持非可視化的JavaBean,來實現一些比較復雜的事務處理。Javabean與JSP結合在JSP中,可以使用javabean封裝頁面中的表現邏輯或初步的業

21、務邏輯。在JSP中使用javabean需要用到javabean動作,一般語法格式如下:Jsp:useBean動作相當于在當前jsp頁面中創建了package.class的一個對象。創建javaBean對象后,可以通過jsp:setProperty動作設置javabean的值;其語法格式如下:;另外,也可以通過jsp:getProperty動作讀取JavaBean中的值,其語法格式如下:12.3案例的客戶端程序通過前面的學習,我們已經掌握了使用jsp連接數據庫的方法。本節我們以實際的“學生成績管理信息系統為例,采用面向對象的分析方法,使用JSP作為前端開發工具,Oracle作為后臺數據庫服務器來

22、學習應用程序開發方法。系統分析與設計系統需求學校每個學期都會為學生提供選修課,如何更加便捷的對選修課實行有效的管理,幫助學校、教師、學生方便的掌握學生學習情況,這就是“學生選課管理系統”需要完成的功能。本系統主要功能就是幫助收集學生的選修課信息,主要功能有:學生管理、教師管理、課程管理、成績錄入、成績查詢。分析問題領域確定系統范圍和系統邊界。“學生選課管理系統”涉及學生、教師、課程和成績等數據的管理。3個活動者:學生、教師、管理定義活動者。根據系統的職責范圍和需求,確定系統中的員。對于每一個活動者,明確其業務活動的內容如下:“學生”使用該系統查詢新學期開設的課程信息和教師開課信息,進行選課,查

23、詢自己的課程成績信息。“教師”使用系統查詢新學期開設的課程信息、學生選課信息、錄入和查詢學生成績信息。“管理員”負責錄入教師、學生、課程等數據,并進行維護、統計、查詢和生成數據報定義UseCase(用例圖),UseCase是活動者與系統在交互中執行的有關事物序列。根據系統需求,學生選課管理系統的UseCase圖如圖12.1所示。cxLcnd&u-czVMIAVMIA人員*珂”、圖12.2選課注冊順序圖:0)return刪除成功!;elsereturn刪除失敗!;publicStringupdate(StringstuName,Stringgender,Stringbirthday,String

24、ruxue,Stringjiguan,Stringstuid)DALld=newDAL();inti=ld.updateStudent(stuName,gender,birthday,ruxue,jiguan,stuid);if(i0)return修改成功!;elsereturn修改失敗!;publicResultSettiaojianSelect(Stringxb,Stringbj)DALld=newDAL();returnld.bjSelect(xb,bj);publicResultSetselectStudent(Stringxb,Stringbj)DALld=newDAL();retu

25、rnld.selectStudent(xb,bj);publicResultSetselectNo(Stringxb,Stringbj)DALld=newDAL();returnld.select(xb,bj);publicResultSetselectxb()DALld=newDAL();returnld.selectxb();publicResultSetselectbj(Stringxb)DALld=newDAL();returnld.selectbj(xb);publicStringInsertStudent(StringstuName,Stringgender,Stringbirth

26、day,Stringruxue,Stringjiguan,Stringstuid,Stringbanji)DALld=newDAL();inti=ld.InsertStudent(stuName,gender,birthday,ruxue,jiguan,stuid,banji);if(i0)return添加成功!;elsereturn添加失敗!;publicResultSetSelect_score(Stringxb,Stringbj)DALld=newDAL();returnld.Select_score(xb,bj);表示層部分頁面(1)登錄頁面該頁面是系統的第一個頁面,主要用于用戶身份的

27、認證,其界面如圖12.6所示。圖1.6登錄頁面登錄頁面客戶端代碼如下:VDOCTYPEhtmlPUBLIC-/W3C/DTDXHTML1.0Transitional/ENnsitional.dtdfunctioncheck()if(document.myform.userName.value=”)alert(請輸入姓名!”);return;elseif(document.myform.pwd.value=”)alert(請輸入密碼!);return;document.myform.submit();用戶登錄用戶登錄用戶名:密碼:用戶:管理員學生教師登錄頁面的處理頁面代碼如下:VDOCTYPEh

28、tmlPUBLIC-/W3C/DTDXHTML1.0Transitional/ENnsitional.dtd無標題文檔(2)管理員管理頁面在用戶登錄成功后,顯示主頁面。主頁面根據用戶角色顯示不同功能,例如:如果為學生登錄,則只顯示“學生”可以操作的頁面;如果為教師登錄,則只顯示“教師”可以操作的頁面;如為“管理員”,則顯示管理員可操作的頁面,圖12.7為“管理員”登錄后的頁面。無女禹la-craxof-tLnttuikaplnrac空n密m:吵收injimqp0-回確劊戶W辱臥謝a-Mtit衛jfl甘旺:力*jcilXxiJMaJma/rTf町EBB辛蟲砥理埠怪音腔栽帕迎蟻半廿圳云運辰祗理訃玄

29、洞學生巡里圖1.7管理員管理頁面頁面代碼如下:VDOCTYPEhtmlPUBLIC-/W3C/DTDXHTML1.0Transitional/ENnsitional.dtd無標題文檔學生管理課程管理教師管理教學計劃管理成績管理成績查詢學生選課成績管理績查詢學生選課成績查詢(3)學生基本信息管理頁面管理員選擇“學生管理”功能,顯示“學生基本信息管理”頁面,如圖12.8所示。使用該頁面實現學生基本信息的查詢、添加和刪除。圖1.8學生基本信息管理頁面代碼如下:VDOCTYPEhtmlPUBLIC-/W3C/DTDXHTML1.0Transitional/ENnsitional.dtdfunction

30、mysubmit(flag)if(document.myform.operflag!=null)if(document.myform.operflag.value!=null)document.myform.operflag.value=flag;document.myform.submit();學生基本信息管理學生基本信息管理vformmethod=postaction=stu_info.jspname=myform系名:%tryrs1=bll.selectxb();while(rs1.next()Stringtxb=rs1.getString(”系部名稱”);if(xb=null|xb.e

31、quals()xb=txb;if(xb!=null&xb.equals(txb)out.print(+txb+);elseout.print(+txb+);%班級:%rs1.close();rs=bll.selectbj(xb);while(rs.next()Stringtbj=rs.getString(”班級名稱);Stringtbj仁rs.getString(”班級代碼);tryif(oper_flag!=null)if(oper_flag!=null|oper_flag.equals(1)bj=tbj;oper_flag=2;elseoper_flag=1;catch(Exception

32、e1)out.print();out.print(e1.toString();rs.close();return;if(bj=null|bj.equals()bj=tbj;if(bj.equals(tbj1)out.print(+tbj+);elseout.print(+tbj+);%學號姓名性別出生日期入學時間籍貫刪除更新inputtype=hiddenname=stuidvalue=/姓名)%size=8inputname=stuNametype=textvalue=inputname=gendertype=textvalue=size=2maxlength=2/inputname=bir

33、thdaytype=textvalue=size=14maxlength=14/inputname=ruxuetype=textvalue=size=14maxlength=14/x/tdinputname=jiguantype=textvalue=size=20maxlength=50/x/tdinputtype=hiddenname=bjvalue=/12.4本章小結本章通過一個具體的應用實例介紹了基于JSP的應用程序開發的一般方法,并給出了部分源代碼。希望通過此章內容介紹,使讀者初步Oracle數據庫應用系統的開發方法。對于基于其他開發工具的數據庫應用系統,起到拋磚引玉的作用。12.5思

34、考與練習1、利用JSP+Oracle設計一個教材管理系統,基本功能包括:(1)教材基本信息的添加、刪除、修改、查詢。教材發放信息的添加、刪除、修改、查詢。統計以上各類信息。附錄:常用的數據字典和函數表A:Oracle10g常用數據字典數據字典名稱說明ALL_CATALOG可以由當前連接的用戶訪問的所有表、視圖、同義詞、序列ALLCOLCOMMENTS可訪問的表和視圖的列注釋ALL_COL_PRIVS授權者、被授權者、擁有者是當前用戶,或者被授予當前啟用的角色霍PUBLIC(公共)用戶的列的授權情況ALLCOLPRIVSMADE當前用戶是擁有者或授權者的所有列的授權情況ALL_COL_PRIVS

35、_RECD當前用戶、PUBLIC(公共)用戶或當前啟用的角色是被授權者的列的授權情況ALLCONSTRAINTS可訪問表的約束條件ALLCONSCOLUMNS約束條件中可訪問列的信息ALLDBLINKS當前用戶的可用數據庫鏈接ALLDEFAUDITOPTS新建對象的審計選項ALLDEPENDENCIES當前用戶可訪冋對象的依賴和被依賴對象ALLERRORS用戶被允許創建的存儲對象的現有錯誤信息ALLINDEXES當前用戶可訪冋表的索引的描述信息ALLINDCOLUMNS可訪問表的索引包含的列ALLOBJECTS當前用戶的所有可訪問對象ALLSEQUENCES當前用戶可訪問的序列的描述對象ALL

36、SNAPSHOTS當前用戶可見的快照ALLSOURCE用戶被允許創建的存儲對象的現有資源ALLSYNONYMS當前用戶可訪問的所有同義詞ALLTABLES當前用戶可訪冋表的描述信息ALLTABCOLUMNS所有表、視圖和簇的列數據字典名稱說明ALL_TAB_COMMENTS當前用戶可訪問的所有表和視圖的注釋ALL_TAB_GRANTS_MADE用戶授權和用戶對象授權ALL_TAB_GRANTS_RECD被授權者是當前用戶或者PUBLIC(公共)用戶的對象的授權情況ALL_TAB_PRIVS授權者、被授權者、擁有者是當前用戶,或者被授予當前啟用的角色或PUBLIC(公共)用戶對象的授權情況ALL

37、TABPRIVSMADE用戶權限和對用戶對象的授權ALL_TAB_PRIVS_RECD當前用戶、PUBLIC(公共)用戶或當前啟用的角色是被授權者的列授權情況ALLTRIGGERS當前用戶可訪問的觸發器ALLTRIGGERCOLS在用戶觸發器或者用戶表觸發器中使用的列ALLUSERS數據庫中所有用戶的信息ALLviewS當前用戶可訪問的視圖文本USERAUDITCONNECT對用戶登錄/注銷的審計跟蹤記錄USER_AUDIT_OBJECT關于用戶對象聲明的審計跟蹤記錄,特別是表、簇、視圖、索引、序列、公共數據庫鏈接、公共同義詞、過程、觸發器、回滾段、表空間、角色和用戶等對象USERAUDITS

38、ESSION關于用戶會話的審計跟蹤記錄USER_ADDIT_STATEMENT關于授權、喚醒、審計、撤銷審計和系統改變的審計跟蹤記錄USERAUDITTRAIL和當前用戶相關的審計跟蹤記錄USERCATALOG當前用戶所有的表、視圖、同義詞和序列USERCLUSTERS用戶簇的描述信息USERCLUCOLUMNS表列到簇列的映射USERCOLCOMMENTS用戶表和視圖中列的注釋USERCOLGRANTS擁有者、授權者或被授權者是當前用戶的列的授權情況USERCOLGRANTSMADE當前用戶擁有的對象列的所有授權情況USERCOLGRANTSRECD被授權者是當前用戶的列的授權情況USERC

39、OLPRIVS擁有者、授權者或被授權者是當前用戶的列的授權情況USERCONSTRAINTS用戶所有表的約束條件描述USERCONSCOLUMNS約束條件中可訪問列的信息USERCROSSREFS用戶視圖和同義詞的交叉引用USERDBLINKS當前用戶所有的數據庫鏈接USERDEPENDENCIES用戶對象的依賴和被依賴關系USERERRORS當前用戶所有存儲對象當前的錯誤信息USEREXTENTS組成當前用戶所有短的區間USERFREESPACE當前用戶可訪冋的表空間中的自由空間USERINDEXES當前用戶所有索引的描述信息USERINDCOLUMNS組成用戶索引或用戶表索引的列USERJ

40、OBS當前用戶的所有任務USEROBJECTS當前用戶的所有對象USEROBJECTSIZE各種PL/SQL對象的大小(以字節為單位)USEROBJAUDITOPTS用戶對象的審計選項數據字典名稱說明USER_RESOURCE_LIMITS顯示當前用戶的資源限制USER_ROLE_PRIVS當前用戶被授予的角色USER_SEGMENTS為所有數據庫段分配的存儲區USERSEQUENCES當前用戶所有的序列的描述信息USER_SNAPSHOTS當前用戶可見的快照USERSNAPSHOTLOGS當前用戶所有的快照日志USERSOURCE當前用戶可訪問的存儲對象資源USER_SYNONYMS當前用戶

41、的私有同義詞USERYSYPRIVS當前用戶被授予的系統權限USERTABLES對當前用戶所有表的描述信息USERTABLESPACE可用表空間的描述信息USERTABAUDITOPTS用戶表和視圖的審計選項USERTABCOLUMNS用戶表、視圖和簇的列USERTABCOMMENTS當前用戶所有表和視圖的注釋信息USER_TAB_GRANTS擁有者、授權者或被授權者是當前用戶的所有對象的授權情況USERTABPRIVS當前用戶的對象權限信息USERTABPRIVSMADE當前schema賦給其他schema對自己表的操作權限視圖USERTABPRIVSRECD其他schema賦給當前sche

42、ma的表操作權限視圖USERTRIGGERS當前用戶的所有觸發器USERTRIGGERSCOLS用戶觸發器所用的列USERTSQUOTES當前用戶的表空間限額USERUSERS當前用戶信息USERviewS當前用戶擁有的視圖的文本AUDIT_ACTIONS記錄設計跟蹤行為代碼和映射行為類型號到行為類型名稱的表COLUMN_PRIVILEGES授權者、被授權者或者擁有者是當前用戶,或者被授予一個被啟用的角色或PUBLIC(公共)用戶的那些列的授權情況DICTIONARY數據字典表和視圖的描述信息DICTCOLUMNS數據字典表和視圖列的描述信息GLOBALNAME全局數據庫名INDEXHISTO

43、GRAM對重復鍵的統計INDEXSTATS對B樹的統計信息RESOURCECOST每種資源的代價ROLEROLEPRIVS被授予角色的角色ROLESYSPRIVS被授予角色的系統特權ROLETABPRIVS被授予角色的表的特權SESSIONPRIVS用戶當前已經設置的特權SESSIONRLOES當前用戶啟用的角色TABLE_PRIVILEGES授權者、被授權者或者擁有者是當前用戶,或者被授予一個啟用的角色或PUBLIC(公共)用戶的那些對象的授權情況表B:Oracle10g常用的動態性能視圖動態性能視圖名稱說明V$FIXEDTABLE用于列出所有可用的動態性能視圖和動態性能表V$INSTANC

44、E用于取得當前例程的詳細信息V$SGA用于顯示SGA主要組成部分(共享池、數據高速緩存和重做日志緩沖區)的尺寸V$SGAINFO用于取得SGA更詳細的信息V$PARANETER用于取得初始化參數的詳細信息V$VERSION用于取得Oracle版本的詳細信息V$OPTION用于顯示已經安裝的Oracle選項V$SESSION用于顯示會話的詳細信息V$PROCESS用于顯示與Oracle相關的所有進程的信息(包括后臺進程和服務器進程)V$BGPROCESS用于顯示后臺進程的詳細信息V$DATABASE用于取得當前數據庫的詳細信息V$CONTROLFILE用于取得當前數據庫所有控制文件的信息V$DA

45、TAFILE用于取得當前數據庫所有數據文件的詳細信息V$DBFILE用于取得數據文件編號及名稱V$LOGFILE用于取得重做日志成員的信息V$LOG用于顯示日志組的詳細信息V$THREAD用于取得重做線程的詳細信息,當使用RAC結構時,每個例程都對應一個重做線程V$LOCK用于顯示鎖信息,通過與V$SESSION進行連接查詢,可以顯示占有鎖的會話,以及等待鎖的會話V$LOCKED_OBJECT用于顯示被加鎖的數據庫對象,通過與DBA_OBJECTS進行連接查詢。可以顯示具體的對象名及執行加鎖操作的Oracle用戶名V$ROLLNAME用于顯示處于ONLINE狀態的UNDO段V$ROLLSTAT

46、用于顯示UNDO段統計信息,通過與V$ROLLNAME進行連接查詢,可以顯示UNDO段的詳細統計信息V$TABLESPACE用于顯示表空間信息V$TEMPFILE用于顯示當前數據庫所包含的臨時文件表C:Oracle10g常用的系統內置函數(一)一一數學函數與”的結果函數名描述ABS(x)返回x的絕對值ACOS(x)返回x的反余弦值ASIN(x)返回x的反正弦值ATAN(x)返回x的反正切值ATANS(x,y)返回x和y的反正切值BITAND(x,y)返回x和y的二進制“COS(x)返回x的余弦值,其中COSH(x)返回x的雙曲余弦值x是以弧度表示的角度CEIL(x)EXP(x)FLOOR(x)

47、LOG(x,y)LN(x)MOD(x,y)POWER(x,y)返回大于或等于x的最小整數返回E的x次幕,其中E等于2.71828183返回小于或等于x的最大整數返回底為x的y的對數值返回x的自然對數值返回x除以y的余數返回x的y次幕圓整x值。如果不指定y,則圓整到整數;如果指定y,則圓整到yROUND(x,y)指定的小數點位數;如果y是負數,則圓整到小數點左端的位數符號函數,如果x是負數,則返回-1;如果x是正數,則返回1;SIGN(x)如果x是0,則返回0SIN(x)SINH(x)SQRT(x)TAN(x)TANH(x)返回x的正弦值返回x的雙曲正弦值返回x的平方根返回x的正切值返回x的雙曲

48、正切值TRUNK(x,y)截斷x值。如果不指定y,則截斷到整數;如果指定y,則截斷到y指定的小數點位數;如果y是負數,則截斷到小數點左端的位數表D:Oracle10g常用的系統內置函數函數名ASCII(x)CHR(x)CONCAT(x,y)INITCAP(x)INSTR(x,find_string,start,occurrenee)LENGTH(x)LOWER(x)LPAD(x,width,pad_string)LTRIM(x,trim_string)NANVL(x,value)NVL(x,value)NVL2(x,value1,value2)REPLACE(x,search_string,repla

溫馨提示

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

評論

0/150

提交評論