《數(shù)據(jù)庫應(yīng)用技術(shù)-PowerBuilder應(yīng)用系統(tǒng)開發(fā)》全套電子課件完整版ppt整本書電子教案最全_第1頁
《數(shù)據(jù)庫應(yīng)用技術(shù)-PowerBuilder應(yīng)用系統(tǒng)開發(fā)》全套電子課件完整版ppt整本書電子教案最全_第2頁
《數(shù)據(jù)庫應(yīng)用技術(shù)-PowerBuilder應(yīng)用系統(tǒng)開發(fā)》全套電子課件完整版ppt整本書電子教案最全_第3頁
《數(shù)據(jù)庫應(yīng)用技術(shù)-PowerBuilder應(yīng)用系統(tǒng)開發(fā)》全套電子課件完整版ppt整本書電子教案最全_第4頁
《數(shù)據(jù)庫應(yīng)用技術(shù)-PowerBuilder應(yīng)用系統(tǒng)開發(fā)》全套電子課件完整版ppt整本書電子教案最全_第5頁
已閱讀5頁,還剩478頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、21世紀(jì)高等院校計(jì)算機(jī)系列教材數(shù)據(jù)庫應(yīng)用技術(shù)PowerBuilder應(yīng)用系統(tǒng)開發(fā) 第1章 數(shù)據(jù)庫系統(tǒng)概述 本章要點(diǎn):數(shù)據(jù)庫系統(tǒng)相關(guān)概念數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫應(yīng)用系統(tǒng)體系結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟家庭理財(cái)管理信息系統(tǒng)的開發(fā)實(shí)例 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念 1.1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念1. 數(shù)據(jù) 所謂數(shù)據(jù),是指通過有意義地符號集合來反映或描述現(xiàn)實(shí)世界中某種實(shí)體的特征,可以記錄、傳遞以及被識別的非隨機(jī)符號的集合。 數(shù)據(jù)概念的兩個(gè)方面: 通過符號集合來對實(shí)體特征進(jìn)行反映或描述; 數(shù)據(jù)要用具體的載體來記錄和表示。 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念2. 信息 信息是反映客觀世界中各種事物的特征和變化并可借某種載體加

2、以傳遞的有用知識。 信息是: 消化理解了的數(shù)據(jù) 對客觀世界的認(rèn)識 經(jīng)過加工了的數(shù)據(jù) 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念3. 數(shù)據(jù)處理數(shù)據(jù)是獨(dú)立的、尚未組織的事實(shí)集合信息是經(jīng)過加工處理后的數(shù)據(jù)數(shù)據(jù)處理就是將數(shù)據(jù)加工處理或轉(zhuǎn)換成信息的過程 數(shù)據(jù)與信息的關(guān)系如上圖數(shù)據(jù)收集(原材料)信息(成品)數(shù)據(jù)處理(生產(chǎn)過程)存儲 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念4. 信息系統(tǒng) 信息系統(tǒng)是指為了某些明確的目的而建立的,由人員、設(shè)備、程序和數(shù)據(jù)集合構(gòu)成的統(tǒng)一整體。 信息系統(tǒng)可分為: 面向外部實(shí)現(xiàn)對外信息服務(wù)的開放式信息系統(tǒng) 面向內(nèi)部業(yè)務(wù)和管理的管理信息系統(tǒng)1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念1.1.2 信息組織方式文件方式數(shù)據(jù)庫方式主題樹

3、方式超媒體方式 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念1.1.3 計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展1人工管理階段數(shù)據(jù)與程序不具有獨(dú)立性,程序完全依賴于數(shù)據(jù)數(shù)據(jù)不能長期保存數(shù)據(jù)基本無共享,數(shù)據(jù)冗余度極大應(yīng)用程序直接管理數(shù)據(jù),沒有專門的數(shù)據(jù)管理軟件 用戶1應(yīng)用程序1數(shù)據(jù)文件1用戶2應(yīng)用程序2數(shù)據(jù)文件2用戶3應(yīng)用程序3數(shù)據(jù)文件3人工管理階段數(shù)據(jù)與程序的關(guān)系 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念2文件系統(tǒng)階段 程序和數(shù)據(jù)分開存儲 數(shù)據(jù)可以長期保存 數(shù)據(jù)獨(dú)立性差,冗余度仍然很大 由文件系統(tǒng)對數(shù)據(jù)進(jìn)行管理應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n。物理文件1物理文件2物理文件n。文件系統(tǒng)文件系統(tǒng)階段數(shù)據(jù)與程序的關(guān)系 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念3數(shù)據(jù)庫

4、系統(tǒng)階段 數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,實(shí)現(xiàn)了數(shù)據(jù)共享 整個(gè)組織的數(shù)據(jù)有特定的數(shù)據(jù)模型來進(jìn)行存儲 數(shù)據(jù)庫管理系統(tǒng)(DBMS)提供映象的功能多個(gè)用戶可以使用同一個(gè)數(shù)據(jù)庫,數(shù)據(jù)控制功能統(tǒng)一用戶1應(yīng)用程序1用戶2應(yīng)用程序2用戶n應(yīng)用程序n。數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫DB數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)與程序的關(guān)系 1.1 數(shù)據(jù)庫系統(tǒng)相關(guān)概念4分布式數(shù)據(jù)庫系統(tǒng)階段分布式系統(tǒng)具有高度透明性數(shù)據(jù)的局部處理與集中控制相結(jié)合只要有一個(gè)節(jié)點(diǎn)上的數(shù)據(jù)備份可用,整個(gè)系統(tǒng)就不會停頓或破壞。分布式系統(tǒng)分散了工作負(fù)荷,提高處理效率,易實(shí)現(xiàn)擴(kuò)展計(jì)算機(jī)1計(jì)算機(jī)2計(jì)算機(jī)nDB1DBnDB2通信網(wǎng)絡(luò)分布式數(shù)據(jù)庫系統(tǒng) 1.2 數(shù)據(jù)庫技術(shù)1.2.1 數(shù)

5、據(jù)庫技術(shù)概述1數(shù)據(jù)庫系統(tǒng)的特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充 數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由DBMS統(tǒng)一管理和控制 1.2 數(shù)據(jù)庫技術(shù)2數(shù)據(jù)庫系統(tǒng)的組成 硬件系統(tǒng) 數(shù)據(jù)庫集合系統(tǒng)軟件數(shù)據(jù)庫管理員用戶1.2 數(shù)據(jù)庫技術(shù)3DBMS的主要功能 DBMS(Database Management System),數(shù)據(jù)庫管理系統(tǒng),方便用戶使用數(shù)據(jù)資源,實(shí)現(xiàn)數(shù)據(jù)共享,提高數(shù)據(jù)的安全性、完整性和可用性。.操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)應(yīng)用程序數(shù)據(jù)庫數(shù)據(jù)字典用戶1.2 數(shù)據(jù)庫技術(shù)主要功能:數(shù)據(jù)庫定義功能數(shù)據(jù)操縱功能數(shù)據(jù)庫運(yùn)行管理數(shù)據(jù)字典數(shù)據(jù)庫的建立與維護(hù)功能 1.2 數(shù)據(jù)庫技術(shù)1.2.2 數(shù)據(jù)模型1三個(gè)世界 現(xiàn)實(shí)世界

6、:就是我們的自然世界,客觀存在著事物以及事物之間的聯(lián)系。概念世界:也稱信息世界,是現(xiàn)實(shí)世界在人腦中的反映,是對客觀事物及其關(guān)系的一種抽象描述。機(jī)器世界:通過一定的數(shù)據(jù)模型,將概念世界中的事物數(shù)據(jù)化的表現(xiàn)在機(jī)器中,讓計(jì)算機(jī)能夠進(jìn)行處理。1.2 數(shù)據(jù)庫技術(shù)三個(gè)世界的轉(zhuǎn)換關(guān)系客觀 事物類:事物 相關(guān)性質(zhì)集合人實(shí)體 實(shí)體集合及 實(shí)體聯(lián)系 相關(guān)屬性集合 加工、轉(zhuǎn)換數(shù) 文件據(jù) 記錄庫 相關(guān)數(shù)據(jù)項(xiàng)集合加工轉(zhuǎn)換存儲 二進(jìn)制數(shù)據(jù)集合結(jié)構(gòu)機(jī)器世界DBMS機(jī)器世界DBMS的數(shù)據(jù)模型現(xiàn)實(shí)世界認(rèn)識選擇描述概念世界1.2 數(shù)據(jù)庫技術(shù)概念世界中需要了解的幾個(gè)術(shù)語:實(shí)體(Entity)和實(shí)體集(Entity Set) 客觀存

7、在并可相互區(qū)分的事物稱為實(shí)體。例如,一個(gè)學(xué)生,一門課程,一所學(xué)校,學(xué)生的一次選課等,都可以稱作實(shí)體。 同型實(shí)體的集合稱為實(shí)體集。例如,全體學(xué)生就是一個(gè)實(shí)體集。屬性(Attribute) 用來描述實(shí)體所具有的特性,可以包含若干條屬性。屬性的具體取值稱為屬性值,屬性值組合起來就表示了具體的一個(gè)實(shí)體。1.2 數(shù)據(jù)庫技術(shù)碼(Key) 碼也稱關(guān)鍵字,是用來唯一標(biāo)識實(shí)體的屬性集。可以是一個(gè)屬性,也可以是一組屬性的組合,但是這(組)屬性要能唯一標(biāo)識該實(shí)體。 域(Domain) 某個(gè)(些)屬性的取值范圍稱為該屬性的域。 實(shí)體型(Entity type) 用實(shí)體名及屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。1

8、.2 數(shù)據(jù)庫技術(shù)聯(lián)系(Relationship) 萬事萬物彼此間存在的某種聯(lián)系,這里主要討論實(shí)體間的三類聯(lián)系。一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多聯(lián)系(m:n) 注意此處表示的聯(lián)系都是指在實(shí)體集A中的每個(gè)實(shí)體與實(shí)體集B中的一個(gè)或多個(gè)實(shí)體之間的關(guān)系,不要將個(gè)別實(shí)體從實(shí)體集中孤立出來。1.2 數(shù)據(jù)庫技術(shù)2數(shù)據(jù)模型的三要素 數(shù)據(jù)結(jié)構(gòu) 所研究對象類型(Object type)的集合。數(shù)據(jù)操作 對數(shù)據(jù)庫中各種對象的實(shí)例允許執(zhí)行的操作的集合 ,如插入、刪除、修改等。數(shù)據(jù)的約束條件 完整性規(guī)則的集合。所謂完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則。1.2 數(shù)據(jù)庫技術(shù)3數(shù)據(jù)模型

9、概念模型 用于概念世界的建模,是現(xiàn)實(shí)世界到概念世界的第一層抽象,常用ER模型(實(shí)體聯(lián)系模型)來描述。ER圖的三個(gè)基本要素:實(shí)體(型):屬性:實(shí)體之間的聯(lián)系:一對一聯(lián)系一對多聯(lián)系多對多聯(lián)系實(shí)體集屬性聯(lián)系集1.2 數(shù)據(jù)庫技術(shù)ER圖實(shí)例圖書作者寫作出版社類別頁數(shù)ISBN書名姓名出生地身份證號定稿時(shí)間價(jià)格包含實(shí)體集“圖書”和“作者”的ER圖1.2 數(shù)據(jù)庫技術(shù)3數(shù)據(jù)模型 數(shù)據(jù)模型 將概念模型中的實(shí)體及實(shí)體間的聯(lián)系進(jìn)一步轉(zhuǎn)換成計(jì)算機(jī)所支持的數(shù)據(jù)模型后,計(jì)算機(jī)才能使用。主要的數(shù)據(jù)模型包括:層次模型(Hierachical Model) 網(wǎng)狀模型(Network Model) 關(guān)系模型(Relational

10、Model) 1.2 數(shù)據(jù)庫技術(shù)層次模型(Hierachical Model) 用樹形結(jié)構(gòu)來表示實(shí)體與實(shí)體之間的聯(lián)系,數(shù)據(jù)由“根”開始,每個(gè)實(shí)體沿著不同的分支放在不同的層次上,分支序列中最后的結(jié)點(diǎn)稱為“葉”。R1R2R3R4R5根葉層次模型結(jié)構(gòu)1.2 數(shù)據(jù)庫技術(shù)網(wǎng)狀模型(Network Model) 用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系的模型,它允許結(jié)點(diǎn)有多于一個(gè)的父結(jié)點(diǎn);也可以有結(jié)點(diǎn)沒有父結(jié)點(diǎn)。課程學(xué)生選修網(wǎng)狀模型結(jié)構(gòu)1.2 數(shù)據(jù)庫技術(shù)關(guān)系模型(Relational Model) 以二維表格的形式來表示實(shí)體以及實(shí)體之間的聯(lián)系。關(guān)系(Relation):一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。

11、元組:表中的行,一行記錄就是一個(gè)元組。屬性:表中的列,每一列有一個(gè)屬性名。域:屬性限定的取值范圍。關(guān)鍵字:屬性或?qū)傩缘慕M合,能夠唯一標(biāo)識一個(gè)元組。關(guān)系模式:對關(guān)系的描述,格式為:關(guān)系名(屬性名1,屬性名2,屬性名n)。作者名張紅李銘陳林身份證420103197511033121出生地湖北荊門湖北武漢湖北恩施1.2 數(shù)據(jù)庫技術(shù)三個(gè)不同世界術(shù)語比較: 現(xiàn)實(shí)世界 概念世界 機(jī)器世界組織(事物及其聯(lián)系) 實(shí)體及其聯(lián)系 數(shù)據(jù)庫(概念模型)事物類(總體) 實(shí)體集 文件事物(對象、個(gè)體) 實(shí)體 記錄特征(性質(zhì)) 屬性 數(shù)據(jù)項(xiàng)實(shí)體

12、及其聯(lián)系概念模型ER圖1.2 數(shù)據(jù)庫技術(shù)1.2.3 數(shù)據(jù)庫數(shù)據(jù)查詢標(biāo)準(zhǔn)語言SQL SQL(Structured Query Language),結(jié)構(gòu)化查詢語言,實(shí)際包括查詢、定義、操縱和控制四個(gè)部分,是一種功能齊全的數(shù)據(jù)庫語言。數(shù)據(jù)定義是指對關(guān)系模式一級的定義;數(shù)據(jù)操縱是指對關(guān)系中的具體數(shù)據(jù)進(jìn)行增、刪、改和更新等操作;數(shù)據(jù)控制是指對數(shù)據(jù)訪問權(quán)限的授予或撤銷。1.2 數(shù)據(jù)庫技術(shù) SQL的主要特點(diǎn)是: SQL是功能齊全的一體化數(shù)據(jù)語言,能實(shí)現(xiàn)生命周期中的所有活動。 SQL是基于關(guān)系代數(shù)與關(guān)系演算的非過程化語言,使用方便。 SQL使用兩種方式進(jìn)行程序編寫:自含式和嵌入式。 SQL具有完善的故障恢復(fù)功

13、能。 SQL具有靈活分散的授權(quán)方式。1.2 數(shù)據(jù)庫技術(shù) SQL語言的命令一般分為4類: 查詢語言 SELECT:查詢數(shù)據(jù)。 數(shù)據(jù)操縱語言DML(Data Manipulation Language)INSERT:插入數(shù)據(jù)。 UPDATE:更新數(shù)據(jù)。 DELETE:刪除數(shù)據(jù)。 數(shù)據(jù)定義語言DDL(Data Definition Language)CREATE:創(chuàng)建新的數(shù)據(jù)庫對象。ALTER:更新已有數(shù)據(jù)對象的定義。DROP:刪除已經(jīng)存在的數(shù)據(jù)對象。1.2 數(shù)據(jù)庫技術(shù)數(shù)據(jù)控制語言DCL(Data Control Language)GRANT:授予權(quán)限。REVOKE:收回權(quán)限。COMMIT:提交事務(wù)

14、。ROLLBACK:回滾事務(wù)。1.3 數(shù)據(jù)庫應(yīng)用系統(tǒng)體系結(jié)構(gòu)1.3.1 兩層C/S結(jié)構(gòu) C/S(Client/Server)結(jié)構(gòu),即客戶機(jī)與服務(wù)器結(jié)構(gòu),客戶端與服務(wù)器端通過網(wǎng)絡(luò)進(jìn)行通訊,將任務(wù)合理分配到客戶端(Client)和服務(wù)器端(Server)來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。兩層C/S結(jié)構(gòu)模型示意圖1.3 數(shù)據(jù)庫應(yīng)用系統(tǒng)體系結(jié)構(gòu)C/S結(jié)構(gòu)工作特點(diǎn):后端數(shù)據(jù)庫負(fù)責(zé)完成大量的數(shù)據(jù)處理任務(wù),如在查詢整個(gè)數(shù)據(jù)庫時(shí)并不返回每條記錄的結(jié)果,而只在查找結(jié)束后返回最終結(jié)果;如果包含數(shù)據(jù)庫應(yīng)用程序的客戶機(jī)工作站在處理數(shù)據(jù)庫事務(wù)(如添加或刪除一條記錄)時(shí)失敗,服務(wù)器為了維護(hù)數(shù)據(jù)庫完整性,將自動重新執(zhí)行這個(gè)事務(wù)

15、。1.3 數(shù)據(jù)庫應(yīng)用系統(tǒng)體系結(jié)構(gòu)1.3.2 多層分布式結(jié)構(gòu) 多層分布式結(jié)構(gòu)通過劃分客戶端與服務(wù)器端各自的功能,將用戶界面從企業(yè)邏輯中分離出來。在客戶/服務(wù)器應(yīng)用程序之間,添加一個(gè)或多個(gè)中間層,用來處理客戶和服務(wù)器進(jìn)程以外的其他進(jìn)程。用戶可以通過少量幾個(gè)長期打開的連接對數(shù)據(jù)庫服務(wù)器進(jìn)行訪問。在某一個(gè)服務(wù)器停機(jī)的情況下,公共連接對象可以很容易將用戶從停機(jī)的數(shù)據(jù)庫服務(wù)器切換到另一臺運(yùn)行正常的服務(wù)器上。這種結(jié)構(gòu)大大降低了客戶端的負(fù)載,同時(shí)加強(qiáng)了數(shù)據(jù)訪問的安全性。含一個(gè)或多個(gè)中間層的多層分布式結(jié)構(gòu)模型示意圖1.3 數(shù)據(jù)庫應(yīng)用系統(tǒng)體系結(jié)構(gòu)多層分布式模式的優(yōu)點(diǎn)是: 安全性:中間層隔離了客戶直接對數(shù)據(jù)服務(wù)器的

16、訪問,保護(hù)了數(shù)據(jù)庫的安全;穩(wěn)定性:1、中間層緩沖Client與數(shù)據(jù)庫的實(shí)際連接,減少了實(shí)際連接數(shù)量,使系統(tǒng)穩(wěn)定。2、故障恢復(fù)機(jī)制能自動地把客戶端工作從當(dāng)機(jī)的服務(wù)器上轉(zhuǎn)移到其他具有同樣業(yè)務(wù)功能的正常服務(wù)器上。易維護(hù):業(yè)務(wù)規(guī)則變化時(shí),客戶端程序基本不做改動; 快速響應(yīng):通過負(fù)載均衡以及中間層緩存數(shù)據(jù)能力,可以提高對客戶端的響應(yīng)速度; 系統(tǒng)擴(kuò)展靈活:當(dāng)業(yè)務(wù)增大時(shí),可以在中間層部署更多的應(yīng)用服務(wù)器,提高對客戶端的響應(yīng)。1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟總的來說,需要以下幾個(gè)具體步驟:需求分析數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)應(yīng)用程序功能設(shè)計(jì)調(diào)試與功能測試數(shù)據(jù)庫的實(shí)施與維護(hù)1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟1.4.1 需求分析 回

17、答了所開發(fā)的數(shù)據(jù)庫應(yīng)用程序需要做什么,要完成哪些功能等問題,是開發(fā)整個(gè)數(shù)據(jù)庫應(yīng)用程序的基礎(chǔ)。 收集資料 收集資料工作由數(shù)據(jù)庫設(shè)計(jì)人員和用戶共同完成。用戶需求主要包括以下幾個(gè)方面:信息需求,用戶要從數(shù)據(jù)庫獲得的信息內(nèi)容處理需求,即完成什么處理功能及處理的方式安全性和完整性要求1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟 分析整理分析的過程是對所收集到的數(shù)據(jù)進(jìn)行抽象的過程。 數(shù)據(jù)流圖 來描述系統(tǒng)的數(shù)據(jù)流向和對數(shù)據(jù)的處理功能 數(shù)據(jù)字典數(shù)據(jù)元素的名稱、同義詞、性質(zhì)、取值范圍、提供者(來源)、使用者(去向)、控制權(quán)限、保密要求、使用頻率。數(shù)據(jù)量。數(shù)據(jù)之間聯(lián)系的語義說明。各個(gè)部門對數(shù)據(jù)的要求及數(shù)據(jù)處理要求。 用戶確認(rèn)

18、1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟1.4.2 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)又稱概念結(jié)構(gòu)設(shè)計(jì),通常用ER圖來描述。具體分4個(gè)步驟:基本ER模型的形成設(shè)計(jì)局部ER圖綜合成初步ER圖優(yōu)化ER圖 1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟1.4.3 應(yīng)用程序功能設(shè)計(jì) 應(yīng)用程序功能設(shè)計(jì)的最終結(jié)果就是功能結(jié)構(gòu)圖。 學(xué)校教務(wù)管理學(xué)籍管理教學(xué)管理成績管理學(xué)位管理畢業(yè)管理系統(tǒng)維護(hù)教學(xué)管理 學(xué)校教務(wù)管理系統(tǒng)功能結(jié)構(gòu)圖1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟1.調(diào)試與功能測試 測試的目的 以找出錯(cuò)誤為目的,精心挑選出那些易發(fā)現(xiàn)錯(cuò)誤的測試數(shù)據(jù),以十分挑剔的態(tài)度,尋找程序的錯(cuò)誤 測試的工作原則避免由原開發(fā)軟件的個(gè)人或小組來承擔(dān)。設(shè)計(jì)測試用例更

19、要包括無效的或不合理的輸入數(shù)據(jù)。檢查程序是否漏了該做的事情和是否多做了不該做的事情。保留測試用例,以便于重新測試和追加測試。多種測試方法相結(jié)合,以便盡可能查出更多的錯(cuò)誤。1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟測試的主要步驟 一般按照“自底向上”的原則按模塊測試、子系統(tǒng)測試、系統(tǒng)總測試三個(gè)階段來進(jìn)行測試。 模塊測試 代碼走查上機(jī)測試子系統(tǒng)測試 它把經(jīng)過測試的模塊放在一起形成的一個(gè)子系統(tǒng)來測試。 系統(tǒng)總體測試 也稱為系統(tǒng)總體測試,將測試的若干子系統(tǒng)組裝在一起來測試,用以發(fā)現(xiàn)系統(tǒng)設(shè)計(jì)和程序設(shè)計(jì)中的錯(cuò)誤,驗(yàn)證系統(tǒng)的功能是否達(dá)到了設(shè)計(jì)說明書的要求。 1.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)步驟2. 數(shù)據(jù)庫的實(shí)施與維護(hù) 數(shù)據(jù)庫

20、加載 裝入數(shù)據(jù)對程序進(jìn)行調(diào)試,通常先采用試驗(yàn)數(shù)據(jù),以確定其功能和性能是否滿足設(shè)計(jì)要求,然后裝入實(shí)際數(shù)據(jù)。 數(shù)據(jù)庫維護(hù)維護(hù)數(shù)據(jù)庫的安全性和完整性時(shí)常監(jiān)督系統(tǒng)的安全性,及時(shí)調(diào)整授權(quán)和密碼檢測數(shù)據(jù)庫并改善其性能經(jīng)常對數(shù)據(jù)庫的存儲空間狀況以及響應(yīng)時(shí)間進(jìn)行分析,并結(jié)合用戶的需要確定改進(jìn)措施必要時(shí)對數(shù)據(jù)庫進(jìn)行重新組織 1.5家庭理財(cái)管理信息系統(tǒng)的開發(fā)實(shí)例以PowerBuilder開發(fā)的“家庭理財(cái)信息系統(tǒng)”為例,來了解數(shù)據(jù)庫應(yīng)用程序開發(fā)的一般步驟: 需求分析 模塊功能劃分和功能概要實(shí)現(xiàn) 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn) 利用PB進(jìn)行功能實(shí)現(xiàn) 創(chuàng)建工作區(qū) 創(chuàng)建應(yīng)用程序,并連接數(shù)據(jù)庫 為每個(gè)功能模塊設(shè)計(jì)窗口,窗口控件,設(shè)置屬性

21、,編寫事件處理腳本,調(diào)試各功能模塊。 創(chuàng)建MDI窗口及其菜單,用菜單將各功能模塊連接起來,調(diào)試。 發(fā)布應(yīng)用程序1.5家庭理財(cái)管理信息系統(tǒng)的開發(fā)實(shí)例1.5.1 需求分析 “家庭理財(cái)信息系統(tǒng)”是一個(gè)適用于普通家庭理財(cái)?shù)男⌒拖到y(tǒng),主要完成家庭的帳戶管理、日常收支記載,對日常收支記錄的統(tǒng)計(jì)分析和查詢功能。 帳戶:家庭理財(cái)管理的基本單位銀行帳戶投資帳戶現(xiàn)金帳戶債務(wù)帳戶 收支項(xiàng)目:大致上記錄了收入和支出的原因 1.5家庭理財(cái)管理信息系統(tǒng)的開發(fā)實(shí)例1.5.2 功能模塊概要設(shè)計(jì) 功能模塊可分為以下幾個(gè):基本信息管理模塊:包括帳戶管理、收支項(xiàng)目管理、家庭成員管理等。能進(jìn)行新增、刪除、修改和檢索基本信息等操作。收

22、支管理模塊:用于對帳戶進(jìn)行操作,包括收入、支出、轉(zhuǎn)帳和收支記錄調(diào)整等功能的實(shí)現(xiàn)。收入:一定原因下的增加帳戶的余額;支出:一定原因下的減少帳戶的余額;轉(zhuǎn)帳:將資金從一個(gè)帳戶轉(zhuǎn)到另一個(gè)帳戶;收支記錄的調(diào)整:對于以上發(fā)生的帳戶操作記錄的發(fā)生額進(jìn)行調(diào)整查詢與統(tǒng)計(jì)模塊:主要完成一些統(tǒng)計(jì)報(bào)表的功能。1.5家庭理財(cái)管理信息系統(tǒng)的開發(fā)實(shí)例1.5.3 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn) 數(shù)據(jù)庫的表結(jié)構(gòu)設(shè)計(jì)可以通過ER圖實(shí)現(xiàn),下面是數(shù)據(jù)庫的關(guān)系模型: member表(身份證號碼,姓名,性別,生日,聯(lián)系方式,工作單位,部門),記錄家庭成員基本信息。 szxm表(項(xiàng)目編號,項(xiàng)目名稱,類型,輔助說明信息),記錄家庭的常用收支項(xiàng)目。 zh

23、h表(帳戶編號,帳戶名稱,開戶日期,開戶金額,余額),用于記錄家庭中所有的帳戶信息。 szrec表(記錄編號,發(fā)生日期,帳戶,前期余額,收支類型,收支項(xiàng)目,發(fā)生金額,所剩余額,經(jīng)手人,輔助說明信息),用于記錄各個(gè)帳戶上發(fā)生的所有業(yè)務(wù)。1.5.4 程序?qū)崿F(xiàn) 第2章 數(shù)據(jù)庫應(yīng)用系統(tǒng)環(huán)境介紹本章要點(diǎn):后臺數(shù)據(jù)庫介紹前臺開發(fā)工具介紹2.1 后臺數(shù)據(jù)庫介紹2.1.1 SQL Server概述 SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng) SQL Server2000的版本主要包括:企業(yè)版開發(fā)版標(biāo)準(zhǔn)版?zhèn)€人版評估版 2.1 后臺數(shù)據(jù)庫介紹SQL Server2000的主要組件 服務(wù)器組件SQL Serve

24、r引擎SQL Server代理分布式事務(wù)處理協(xié)調(diào)器Microsoft搜索服務(wù) 客戶組件服務(wù)管理器企業(yè)管理器查詢分析器命令行實(shí)用工具SQL聯(lián)機(jī)叢書 2.1 后臺數(shù)據(jù)庫介紹2.1.2 SQL Server支持的數(shù)據(jù)類型 二進(jìn)制數(shù)據(jù)Binary:固定長度的二進(jìn)制數(shù)據(jù)類型;Varbinary:變長的二進(jìn)制數(shù)據(jù)類型,根據(jù)數(shù)據(jù)的實(shí)際長度進(jìn)行存儲,以節(jié)省存儲空間;Image:存儲超過8KB的可變長度的二進(jìn)制數(shù)據(jù)。字符數(shù)據(jù)Char:固定長度的字符數(shù)據(jù)類型;Varchar:變長的字符數(shù)據(jù)類型,根據(jù)數(shù)據(jù)的實(shí)際長度進(jìn)行存儲,以節(jié)省存儲空間;Text:存儲超過8KB的ASCII字符。2.1 后臺數(shù)據(jù)庫介紹 Unico

25、de數(shù)據(jù) Nchar:固定長度Unicode數(shù)據(jù)的數(shù)據(jù)類型; Nvarchar:可變長度Unicode數(shù)據(jù)的數(shù)據(jù)類型,同樣按照數(shù)據(jù)的實(shí)際長度來進(jìn)行存儲,以節(jié)省存儲空間;Ntext:存儲超過4KB的可變長度Unicode數(shù)據(jù)。 日期和時(shí)間數(shù)據(jù) Datetime:使用4個(gè)字節(jié)存放日期數(shù)據(jù),4個(gè)字節(jié)存放時(shí)間數(shù)據(jù)。表示的日期范圍是從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù)。Smalldatetime:使用2個(gè)字節(jié)存放日期數(shù)據(jù),2個(gè)字節(jié)存放時(shí)間數(shù)據(jù)。表示的日期范圍是從1900年1月1日到2079年6月6日的日期和時(shí)間。2.1 后臺數(shù)據(jù)庫介紹 整型數(shù)據(jù) Bigint:使用8個(gè)字節(jié)保存數(shù)值

26、很大的整型數(shù)據(jù);Int:使用4個(gè)字節(jié)保存數(shù)值較大的整型數(shù)據(jù);Smallint:使用2個(gè)字節(jié)保存數(shù)值較小的整型數(shù)據(jù);Tinyint:使用1個(gè)字節(jié)保存0255范圍內(nèi)的整型數(shù)據(jù); 小數(shù)數(shù)據(jù) Decimal:Decimal有兩個(gè)參數(shù),第一個(gè)參數(shù)表示定點(diǎn)精度,第二個(gè)參數(shù)表示小數(shù)的位數(shù)。Numeric:與Decimal數(shù)據(jù)類型的存儲空間和使用方法相同。2.1 后臺數(shù)據(jù)庫介紹 浮點(diǎn)型數(shù)據(jù)Float(n):n的取值范圍表示了存儲大小和精度。n在124之間時(shí),就是一個(gè)real型數(shù)據(jù),在2553之間時(shí),存儲長度為8字節(jié),精度為15位有效數(shù)字。 Real:使用4字節(jié)存儲數(shù)據(jù),數(shù)據(jù)精度為7位有效數(shù)字。 貨幣數(shù)據(jù) Mo

27、ney:使用8個(gè)字節(jié)表示貨幣值;Smallmoney:使用4個(gè)字節(jié)表示貨幣值。參數(shù)、變量或表達(dá)式等系統(tǒng)函數(shù)名2.1 后臺數(shù)據(jù)庫介紹2.1.3 SQL Server提供的系統(tǒng)函數(shù) SQL Server提供的全局變量函數(shù)和系統(tǒng)函數(shù)能對SQL Server服務(wù)器和數(shù)據(jù)庫對象進(jìn)行操作,同時(shí)返回服務(wù)器配置和數(shù)據(jù)庫對象數(shù)值等信息。使用系統(tǒng)函數(shù)的一般形式為: systemfunc (expression)全局變量函數(shù)以兩個(gè)字符開頭,一般形式為: systemfunc2.1 后臺數(shù)據(jù)庫介紹2.1.4 T-SQL介紹 T-SQL(Transact-SQL)是SQL Server的編程語言,是結(jié)構(gòu)化查詢語言(SQ

28、L)的增強(qiáng),不僅對SQL標(biāo)準(zhǔn)提供了支持,同時(shí)也包含了Microsoft對SQL的一系列擴(kuò)展。 T-SQL命令可以進(jìn)行如下分類:數(shù)據(jù)定義語言(DDL):用于執(zhí)行數(shù)據(jù)庫的任務(wù),對數(shù)據(jù)庫以及數(shù)據(jù)庫中的各種對象進(jìn)行創(chuàng)建、刪除、修改等操作。數(shù)據(jù)操縱語言(DML):用于操縱數(shù)據(jù)庫中各種對象,檢索和修改數(shù)據(jù)。數(shù)據(jù)控制語言(DCL):用于安全管理,確定哪些用戶可以查看或修改數(shù)據(jù)庫中的數(shù)據(jù)。2.2 前臺開發(fā)工具介紹 2.2.1 PowerBuilder 9.0的基本介紹 PowerBuilder是一種優(yōu)秀的企業(yè)級數(shù)據(jù)庫前端應(yīng)用和多層體系結(jié)構(gòu)開發(fā)工具,具有集成開發(fā)環(huán)境、用戶界面、數(shù)據(jù)窗口技術(shù)及數(shù)據(jù)庫訪問能力。 事

29、件編程 事件編程(Event Programming)是指對某一事件進(jìn)行編程,通過事件驅(qū)動對事件做出應(yīng)答。 PowerBuilder編程就是寫事件腳本。比如,如果單擊一個(gè)工具條按鈕,一個(gè)事件中的某個(gè)PowerScript代碼就會被執(zhí)行。2.2 前臺開發(fā)工具介紹 PowerBuilder的基本特點(diǎn) 采用事件驅(qū)動工作方式提供幾百個(gè)功能強(qiáng)大的系統(tǒng)函數(shù)供用戶直接調(diào)用 采用了獨(dú)一無二的數(shù)據(jù)窗口技術(shù) 對目前幾乎所有的流行大型數(shù)據(jù)庫系統(tǒng)和桌面數(shù)據(jù)庫系統(tǒng)提供支持 同EAServer(Enterprise Application Server,企業(yè)應(yīng)用服務(wù)器)緊密結(jié)合 2.2 前臺開發(fā)工具介紹 2.2.2 Po

30、werBuilder 9.0 環(huán)境 2.2 前臺開發(fā)工具介紹 系統(tǒng)樹 類似于Windows的資源管理器,提供了編程活動資源。工作區(qū)(Workspace) 顯示當(dāng)前的工作區(qū)、目標(biāo)、文件夾、文件和庫等內(nèi)容頁(Page) 顯示在HTML編輯器中打開的活動頁的頁構(gòu)件語言(Language) 顯示HTML標(biāo)簽、客戶端和服務(wù)器端對象模型,以及JavaScript,DynaScript,VBScript語法元素。 組件(components) 顯示對目標(biāo)可用的ActiveX控件、插件、JavaApplet、JavaBean、EAServer主機(jī)、JSP自定義標(biāo)簽庫。 2.2 前臺開發(fā)工具介紹 剪貼窗口和輸出

31、窗口剪貼窗口用來存儲用戶經(jīng)常使用的代碼片斷,需要時(shí)可直接從剪貼窗口中拷貝和拖曳到當(dāng)前的目標(biāo)位置即可。輸出窗口顯示當(dāng)前操作的相關(guān)操作信息,如移動、創(chuàng)建、部署、項(xiàng)目執(zhí)行、對象保存、搜索等操作的執(zhí)行情況。 工具欄 主工具欄(PowerBar)主工具欄可以在任何畫板中使用,其名稱可稱為PowerBar1畫板工具欄(ToolBar) 畫板工具欄:編輯修改PowerBuilder對象,對應(yīng)名稱為PainterBar1、PainterBar2等等樣式工具欄:主要用于設(shè)置對象布局,其名稱為StyleBar2.2 前臺開發(fā)工具介紹 菜單欄 提供了PowerBuilder中集成開發(fā)環(huán)境和畫筆中常用的命令,菜單的內(nèi)

32、容隨打開的具體對象有關(guān)。 簡單介紹在沒有打開任何畫筆的情況下菜單的組成 :File菜單,主要是對文件的操作 New:新建工作區(qū)、目標(biāo)、數(shù)據(jù)窗口、對象、工程等Inherit:通過繼承的方式創(chuàng)建對象Open:用來打開對象Open Workspace:打開已有的工作區(qū)Printer Setup:顯示設(shè)置打印對話框,對打印機(jī)參數(shù)進(jìn)行設(shè)置。Exit:退出2.2 前臺開發(fā)工具介紹 Tool菜單Toolbars:可以對toolbar進(jìn)行各項(xiàng)設(shè)置Keyboard Shortcuts:羅列菜單命令的熱鍵,可修改設(shè)置System Options:系統(tǒng)選項(xiàng),可進(jìn)行用戶自定義配置To Do List:To Do列表,

33、跟蹤當(dāng)前應(yīng)用的開發(fā)過程,使用戶能通過鏈接快速找到指定任務(wù)的位置Browser:瀏覽,查看應(yīng)用中的系統(tǒng)對象和對象的信息Library Painter:庫畫筆,用來管理PowerBuilder應(yīng)用庫Database Profile:數(shù)據(jù)庫配置,用來配置數(shù)據(jù)庫概要文件,定義和使用參數(shù)的命名集合,管理、定義數(shù)據(jù)庫的連接EAServer Profile:EAServer配置,可由用戶定義EAServer連接Database Painter:數(shù)據(jù)庫畫筆,用來對數(shù)據(jù)庫、表、數(shù)據(jù)進(jìn)行管理File Editor:文件編輯器,對文本進(jìn)行編輯2.2 前臺開發(fā)工具介紹 Run菜單,主要是用來運(yùn)行和調(diào)試程序Increm

34、ental Build Workspace:增量式創(chuàng)建工作區(qū)Full Build Workspace:完全創(chuàng)建工作區(qū)Deploy Workspace:發(fā)布工作區(qū)Select and Debug:選擇要調(diào)試的目標(biāo),逐行進(jìn)行調(diào)試Select and Run:運(yùn)行所選擇的目標(biāo)Window菜單,修改窗口布局,以及決定是否顯示某個(gè)菜單System Tree:顯示或隱蔽系統(tǒng)目錄樹窗口Output:顯示或隱藏系統(tǒng)輸出窗口Clip:顯示或因此剪貼窗口Help菜單,主要提供相關(guān)的幫助命令和about對話框Contents:顯示PowerBuilder的幫助文檔About PowerBuilder:打開Power

35、Builder的關(guān)于對話框第3章 數(shù)據(jù)庫管理本章要點(diǎn):數(shù)據(jù)庫的操作數(shù)據(jù)庫連接數(shù)據(jù)對象操作3.1 數(shù)據(jù)庫的操作 以SQL Server 2000為例,學(xué)習(xí)如何使用可視化方法進(jìn)行數(shù)據(jù)庫操作的方法,包括數(shù)據(jù)庫的創(chuàng)建和刪除、數(shù)據(jù)庫的備份和恢復(fù)以及對數(shù)據(jù)的導(dǎo)入和導(dǎo)出。3.1.1 數(shù)據(jù)庫的創(chuàng)建與刪除 啟動 “SQL Server Enterprise Manager”(企業(yè)管理器)展開企業(yè)管理器左窗口中控制臺根目錄,選定數(shù)據(jù)庫服務(wù)器,單擊右鍵新建數(shù)據(jù)庫在“數(shù)據(jù)庫屬性”對話框“常規(guī)”選項(xiàng)里輸入數(shù)據(jù)庫的名稱 單擊該對話框中的“確定”按鈕,成功創(chuàng)建數(shù)據(jù)庫 3.1 數(shù)據(jù)庫的操作用戶可自己設(shè)置數(shù)據(jù)庫空間的大小。具體

36、方法是: 打開“數(shù)據(jù)庫屬性”對話框,選擇“數(shù)據(jù)文件”選項(xiàng)卡 單擊 “數(shù)據(jù)庫文件”區(qū)域中的“初始大小”字段,輸入自定義數(shù)據(jù)庫大小,單位是MB取消 “文件屬性”區(qū)域中的“文件自動增長”復(fù)選標(biāo)記單擊 “確定”按鈕3.1 數(shù)據(jù)庫的操作3.1.2 數(shù)據(jù)庫的備份與恢復(fù) 1數(shù)據(jù)庫的備份 數(shù)據(jù)庫備份是指將數(shù)據(jù)庫中的數(shù)據(jù)表、用戶定義對象、數(shù)據(jù)、存儲過程等信息轉(zhuǎn)存到其他地方。 備份數(shù)據(jù)庫的三種方式:完整備份數(shù)據(jù)庫:將整個(gè)數(shù)據(jù)庫全部備份下來。增量備份數(shù)據(jù)庫:在完成一次完整備份操作之后,只備份后來對數(shù)據(jù)庫進(jìn)行修改過的內(nèi)容。日志備份:這種方式是指用戶僅僅對數(shù)據(jù)庫的操作進(jìn)行記載。3.1 數(shù)據(jù)庫的操作在SQL Server

37、 2000中對數(shù)據(jù)庫進(jìn)行完整備份的具體步驟: 打開企業(yè)管理器,展開左側(cè)樹型文件結(jié)構(gòu),選擇需要進(jìn)行備份的數(shù)據(jù)庫,單擊右鍵,選擇菜單中“所有任務(wù)”中的“備份數(shù)據(jù)庫”命令。3.1 數(shù)據(jù)庫的操作“SQL Server 備份” 對話框中的選項(xiàng)可修改單擊“目的”區(qū)域中的“添加”按鈕,進(jìn)入“選擇備份目的”對話框,用來對備份設(shè)備進(jìn)行定義 點(diǎn)擊對話框中文件名文本框右邊的瀏覽按鈕“”,進(jìn)入“備份設(shè)備位置”對話框 選擇文件夾,在“文件名”文本框中輸入備份文件名,單擊“確定”,返回“選擇備份目的”對話框。3.1 數(shù)據(jù)庫的操作單擊 “確定”按鈕,返回“SQL Server 備份”對話框,在“備份到”列表框中就有一個(gè)備份

38、“設(shè)備”和一個(gè)備份文件單擊“SQL Server 備份”對話框中的“確定”按鈕,系統(tǒng)開始進(jìn)行備份操作。備份操作完成之后,系統(tǒng)將顯示提示信息,單擊提示信息框中的“確定”按鈕,表明備份完成。如果要刪除備份文件,可在“SQL Server 備份”對話框中選擇需要刪除的設(shè)備或文件,單擊“刪除”按鈕刪除備份文件。3.1 數(shù)據(jù)庫的操作2數(shù)據(jù)庫的還原 當(dāng)數(shù)據(jù)庫被破壞和損壞時(shí),從已經(jīng)做好的數(shù)據(jù)庫備份中恢復(fù)數(shù)據(jù)庫結(jié)構(gòu)以及相應(yīng)的數(shù)據(jù)信息,以確保數(shù)據(jù)的安全。還原一個(gè)數(shù)據(jù)庫的完整備份步驟如下: 打開企業(yè)管理器,展開左側(cè)樹型結(jié)構(gòu),選擇需要進(jìn)行恢復(fù)的數(shù)據(jù)庫名,單擊右鍵選擇“所有任務(wù)”命令欄,在級聯(lián)菜單中選擇“還原數(shù)據(jù)庫”

39、命令。注意:數(shù)據(jù)庫的備份和恢復(fù)方式應(yīng)相對應(yīng),在這里選擇數(shù)據(jù)庫的時(shí)候要注意恢復(fù)方式與備份方式相關(guān)聯(lián) 3.1 數(shù)據(jù)庫的操作在出現(xiàn)“還原數(shù)據(jù)庫”對話框里選擇要還原的數(shù)據(jù)庫名稱,并選擇“從設(shè)備(M)”選項(xiàng)。 在“參數(shù)”區(qū)域內(nèi)的設(shè)備框里點(diǎn)擊“選擇設(shè)備”按鈕,彈出“選擇還原設(shè)備”對話框。 選擇“添加”,點(diǎn)擊“瀏覽”按鈕,添加要還原的備份文件 地址,已選擇的備份文件名及地址,會出現(xiàn)在上面的窗 口內(nèi),點(diǎn)擊“確定”即可。 3.2 數(shù)據(jù)庫連接數(shù)據(jù)庫連接的兩個(gè)含義: PowerBuilder開發(fā)環(huán)境與數(shù)據(jù)庫的連接 應(yīng)用程序與數(shù)據(jù)庫的連接3.2.1 PB開發(fā)環(huán)境與數(shù)據(jù)庫的連接連接中涉及以下對象的操作: 在數(shù)據(jù)庫畫筆中

40、對數(shù)據(jù)庫的操作 在數(shù)據(jù)窗口畫筆中對數(shù)據(jù)窗口對象的操作 在數(shù)據(jù)管道畫筆中對數(shù)據(jù)管道對象的操作3.2 數(shù)據(jù)庫連接3.2.2 PB提供的數(shù)據(jù)庫接口類型 1ODBC ODBC(open database connectivity),開放式數(shù)據(jù)庫系統(tǒng)互連,是微軟公司提出的標(biāo)準(zhǔn)接口,它通過SQL來訪問連接到的數(shù)據(jù)庫,支持單個(gè)數(shù)據(jù)庫應(yīng)用程序訪問多種不同的數(shù)據(jù)庫管理系統(tǒng)(DBMS),能以統(tǒng)一的方式處理不同數(shù)據(jù)庫管理系統(tǒng)儲存的數(shù)據(jù)。3.2 數(shù)據(jù)庫連接2JDBC JDBC也是一種標(biāo)準(zhǔn)的應(yīng)用程序接口,支持java應(yīng)用程序訪問任何支持SQL的數(shù)據(jù)庫。 在PB開發(fā)中,使用JDBC接口訪問數(shù)據(jù)庫的應(yīng)用有: 瘦客戶/服務(wù)器

41、應(yīng)用 使用數(shù)據(jù)窗口對象的java應(yīng)用 使用數(shù)據(jù)窗口對象的web應(yīng)用3.2 數(shù)據(jù)庫連接3OLE DB 也是微軟公司提出的一個(gè)標(biāo)準(zhǔn)應(yīng)用程序接口,允許應(yīng)用程序使用統(tǒng)一的格式訪問各種格式的數(shù)據(jù)。4專用數(shù)據(jù)庫接口 PB也提供了與一些大型關(guān)系數(shù)據(jù)庫的專用接口,能直接調(diào)用特定數(shù)據(jù)庫的應(yīng)用接口來訪問數(shù)據(jù)庫,不需要象其他通用接口那樣在連接時(shí)經(jīng)過許多中間層,因而專用接口的訪問速度很快。3.2 數(shù)據(jù)庫連接3.2.3 數(shù)據(jù)庫連接配置 利用PB開發(fā)數(shù)據(jù)庫應(yīng)用程序的過程中,對數(shù)據(jù)庫的操作一般可以分為以下幾步: 在各種數(shù)據(jù)庫管理系統(tǒng)提供的各種接口中創(chuàng)建數(shù)據(jù)庫 確定PB連接數(shù)據(jù)庫的接口并進(jìn)行必要的初始化 根據(jù)選定的數(shù)據(jù)庫接口

42、,配置數(shù)據(jù)庫連接參數(shù),建立數(shù)據(jù)庫連接的描述文件 連接數(shù)據(jù)庫 對數(shù)據(jù)庫中的數(shù)據(jù)庫對象進(jìn)行操作 操作完畢后斷開與數(shù)據(jù)庫的連接3.2 數(shù)據(jù)庫連接 將PB開發(fā)環(huán)境連接到數(shù)據(jù)庫的工具是數(shù)據(jù)庫配置畫筆(DB profile)。選擇主菜單的tools下的子菜單Database profile或Powerbar工具欄的DB profile按鈕,打開數(shù)據(jù)庫配置窗口,窗口中會顯示已經(jīng)安裝了的數(shù)據(jù)庫接口。3.2 數(shù)據(jù)庫連接1ODBC創(chuàng)建ODBC數(shù)據(jù)源:通過Windows操作系統(tǒng)提供的ODBC數(shù)據(jù)源管理器進(jìn)行;或通過在數(shù)據(jù)庫配置窗口Database Profile雙擊ODBC- Utilities-ODBC Admi

43、nistrator3.2 數(shù)據(jù)庫連接打開ODBC數(shù)據(jù)源管理器用戶數(shù)據(jù)源:只對當(dāng)前用 戶有效,只能由創(chuàng)建這個(gè) 數(shù)據(jù)源的用戶所使用系統(tǒng)數(shù)據(jù)源:對當(dāng)前機(jī)器 的所有用戶有效,只要是 當(dāng)前機(jī)器的合法用戶,都 可以訪問該數(shù)據(jù)源。文件數(shù)據(jù)源:任何已經(jīng)正 確安裝了驅(qū)動程序的用戶 都可以訪問該數(shù)據(jù)源 3.2 數(shù)據(jù)庫連接以“系統(tǒng)數(shù)據(jù)源”配置為例:選擇“系統(tǒng)DSN”標(biāo)簽,點(diǎn)“添加”,打開“創(chuàng)建新數(shù)據(jù)源”對話框,選擇數(shù)據(jù)源類型為“SQL Server”點(diǎn)“完成”,打開SQL Server的ODBC配置對話框,設(shè)置與數(shù)據(jù)庫連接的相關(guān)參數(shù)。設(shè)置數(shù)據(jù)連接的相關(guān)參數(shù)后,點(diǎn)擊“下一步”按鈕,打開身份驗(yàn)證方式設(shè)置窗口使用網(wǎng)絡(luò)登陸

44、ID的windows NT驗(yàn)證:所有通過Windows操作系統(tǒng)身份驗(yàn)證的用戶都可以登陸到數(shù)據(jù)庫使用用戶登陸輸入登陸ID和密碼的SQL Server驗(yàn)證:擁有正確的SQL Server用戶名和密碼才能登陸到數(shù)據(jù)庫選擇第一種“使用網(wǎng)絡(luò)登陸ID的windows NT驗(yàn)證”,點(diǎn)擊“下一步”按鈕,打開數(shù)據(jù)庫設(shè)置窗口,選中“改變默認(rèn)的數(shù)據(jù)庫為(D)”,輸入數(shù)據(jù)庫名字fam,或點(diǎn)擊該編輯框右邊的下拉箭頭,在列出的SQL Server下的所有數(shù)據(jù)庫中,選擇要連接的數(shù)據(jù)庫名字,點(diǎn)擊“下一步”。這是關(guān)于ODBC SQL Server DSN的參數(shù)設(shè)置,可以不做修改 點(diǎn)“完成”,完成ODBC數(shù)據(jù)源的創(chuàng)建 點(diǎn)擊“測試

45、數(shù)據(jù)源(T)”按鈕,打開數(shù)據(jù)庫連接測試結(jié)果的窗口 3.2 數(shù)據(jù)庫連接創(chuàng)建數(shù)據(jù)庫連接的描述文件:在DB Profile數(shù)據(jù)庫接口配置窗口中選“ODB ODBC”接口,原來灰色的“New”恢復(fù)正常 點(diǎn)擊“New”,打開Database Profile setupODBC對話框,設(shè)置profile Name為fam_odbc_profile,點(diǎn)擊data source下拉列表,選fam_odbc或直 接在data source框中輸入數(shù)據(jù)源名字。點(diǎn)擊“Preview”頁,查看連接設(shè)置 “connection”標(biāo)簽頁顯示了數(shù)據(jù)庫連接的語法,如果數(shù)據(jù)庫配置窗口關(guān)閉未顯示任何錯(cuò)誤信息,表示PB環(huán)境已經(jīng)連接

46、到目的數(shù)據(jù)庫3.2 數(shù)據(jù)庫連接 選擇主菜單Tools-database painter或在Powerbar1工具條點(diǎn)擊database按鈕,打開數(shù)據(jù)庫畫筆。點(diǎn)擊該配置下Table左邊的“+”按鈕,可以看見理財(cái)信息系統(tǒng)要使用的用戶表。3.2 數(shù)據(jù)庫連接2通過專用數(shù)據(jù)庫接口連接打開數(shù)據(jù)庫配置窗口,選擇PB為Microsoft SQL Server提供的專用數(shù)據(jù)庫接口“MSS Microsoft SQL Server ” 點(diǎn)擊New,打開Database profile-Microsoft SQL Server窗口,選擇connection標(biāo)簽,進(jìn)行連接參數(shù)的設(shè)置:Profile Name輸入fam

47、_sqlserver_profile,Server框輸入計(jì)算機(jī)名字,Login ID框輸入數(shù)據(jù)庫的登陸名字,Password框輸入密碼,Database框輸入要連接的數(shù)據(jù)庫名字。將標(biāo)簽頁切換到“Preview”,點(diǎn)擊“Test Connection”,測試連接是否成功,點(diǎn)“apply”保存配置信息。3.2 數(shù)據(jù)庫連接 點(diǎn)擊OK按鈕,結(jié)束數(shù)據(jù)庫連接配置。3.2 數(shù)據(jù)庫連接3.2.4應(yīng)用程序與數(shù)據(jù)庫的連接 連接的方法: 在應(yīng)用程序的腳本中為事物對象指定正確的連接參數(shù),使應(yīng)用程序與數(shù)據(jù)庫之間建立起連接。可選擇的接口: ODBC,JDBC,OLE DB和專用數(shù)據(jù)庫接口方式 3.2 數(shù)據(jù)庫連接不同的數(shù)據(jù)

48、庫接口必須設(shè)置的屬性是不同的,常見的幾種數(shù)據(jù)庫接口需要設(shè)置的連接屬性如下:事物對象屬性 ODBC JDBC OLE DB 專用數(shù)據(jù)庫接口 Oracle SybaseASE Informix MS SQLServerDBMS DatabaseUserIDDBPassLockLogIDLogPassServerNameAutoCommitDbparm3.2 數(shù)據(jù)庫連接對于已經(jīng)通過某種接口與目的數(shù)據(jù)庫連接上了的PB環(huán)境,可通過DB Profile數(shù)據(jù)庫配置窗口來連接應(yīng)用程序:進(jìn)入配置窗口,點(diǎn)“Edit”按鈕,切換到“preview”頁,窗口中顯示了SQLCA的連接屬性的語句,點(diǎn)擊“Copy”按鈕,將

49、SQLCA屬性設(shè)置語句拷貝到剪貼板,然后粘貼到應(yīng)用程序中某個(gè)對象的某個(gè)事件的腳本中例:SQLCA的連接屬性語句,數(shù)據(jù)庫接口為ODBC Profile fam_odbc_profile SQLCA.DBMS = ODBC SQLCA.AutoCommit = FalseSQLCA.DBParm=ConnectString=DSN=fam_odbc;UID=;PWD=3.2 數(shù)據(jù)庫連接如果此次數(shù)據(jù)庫連接是整個(gè)應(yīng)用程序運(yùn)行期間都必須保持并使用的,則這些代碼應(yīng)粘貼到應(yīng)用程序?qū)ο蟮腛pen事件中,如果只是暫時(shí)性的,僅在某一個(gè)邏輯功能中使用,則在執(zhí)行邏輯功能之前執(zhí)行該部分代碼。正確設(shè)置了SQLCA的連接屬

50、性后,需要執(zhí)行數(shù)據(jù)庫連接的操作,語法為: connect using 事物對象名;3.2 數(shù)據(jù)庫連接例:應(yīng)用程序Open事件中連接數(shù)據(jù)庫的代碼:SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm= ConnectString=DSN=fam_odbc;UID=;PWD=connect;if sqlca.sqlcode=0 thenmessagebox(OK,數(shù)據(jù)庫連接成功!)elsemessagebox(錯(cuò)誤,數(shù)據(jù)庫連接失??!原因是:+sqlca.sqlerrtext)end if運(yùn)行應(yīng)用程序,結(jié)果為:3.2 數(shù)據(jù)庫連接采用初始化文件能將

51、數(shù)據(jù)庫連接信息存放在操作系統(tǒng)文件中,一旦實(shí)際的連接情況發(fā)生變化,只用修改存放連接信息的文件,而不用修改源程序。初始化文件創(chuàng)建的方法:通過文本編輯器直接根據(jù)初始化文件的層次和格式書寫;利用PB提供的工具自動生成3.2 數(shù)據(jù)庫連接自動生成數(shù)據(jù)庫連接的初始化文件方法為:按“OK”按鈕,打開“select profile File”窗口 打開數(shù)據(jù)庫配置窗口,選中要控制的數(shù)據(jù)庫連接配置,點(diǎn)擊鼠標(biāo)右鍵,選擇“Export Profile(s)”子菜單,打開。 輸入要保存的初始化文件名,點(diǎn)擊“保存”按鈕,就會保存一個(gè) 以ini為后綴的初始化文件。 3.2 數(shù)據(jù)庫連接用記事本程序打開剛才創(chuàng)建的初始化文件jtl

52、c.ini,如下:DBMS_PROFILESProfiles=fam_odbc_profileProfile fam_odbc_profileDBMS=ODBCDatabase=UserId=DatabasePassword=LogId=LogPassword=ServerName=DBParm=ConnectString=DSN=fam_odbc;UID=;PWD=Lock=Prompt=FALSEAutoCommit=FALSE用一對方括號括起來的單元稱為一“節(jié)” 節(jié)與節(jié)之間是一些用“=”連接的語句,等號左邊稱為一個(gè)“項(xiàng)目”,等號右邊為該項(xiàng)目的值 3.2 數(shù)據(jù)庫連接PB提供了三個(gè)函數(shù)來操作

53、初始化文件 ProfileInt:從初始化文件中讀取整型設(shè)置值語法:ProfileInt(filename,section,key,default)ProfileString:從初始化文件中讀取字符串型設(shè)置值。語法:ProfileString(filename,section,key,default)SetProfileString:設(shè)置初始化文件中指定項(xiàng)的值語法SetProfileString(filename,section,key,value)3.2 數(shù)據(jù)庫連接 最后,我們可從初始化文件中讀取連接參數(shù)了,將open事件中代碼更換如下:string startfile /定義初始化文件變量

54、startfile=jtlc.ini /指定初始化文件sqlca.dbms=profilestring(startfile,Profile fam_odbc_profile,dbms,) /將初始化文件的Profile fam_odbc_profile節(jié)的dbms項(xiàng)目的值賦給sqlca的dbms屬性sqlca.database=profilestring(startfile,Profile fam_odbc_profile,database,) /同上,為sqlca的database屬性賦值sqlca.userid=profilestring(startfile,Profile fam_odb

55、c_profile,userid,) /為sqlca的userid屬性賦值sqlca.DBpass=profilestring(startfile,Profile fam_odbc_profile,DatabasePassword,)sqlca.logid=profilestring(startfile,Profile fam_odbc_profile,logid,)3.2 數(shù)據(jù)庫連接sqlca.logpass=profilestring(startfile,Profile fam_odbc_profile,LogPassword ,)sqlca.servername=profilestrin

56、g(startfile,Profile fam_odbc_profile,servername,)sqlca.autocommit=falsesqlca.dbparm=profilestring(startfile,Profile fam_odbc_profile,dbparm,)connect; if sqlca.sqlcode=0 thenmessagebox(OK,數(shù)據(jù)庫連接成功!)else messagebox(錯(cuò)誤,數(shù)據(jù)庫連接失??!原因是:+sqlca.sqlerrtext)end if3.3 數(shù)據(jù)對象操作數(shù)據(jù)庫畫板(Database Painter)可用來完成大部分?jǐn)?shù)據(jù)庫的操作,如

57、創(chuàng)建和刪除數(shù)據(jù)庫對象(包括表、視圖、列、鍵、索引及組)、數(shù)據(jù)庫連接管理、建立執(zhí)行和解釋SQL語句、定義或修改擴(kuò)展屬性、為列指定擴(kuò)展屬性、記錄所作的工作等等。點(diǎn)擊工具欄中的“ ”按鈕或從Windows菜單進(jìn)入數(shù)據(jù)庫畫板,可進(jìn)入數(shù)據(jù)庫畫板界面。 3.3 數(shù)據(jù)對象操作數(shù)據(jù)庫畫筆中的各種視圖: Objects:用來顯示PB中安裝的數(shù)據(jù)庫接口,這里列出了所有可以連接數(shù)據(jù)庫的Database Profile。 Object Layout:也叫對象布局視圖,用來顯示對象的布局和對象間的聯(lián)系,還有表的主鍵、索引和外鍵。 Extended Attributes:用來定義修改對象的擴(kuò)展屬性。 Details:用來

58、顯示或修改對象的屬性。 Columns:用來定義或修改表的列。 ISQL Session:用來創(chuàng)建、執(zhí)行和解釋SQL語句。 Results:用來顯示和操作數(shù)據(jù)。 Activity Log:用來顯示執(zhí)行動作的SQL定義。3.3 數(shù)據(jù)對象操作3.3.1 創(chuàng)建數(shù)據(jù)表在數(shù)據(jù)庫畫筆中創(chuàng)建表的具體步驟: 連接好要創(chuàng)建表的數(shù)據(jù)庫; 在“Objects”子窗口中打開ODBC項(xiàng), 選擇當(dāng)前連接的數(shù)據(jù)庫,展開數(shù)據(jù)庫文件,選“Tables”,單擊右鍵選“New Table”命令創(chuàng)建數(shù)據(jù)表,進(jìn)入表結(jié)構(gòu)定義窗口 在“Columns”中添加數(shù)據(jù)表的列屬性; 關(guān)閉表結(jié)構(gòu)定義窗口,選擇“Yes”保存表結(jié)構(gòu),在“Table N

59、ame” 處輸入表名,單擊“OK”完成表的創(chuàng)建。也可以點(diǎn)擊工具欄中的 “Save”按鈕保存,方法同上。 3.3 數(shù)據(jù)對象操作當(dāng)然,也可以點(diǎn)擊主菜單“Object”中的“Insert”子菜單,從里面選擇“Table”和“Column”來創(chuàng)建表和列3.3 數(shù)據(jù)對象操作3.3.2 刪除表選擇要刪除的表,單擊右鍵彈出菜單,選擇“Drop Table”命令,彈出“PowerBuilder”提示框,確定是否要刪除選定的表,按照提示進(jìn)行選擇即可。也可以在選中該表文件后,點(diǎn)擊主菜單“Object”中的“Delete”命令來刪除當(dāng)前表 3.3 數(shù)據(jù)對象操作3.3.3 設(shè)置主鍵、索引和外鍵 1設(shè)置主鍵主鍵是在表中

60、用來唯一標(biāo)識一條記錄的列或者若干列的組合,同一張表中任意兩條記錄的主鍵值不能重復(fù)。具體設(shè)置方法: 選擇要設(shè)置主鍵的表,單擊右鍵選擇“New”中的“Primary Key” 3.3 數(shù)據(jù)對象操作 “Primary Key”對話框中的Column列表框中列出了該表的所有列,選擇要設(shè)置為主鍵的列,在前方空格里打上“”。 選好主鍵后,關(guān)閉“Primary Key”對話框,彈出詢問是否保存窗口, 單擊“Yes”,保存對主鍵的設(shè)置。 3.3 數(shù)據(jù)對象操作2設(shè)置索引 索引由列組成,能使表中原本無序的數(shù)據(jù)按照一定的順序輸出。索引可以是重復(fù)索引,也就是可以出現(xiàn)數(shù)據(jù)重復(fù)現(xiàn)象;也可以是唯一索引,無數(shù)據(jù)重復(fù)。設(shè)置索引

溫馨提示

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

評論

0/150

提交評論