![數(shù)據(jù)庫應(yīng)用開發(fā)課程設(shè)計-PowerBuilder圖書管理系統(tǒng).doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-7/18/a0327254-e9a0-4068-b2c6-140247744730/a0327254-e9a0-4068-b2c6-1402477447301.gif)
![數(shù)據(jù)庫應(yīng)用開發(fā)課程設(shè)計-PowerBuilder圖書管理系統(tǒng).doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-7/18/a0327254-e9a0-4068-b2c6-140247744730/a0327254-e9a0-4068-b2c6-1402477447302.gif)
![數(shù)據(jù)庫應(yīng)用開發(fā)課程設(shè)計-PowerBuilder圖書管理系統(tǒng).doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-7/18/a0327254-e9a0-4068-b2c6-140247744730/a0327254-e9a0-4068-b2c6-1402477447303.gif)
![數(shù)據(jù)庫應(yīng)用開發(fā)課程設(shè)計-PowerBuilder圖書管理系統(tǒng).doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-7/18/a0327254-e9a0-4068-b2c6-140247744730/a0327254-e9a0-4068-b2c6-1402477447304.gif)
![數(shù)據(jù)庫應(yīng)用開發(fā)課程設(shè)計-PowerBuilder圖書管理系統(tǒng).doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-7/18/a0327254-e9a0-4068-b2c6-140247744730/a0327254-e9a0-4068-b2c6-1402477447305.gif)
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
重慶郵電大學(xué)2010/2011學(xué)年第 一 學(xué)期“ 數(shù)據(jù)庫應(yīng)用開發(fā)”課程大型作業(yè)學(xué)號 2009214406 姓名uranus成績 說明:本程序為獨(dú)立完成。得 分評閱人一、概述(共10分)圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。在對圖書、讀者的管理,其實是對圖書、讀者數(shù)據(jù)的管理。使用該系統(tǒng)之后,圖書館管理人員可以管理讀者的登記、圖書的購入、借出、歸還以及注銷等;還可以查詢某位讀者、圖書的借閱情況,對當(dāng)前借閱情況給出一些統(tǒng)計,給出統(tǒng)計圖,以全面掌握圖書的流通情況。功能結(jié)構(gòu)圖:得 分評閱人二、 需求分析(共20分) 項目需求:根據(jù)圖書館工作的需要,圖書管理系統(tǒng)應(yīng)具備讀者的登記、圖書的購入、借出、歸還以及注銷;查詢某位讀者、圖書的借閱情況;對當(dāng)前借閱情況給出統(tǒng)計圖;出版社信息的管理;系統(tǒng)權(quán)限的設(shè)置;證件掛失、注銷;系統(tǒng)幫助等功能,以方便圖書館的日常管理。根據(jù)上述分析,設(shè)計程序功能如下。 系統(tǒng)功能:(1) 圖書信息的錄入和刪除;(2) 出版社信息管理;(3)圖書的檢索(包括按作者姓名、出版時間、出版社名稱、圖書類別、書名、關(guān)鍵字等);(4)圖書的租借(包括借書登記、限借數(shù)量控制、還書登記、過期罰款計算等);(5)借書證件的管理(包括辦新證件,掛失、注銷等)(6)系統(tǒng)設(shè)置(主要是不同類型證件的可借書的總量和借書時間等)(7)權(quán)限設(shè)置(包括登錄權(quán)限,賬號密碼管理等)(8)統(tǒng)計資料(包括惜出數(shù)量與庫存數(shù)量的比例,各類圖書數(shù)量與總數(shù)量的比例,熱門圖書統(tǒng)計數(shù)據(jù)等各種信息資料的統(tǒng)計);(9)圖書測覽(包括對圖書摘要的測覽和新書測覽);(10)幫助信息。得 分評閱人三、建模(共20分)用例圖:借/還書:書籍的借閱管理查詢圖書信息:根據(jù)作者、出版信息等方式查找圖書新書入庫:錄入新書信息舊書銷毀:從數(shù)據(jù)庫刪除圖書信息證件管理:管理借書證的相關(guān)信息信息匯總:將借閱信息等內(nèi)容生成圖表,方便了解流通情況出版社信息管理:錄入、刪除出版社相關(guān)信息權(quán)限管理:設(shè)置登錄權(quán)限,修改賬號密碼;設(shè)置不同證件的借書量、借書期限等。 得 分評閱人四、數(shù)據(jù)庫分析(共10分)(一)e-r圖:(二)表的定義數(shù)據(jù)庫中,部分表的結(jié)構(gòu)見表1表5。存放圖書信息的表bookinfo的結(jié)構(gòu)見表1。其中圖書編號具有惟一性,8位編碼中最高2位為圖書類型代碼,例如電子類、計算機(jī)類等,通過表4“bookclass”表進(jìn)行圖書類型的管理,其余6位為圖書順序號。表1 bookinfo表字段名意義數(shù)據(jù)類型寬度nullprimarykeybookid圖書編號numberic8noisbnisbn書號char30ysetitle書名char40ysepublish出版日期charyseauthor作者char30ysewords字?jǐn)?shù)(千字)integerysepublisherid出版社idnumeric4ysenumber印刷冊數(shù)integeryseprice定價moneyysekeyword關(guān)鍵字char30yseabstract摘要varchar400yse表2 publisherlnfo表字段名意義數(shù)據(jù)類型寬度nullprimarykeypublisherid出版社idnumberic4nopublisher出版社名稱char30yesaddress出版社地址char0yestel電話char16yesfax傳真char16yespostcode郵政編碼numberic6yeshttp網(wǎng)址char16yes出版社id是代表出版社的代碼,它與圖書信息表(表1 bookinfo表)相關(guān)聯(lián)。圖書租借表(表 3 loan表)記錄了圖書租借情況,借書證書id與借書證表(表5 certificateinfo表)相關(guān)聯(lián)。表3 loan表字段名意義數(shù)據(jù)類型寬度nullprimarykeybookid圖書編號numric2nocert_id借書證書idnumric5noloandates借書日期dateyesreturndates還書日期dateyesflag標(biāo)記tinyintyes表 4 bookclass 字段名意義數(shù)據(jù)類型寬度nullprimarykeyclassid圖書分類代號numric2noclassname圖書分類名稱char30yes 表 5 certificateinfo字段名意義數(shù)據(jù)類型寬度nullprimarykeycert_id借書證書idnumric5nocert_name證件名稱char10yescert_value證件號碼numric18yesname姓名char8yesdepart所在部門char20yesflag標(biāo)記tinyintyes得 分評閱人五、界面設(shè)計和代碼實現(xiàn)(共30分)(1)程序主界面運(yùn)行程序后,見到如下界面:各模塊功能已在圖中標(biāo)注出。(2)系統(tǒng)登錄 在主界面上點擊“系統(tǒng)登錄”圖標(biāo),打開如下登陸界面:本系統(tǒng)將用戶權(quán)限分為三種:普通用戶、系統(tǒng)終端和系統(tǒng)管理員。普通用戶只具備最基本的查詢權(quán)限;系統(tǒng)終端可進(jìn)行新書入庫,舊書注銷,圖書租借,證件管理,出版社信息管理等操作;系統(tǒng)管理員擁有最高權(quán)限,可進(jìn)行包括上述功能在內(nèi)的所有操作。當(dāng)用戶做出超出當(dāng)前權(quán)限的操作時,系統(tǒng)會給出越權(quán)提示。下面以系統(tǒng)管理員的身份進(jìn)行程序功能的說明。(3)新書入庫點擊主界面上的新書入庫圖標(biāo)或從圖書管理菜單中選取,打開新書入庫界面如下:將新書信息錄入后點擊保存即可將信息保存至數(shù)據(jù)庫。點擊新建將在打開新的錄入界面的同時保存當(dāng)前信息。上方的控制按鈕可用于一次性錄入多本書籍信息時的查看及修改。以下為保存按鈕的關(guān)鍵代碼:insert into bookinfo (bookid,title,author,isbn,publish,words,publisher,number,price,keyword,abstract,class)/向bookinfo表中插入新信息values(:book_amount+1,:sle_title.text,:sle_author.text,:sle_isbn.text,:sle_publish.text,:sle_words.text,:sle_publisher.text:sle_number.text,:sle_price.text,:sle_keyword.text,:mle_abstract.text:ddlb_1.text);if sqlca.sqlcode0 thenmessagebox(保存失敗,數(shù)據(jù)庫錯誤代碼:+string(sqlca.sqldbcode)&+rn數(shù)據(jù)庫錯誤信息:+sqlca.sqlerrtext)/若保存出錯給出提示rollback;end if其中紅色部分為保存時的錯誤提示,程序中涉及數(shù)據(jù)庫操作的部分多處使用該段代碼,下文中將略去該段代碼。(4)舊書銷毀從圖書管理菜單中選擇舊書銷毀功能,打開界面如下:數(shù)據(jù)窗口輸入要刪除的書籍id后,點擊刪除記錄按鈕即可注銷該書信息。也可先查詢得到書籍id后再進(jìn)行刪除操作。以下為“刪除記錄”按鈕的關(guān)鍵代碼:delete from bookinfo/從bookinfo表刪除信息where bookid=:sle_delete.text;操作完成后系統(tǒng)會進(jìn)行相應(yīng)提示。(5)出版社信息管理圖書管理系統(tǒng)中應(yīng)有出版社信息管理的功能,包括出版社信息的查詢,錄入等功能,故設(shè)計界面如下:如圖所示,該界面既可用以錄入出版社信息,也可用以查找出版社信息,上方按鈕與新書入庫界面按鈕功能相似。保存按鈕代碼:insert into publisherinfo/向publisherinfo表添加信息(publisherid,publisher,address,tel,fax,postcode,http) values(:publisher_amount+1,:sle_publisher.text,:sle_address.text,:sle _tel.text,:sle_fax.text,:sle_postcode.text,:sle_http.text); 新建按鈕代碼為在保存的基礎(chǔ)上增加清空輸入框的代碼。(6)書籍查詢圖書管理系統(tǒng)最重要的功能之一即為書籍信息的查詢功能,要求能以多種方式查詢書籍信息,如書名查找,作者查找等方式。同時還要求能夠?qū)崿F(xiàn)模糊查詢。查詢界面如下:通過查詢方式下拉框可實現(xiàn)查詢條件的設(shè)置,描述文本框中則輸入具體的查詢信息。點擊開始查找按鈕查詢結(jié)果將顯示在上方的數(shù)據(jù)窗口中。從圖中可見已實現(xiàn)模糊查找功能。當(dāng)查詢條件為日期時,若輸入的數(shù)據(jù)格式與日期類型不符則會給出提示。雙擊查詢結(jié)果可打開該書的詳細(xì)信息。若查詢結(jié)果為空則給出提示。當(dāng)查詢條件為出版時間段時,主要代碼如下:dw_1.setsqlselect(ls_oldsql+where+temp+between+sle_describe.text+ and +sle_end_date.text+)/設(shè)置查詢條件 dw_1.settransobject(sqlca)/設(shè)置事務(wù)對象 dw_1.retrieve()其中l(wèi)s_oldsql由getsqlselect()得到。實現(xiàn)模糊查詢的代碼如下:dw_1.setsqlselect(ls_oldsql+where+temp+like%+sle_describe.text+%) dw_1.settransobject(sqlca) dw_1.retrieve()其他查詢條件代碼與以上類似,不一一例舉。雙擊查看書籍信息的代碼:if row 0 thentitle_temp=dw_1.getitemstring(row,title)/得到點擊行對應(yīng)書名open(w_detail)end if其中title_temp為該行對應(yīng)書名。(7)圖書租借圖書租借作為圖書管理系統(tǒng)最重要的一個部分,應(yīng)當(dāng)具有以下功能:1. 圖書租借信息的記錄2. 證件有效性的驗證3. 超期罰款的繳納本程序的圖書租借界面如下:借書與還書操作共用一個界面。輸入借書證號后,系統(tǒng)會判斷該證件是否存在,是否掛失或有超期書目未歸還,若有超期書目未歸還則無法進(jìn)行租借操作。若證件有效則證件信息會顯示在右邊方框中,借書記錄中則會顯示出該證件上還未歸還的書籍信息,同時會檢驗是否達(dá)到管理員規(guī)定的數(shù)量上限。輸入圖書編號及借書/還書日期后(日期由系統(tǒng)自動獲取)點擊確認(rèn)即可實現(xiàn)借/還書操作。若有超期未還的書籍需先在還書界面中繳納罰款方可繼續(xù)借書。相關(guān)關(guān)鍵代碼:if mark=1 then/判斷證件是否有效messagebox(提示,該證件已掛失)elseif mark=2 and gb_title.text=借書信息 thenmessagebox(提示,該證件有超期書籍未歸還)elseselect name,depart/查詢證件信息into :sle_name.text,:sle_depart.textfrom certificateinfowhere cert_id=:sle_cert_id.text;if sle_name.text= and sle_cert_id.text thenmessagebox(提示,無效的證件號)end ifif mark=0 and sle_name.text then/判斷證件狀態(tài)sle_flag.text=正常elseif mark=1 thensle_flag.text=掛失elseif mark=2 thensle_flag.text=超期未還forfeit=day_forfeit*daysafter(loandates,today)messagebox(圖書超期未還,須繳納+string(forfeit)+元罰款)end ifif sle_cert_id.text thendw_1.setsqlselect(select bookinfo.bookid,bookinfo.title,bookinfo.author,bookinfo.publisher,loan.loandates from bookinfo,loan where bookinfo.bookid=loan.bookid and loan.returndates is null and loan.cert_id=+sle_cert_id.text)/設(shè)置查詢條件dw_1.settransobject(sqlca)dw_1.retrieve()if dw_1.rowcount()=book_limit and dw_1.rowcount()0 and gb_title.text=借書信息 then/計算數(shù)據(jù)窗口中行數(shù)messagebox(提示,該借閱證最多只可借閱+string(dw_1.rowcount()+本書)end ifend ifend if(8)閱讀導(dǎo)航閱讀導(dǎo)航包括閱讀摘要和新書預(yù)覽兩項功能,分別實現(xiàn)書籍摘要閱覽及查看近半年出版的新書信息的功能。效果如下:新書預(yù)覽實際上使用了查詢界面的時間段查詢功能。打開查詢窗口的同時自動設(shè)置查詢時間段為最近半年,其余部分與前面相同。下面主要給出摘要界面的代碼:if row 0 thentitle_temp=dw_1.getitemstring(row,title)/獲得點擊行對應(yīng)標(biāo)題select abstract/查詢摘要信息into :mle_abstract.textfrom bookinfowhere title=:title_temp;end if(9)統(tǒng)計資料該菜單主要實現(xiàn)的功能為數(shù)據(jù)的統(tǒng)計匯總,包括各類圖書比例,借出與庫存比例,熱門書統(tǒng)計功能。通過使用游標(biāo)等方式獲取相關(guān)數(shù)據(jù)并將之顯示為餅狀圖或柱狀圖,相當(dāng)直觀。具體實現(xiàn)效果如下:實現(xiàn)上述功能的關(guān)鍵代碼為:gr_graphic.graphtype=pie3d!/設(shè)置圖表樣式int class,num,temp,ord=1select count(distinct class)/查詢不同書的總數(shù)into :classfrom bookinfo;declare book_cur cursor for/將每種書的數(shù)量存入數(shù)組select count(class)from bookinfogroup by bookinfo.class;open book_cur;fetch book_cur into :temp;do while sqlca.sqlcode=0numord=tempord=ord+1fetch book_cur into :temp;loopclose book_cur;string temp2,nameord=1declare book_cur2 cursor for/將每種書的借出數(shù)量存入數(shù)組select distinct classfrom bookinfo;open book_cur2;fetch book_cur2 into :temp2;do while sqlca.sqlcode=0nameord=temp2ord=ord+1fetch book_cur2 into :temp2;loopclose book_cur2;gr_graphic.addseries()for ord=1 to class/將數(shù)據(jù)傳遞給圖表控件gr_graphic.addcategory(nameord)gr_graphic.adddata(1,numord,nameord)next通過游標(biāo)的使用統(tǒng)計數(shù)據(jù)能夠?qū)崿F(xiàn)實時更新,顯示出最新的統(tǒng)計結(jié)果。(10)權(quán)限設(shè)置該操作必須具備系統(tǒng)管理員權(quán)限方可進(jìn)行。其功能為管理賬戶信息,設(shè)置不同類型證件可借閱的數(shù)量及超期罰款等。相關(guān)功能主要由兩個數(shù)據(jù)窗口實現(xiàn),如下圖:其中新增按鈕的代碼為:temp=dw_2.rowcount()dw_2.insertrow(temp+1)/新增一行確定按鈕代碼為:dw_1.update()/作出修改dw_2.update()if sqlca.sqlcode0 thenmessagebox(保存失敗,數(shù)據(jù)庫錯誤代碼:+string(sqlca.sqldbcode)&+rn數(shù)據(jù)庫錯誤信息:+sqlca.sqlerrtext)rollback;elsecommit;messagebox(修改成功,所作修改已成功存儲)close(parent)end if(11)證件管理圖書管理系統(tǒng)中需要有借書證信息管理功能,此處即為實現(xiàn)該功能。此界面能實現(xiàn)新證件的等級,證件的掛失、注銷以及證件信息的查找功能。查詢的代碼為:if ddlb_condition.text=借書證號 then/判斷查詢條件select cert_id,cert_name,cert_value,name,depart,flaginto :sle_cert_id.text,:sle_cert_name.text,:sle_cert_value.text,:sle_name.text,:ddlb_depart.text,:sle_flag.textfrom certificateinfowhere cert_id=:sle_condition.text;/查詢證件信息elseif ddlb_condition.text=身份證號 thenselect cert_id,cert_name,cert_value,name,depart,flaginto :sle_cert_id.text,:sle_cert_name.text,:sle_cert_value.text,:sle_name.text,:ddlb_depart.text,:sle_flag.textfrom certificateinfowhere cert_value=:sle_condition.text;end ifif sle_flag.text=0 then/顯示證件狀態(tài)sle_flag.text=正常elseif sle_flag.text=1 thensle_flag.text=掛失elseif sle_flag.text=2 thensle_flag.text=超期未還end if掛失的代碼為:update certificateinfo/更改certificateinfo表中對應(yīng)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度海上鉆井平臺聘用駕駛員安全服務(wù)合同
- 2025年度汽車駕駛員勞動合同續(xù)簽與交通違法行為責(zé)任協(xié)議
- 2025年度綠色交通基礎(chǔ)設(shè)施建設(shè)融資協(xié)議書
- 施工單位關(guān)于施工方案調(diào)整的工作聯(lián)系函
- 遠(yuǎn)程教育技術(shù)在小學(xué)教育中的應(yīng)用
- 高處墜落機(jī)械傷害搶救應(yīng)急預(yù)案格式
- 二手車質(zhì)押貸款合同范文
- 不履行租賃合同起訴書范本
- 臨時聘請合同書
- 上海市糧食買賣合同參考樣本
- 2025年常德職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 政治-湖北省湖部分名校(云學(xué)名校聯(lián)盟)2025屆高三1月聯(lián)考試題和答案
- 行政單位會計核算職責(zé)(4篇)
- 《義務(wù)教育道德與法治課程標(biāo)準(zhǔn)》解讀
- 2025年春新滬科版物理八年級下冊全冊教學(xué)課件
- 2025年國家廣播電視總局監(jiān)管中心招聘5人高頻重點提升(共500題)附帶答案詳解
- 2025年中國私域電商行業(yè)市場運(yùn)行態(tài)勢、市場規(guī)模及發(fā)展趨勢研究報告
- 財務(wù)核算管理制度
- 2024年山東省淄博市中考英語試題(含答案)
- 五十鈴、豐田全球化研究
- 升降柱建設(shè)方案
評論
0/150
提交評論