freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于pb的圖書管理系統(tǒng)論文(編輯修改稿)

2025-06-19 07:32 本頁面
 

【文章內(nèi)容簡介】 最好是由程序自動(dòng)生成的主鍵,這樣數(shù) 15 據(jù)庫就比較規(guī)范了。 另外,數(shù)據(jù)表設(shè)計(jì)時(shí)一般都應(yīng)該有一些標(biāo)志字段,標(biāo)志字段可以定義成 CHAR(1)或 BIT 型。建議實(shí)際應(yīng)用中定義成 CHAR(1)字段可以存儲(chǔ)多種可能的狀態(tài),在最初設(shè)計(jì)時(shí),可能我們沒有考慮到的一些情況,在程序后來的開發(fā)中,可以通過設(shè)計(jì)標(biāo)志字段為不同的 值來解決,這樣就避免了修改數(shù)據(jù)庫結(jié)構(gòu)。 數(shù)據(jù)庫初期設(shè)計(jì)時(shí)一定要謹(jǐn) 慎,把所有可能的情況都考慮進(jìn)去,即使當(dāng)時(shí)沒有用到,也要將它留在數(shù)據(jù)庫中作為備用字段以便將來擴(kuò)充。 程序一旦開始編碼,就應(yīng)該盡量避免再修改數(shù)據(jù)庫。因?yàn)槿绻麛?shù)據(jù)庫結(jié)構(gòu)一旦改變, 所有與修改的數(shù)據(jù)表相關(guān)的業(yè)務(wù)都有可能受到影響,而某些影響還很難看到,這樣就容易形成一個(gè)惡性循環(huán)。錯(cuò)誤越改越多,越改越亂,最終導(dǎo)致程序的失敗。 PB 的數(shù)據(jù)窗口與其他語言的數(shù)據(jù)控件不一樣,它的很多東西是預(yù)編譯的。即使你一個(gè)模塊已經(jīng)調(diào)試無誤,但只要數(shù)據(jù)庫結(jié)構(gòu)改動(dòng)。相應(yīng)的模塊就一定要重新修改,否則一定會(huì)出問題。 圖書借閱管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表的設(shè) 計(jì)結(jié)果如下面幾個(gè)表格所示。每個(gè)表格表示為數(shù)據(jù)庫中的一個(gè)表。 借閱人基本信息表 memberinfo 說明:記錄借閱人的基本情況, memberid設(shè)為主鍵、索引。 表 列名 數(shù)據(jù)類型 長度 可否為空 注釋 Memberid Char 10 Not Null 借閱人編號(hào) Membername Char 10 Null 借閱人姓名 Id varchar 20 Null 身份證號(hào) Add Char 50 Null 聯(lián)系地址 Phone Char 20 Null 聯(lián)系電話 16 Mobile Char 20 Null 移動(dòng)電話 用戶基本信息表 people 說明:記錄系統(tǒng)用戶的用戶名、密碼與權(quán)限, name設(shè)為主鍵。 表 列名 數(shù)據(jù)類型 長度 可否為空 注釋 name Char 10 Not Null 用戶名 password Char 10 Not Null 密碼 level char 1 Not Null 權(quán)限 圖書基本信息表 bookinfo 說明:記錄圖書基本信息, bookid設(shè)為主鍵、索引。 表 列名 數(shù)據(jù)類型 長度 可否為空 注釋 Bookid Char 10 Not null 圖書編號(hào) Isbn Char 30 Null 圖書 ISBN Classname Char 20 Null 圖書類型 Title Char 40 Null 圖書名稱 publishdate date Null 出版日期 author Char 20 Null 作者 words int Null 字?jǐn)?shù)(千字) pub Char 30 Null 出版社 price numeric Null 價(jià)格 disk Char 1 Null 附帶光盤 keyword Char 30 Null 關(guān)鍵詞 number int Null 存放代碼 Abstract varchar 100 Null 摘要 bookonloan Char 1 Null 圖書在借標(biāo)志 17 (Y在借 N未借 ) 出版社基本信息表 publishinfo 說明:記錄出版社信息, pubid設(shè)為主鍵。 表 列名 數(shù)據(jù)類型 長度 可否為空 注釋 Pubid char 4 Not Null 出版社編號(hào) Pub char 30 Null 出版社名稱 Add char 50 Null 聯(lián)系地址 Zip char 6 Null 郵政編碼 Tel char 16 Null 聯(lián)系電話 Fax char 16 Null 傳真 char 16 Null 網(wǎng)址 分類信息表 bookclass 說明:記錄定制的分類情況, classid設(shè)為主鍵。 表 列名 數(shù)據(jù)類型 長度 可否為空 注釋 Classid Char 2 Not Null 分類編號(hào) Classname Char 20 Null 分類名稱 Number int Null 數(shù)目 借閱情況信息表 loan 說明:進(jìn)行借閱的登記, loanid設(shè)為主鍵、自動(dòng)增長。 表 列名 數(shù)據(jù)類型 長度 可否為空 注釋 Loanid Int Not Null 借閱序號(hào) Bookid Char 10 Not Null 圖書編號(hào) 18 memberid Char 10 Not Null 借閱人編號(hào) Loandate date Null 借閱日期 規(guī)則信息表 regular 說明:記錄設(shè)置的借閱規(guī)則, days設(shè)為主鍵。 表 列名 數(shù)據(jù)類型 長度 可否為空 注釋 Days Int 4 Not Null 免費(fèi)借閱天數(shù) Fine Dec Null 罰金標(biāo)準(zhǔn) Flag Char 1 Null 規(guī)則開關(guān) ( 1)規(guī)劃有效的索引 ,包括主關(guān)鍵字和外部關(guān)鍵字所在的列。 。 。索引需要一定硬盤空間和時(shí)間來維護(hù)。具有較高數(shù)據(jù)插入操作頻率的數(shù)據(jù)庫最好不要索引。有較高讀操作頻率的數(shù)據(jù)庫應(yīng)該有更多的索引。 。在可能的情況下,使用較小的數(shù)據(jù)類型,例如用 varchar 替代 char。 。在為數(shù)據(jù)檢索優(yōu)化表時(shí),簇索引必須支持?jǐn)?shù)據(jù)的分組索引。為簇關(guān)鍵字選擇列或列組,簇關(guān)鍵字以經(jīng)常需要的順 序排序數(shù)據(jù)或以必須被一起訪問的記錄而分組記錄。 。具有高選擇性的列是索引的最好候選列。具有高密度的列是索引糟糕的候選列。 ( 2)使用約束實(shí)現(xiàn)數(shù)據(jù)的完整性 PRIMARY KEY 約束在表中定義了主關(guān)鍵字,它是行唯一的標(biāo)識(shí)符,它可以強(qiáng)制實(shí)體完整性。在使用 PRIMARY KEY 約束時(shí)考慮以下 19 事實(shí): a. 每個(gè)表只能有一個(gè) PRIMARY KEY 約束。 b. 鍵入的值必須是唯一的。 c. 不允許有空值。 d. PRIMARY KEY 約束在指定的列創(chuàng)建唯一的索引,可以指定簇索引和非簇索引(如果 非簇索引先前 并不存在,簇索引是默認(rèn)的)。 UNIQUE 約束指定,在一列中的兩行不能有相同的值。該約束使用唯一的索引來強(qiáng)制實(shí)體的完整性。在已有一個(gè)主關(guān)鍵字時(shí) UNIQUE約束很有用,例如雇員號(hào),但是必須保證其他標(biāo)識(shí)符(例如,雇員駕駛證號(hào))也是唯一的。在使用 UNIQUE 約束時(shí),考慮以下事實(shí); a. 允許有空值。 b. 在一個(gè)表中可以設(shè)置多個(gè) UNIQUE 約束。 c. 可以將 UNIQUE 約束運(yùn)用于具有唯一值的單列或多列,但不能用于表的主關(guān)鍵字。 d. 通過在指定的列或列組中創(chuàng)建唯一的索引,可以使 UNIQUE 索引得到強(qiáng)制 20 五 圖書 管理系統(tǒng)的具體實(shí)現(xiàn) 1 PowerBuilder 開發(fā)工具簡介 PowerBuilder 是目前開發(fā) Client/Server 結(jié)構(gòu)的應(yīng)用系統(tǒng)的主要工具之一。,為適應(yīng)網(wǎng)絡(luò)應(yīng)用程序的開發(fā)要求集成了 Enterprise Application Studio 中 PowerBuilder 以及 Power Site的功能,在傳統(tǒng)數(shù)據(jù)庫開發(fā)的基礎(chǔ)上,將 Web應(yīng)用更好地集成到 PowerBuilder中。 PowerBuilder 全面支持面向?qū)ο缶幊?。是功能?qiáng)大并易于使 用的第 4 代編程語言 (4GL),它內(nèi)置了包括數(shù)據(jù)窗口在內(nèi)的多種對(duì)象類,可以方便地訪問數(shù)據(jù)庫。相對(duì)于其他應(yīng)用工具, PowerBuilder 具有工作效率高、成本低、質(zhì)量高、功能強(qiáng)的特點(diǎn)。 2 Powerbuilder 8 應(yīng)用程序開發(fā)的基本步驟 我們要開發(fā)應(yīng)用程序時(shí),首先要對(duì)它進(jìn)行分析。無論哪種、哪方面的應(yīng)用程序,都要先建立一個(gè)應(yīng)用對(duì)象。下面我們介紹以下 PowerBuilder 8應(yīng)用程序開發(fā)的基本步驟: ( 1)首先要建立應(yīng)用對(duì)象。 ( 2)創(chuàng)建窗口。在窗口里放置各種控件和編寫事件響應(yīng)的腳本。 ( 3)創(chuàng)建菜單。窗 口里的菜單可包括菜單條,下拉式菜單,級(jí)聯(lián)菜單和彈出式菜單為菜單編寫事件響應(yīng)的腳本。 ( 4)創(chuàng)建用戶對(duì)象。如果想要重復(fù)使用某個(gè)控件的功能,可以把窗口上經(jīng)常放置的控件定義為用戶對(duì)象。 ( 5)創(chuàng)建數(shù)據(jù)窗口。數(shù)據(jù)窗口可以檢索數(shù)據(jù)庫中的數(shù)據(jù),可以建立 21 各種報(bào)或統(tǒng)計(jì)表,可以修改數(shù)據(jù)庫。 ( 6)創(chuàng)建函數(shù)、結(jié)構(gòu)、事件。為了能夠更好地支持腳本,編寫自定義的函數(shù),定義結(jié)構(gòu)類型變量,也可以為對(duì)象和控件定義自己的事件。 ( 7)運(yùn)行與調(diào)試??梢栽陂_發(fā)環(huán)境中隨時(shí)運(yùn)行應(yīng)用程序,發(fā)現(xiàn)錯(cuò)誤后,可以用調(diào)試工具進(jìn)行調(diào)試。 ( 8)當(dāng)應(yīng)用程序開發(fā)完畢 后,可以把它編譯成可執(zhí)行的文件,讓用戶比較容易地建立應(yīng)用系統(tǒng)的運(yùn)行環(huán)境。 3 編碼規(guī)范 為了減少在軟件開發(fā)過程中的錯(cuò)誤,在軟件開發(fā)過程中應(yīng)該遵守一定的標(biāo)準(zhǔn)。 給對(duì)象命名要有一定的規(guī)范,部件名稱可以達(dá)到 40 個(gè)字符,窗口的命名: W_功能代碼 _功能描述。數(shù)據(jù)窗口的命名: DW_功能代碼 _功能描述。菜單命名: M_功能代碼 _功能描述。 標(biāo)識(shí)符命名時(shí),應(yīng)該使標(biāo)識(shí)符有一定的字面含義,有助于程序的調(diào)試和腳本的可讀性的提高。本系統(tǒng)中使用的命名規(guī)范為:變量作用域 +變量類型 +” _” +具有一定字面含義的名稱。例如: li_selectrow 反映出的含義: ”l” 代表是本地變量,是 local 的縮寫, ” i” 代表是 integer 類型的變量, selectrow 表示該變量是用來記錄一個(gè)行號(hào)的計(jì)數(shù)器。 4 創(chuàng)建祖先窗口和全局函數(shù) 為充分利用 PB 的面向?qū)ο蟮奶匦?。程序開發(fā)時(shí)一般創(chuàng)建幾個(gè)模板窗口。將功能窗口上的某些常用功能封裝在模板窗口中。然后將這些模板窗口作為祖先窗口。所有的子孫窗口都可以通過繼承的方法來生成。這樣就減少了代碼的書寫量。使得整個(gè)程序界面保持整齊。當(dāng)修改祖先窗口時(shí),所有的子孫窗口都會(huì)自動(dòng)修改。所以,祖先窗口的確定要十分謹(jǐn)慎。 22 全局 函數(shù)與局部函數(shù)的作用類似。唯一不同的是全局函數(shù)的作用域是整個(gè)程序周期。不論你在任何一個(gè)模塊的代碼中都可以調(diào)用它。所以我們可以把某些常用功能寫成全局函數(shù)。在程序的其他地方反復(fù)調(diào)用。 函數(shù) level(character lev) 功能介紹:通過傳入的 lev值,將某些菜單項(xiàng)設(shè)為“非使能”,以限制某些功能的使用。 Lev 值即不同職責(zé)的權(quán)限(系統(tǒng)管理 圖書管理 借閱人管理 借閱操作員 4),從 people 表中的 level字段中讀取。 代碼分析: choose case lev case 1 case 2 .enabled=false .enabled=false .m_用戶管理 .enabled=false .m_借閱規(guī)則設(shè)置 .enabled=false .m_圖書信息設(shè)置 .enabled=false case 3 .enabled=false .enabled=false .enabled=false .enabled=false .m_用戶管理 .enabled=false .m_借閱規(guī)則設(shè)置 .enabled=false 23 .m_圖書信息設(shè)置 .enabled=false case 4 .enabled=false .enabled=false .m_用戶管理 .enabled=false .m_借閱規(guī)則設(shè)置 .enabled=false .m_圖書信息設(shè)置 .enabled=false end choose 函數(shù) countday countday (date date1,date date2) 功能介紹:通過傳入的 date1(起始日期)值與 date2(結(jié)束日期)值,計(jì)算出中間相差的天數(shù),返回值為 integer 型。 代碼分析: int day day=(integer(year(date2)) integer(year(date1)))*365 +amp。 (integer(month(date2)) integer(month(date1)))*30 +amp。 (integer(day(date2)) integer(day(date1)))*1 return day 函數(shù) countfine countfine (integer days, decimal fine, integer countday) 功能介紹:根據(jù)圖書免費(fèi)借閱天數(shù) days、罰金費(fèi)率 fine,以及已借閱的天數(shù)(由 countday
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1