數據庫技術論文范例6篇

前言:中文期刊網精心挑選了數據庫技術論文范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

數據庫技術論文

數據庫技術論文范文1

論文摘要:該文概述了廣東省水文數據庫現狀,討論了水文數據庫表結構3. 0與4. 0的主要差異,針對水文數據庫由表結構升級所要解決的問題,提出了具體的工作流程與解決方法,并用以對表結構3. 0進行優化、調整、補充,完成了表結構到4, 0的升級。

1我省水文數據庫現狀概述

水文資料是水利工程的基礎,為了達到準確快速地提供水文資料,資料的科學存儲是個關鍵問題。當前水文資料主要包括:降雨量、蒸發量、水位、流量、含沙量等內容。數據庫是現今企業數據存儲的主要方式,應用數據庫技術來存儲水文觀測資料就形成了水文數據庫。在水文數據庫中數據以表的形式存儲,這些表的名稱、表中每列的名稱、數據類型等稱為表結構。

廣東省水文數據庫由1991年開始建設,到1998年建成驗收,至今每年都加人新的整編數據。水文數據庫的建立改變了水文資料以紙介質存儲數據的方式,使資料的存儲進人磁介質的時代,以電子版本的方式提供數據極大方便了數據的查詢和使用,為水情專用數據庫、三防指揮系統、流域水信息與管理等許多水利信息化項目提供了方便,在實際生產應用中發揮了重要作用。

水文數據庫使用SQL SERVER 2000做數據庫管理系統,表結構經歷了由1. 0版本到3. 0版本的演變過程。3. 0版本是一個比較成熟的版本,歷經十年的應用,在水文數據存儲的標準化方面做出了重要貢獻,但在長期的應用中3. 0版本也發現了一些不足之處,于是部水文局組織有關專家在3. 0的基礎上修訂形成了4. 0版本。從而使我省水文數據庫從3, 0版本到4. 0版本的升級成為現實需要解決的問題。

2水文數據庫表結構3. 0與4. 0的對比

水文數據庫表結構3. 0主要存在的問題有:①時間維的處理不合理;②一些表表列數太多;③一些有用數據沒有建表存儲;④沒有字典表。

表結構4. 0針對以上缺點做了改善,首先使用時間數據類型( DT類型)統一時間維的表示,如:逐日平均水位表3. 0表結構如表1;逐日平均水位表4. 0表結構如表2。

對比表1、表2可見日平均水位3. 0表結構有66列,而4. 0表結構只有4列,3. 0表結構的時間維中年份、月份、各日在列中表示,4. 0表結構中的時間維統一在一列中表示,這樣極大方便了SQL語句的編寫,而且時間集中到一列上表示有利于隨后的數據分析工作。其次,一個表包含太多的列時,說明這個表缺乏內聚,它試圖存放來自幾類實體的數據,使用垂直分割將一些列移到另一個表中,可以減少表的規模,改善性能。如:表結構3. 0把月、旬、年的數據放在同一表中,導致一個表中有上百的表列,而4. 0把月、旬、年的數據分開到三個表中存放,改善了性能。再次表結構4. 0增加和修改了一些表,使得存儲的內容得到擴充,存儲更加合理高效。如增加了關系線表來存儲水位流量關系,修改了實測大斷面表等。最后表結構4. 0增加了字典表類,這樣有利于元數據的描述和使用。

3表結構升級實現技術

3.1表結構升級轉換需要解決的問題

表結構的升級可能會涉及很多問題,主要要解決的問題有:

1)新表的建立。新表的建立主要討論新表結構的合理性,確保新表的設立是正確的。

2)數據質量控制,要控制從舊庫到新庫轉移數據時出現的數據轉換錯誤。新庫中錯誤的數據可能來自于舊庫中的錯誤,也可能來自于轉換程序的錯誤或考慮不周。應該確保新庫的數據質量比舊庫有所提高。

3)功能恢復,主要是參照完整性、方法(存儲過程、存儲函數、觸發器)、外部程序的恢復。水文數據庫是多應用數據庫,有許多外部程序對其進行訪問,數據庫升級人員對這些程序幾乎是不能控制的,在這種情況下數據庫的修改必然對外部訪問系統造成影響,解決的方法有二:一是進行功能恢復,升級人員與應用程序開發者協作,修改應用程序使其能適應新的數據庫表結構;二是設立過渡期,在這其間使新老數據庫同時運行,原來的應用程序繼續使用老庫,新應用使用新庫。通常會結合使用上述兩種方法,即進行部分功能恢復同時設立過渡期。

4)數據加載策略,由于水文數據量較大,而且每年都有新增數據,所以數據加載要有增量加載功能。同時,在過渡期間如果數據的增、刪、改比較頻繁,應該保持新舊庫內容的同步。

3. 2升級轉換的過程

在生產環境中安全的數據庫升級轉換流程如圖1:

驗證數據庫是否需要升級轉換是綜合考慮轉化所獲得的價值與投人之比,以確定是否需要這樣的轉換,是否開銷過大。水文部門的數據源很多,如基礎水文數據庫、水情專用數據庫等。升級人員要確定各種數據所放的位置才能引用。數據庫的轉換是一個重復的過程,每次形成一個新表都要經過建表、編寫數據轉換加載及同步代碼、數據加載、結果測試這樣一個過程,只有測試無誤了才進人下一個新表的建立,這種采取每次一小步的辦法容易降低實現程序的復雜性,容易發現轉換錯誤所在。所有新表測試通過后才可以使用。

3. 3實現方法

首先對SL324-2005《基礎水文數據庫表結構及標識符標準》(即表結構4. 0 )進行分析以驗證轉化的必要性,由于存放測驗數據的表類是常用的表類,而且測驗數據格式比較固定,表結構比較完善,所以優先轉換該類表,方法如下:

使用SQL SERVER企業管理器創建新表結構,如圖2。

使用T一SQL語言編寫數據轉換與加載程序,如:使用語句(Insert into HY YRZ F select STCD, YR,YRAVZ,YRAVR,YRMXZ,YRMXR,YRMXMD,YRMNZ,YRMNR , YRMNMD from ZMYST where YR = 2007)就可以把表結構3. 0水位月年統計表中2007年的數據增量加載到4. 0的年水位表中。

如果轉換過程中有類型轉化、數據格式檢測等質量控制要求,則需要用比較復雜的程序段來完成。如:降雨量摘錄表的T一SQL轉換程序如下:

聲明變量@sled , @ yr , @ and , @ bghrmt , @ edhrmt ,

@p , @ prm存儲查詢數據

聲明變量@ bgdt, @ eddt存儲轉換后的時間數據

創建游標my_ cursorl關聯到降雨量摘錄表prex

通過游標讀一條記錄到變童@sled , @ yr , @ and , @

bghrmt,@edhrmt,@P,@prm中

WHILE@@fetch status=0)

Begin

處理降雨量結束時間、

if@edhrmt=2400)

begin

處理降雨結束時間為24:00的情況

end

else

if@edhrmt

begin

處理摘錄時段跨日的情況

end

else

摘錄時段無跨日的情況

處理降雨量開始時間、

插人數據、

insert into hy_prex_ b values(@sled,@bgdt,@eddt,@P,@prm )

取下一條記錄

end另外,可使用觸發器保持舊表和新表的同步增刪,這樣當數據加人到舊表或從舊表中刪除數據的時候就通過觸發器在新表中作相應的修改,如:對3. 0中降雨量摘錄表寫插人觸發器,插人相應記錄的T一SQL程序如下:

Create trigger prex insert On PREX For insert as

同時寫刪除觸發器,刪除相應記錄的T一SQL程序如下:

Create trigger prex delete On PREX For delete as

這樣就維護了舊表到新表的同步更新。

3. 4成果

應用以上技術筆者完成了廣東省水文數據庫表結構3. 0到4. 0數值表類的轉化,并通過觸發器同步技術使每年新增資料的轉換過程自動化。通過表結構4. 0的轉換及向用戶提供數據表明,新表結構使用方便,提供的數據格式更為科學合理。而且由于在升級轉換過程中嚴格數據質量控制,改正了舊庫中許多錯誤,統一了數據表達方式,使新庫數據質量得到了提升。

數據庫技術論文范文2

第一,數據網絡備份。所謂網絡備份,實際上就是把需要備份的數據信息經網絡處理備份到電腦主機中,接著由專門的處理器進行這些數據的分析和處理等的過程。這種備份方法能夠令處理器的負擔減小,進而增加備份的質量。然而,考慮到網絡備份必須要將電腦直接同服務器進行連接,所以相關數據的安全會受到一定威脅。第二,歸類分檔貯存。和網絡備份的方式不同,這種獨具特色的備份儲層方法能夠過多的數據同物理存儲空間的矛盾。分檔歸類后,把相同類型的數據進行壓縮或打包處理,最后使這些數據可以長期的保留以備使用。第三,遠程備份。此備份處理能防止由于洪澇、火災或是地震等自然災害對電腦數據庫系統造成的難以修復的破壞。但需要考慮的是,若要進行數據的遠程備份操作,本地的高性能系統不可或缺,經由和遠程數據建立聯系,采用同時或分步的形式既可以有力保障本地系統的正常運轉,又能夠達到數據備份的科學、合理。

2計算機數據庫的恢復技術探析

2.1恢復技術的內涵

數據庫的恢復技術,又稱“修復技藝”,是指當計算機數據庫系統存在故障而引起數據丟失等現象時再次對毀損、丟失的數據信息進行修復的操作技術。為降低由于操作不當等人為因素以及系統本身的緣故而造成損失的可能性,同時也是出于減少客戶自身損失的考慮,所以進行數據庫系統的恢復備份必不可少。

2.2恢復技術的基本形式

數據庫的恢復技術主要可以按照普通恢復、全盤恢復、郵件恢復和批日志恢復等進行歸類。首先,普通恢復就是說在數據修復環節,對之前已經備份完畢的數據信息進行簡要補充,或者采用經過遠程控制的分步備份方式對數據進行簡單修復的形式。由于未涉及到使用者之前的日志文檔等的備份,所以它并不是對所有數據的完全恢復。其次,全盤恢復的形式。這種形式是當進行數據庫的恢復操作時,涉及到了整個計算機數據庫中的備份數據以及使用者處理個人事務的備份文檔等。因此,這種恢復手段即便可能耗費大量的功夫,但其可以使電腦數據庫中發生的損失降到最低;另外,它也可以使計算機恢復到之前某個還原點的狀態。還有,就是批日志恢復的形式。此恢復技術形式最大的優勢就在于:它可以降低恢復數據時所占用的儲存空間,相比之下,其操作步驟也比普通恢復和全盤恢復更為簡便。郵件恢復要求相關處理人員必須具備良好的實際操作能力,它也是一項針對管理者的技術性的恢復形式。除此之外,務必要維護好所需處理的數據信息,更有效地提高數據恢復的安全性、科學性。

2.3恢復技術的主要方法

計算機數據庫主要的修復方式可分為轉儲并建立相關日志、依照實際情況進行判斷解決兩種。第一,轉儲并建立相關日志文檔。它要求帶有一定的周期性并循環拷貝數據庫中的全部數據,然后再把所備份的信息儲存到其他介質中。因其簡易的操作方法,這種數據庫的修復方法一直以來都是最為常見的一種。第二,根據具體狀況進行操作處理。如果計算機數據庫存在著某些問題或故障,可以依照以下兩種情況做出判斷、進行處理。一,假設計算機數據庫因受到的損壞過于嚴重而無法繼續使用,這時候就應當啟用一張新磁盤,并在其中拷貝一份實時數據,之后再借助日志庫的重做處理進行新數據庫數據的更新操作。這樣不光能夠恢復到之前的樣子,同時又令現有的數據庫數據得到更新升級;二,若是數據庫未遭到損壞或程度較輕的話,再或者只是其中某幾項數據不再可依賴的話,是完全沒有必要拷貝已存檔的數據庫內容的,只要通過日志庫中撤銷處理的執行便能夠那些沒有考慮好便做出的改動,進而讓數據庫恢復到正常的工作狀態。

3結束語

數據庫技術論文范文3

目前在WINDOWS環境下有多種訪問WEB數據庫的技術,主要有:

1.公共網關接口CGI(CommonGatewayInterface)

CGI是較早實現的技術。適用于多種服務器平臺,如UNIX、WINDOWS等,但CGI的開發成本高、維護困難、功能有限、不具備事務處理功能、占用服務器資源較多。

2.INTERNET數據庫連接器IDC(InternetDatabaseConnector)

IDC集成在ISAPI(InternetServerAPI)中,充分利用了DLL技術,易擴充,但編程較CGI更為復雜,只適用于小型數據庫系統。

3.先進數據庫連接器ADC(AdvanceDatabaseConnector)

ADC提供了ActiveXControl來訪問數據庫,它的主要特點是數據查詢由用戶端瀏覽器執行,因而需將服務器端數據庫中的部分記錄下載到用戶端,系統開銷較大、響應慢,只適用于特別頻繁的數據庫查詢操作。

4.JAVA/JDBC語言編程

JAVA語言是一種面向對象、易移植、多線程控制的語言,可通過JDBC去連接數據庫。用JAVA/JDBC編寫的軟件可移植性強,適用于多種操作系統,但其執行效率和執行速度還不理想,目前無法建立高效、高速的應用。

5.動態服務器頁面ASP(ActiveServerPage)

ASP是微軟公司最新推出的WEB應用開發技術,著重于處理動態網頁和WEB數據庫的開發,編程靈活、簡潔,具有較高的性能,是目前訪問WEB數據庫的最佳選擇。

二.ASP簡介

1.ASP訪問數據庫的原理

ASP是服務器端的腳本執行環境,可用來產生和執行動態的高性能的WEB服務器程序。

當用戶使用瀏覽器請求ASP主頁時,WEB服務器響應,調用ASP引擎來執行ASP文件,并解釋其中的腳本語言(JScript或VBScript),通過ODBC連接數據庫,由數據庫訪問組件ADO(ActiveXDataObjects)完成數據庫操作,最后ASP生成包含有數據查詢結果的HTML主頁返回用戶端顯示。

由于ASP在服務器端運行,運行結果以HTML主頁形式返回用戶瀏覽器,因而ASP源程序不會泄密,增加了系統的安全保密性。此外,ASP是面向對象的腳本環境,用戶可自行增加ActiveX組件來擴充其功能,拓展應用范圍。

2.ASP頁面的結構:

ASP的程序代碼簡單、通用,文件名由.asp結尾,ASP文件通常由四部分構成:

1)標準的HTML標記:所有的HTML標記均可使用。

2)ASP語法命令:位于<%%>標簽內的ASP代碼。

3)服務器端的include語句:可用#include語句調入其它ASP代碼,增強了編程的靈活性。

4)腳本語言:ASP自帶JScript和VBScript兩種腳本語言,增加了ASP的編程功能,用戶也可安裝其它腳本語言,如Perl、Rexx等。

3.ASP的運行環境

目前ASP可運行在三種環境下。

1)WINDOWSNTserver4.0運行IIS3.0(InternetInformationServer)以上。

2)WINDOWSNTworkstation4.0運行PeerWebServer3.0以上。

3)WINDOWS95/98運行PWS(PersonalWebServer)。

其中以NTserver上的IIS功能最強,提供了對ASP的全面支持,是創建高速、穩定的ASP主頁的最佳選擇。

4.ASP的內建對象

ASP提供了六個內建對象,供用戶直接調用:

1)Application對象:負責管理所有會話信息,可用來在指定的應用程序的所有用戶之間共享信息。

2)Session對象:存貯特定用戶的會話信息,只被該用戶訪問,當用戶在不同WEB頁面跳轉時,Session中的變量在用戶整個會話過程中一直保存。Session對象需cookie支持。

3)Request對象:從用戶端取得信息傳遞給服務器,是ASP讀取用戶輸入的主要方法。

4)Response對象:服務器將輸出內容發送到用戶端。

5)Server對象:提供對服務器有關方法和屬性的訪問。

6)ObjectContext對象:IIS4.0新增的對象,用來進行事務處理。此項功能需得到MTS(MicrosoftTranscationServer)管理的支持。

5.ASP的主要內置組件:

1)AdRotator組件:用來按指定計劃在同一頁上自動輪換顯示廣告,用于WWW上日益重要的廣告服務。

2)BrowserCapabilities組件:確定訪問WEB站點的用戶瀏覽器的功能數據,包括類型、性能、版本等。

3)DatabaseAccess組件:提供ADO(ActiveXDataObjects)來訪問支持ODBC的數據庫。

4)FileAccess組件:提供對服務器端文件的讀寫功能。

5)ContentLinking組件:生成WEB頁內容列表,并將各頁順序連接,用于制作導航條。

此外,還可安裝Myinfo、Counters、ContentRotator、PageCount等組件,用戶也可自行編制Actiive組件,以提高系統的實用性。

6.DatabaseAccess組件ADO

WWW上很重要的應用是訪問WEB數據庫,用ASP訪問WEB數據庫時,必須使用ADO組件,ADO是ASP內置的ActiveX服務器組件(ActiveXServerComponent),通過在WEB服務器上設置ODBC和OLEDB可連接多種數據庫:如SYBASE、ORACLE、INFORMIX、SQLSERVER、ACCESS、VFP等,是對目前微軟所支持的數據庫進行操作的最有效和最簡單直接的方法。

ADO組件主要提供了以下七個對象和四個集合來訪問數據庫。

1)Connection對象:建立與后臺數據庫的連接。

2)Command對象:執行SQL指令,訪問數據庫。

3)Parameters對象和Parameters集合:為Command對象提供數據和參數。

4)RecordSet對象:存放訪問數據庫后的數據信息,是最經常使用的對象。

5)Field對象和Field集合:提供對RecordSet中當前記錄的各個字段進行訪問的功能。

6)Property對象和Properties集合:提供有關信息,供Connection、Command、RecordSet、Field對象使用。

7)Error對象和Errors集合:提供訪問數據庫時的錯誤信息。

三.ASP訪問數據庫步驟

在ASP中,使用ADO組件訪問后臺數據庫,可通過以下步驟進行:

1.定義數據源

在WEB服務器上打開“控制面板”,選中“ODBC”,在“系統DSN”下選“添加”,選定你希望的數據庫種類、名稱、位置等。本文定義“SQLSERVER”,數據源為“HT”,數據庫名稱為“HTDATA”,腳本語言采用Jscript。

2,使用ADO組件查詢WEB數據庫

1)調用Server.CreateObject方法取得“ADODB.Connection”的實例,再使用Open方法打開數據庫:

conn=Server.CreateObject(“ADODB.Connection”)

conn.Open(“HT”)

2)指定要執行的SQL命令

連接數據庫后,可對數據庫操作,如查詢,修改,刪除等,這些都是通過SQL指令來完成的,如要在數據表signaltab中查詢代碼中含有“X”的記錄

sqlStr=“select*fromsignaltabwherecodelike‘%X%’”

rs=conn.Execute(sqlStr)

3)使用RecordSet屬性和方法,并顯示結果

為了更精確地跟蹤數據,要用RecordSet組件創建包含數據的游標,游標就是儲存在內存中的數據。

rs=Server.CreateObject(“ADODB.RecordSet”)

rs.Open(sqlStr,conn,1,A)

注:A=1讀取

A=3新增、修改、刪除

在RecordSet組件中,常用的屬性和方法有:

rs.Fields.Count:RecordSet對象的字段數。

rs(i).Name:第i個字段的名稱,i為0至rs.Fields.Count-1

rs(i):第i個字段的數據,i為0至rs.Fields.Count-1

rs("字段名"):指定字段的數據。

rs.Record.Count:游標中的數據記錄總數。

rs.EOF:是否最后一條記錄。

rs.MoveFirst:指向第一條記錄。

rs.MoveLast:指向最后一條記錄。

rs.MovePrev:指向上一條記錄。

rs.MoveNext:指向下一條記錄。

rs.GetRows:將數據放入數組中。

rs.Properties.Count:ADO的ResultSet或Connection的屬性個數。

rs.Properties(item).Name:ADO的ResultSet或Connection的名稱。

rs.Properties:ADO的ResultSet或Connection的值。

rs.close():關閉連接。

4)關閉數據庫

conn.close()

四.查詢WEB數據庫舉例

下面這段示例程序是訪問SQLSERVER數據庫的signaltab表,表中有三個字段:code(代碼字段,字符型,3位),class(分類字段,字符型,10位),memo(備注字段,字符型,20位)。程序中數據源DSN:HT、用戶名:client、口令:passwd。

屏幕輸入頁面input.asp

<%@language=javascript%>

數據庫技術論文范文4

關鍵詞:計算機;信息;查詢

1、綜合信息的查詢

目前,隨著工具軟件的發展和廣泛采用,使數據庫應用系統的開發如虎添翼,其中PowerBuilder以其獨特的數據窗口(DataWindow)倍受歡迎。

PowerBuider是美國著名的數據庫應用開發工具生產廠家Powersoft公司于1991年6月推出的功能強大、性能優異的開發工具,它是一種面向對象的、具有可視圖形界面的、快速的交互開發工具。智能化的數據窗口對象是其精華所在。利用此對象可以操作關系數據庫的數據而無需寫入SQL語句,即可以直接檢索、更新和用多種形式表現數據源中的數據。但要注意,必須使數據窗口成為窗口(Window)下數據窗口控制的一個連接對象,數據窗口才能使用戶在應用執行期間訪問數據庫中的數據。

利用PowerBuilder提供的內部查詢機制,我們即可以讓數據窗口作為查詢條件的輸入,又可以讓該數據窗口作為查詢結果的輸出,這樣就可以使數據窗口中的所有數據項進行自由組合的查詢。例如:在窗口W_que上建立兩個數據窗口控制dw_1和dw_2,分別連接兩個數據窗口對象dw_que1與dw_que2,其中dw_1用于輸入查詢條件,而dw_2用于顯示滿足查詢條件的所有元組。事實上條件的輸入及元組的顯示完全可以在一個數據窗口中實現,考慮到這兩種操作的差別(例:條件輸入可編輯,而元組顯示不可編輯;條件輸入可為某一范圍,而元組顯示僅為滿足條件的所有紀錄……)將其用兩個數據窗口控制來實現。這就要求dw_2與dw_1數據共享,即要求dw_que1與dw_que2兩數據窗口的數據源完全相同。

用這種方法實現查詢優點突出,例:通過設置數據窗口中對應列的編輯風格(EditStyles)為相應的下拉式數據窗口(DropDownDataWindow),使顯示的元組文字化。注意,這要事先建好下拉式數據窗口。設置數據窗口中對應列的編輯風格同樣可滿足其它顯示需要。利用數據窗口的風格特點:查詢表的列寬、列序可自由改變,甚至可以覆蓋掉一些列,以達到更滿足查詢顯示的需要。綜合查詢的信息來自多個表,改變數據窗口的數據源,采用多表連接的數據源即可實現。但是如我們問題的描述,如果我們需要的查詢項隨機地來自這43張表中的數據項,顯示項也是隨機地。這種任意條件的組合,可選輸出項的顯示稱為動態查詢(DynamicQuery)依然采用上述方法,數據窗口dw_que1與dw_que2的數據源將是這43張表的連接,先不說效率問題,單從這426個項中輸入查詢條件,又顯示這426個項,就使人敬而遠之。因為,在每一次查詢前,都不了解此次查詢的要求是什么,這樣,每張表中的每一個數據項都缺一不可;另一方面,每一次的查詢,一旦查詢條件確定、顯示條目也確定后,我們會發現,每一次有意義的查詢并不是需要全部的43張表,換言之,每一次查詢沒有必要將43張表全部連結,而應只連接那些被選中數據項所在的表,即數據源是動態產生的。由于數據源不確定,數據窗口就無法設計,動態查詢無法用這種方法實現。

2、計算機動態查詢的實現

在某些實際的應用系統開發中,由于用戶在開發前提不出查詢的需求,而在系統運行中希望能夠對所有的數據項任意組合進行查詢,以滿足來自多方的需求,實現動態地查詢(即隨機地從43張表中選擇數據項進行組合作為查詢條件并任意地選擇數據項作為顯示條目)。對于此類查詢的實現要利用PowerBuilder通過編程的方式在運行時動態地創建數據窗口,并動態地控制數據窗口。

動態地創建一個數據窗口,應用程序需要執行下列任務:

•動態地構造SQL語句。

•用符合數據窗口語法的字符串,為現在的數據窗口控制創建一個數據窗口對象。具體實現如下:超級秘書網

2.1動態地生成SQL語句,根據SQL的語法:SELECTstringaFROMstringbWHEREstringc也就是動態地生成stringa,stringb,stringc.由用戶輸入要顯示的列,一旦輸入完畢,列名就隨之確定,將所有列名拼成一個“串”,中間用“,”分隔,形如“columm1,column2,column3,...,columnr”,則動態地生成stringa;同樣由用戶輸入查詢條件,包括相應的列、滿足的條件或范圍、邏輯關系等,將這些條件拚成一個串,即為stringc,顯然,所有的列名都確定了,他們所在的表名也確定了,按照stringb的語法規則即可構造。

注意:上面的stringc由兩部分(表間關系stringc1及查詢條件stringc2)組成;表名串stringb與表間關系stringc1、查詢條件stringc2及顯示條目stringa均有關。

在實現的過程中:為貼近實際應用,習慣上,先輸入查詢條件,再輸入顯示條目。即在輸入查詢條件后,生成strinc2,stringb,stringc1;然后,再在輸入顯示條目后生成stringa,并修改stringc1,stringb。最后形成SQL語法:

str="select"+stringa+"from"+stringb+"where"+stringcl+stringc2

2.2在現在的事物對象里利用相關的SyntaxFromSQL()函數生成符合數據窗口語法的字符串:

exp=syntaxfromsq1(sq1ca,str,strsty,error)生成數據窗口的源代碼

其中:strsty為數據窗口的顯示風格,例:

strsty="style(type=grid)datawindow(units=lcolor=12632256)text(font.face=''''system'''')"

2.3創建數據窗口對象

dw_que.create(exp)

這樣就實現了用戶要求的隨機查詢。

在真實系統中,用戶在輸入查詢條件時希望通過選項方式錄入查詢信息,由于庫表中存放的大量信息為代碼,這就需要在程序中先把錄入的文字信息轉化成相應的代碼再連接到查詢條件中。為簡化輸入,提高準確性,可采用代碼輸入,即動態地嵌套下拉式數據窗口。在顯示查詢結果的數據窗口中,事先不能嵌套下拉式數據窗口,可預先做一個函數,在程序運行中根據所選的列把代碼轉化成所對應的漢字顯示,這樣更完善了用戶要求的隨機查詢。

根據數據窗口的動態特性,對于那些運行時才能確定的數據窗口采用動態方式創建,使應用程序能更靈活地滿足用戶的需求。

數據庫技術論文范文5

1.系統管理子模塊系統管理子模塊主要實現對操作員信息的初始錄入、權限的管理、密碼的修改和系統初始化的設置等。這些操作都對應著數據庫的單表操作,該模塊設計容易實現。由于初始化數據的錄入量一般較大,因此,我們對于信息的初始錄入工作,支持全鍵盤批量數據錄入,把一種信息的錄入集成在一個窗體模塊中,盡量減少用戶的工作量,便于用戶的使用。

2.信息資料子模塊信息資料子模塊主要實現了專業信息、課程信息、學生基本信息和成績的增加、修改和刪除操作。此功能模塊的設計,都是便于信息查詢模塊的實現,重要的是所有的專業、課程、學生及成績信息都必須是真實可靠的,否則將會影響到信息查詢模塊功能的實現,同時,填加學生基本信息時,要考慮到整個系統各個模塊之間的聯系,因為所有其他信息功能的實現都與學生基本信息有著關聯。

3.信息查詢子模塊(1)課程查詢:根據查詢內容(按專業、按所屬院系、按課程名稱)來查詢學生的課程信息。(2)學生資料查詢:根據查詢內容(按學號、按姓名、按專業、按班級)來查詢學生的基本信息。(3)成績查詢:根據查詢內容(按學號、按姓名、按專業、按課程)來查詢學生的成績信息。

二、數據庫設計與實現

1.數據庫的設計該系統可利用ER方法進行數據庫的概念設計,首先設計局部ER模式,其次把各局部ER模式綜合成一個全局模式,得到最終的模式,即概念模式。(1)設計局部ER模式實體和屬性的定義:學生(學號,姓名,性別,出生年月,身份證號,入學成績,所學專業,所在班級,備注,聯系人,電話);專業(專業名,所屬院系,招生類型,修學年限,所屬學分);課程(課程編號,課程名,學時,所屬專業,學分,所屬院系,授課學期,教材名);成績(學號,姓名,所學專業,班級,所學課程,課程性質,學分,成績,備注);用戶名(用戶名,密碼,所在部門)。ER模型的“聯系”用于刻畫實體與實體之間的關聯,如1∶N,M∶N,還是1∶1等形式。在該系統中學生與課程、學生與專業實體之間是M∶N的關聯,而學生與成績兩個實體之間關聯則為1∶1。(2)全局ER模式的設計在確定好所有的局部ER模式后,就將它們綜合成整體的全局概念結構。設計全局ER模式的目的不在于把若干局部ER模式形式上合并為一個ER模式,而在于消除沖突,使之成為能夠被所有用戶共同理解和接受的概念模型。全局ER模式不僅要支持所有局部ER模式,而且必須合理地表示一個完整、一致的數據庫概念結構。根據上述功能在后臺SQL2000數據庫中部分數據表的設計如下。

數據庫技術論文范文6

一、XML與數據庫的數據轉換原理

XML和關系數據庫在數據應用和數據管理方面各有優勢,應是一種相輔相成、揚長避短的關系。從技術角度講,“以數據庫為存貯手段,以 XML為交換載體”的數據管理模式是一種趨勢。XML存放在關系數據庫中, XML數據以虛擬XML文檔的形式存在。本文的重點即著重講解:如何將xml數據轉化為關系數據庫數據。

為了在XML文件和數據庫之間交換數據,必須將XML文件的schema(DTD,XML Schema, RELAX NG等)映射到數據庫的schema。用于數據轉換的軟件位于這種映射的上層。該軟件可以使用XML Query語言(如XPath,XQuery,或其他專用語言)或簡單地按照映射(SELECT * FROM Table的XML對應形式)轉換數據。

對于后者,文檔的結構必須完全符合映射所要求的結構。由于通常不易做到這點,使用這種策略的產品一般要和XSLT一起使用。在數據轉換到數據庫之前,先將文件按照映射所要求的結構進行轉換,然后轉存數據。相應地,數據從數據庫中取出以后,結果文件要被轉換成應用程序所需的結構。

文件schema到數據庫schema的映射是在元素類型、屬性和文本上進行的。這時幾乎總是忽略物理結構及某些邏輯結構。這樣做是自然而然的,因為數據庫和應用程序只需關心XML文件中的數據。

這種方法的一個問題是能否保證文件的往返 -- 將文件中的數據存入數據庫后,又從數據庫中的數據重新構建文件。將一個XML文件的schema映射到數據庫的schema有兩種方法:基于表格的映射和對象-關系映射。

1、基于表格的映射 (Table-Based Mapping)

許多轉換XML到數據庫的中間軟件都采用基于表格的映射。它把XML文件看作一個(或一組)表格,也就是說,XML文件的結構必須是下面這種樣子,如果只是單一表格的話,就不再需要元素和其他元素。

根據所用軟件的不同,可以將各字段數據以子元素的形式或以屬性的形式存儲,同樣也可以指定這些元素或屬性的名字。此外,采用基于表格映射方式的軟件還可能允許在文件開始的地方包含表格或各字段的元數據,或者將其作為各表格或元素的屬性。注意這里所說的“表格”是泛指的表格。當將數據從數據庫中轉到XML文件時,“表格”可以是任何結果集,反之,“表格”可以是普通的表格或可更新的視圖。

基于表格的映射對存取關系型數據比較適用,比如在兩個關系型數據庫之間轉換數據。其明顯不足就是不適于格式不符的XML文件。

2、對象-關系映射 (Object-Relational Mapping)

所有支持XML的關系型數據庫和某些中間件都可以使用對象-關系的映射方式。它將XML文件中的數據視為特定的對象樹的模型。在這個模型中,元素及其類型、元素內容或混合內容(復合元素類型)通常被視為類。只具有PCDATA內容的元素(簡單元素類型)、屬性以及PCDATA都被當作簡單屬性。然后通過傳統的對象-關系映射技術或 SQL 3的對象視圖將該模型映射到關系型數據庫。也就是說,類被映射到表格,簡單屬性被映射到字段,而值為對象屬性被映射為成對的主鍵/外鍵(primary key/foreign key)。

在理解這種映射所用的對象模型的時候要知道,這個對象模型不是文件對象模型(DOM)。所有XML文件的DOM都是一樣的,而上述描述文件數據的模型對于每個DTD所定義的XML文件都不一樣,例如,上述銷售訂單的模型是一個由四個類所組成的對象樹--SalesOrder, Customer, Item, 和Part, 如下圖所示:

模型中的對象是否被實例化要取決于所用的軟件。有些軟件允許依據模型產生類,然后可以在程序中使用由這些類所產生的對象。在這些產品中,數據是在XML文件 - 對象 -數據庫之間傳遞的。其他產品是直接在XML文件和數據庫之間進行數據轉換的,對象只是作為這種過程的可視化幫助工具。生成這些中間對象是否有用完全取決于你的應用程序。

二、將XML數據轉化為ORACLE數據庫數據

為了解決把 XML 有效地、自動地轉換出入關系數據庫的問題有各種方式。數據庫廠商Oracle已經開發了轉換 XML 到數據庫表中的輔助工具。Oracle XML SQL Utility 把 XML 文檔元素建模為一組嵌套的表。通過使用 Oracle 對象數據類型建模套入的元素。"SQL-to-XML"轉換使用被對象數據類型引用的表,和嵌套的元素之間的一到一關聯來構造 XML 文檔。"XML-to-SQL"可能要求數據模型的改進(從關系轉換到對象-關系)或重新構造最初的 XML 文檔。

使用 OracleXMLSave 來存儲XML 文檔到對象關系模型中;insertXML 方法進行實際的數據插入。

import java.sql.*;

import oracle.xml.sql.dml.OracleXMLSave;

public class testXMLInsert

{

public static void main(String args[])

throws SQLException

{ Connection conn = getConnection("yly", "yly");

OracleXMLSave sav = new OracleXMLSave(conn, "yly. FXTRADE");

// Assume that the user passes in this document as 0-arg

sav.insertXML(args[0]);

sav.close();

}

...

}

如果 XML 和在數據庫中的對象-關系模型是同步的則一切正常,但是如果不同呢? 在這種情況下你有兩種選擇。

亚洲精品一二三区-久久