《數(shù)據(jù)庫系統(tǒng)》上機(jī)輔導(dǎo).ppt
《《數(shù)據(jù)庫系統(tǒng)》上機(jī)輔導(dǎo).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫系統(tǒng)》上機(jī)輔導(dǎo).ppt(89頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),西安電子科技大學(xué) 計(jì)算理論與技術(shù)研究所 王小兵,2,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),上機(jī)作業(yè)要求 設(shè)計(jì)學(xué)籍管理系統(tǒng) 數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告 上機(jī)環(huán)境介紹 PowerBuilder簡介 PowerScript語言 后臺(tái)設(shè)計(jì)和前臺(tái)開發(fā) 上機(jī)環(huán)境的保存和恢復(fù),3,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),上機(jī)作業(yè)要求 設(shè)計(jì)學(xué)籍管理系統(tǒng) 數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告 上機(jī)環(huán)境介紹 PowerBuilder簡介 PowerScript語言 后臺(tái)設(shè)計(jì)和前臺(tái)開發(fā) 上機(jī)環(huán)境的保存和恢復(fù),4,設(shè)計(jì)學(xué)籍管理系統(tǒng),后臺(tái)數(shù)據(jù)庫 設(shè)計(jì)一個(gè)系的學(xué)籍?dāng)?shù)據(jù)庫,可以使用Adaptive Server Anywhere、SQL Server、ACCES
2、S、MYSQL等DBMS。 學(xué)籍?dāng)?shù)據(jù)庫的有關(guān)語義如下: 一個(gè)系可以若干專業(yè),每個(gè)專業(yè)每年可以招若干班,每個(gè)班有若干學(xué)生。 系里對(duì)每個(gè)專業(yè)每年都制訂了教學(xué)計(jì)劃,學(xué)生每年必須按照教學(xué)計(jì)劃修完一定學(xué)分的課程(必修課、限選課和任選課),如2000年入學(xué)的學(xué)生大三上學(xué)期必修課30學(xué)分,限選課10學(xué)分,任選課6學(xué)分。 系里的教師可以給多個(gè)班帶課,但是不能給一個(gè)班帶多門課程。 一門課程最多允許學(xué)生一次補(bǔ)考,學(xué)生達(dá)到如下條件之一的被開除: 一學(xué)期不及格的必修課學(xué)分超過10個(gè); 不及格必修課學(xué)分累計(jì)超過30個(gè); 不及格選修課學(xué)分累計(jì)超過20個(gè);,5,設(shè)計(jì)學(xué)籍管理系統(tǒng),前臺(tái)程序 開發(fā)一個(gè)學(xué)籍管理系統(tǒng)來對(duì)學(xué)籍?dāng)?shù)據(jù)庫
3、進(jìn)行訪問,可以使用PowerBuilder、VC、VB、C+ Builder、Delphi、VF等前臺(tái)開發(fā)工具。系統(tǒng)實(shí)現(xiàn)功能如下: 錄入學(xué)生基本信息,如學(xué)號(hào)、姓名、性別、出生日期等(其他如課程、教師等信息可以在建庫時(shí)輸入); 按學(xué)號(hào)、姓名查詢學(xué)生基本信息; 錄入學(xué)生成績; 查詢學(xué)生所選修的課程及成績,并給出必修課平均成績和選修課平均成績; 查某一個(gè)學(xué)生被哪些教師教過課; 查詢快要被開除的學(xué)生(假定差2學(xué)分即被開除)。,6,設(shè)計(jì)學(xué)籍管理系統(tǒng),注意事項(xiàng): 在數(shù)據(jù)庫的設(shè)計(jì)過程中需要運(yùn)用規(guī)范化理論,避免出現(xiàn)插入異常、刪除異常、數(shù)據(jù)冗余等問題; 必須設(shè)定關(guān)系的完整性規(guī)則,如實(shí)體完整性(例如設(shè)置主碼),參
4、照完整性(例如設(shè)置外碼和對(duì)應(yīng)的主碼),用戶自定義完整性(例如性別只能為“男”或“女”); 可以使用索引來加快查詢的速度; 可以使用視圖來簡化系統(tǒng)的設(shè)計(jì); 上機(jī)實(shí)習(xí)重點(diǎn)在于后臺(tái)數(shù)據(jù)庫的設(shè)計(jì),對(duì)于前臺(tái)程序的開發(fā),能夠?qū)崿F(xiàn)系統(tǒng)功能即可,不要把大量時(shí)間花費(fèi)在界面設(shè)計(jì)和不必要的代碼上。,7,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),上機(jī)作業(yè)要求 設(shè)計(jì)學(xué)籍管理系統(tǒng) 數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告 上機(jī)環(huán)境介紹 PowerBuilder簡介 PowerScript語言 后臺(tái)設(shè)計(jì)和前臺(tái)開發(fā) 上機(jī)環(huán)境的保存和恢復(fù),8,數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告,上機(jī)作業(yè)報(bào)告必須手寫,不能交打印稿。按照數(shù)據(jù)庫設(shè)計(jì)的基本步驟,書寫上機(jī)報(bào)告: 需求分析(系統(tǒng)數(shù)據(jù)和功能) 概
5、念結(jié)構(gòu)設(shè)計(jì)(E-R圖設(shè)計(jì)) 邏輯結(jié)構(gòu)設(shè)計(jì)(E-R圖轉(zhuǎn)換為關(guān)系模型) 程序開發(fā)環(huán)境及應(yīng)用環(huán)境 應(yīng)用程序設(shè)計(jì)中遇到的問題及解決方法 總結(jié) 附錄(可打?。航?shù)據(jù)庫和應(yīng)用程序的主要代碼,9,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),上機(jī)作業(yè)要求 設(shè)計(jì)學(xué)籍管理系統(tǒng) 數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告 上機(jī)環(huán)境介紹 PowerBuilder簡介 PowerScript語言 后臺(tái)設(shè)計(jì)和前臺(tái)開發(fā) 上機(jī)環(huán)境的保存和恢復(fù),10,PowerBuilder簡介,PowerBuilder是具有圖形界面的C/S模式(客戶機(jī)/服務(wù)器模式)以及分布式數(shù)據(jù)庫應(yīng)用程序的前端開發(fā)工具,它可以快速簡潔的開發(fā)出功能強(qiáng)大的、充分滿足用戶需要的數(shù)據(jù)庫應(yīng)用軟件。 在Powe
6、rBuilder中有一系列的畫筆(Painter),用來創(chuàng)建和設(shè)計(jì)相應(yīng)的對(duì)象,如Window Painter , Database Painter , Application Painter , Menu Painter等。 數(shù)據(jù)窗口是PowerBuilder的核心,在對(duì)數(shù)據(jù)庫的開發(fā)過程中可以用來錄入、查詢、統(tǒng)計(jì)或者報(bào)表,并能夠以多種風(fēng)格來顯示數(shù)據(jù)。 數(shù)據(jù)窗口的處理機(jī)制: 設(shè)計(jì)數(shù)據(jù)窗口對(duì)象,包含顯示方式,數(shù)據(jù)源(核心是SQL) 運(yùn)行時(shí)通過數(shù)據(jù)窗口控件控制數(shù)據(jù)窗口對(duì)象,提交SQL語句到數(shù)據(jù)庫服務(wù)器上運(yùn)行 在客戶端對(duì)返回結(jié)果進(jìn)行處理,最終結(jié)果可提交到數(shù)據(jù)庫保存,11,PowerBuilder簡介,
7、PowerScript是PowerBuilder使用的面向?qū)ο蟮木幊陶Z言,類似于Visual Basic , QuickBASIC。 ASA(Adaptive Server Anywhere)是PowerBuilder提供的一個(gè)完整的數(shù)據(jù)庫管理系統(tǒng),它對(duì)資源的要求很低,易于安裝和設(shè)置使用,擁有基于代價(jià)的查詢優(yōu)化器,支持具有自動(dòng)數(shù)據(jù)恢復(fù)的完全事務(wù)處理來保證數(shù)據(jù)的一致性和完整性。 PowerBuilder是客戶機(jī)/服務(wù)器模式的用于客戶端的數(shù)據(jù)庫應(yīng)用開發(fā)工具。,12,PowerBuilder簡介,一個(gè)PB程序?qū)?yīng)一個(gè)application(應(yīng)用),應(yīng)用對(duì)象和事務(wù)對(duì)象是應(yīng)用中的兩個(gè)特殊對(duì)象。 應(yīng)用對(duì)象
8、:任何一個(gè)應(yīng)用都必須包含一個(gè)應(yīng)用對(duì)象。應(yīng)用對(duì)象是這個(gè)應(yīng)用的程序入口(Open事件)和程序出口(Close事件)。應(yīng)用程序啟動(dòng)后,首先進(jìn)入應(yīng)用對(duì)象,執(zhí)行Open事件中的代碼,調(diào)用其他對(duì)象,完成程序功能后,返回到應(yīng)用對(duì)象,執(zhí)行Close事件中的代碼,返回PB或者Windows。 事務(wù)對(duì)象:每個(gè)應(yīng)用有一個(gè)缺省的事務(wù)對(duì)象(SQLCA,SQL通信區(qū)),可以用來和后端的數(shù)據(jù)庫建立連接。通過訪問SQLCA中包含的信息,PB程序可以控制執(zhí)行流程。,13,PowerBuilder簡介,基于PowerBuilder的C/S數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),數(shù)據(jù)庫管理系統(tǒng),應(yīng)用對(duì)象,窗口對(duì)象,數(shù)據(jù)窗口對(duì)象,事務(wù)對(duì)象,PowerBui
9、lder程序,Open,Close,Server,后臺(tái),Client,前臺(tái),14,PowerBuilder簡介,PowerBuilder程序,ODBC接口,ODBC驅(qū)動(dòng)管理程序,Oracle驅(qū)動(dòng),ASA驅(qū)動(dòng),Oracle數(shù)據(jù)庫,ASA數(shù)據(jù)庫,PowerBuilder通過ODBC(開放數(shù)據(jù)庫互連標(biāo)準(zhǔn))訪問數(shù)據(jù)庫,SQL語句,15,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),上機(jī)作業(yè)要求 設(shè)計(jì)學(xué)籍管理系統(tǒng) 數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告 上機(jī)環(huán)境介紹 PowerBuilder簡介 PowerScript語言 后臺(tái)設(shè)計(jì)和前臺(tái)開發(fā) 上機(jī)環(huán)境的保存和恢復(fù),16,PowerScript語言,PowerScript語言的基本特征: 一般一行寫
10、一條語句 注釋用/、/*/ 語句換行使用連接符 結(jié)束,它是嵌入式SQL語句的標(biāo)志。 常用的嵌入式SQL語句: connect:使用SQLCA包含的信息連接數(shù)據(jù)庫 disconnect:斷開數(shù)據(jù)庫連接 declare:定義游標(biāo) open:打開游標(biāo) close:關(guān)閉游標(biāo) fetch into :推進(jìn)游標(biāo)指針,把當(dāng)前記錄值賦給主變量 commit:提交事務(wù)的所有操作,把結(jié)果保存到數(shù)據(jù)庫中 rollback:回滾,將事務(wù)中對(duì)數(shù)據(jù)庫的操作全部撤銷,滾回到事務(wù)開始時(shí)的狀態(tài),20,PowerScript語言,/使用嵌入式SQL的PowerScript程序 /所有代碼放入應(yīng)用對(duì)象的Open事件中 /設(shè)置SQL
11、CA SQLCA.DBMS = ODBC SQLCA.AutoCommit = false SQLCA.DBParm = Connectstring=DSN=xjgl /連接數(shù)據(jù)庫 connect; /定義游標(biāo) DECLARE c_s CURSOR FOR SELECT student.xh, student.xm, student.xb, student.csrq FROM student ; /打開游標(biāo) OPEN c_s;,/聲明主變量 string xh,xm,xb date csrq /逐一處理游標(biāo)中的查詢結(jié)果 do while (true) FETCH c_s INTO :xh,:x
12、m,:xb,:csrq; if sqlca.sqlcode 0 then exit end if; messagebox(學(xué)生信息,21,例子,示例包含后臺(tái)數(shù)據(jù)庫設(shè)計(jì)和前臺(tái)PB程序開發(fā)兩個(gè)部分: 數(shù)據(jù)庫設(shè)計(jì):使用ASA數(shù)據(jù)庫管理系統(tǒng)創(chuàng)建一個(gè)簡單的學(xué)生成績數(shù)據(jù)庫,其中包含學(xué)生表(student),課程表(course)、成績表(score)。 前臺(tái)PB程序開發(fā):使用PowerBuilder開發(fā)一個(gè)前臺(tái)程序,可以按照學(xué)生學(xué)號(hào)查詢學(xué)生的課程成績。 注: ASA數(shù)據(jù)庫支持的SQL語句可以參考PB自帶的幫助文件dbmaen8.chm PowerBuilder的語法可以參考PB自帶的幫助文件pbman90
13、.chm,22,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),上機(jī)作業(yè)要求 設(shè)計(jì)學(xué)籍管理系統(tǒng) 數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告 上機(jī)環(huán)境介紹 PowerBuilder簡介 PowerScript語言 后臺(tái)設(shè)計(jì)和前臺(tái)開發(fā) 上機(jī)環(huán)境的保存和恢復(fù),23,例子,學(xué)生成績數(shù)據(jù)庫的建立過程 進(jìn)入PowerBuilder 打開Database Painter 建立數(shù)據(jù)庫xjgl(不要使用事務(wù)日志) 下面的步驟可以采用SQL語句完成,或使用菜單輔助完成 建立表student、course、score 設(shè)置主碼、外碼:course、student、score 輸入數(shù)據(jù):course、student、score 下一步,24,打開Database Pa
14、inter,25,建立ASA數(shù)據(jù)庫,26,設(shè)置數(shù)據(jù)庫文件保存路徑,27,用SQL語句建表、主外碼、輸入數(shù)據(jù),28,使用菜單建表,29,使用菜單建表,30,使用菜單建表,31,使用菜單建表,32,使用菜單建表,33,使用菜單建立主碼,34,使用菜單建立主碼,35,使用菜單建立主碼,36,使用菜單建立主碼,37,使用菜單建立主碼,38,使用菜單建立外碼,39,使用菜單建立外碼,40,使用菜單建立外碼,41,使用菜單建立外碼,42,使用菜單建立外碼,43,使用菜單建立外碼,44,使用菜單建立外碼,45,使用菜單輸入數(shù)據(jù),46,使用菜單輸入數(shù)據(jù),47,使用菜單輸入數(shù)據(jù),48,使用菜單輸入數(shù)據(jù),49,使
15、用菜單輸入數(shù)據(jù),50,例子,前臺(tái)查詢程序的開發(fā)過程 建立workspace 建立application 建立數(shù)據(jù)窗口對(duì)象dw_cj 注:可以查看、修改其中包含的SQL語句 建立主窗口w_main 在主窗口上放置控件 注:數(shù)據(jù)窗口控件dw_1要和數(shù)據(jù)窗口對(duì)象dw_cj相關(guān)聯(lián) 在查詢和退出按鈕中加入代碼 在應(yīng)用對(duì)象的open和close事件中加入代碼 運(yùn)行程序 下一步,51,建立workspace,52,建立application,53,建立application,54,application對(duì)象建立完畢,55,建立數(shù)據(jù)窗口對(duì)象選擇顯示形式,56,建立數(shù)據(jù)窗口對(duì)象選擇數(shù)據(jù)源,57,建立數(shù)據(jù)窗口對(duì)象
16、選擇數(shù)據(jù)源,58,建立數(shù)據(jù)窗口對(duì)象,59,建立數(shù)據(jù)窗口對(duì)象,60,建立數(shù)據(jù)窗口對(duì)象,61,建立數(shù)據(jù)窗口對(duì)象,62,建立數(shù)據(jù)窗口對(duì)象,63,建立數(shù)據(jù)窗口對(duì)象,64,保存數(shù)據(jù)窗口對(duì)象,65,查看數(shù)據(jù)窗口對(duì)象中的SQL語句,66,查看數(shù)據(jù)窗口對(duì)象中的SQL語句,67,數(shù)據(jù)窗口對(duì)象中的SQL語句,68,建立主窗口,69,放置數(shù)據(jù)窗口控件,70,關(guān)聯(lián)數(shù)據(jù)窗口控件和數(shù)據(jù)窗口對(duì)象,71,放置其他控件(單行編輯框、按鈕等),72,編寫查詢按鈕的代碼,73,編寫退出按鈕的代碼,74,編寫應(yīng)用對(duì)象的open事件代碼,75,編寫應(yīng)用對(duì)象的close事件代碼,76,運(yùn)行結(jié)果,77,數(shù)據(jù)庫系統(tǒng)上機(jī)輔導(dǎo),上機(jī)作業(yè)要求 設(shè)
17、計(jì)學(xué)籍管理系統(tǒng) 數(shù)據(jù)庫上機(jī)作業(yè)報(bào)告 上機(jī)環(huán)境介紹 PowerBuilder簡介 PowerScript語言 后臺(tái)設(shè)計(jì)和前臺(tái)開發(fā) 上機(jī)環(huán)境的保存和恢復(fù),78,上機(jī)環(huán)境的保存和恢復(fù),保存 數(shù)據(jù)庫文件 程序文件 恢復(fù) 在操作系統(tǒng)中設(shè)置ODBC 在Database Painter中設(shè)置profile建立設(shè)計(jì)模式下的數(shù)據(jù)庫連接,79,數(shù)據(jù)庫文件和程序文件,80,打開ODBC,81,建立基于ASA的ODBC數(shù)據(jù)源,82,設(shè)置ODBC數(shù)據(jù)源的名字,83,設(shè)置ODBC數(shù)據(jù)源的用戶名dba和密碼sql,84,選擇數(shù)據(jù)庫文件,85,ODBC數(shù)據(jù)源建立完畢,86,PB中新建profile,87,關(guān)聯(lián)profile和ODBC數(shù)據(jù)源,88,通過ODBC連接ASA數(shù)據(jù)庫,89,連接成功,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何走出痛苦及不幸課件
- 執(zhí)業(yè)藥師繼續(xù)教育小兒腹瀉的診療和合理用藥
- 團(tuán)的歷史及基本知識(shí)
- CRM項(xiàng)目理念介紹
- 最新剖腹產(chǎn)術(shù)后護(hù)理主題講座課件
- 《從種植到收獲》課件
- 第章統(tǒng)計(jì)量及其抽樣分布二
- 價(jià)格策略務(wù)實(shí)與方案
- 人教版六年級(jí)下冊(cè)數(shù)學(xué)-第五單元《第2課時(shí)-鴿巢問題2》課件
- 人教版八年級(jí)道德與法治上冊(cè)法不可違課件
- 人教版八年級(jí)英語下冊(cè)Unit6-Section-A-Period-1優(yōu)質(zhì)課課件
- 某集團(tuán)績效管理體系咨詢報(bào)告
- 成本計(jì)算及費(fèi)用分?jǐn)傉n程課件
- 供應(yīng)商質(zhì)量培訓(xùn)課程--供應(yīng)商質(zhì)量管理16步程序
- 世聯(lián)深圳諾德中心策劃報(bào)告