數(shù)據(jù)庫(kù)圖書管理系統(tǒng)1._第1頁
數(shù)據(jù)庫(kù)圖書管理系統(tǒng)1._第2頁
數(shù)據(jù)庫(kù)圖書管理系統(tǒng)1._第3頁
數(shù)據(jù)庫(kù)圖書管理系統(tǒng)1._第4頁
數(shù)據(jù)庫(kù)圖書管理系統(tǒng)1._第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1、引言圖書館是我們學(xué)生在日常生活、學(xué)習(xí)中接觸比較多的機(jī)構(gòu),圖書館中首先要記錄大量的圖書信息,為了方便廣大讀者的查詢還要一些方便查詢的程序語言。同時(shí),為了記錄讀者的借閱信息,還要建立讀者的相關(guān)信息表,這么多的數(shù)據(jù)如果人工來處理不僅速度慢、效率低,而且很容易出錯(cuò),不利于圖書館的綜合管理。由于科學(xué)技術(shù)的發(fā)展,電腦的應(yīng)用越來越普遍,而且數(shù)據(jù)庫(kù)系統(tǒng)的不斷完善,幾乎所有的圖書故都開始采用電腦來管理日常事務(wù)。通過電腦來管理圖書館的日常事務(wù),這就要求我們建立一個(gè)符合圖書館實(shí)際應(yīng)用的數(shù)據(jù)庫(kù)系統(tǒng)來存儲(chǔ)大量的各種信息。2、 需求分析階段需求分析階段是圖書管管理系統(tǒng)開發(fā)的第一個(gè)階段,也是非常重要的一個(gè)階段。這是設(shè)計(jì)

2、數(shù)據(jù)庫(kù)的起點(diǎn),需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。它也是我們系統(tǒng)開發(fā)過程當(dāng)中最困難、最耗費(fèi)時(shí)間的一步,作為地基的需求分析做的是否充分和準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫(kù)大廈的速度和質(zhì)量。2.1需求分析階段的目標(biāo)與任務(wù)需求階段主要任務(wù)是通過詳細(xì)調(diào)查圖書館的詳細(xì)業(yè)務(wù)情況,了解原系統(tǒng)的工作情況,明確用戶的各項(xiàng)需求,在此基礎(chǔ)上確定新系統(tǒng)的功能,了解新系統(tǒng)的業(yè)務(wù)流程,數(shù)據(jù)流程,完成數(shù)據(jù)字典的建立。需求分析的任務(wù)是通過詳細(xì)的調(diào)查現(xiàn)實(shí)生活中圖書館,充分了解圖書館系統(tǒng)工作概況,明確用戶的各種需求,然后再次基礎(chǔ)上確定新系統(tǒng)的功能,新系統(tǒng)必須充分考

3、慮到今后可能的擴(kuò)充和改變,不能僅僅按照當(dāng)前應(yīng)用需求來建設(shè)數(shù)據(jù)庫(kù)。調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”,我們要通過調(diào)查、收集與分析,獲得用戶對(duì)數(shù)據(jù)庫(kù)如下要求:(1)信息要求我們要了解圖書館管理系統(tǒng)都要存儲(chǔ)哪些信息。這里我們了解到圖書館管理系統(tǒng)大概要存儲(chǔ)的信息有:圖書信息,管理員信息,讀者信息,借書信息,還書信息,讀者注銷、注冊(cè)、圖書罰款信息等。(2)處理要求了解圖書館管理員要完成哪些處理功能,對(duì)處理的相應(yīng)時(shí)間有什么特殊要求,處理方式是批處理還是聯(lián)機(jī)處理。這里我們了解到圖書館管理員要處理的事務(wù)大體為:管理讀者的借閱、歸還,管理讀者的圖書卡的注銷、注冊(cè),完成對(duì)那些欠款的讀者的罰款,圖書管理員的的相關(guān)事務(wù)。

4、(3) 安全性與完整性要求確定用戶的最終需求是意見很困難的事,這是因?yàn)橐环矫嬗脩羧鄙儆?jì)算機(jī)只是,開始的時(shí)候無法確定計(jì)算機(jī)計(jì)算機(jī)能夠?yàn)樽约鹤鍪裁?,不能做什么,因此往往不能正確的表達(dá)自己的需求,所提出的要求往往不斷的變化。設(shè)計(jì)人員必需不斷的深入與用戶交流,才能逐步確定用戶的實(shí)際需求。2.2需求分析的方法進(jìn)行需求分析首先是調(diào)查清楚用戶的實(shí)際要求,與用戶達(dá)成共識(shí),然后分析語表達(dá)這些需求。調(diào)查用戶需求的具體步驟是:1.調(diào)查組織機(jī)構(gòu)性質(zhì)。2.調(diào)查個(gè)部門的業(yè)務(wù)活動(dòng)情況。3.在熟悉了業(yè)務(wù)活動(dòng)的基礎(chǔ)上協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求,包括信息要求、處理要求、安全性與完整性的要求,者是調(diào)查的由一個(gè)重點(diǎn)。4.確定系統(tǒng)

5、的邊界。2.2.1處理對(duì)象1、圖書類別(圖書類別號(hào),圖書類別名)2、管理員(管理員編號(hào),管理員姓名,管理員性別,管理員電話)3、讀者(讀者編號(hào),讀者姓名,讀者性別,讀者類型,最大借閱量,登記時(shí)期)4、圖書(圖書編號(hào),圖書名稱,圖書類別號(hào),作者,出版社,出版日期,收錄時(shí)間,圖書價(jià)格,是否被借,)5、借書(圖書編號(hào),讀者編號(hào),借閱時(shí)間)6、還書(圖書編號(hào),讀者編號(hào),還書時(shí)間)7、罰款(讀者編號(hào),讀者姓名,圖書編號(hào),圖書名,罰款金額,借閱時(shí)間) 2.2.2處理功能及要求1. 讀者基本信息的輸入,包括借書證編號(hào)、讀者姓名、讀者性別。2讀者基本信息的查詢、修改,包括讀者借書證編號(hào)、讀者姓名、讀者性別等。

6、3書籍類別標(biāo)準(zhǔn)的制定、類別信息的輸入,包括類別編號(hào)、類別名稱。4書籍類別信息的查詢、修改,包括類別編號(hào)、類別名稱。5書籍庫(kù)存信息的輸入,包括書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、登記日期。6書籍庫(kù)存信息的查詢,修改,包括書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期登記日期等。7借書信息的輸入,包括讀者借書證編號(hào)、書籍編號(hào)、借書日期。8借書信息的查詢、修改,包括借書證編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期等。9還書信息的輸入,包括借書證編號(hào)、書籍編號(hào)、還書日期。 10還書信息的查詢和修改,包括還書讀者借書證編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱

7、、借書日期、還書日期等。11超期還書罰款輸入,還書超出期限包括超出期限還書的讀者借書證號(hào),書籍編號(hào),罰款金額。12超期還書罰款查詢,刪除,包括讀者借書證編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱,罰款金額等2.2.3 安全性和完整性要求1) 安全性要求 系統(tǒng)安全性要求體現(xiàn)在數(shù)據(jù)庫(kù)安全性、信息安全性和系統(tǒng)平臺(tái)的安全性等方面。安全性先通過視圖機(jī)制,不同的用戶只能訪問系統(tǒng)授權(quán)的視圖,這樣可提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,再通過分配權(quán)限、設(shè)置權(quán)限級(jí)別來區(qū)別對(duì)待不同操作者對(duì)數(shù)據(jù)庫(kù)的操作來提高數(shù)據(jù)庫(kù)的安全性;系統(tǒng)平臺(tái)的安全性體現(xiàn)在操作系統(tǒng)的安全性、計(jì)算機(jī)系統(tǒng)的安全性和網(wǎng)絡(luò)體系的安全性等方面。2) 完整性要求系統(tǒng)完

8、整性要求系統(tǒng)中數(shù)據(jù)的正確性以及相容性??赏ㄟ^建立主、外鍵,或者通過使用觸發(fā)器更新。2.2.4數(shù)據(jù)字典數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系,數(shù)據(jù)字典則是系統(tǒng)中各類數(shù)據(jù)描述的集合,使進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典在數(shù)據(jù)庫(kù)的設(shè)計(jì)中占有很重要的地位。數(shù)據(jù)字典通常包括:數(shù)據(jù)項(xiàng),數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流,數(shù)據(jù)存儲(chǔ)和處理過程五個(gè)部分。這里,由于系統(tǒng)的需求和技術(shù)的原因,我們只涉及數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。a) 數(shù)據(jù)項(xiàng):數(shù)據(jù)項(xiàng)名別名數(shù)據(jù)類型長(zhǎng)度取值范圍bookstyleno圖書類別號(hào)varchar30bookstyle圖書類別名varchar30managerid管理員編號(hào)varchar10managerna

9、me管理員姓名varchar10managersex管理員性別varchar10(男,女)managerphone管理員電話varchar10ISBN圖書編號(hào)Varchar20bookname圖書名Varchar30bookstyleno圖書類別號(hào)Varchar30bookauthor圖書作者Varchar30bookpub出版社名稱Varchar30bookpubdate出版日期Datetimebookindate登記日期Datetimebookprice圖書價(jià)格intisborrowed是否被借出Varcharreaderid讀者編號(hào)varchar9readername讀者姓名varcha

10、r9readersex讀者性別varchar2(男,女)readertype讀者種類varchar10maxborrow最大借閱量intregdate登記日期datetimeborrowdate借閱時(shí)間varcharreturndate歸還時(shí)間datetimebookfee罰款金額varchar30b) 數(shù)據(jù)結(jié)構(gòu)根據(jù)以上分析,得到相應(yīng)的數(shù)據(jù)結(jié)構(gòu)表如下:數(shù)據(jù)結(jié)構(gòu)名含義說明組成圖書類別記錄學(xué)生的基本信息Bookstyleno,bookstyle圖書管理員記錄員工的基本信息Managerid,managername,managersex,managerphone圖書信息記錄書籍的基本信息ISBN,b

11、ookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,bookprice,isborrowed讀者信息記錄借閱卡的基本信息Readerid,readername,readersex,readertype,maxborrow,regdate借書信息記錄當(dāng)前借閱的信息ISBN,readerid,borrowdate還書信息記錄借閱歷史ISBN,readerid,returndate罰款信息記錄學(xué)生的罰款信息Readerid,readername,ISBN,bookname,bookfee,borrowdate,3、 概念設(shè)計(jì)階段

12、將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計(jì),它是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。概念設(shè)計(jì)就是要把我們?cè)跇I(yè)務(wù)流程圖、數(shù)據(jù)流程圖轉(zhuǎn)化為相應(yīng)的關(guān)系圖,并畫出相應(yīng)的E-R圖。3.1概念設(shè)計(jì)任務(wù)在需求分析階段所得到的應(yīng)用需求應(yīng)該首先抽象為信息世界的結(jié)構(gòu),才能更好的、更準(zhǔn)確的用某一DBMS實(shí)現(xiàn)這些需求。概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于及其、更抽象,從而更加穩(wěn)定。描述概念模型的有力工具是E-R圖模型,通過E-R模型我們可以形象具體的體現(xiàn)出實(shí)體之間的聯(lián)系。3.2 E-R圖設(shè)計(jì)根據(jù)前面的需求分析,可以將圖書管系統(tǒng)數(shù)據(jù)庫(kù)實(shí)體劃分為圖書類別實(shí)體集、管理員信息實(shí)體集、圖書信息實(shí)

13、體集、讀者信息實(shí)體集,借書實(shí)體集,還書實(shí)體集,罰款信息實(shí)體集,我們得到以下分的E-R圖:1、類別實(shí)體E-R圖:圖書類別號(hào)號(hào)圖書類別名名稱圖書類別2、管理員實(shí)體E-R圖:管理員管理員編號(hào)管理員姓名管理員性別管理員電話3、圖書實(shí)體E-R圖:圖書信息圖書名作者圖書編號(hào)圖書類別號(hào)圖書價(jià)格是否被借出收錄時(shí)間出版日期出版社4、讀者信息實(shí)體E-R圖:讀者信息讀者類型讀者姓名讀者編號(hào)登記時(shí)間最大借閱量讀者性別5、借書信息實(shí)體E-R圖:讀者編號(hào)圖書編號(hào)借閱時(shí)間借書信息6、還書信息實(shí)體E-R圖:還書信息讀者編號(hào)圖書編號(hào)歸還時(shí)間隔7、罰款信息實(shí)體E-R圖:罰款信息圖書編號(hào)罰款金額讀者姓名讀者編號(hào)圖書名借閱時(shí)間8、總

14、的信息實(shí)體E-R圖:圖書信息讀者信息還書信息借書信息罰款信息圖書類別借書記錄還書還書管理管理借書罰款管理員綜上我們涉及到的實(shí)體有:圖書類別(圖書類別號(hào),圖書類別名)管理員(管理員編號(hào),管理員姓名,管理員性別,管理員電話)讀者 (讀者編號(hào),讀者姓名,讀者性別,讀者類型,最大借閱量,登記時(shí)期)圖書 (圖書編號(hào),圖書名稱,圖書類別號(hào),作者,出版社,出版日期,收錄時(shí)間,圖書價(jià)格,是否被借,)借書(圖書編號(hào),讀者編號(hào),借閱時(shí)間)還書(圖書編號(hào),讀者編號(hào),還書時(shí)間)罰款(讀者編號(hào),讀者姓名,圖書編號(hào),圖書名,罰款金額,借閱時(shí)間)3.3圖書館功能模塊設(shè)計(jì)圖書管理系統(tǒng)讀者信息管理圖書信息管理新增圖書信息修改圖

15、書信息刪除圖書信息查詢圖書各項(xiàng)信息新增讀者信息修改讀者信息刪除讀者信息查詢讀者各項(xiàng)信息管理員信息管理新增管理員信息修改管理員信息刪除管理員信息查詢管理員各項(xiàng)信息4、邏輯設(shè)計(jì)階段4.1邏輯設(shè)計(jì)任務(wù)邏輯設(shè)計(jì)階段的目的是將我們已經(jīng)畫好的E-R圖轉(zhuǎn)化為相應(yīng)的關(guān)系模型,是我們?cè)诮?shù)據(jù)庫(kù)的時(shí)候可以根據(jù)這些關(guān)系模型建立表。以上的概念設(shè)計(jì)階段是獨(dú)立于任何一種數(shù)據(jù)模型的,但是邏輯設(shè)計(jì)階段就與選用的DBMS產(chǎn)品發(fā)生關(guān)系了,系統(tǒng)邏輯設(shè)計(jì)的任務(wù)就是將概念設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。具體內(nèi)容包括數(shù)據(jù)組織(將E-R圖轉(zhuǎn)換成關(guān)系模型、模型優(yōu)化、數(shù)據(jù)庫(kù)模式定義、用戶子

16、模式設(shè)計(jì))、數(shù)據(jù)處理(畫出系統(tǒng)功能模塊圖)兩大任務(wù)。4.2圖向關(guān)系模型轉(zhuǎn)化將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體型、實(shí)體的屬性和實(shí)體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。由以上的E-R圖我們得到如下的基本表:1、圖書類別信息:book_style(bookstyleno, bookstyle)表中列名別名數(shù)據(jù)類型可否為空bookstyleno圖書類別號(hào)varcharnot null(主鍵)bookstyle圖書類別名varcharnot null2、管理員 system_managers(managerid, managername, managersex, managerphone)表中列名別名數(shù)

17、據(jù)類型可否為空managerid管理員編號(hào)varcharNot null(主鍵)managername管理員姓名varcharnot nullmanagersex管理員性別varcharnot nullmanagerphone管理員電話varcharnot null3、圖書信息:System_books(bookid, bookname, bookstyleno, bookauthor, bookpub, bookpubdate, bookindate, bookprice, isborrowed)表中列名別名數(shù)據(jù)類型可否為空bookid圖書編號(hào)Varcharnot null(主鍵)bookn

18、ame圖書名Varcharnot nullbookstyleno圖書類別號(hào)Varcharnot nullbookauthor圖書作者varcharnot nullbookpub出版社名稱varcharnullbookpubdate出版日期datetimenullbookindate登記日期datetimenullbookprice圖書價(jià)格intnot nullisborrowed是否被借出varcharnot null4讀者信息:System_readers(readerid, readername, readersex, readertype, maxborrow, regdate)表中列名

19、別名數(shù)據(jù)類型可否為空readerid讀者編號(hào)varcharnot null(主鍵)readername讀者姓名varcharnot nullreadersex讀者性別varcharnot nullreadertype讀者種類varcharnullmaxborrow最大借閱量intnot nullregdate登記日期datetimenull5、借書信息:Borrow_record (ISBN, readerid, borrowdate)表中列名別名數(shù)據(jù)類型可否為空ISBN圖書編號(hào)varcharnot null(外鍵)readerid讀者編號(hào)varcharnot null(外鍵)borrowda

20、te借閱時(shí)間varcharnot null6、還書信息:return_record(ISBN,readerid, returndate)表中列名別名數(shù)據(jù)類型可否為空ISBN圖書編號(hào)varcharnot null(外鍵)Readerid讀者編號(hào)varcharnot null(外鍵)returndate歸還時(shí)間datetimenot null7、罰款信息:reader_fee(readerid, readername, ISBN, bookname, bookfee, borrowdate)表中列名別名數(shù)據(jù)類型可否為空readerid讀者編號(hào)varcharnot nullreadername讀者姓

21、名varcharnot nullISBN圖書編號(hào)varcharnot null(外鍵)bookname圖書名varcharnot nullbookfee罰款金額varcharnot nullborrowdate借閱時(shí)間datetimenot null4.3 數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果不是唯一的。為了進(jìn)一步提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,還應(yīng)該根據(jù)數(shù)據(jù)庫(kù)的需要適當(dāng)?shù)男薷?,調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),這就是數(shù)據(jù)模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo),方法為:1.確定函數(shù)依賴按照需求分析階段得到的予以,分別寫出每個(gè)關(guān)系模式內(nèi)部個(gè)屬性之間的數(shù)據(jù)依賴以及不同模式屬性之間的數(shù)據(jù)依賴。2.對(duì)于各個(gè)關(guān)

22、系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。3.按照數(shù)據(jù)依賴的原理對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。4.按照需求分析階段的處理要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)某些模式進(jìn)行合并或分解。對(duì)關(guān)系模式進(jìn)行必要的分解,提高數(shù)操作的效率和存儲(chǔ)空間的利用率。 常用的兩種分解方法是水平分解法和垂直分解。管理員信:System_managers(managerid, managername, managersex, managerphone)存在的函數(shù)依賴有:managerid決定managername,

23、 managersex, managerphone,同時(shí)managerphone分別的也能夠決定其他的屬性,這兩個(gè)數(shù)據(jù)項(xiàng)分別作為這個(gè)實(shí)體型的碼,我們選取managerid作為主碼。不存在部分函數(shù)依賴和傳遞函數(shù)依賴,所以這個(gè)關(guān)系模式屬于BCNF.圖書類別信息:Book_style(bookstyleno, bookstyle)在員工關(guān)系模式中,bookstyleno決定了另一個(gè)的數(shù)據(jù)項(xiàng),所以這個(gè)關(guān)系模式屬于BCNF。圖書信息:System_books(ISBN, bookname, bookstyleno, bookauthor, bookpub, bookpubdate, bookindate

24、, bookprice, isborrowed)圖書信息關(guān)系模式中,ISBN決定了其它的所有數(shù)據(jù)項(xiàng),所以這個(gè)關(guān)系模式屬于BCNF。讀者信息:System_readers(readerid, readername, readersex, readertype, maxborrow, regdate)在借閱卡信息關(guān)系模式中,readerid決定了其它的所有數(shù)據(jù)項(xiàng),所以這個(gè)關(guān)系模式屬于BCNF。借書信息:Borrow_record (ISBN,readerid, borrowdate)在罰款信息關(guān)系模式中,ISBN,readerid共同作為主碼決定了另一個(gè)數(shù)據(jù)項(xiàng),所以這個(gè)關(guān)系模式屬于BCNF。還書信

25、息:Return_record(ISBN, readerid, returndate)丟書信息的關(guān)系模式中ISBN, readerid作為主碼決定了returndate,所以這個(gè)關(guān)系模式屬于BCNF。罰款信息:reader_fee(readerid, readername, ISBN, bookname, bookfee, borrowdate)在讀者推薦的關(guān)系模式中,readerid, ISBN作為主碼決定了borrowdate,所以這個(gè)關(guān)系模式屬于BCNF。4.4設(shè)計(jì)用戶子模式將概念模型轉(zhuǎn)換為全局邏輯模型后,還應(yīng)該根據(jù)局部應(yīng)用需求,結(jié)合具體DBMS的特點(diǎn),設(shè)計(jì)用戶的外模式。目前關(guān)系數(shù)據(jù)庫(kù)管

26、理系統(tǒng)一般都提供了試圖概念,可以利用這一功能設(shè)計(jì)更加符合局部用戶需要的用戶外模式。1、 查看圖書信息的視圖view_book數(shù)據(jù)項(xiàng)名別名數(shù)據(jù)類型長(zhǎng)度取值范圍ISBN圖書編號(hào)Varchar20bookname圖書名Varchar30bookstyle圖書類別Varchar30bookauthor作者Varchar30bookpub出版社名稱Varchar30bookpubdate出版日期Datetimebookprice圖書價(jià)格Intisborrowed是否被借出Varchar2、查看讀者信息視圖 view_reader數(shù)據(jù)項(xiàng)名別名數(shù)據(jù)類型長(zhǎng)度取值范圍readerid讀者編號(hào)varchar9re

27、adername讀者姓名varchar9readersex讀者性別varchar2(男,女)readertype讀者類型varchar10maxborrow最大借閱量int3、查看讀者借書視圖:view_reader_book數(shù)據(jù)項(xiàng)名別名數(shù)據(jù)類型長(zhǎng)度取值范圍system_readers.readerid讀者編號(hào)varchar9system_readers.readername讀者姓名varchar9system_books.ISBN圖書編號(hào)varchar20book_style.bookstyleno圖書類別號(hào)varchar305、物理設(shè)計(jì)階段5.1 物理設(shè)計(jì)階段的任務(wù)與目標(biāo)數(shù)據(jù)庫(kù)在物理設(shè)備上

28、的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),它以來與選定的數(shù)據(jù)管理系統(tǒng),為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。數(shù)據(jù)庫(kù)的物理設(shè)計(jì)就是為邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)的過程,在這個(gè)階段中要完成兩大任務(wù):(1)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要是存取方法和存儲(chǔ)結(jié)構(gòu);(2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。5.2數(shù)據(jù)存儲(chǔ)為了提高數(shù)據(jù)庫(kù)中一些表的查詢速度,我們有必要在一些有特殊需要的表上創(chuàng)建索引。在我們的數(shù)據(jù)庫(kù)中經(jīng)常用到的表有圖書信息表,讀者信息表,借書信息表,還書信息表,罰款信息表,我們對(duì)圖書信息表的圖書編號(hào)建立索引,對(duì)于讀

29、者的編號(hào)建立索引。5.3功能模塊分析查詢:讀者信息可以通過相應(yīng)的查詢功能來查詢當(dāng)前圖書館的藏書狀況,查詢自己想要借的書籍的狀態(tài),在館的位置。以及自己的借閱歷史,當(dāng)前借閱的書籍,即將到期的書籍,同時(shí)可以查詢自己的罰款信息。借書、還書,罰款:通過這些功能模塊,學(xué)生可以實(shí)現(xiàn)從圖書館借書、還書、掛失圖書的功能,保證圖書館的每一本書都有詳細(xì)的記錄,若果有同學(xué)掛失圖書,圖書館則可以根據(jù)相應(yīng)的信息及時(shí)的將掛失的圖書購(gòu)買填補(bǔ)空缺。注冊(cè)、注銷、圖書卡:通過這些功能模塊實(shí)現(xiàn)對(duì)讀者的管理,當(dāng)讀者注冊(cè)的時(shí)候把讀者的相關(guān)信息錄入,注銷的時(shí)候要先看學(xué)生是否已經(jīng)繳清欠款,是否還有未還的圖書。圖書館的管理員管理模塊則可以讓圖

30、書館的內(nèi)部管理更加方便、高效。5.4 數(shù)據(jù)庫(kù)實(shí)施根據(jù)關(guān)系模式建立基本表、視圖、觸發(fā)器和索引,并完成存取過程的設(shè)計(jì)。5.4.1 創(chuàng)建基本表(詳見附錄9-1)編號(hào)表名稱定義A-1book_style圖書類別表A-2system_managers管理員信息表A-3system_books圖書信息表A-4system_readers讀者信息表A-5borrow_record 借書表A-6return_record還書表A-7reader_fee罰款表5.4.2 數(shù)據(jù)錄入(詳見附錄9-2)5.4.3 創(chuàng)建視圖(詳見附錄9-3)編號(hào)存儲(chǔ)過程名稱定義作用B-1view_book詳見附錄查詢圖書館圖書信息B-

31、2view_reader詳見附錄查詢讀者信息B-3view_reader_book詳見附錄查詢讀者借閱圖書5.4.4創(chuàng)建相關(guān)的存儲(chǔ)過程(詳見附錄9-4)根據(jù)數(shù)據(jù)庫(kù)的常用數(shù)據(jù)操作,我定義了如下表中表示的常用的一些存儲(chǔ)過程,請(qǐng)參照下表。編號(hào)存儲(chǔ)過程名稱定義作用C-2system_managers_insert詳見附錄在管理員信息表中增加一位管理員信息C-3system_books_insert詳見附錄在圖書信息表中增加一本書的信息C-4system_readers_insert詳見附錄增加一個(gè)讀者信息5.4.5 根據(jù)各項(xiàng)操作建立觸發(fā)器(詳見附錄9-5)編號(hào)存儲(chǔ)過程名稱定義作用D-1managers

32、_insert詳見附錄添加圖書管理員信息D-2readers_insert詳見附錄添加讀者信息D-3books_insert詳見附錄添加圖書信息D-4readers_update詳見附錄修改讀者信息D-5managers_update詳見附錄修改管理員信息D-6book_delete詳見附錄刪除圖書信息D-7reader_delete詳見附錄刪除讀者信息5.4.6數(shù)據(jù)庫(kù)創(chuàng)建根據(jù)以上的分析,創(chuàng)建數(shù)據(jù)庫(kù)并執(zhí)行一些基本sql語句,詳見附錄9。5.4.7建立索引為了加快數(shù)據(jù)的查詢速度,我們?cè)诮?jīng)常用到查詢的表上建立索引,加快查詢速度。create unique index sw_001 on syste

33、m_readerst(readerid)create unique index sw_002 on system_books(ISBN)6、程序原代碼及其說明在我們建立好數(shù)據(jù)庫(kù)后,還有很多工作要做。首先我們要保證數(shù)據(jù)庫(kù)的結(jié)構(gòu)正確,這樣我們需要給數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù),我提前把數(shù)據(jù)存放到excel 中,利用數(shù)據(jù)庫(kù)的導(dǎo)入數(shù)據(jù)功能將所有數(shù)據(jù)導(dǎo)入。然后就是進(jìn)行數(shù)據(jù)庫(kù)的運(yùn)行調(diào)試了,詳細(xì)的調(diào)試結(jié)果請(qǐng)見附錄9。6.1 源代碼數(shù)據(jù)說明數(shù)據(jù)項(xiàng)名別名數(shù)據(jù)類型長(zhǎng)度bookstyleno圖書類別號(hào)varchar30bookstyle圖書類別名varchar30managerid管理員編號(hào)varchar10managernam

34、e管理員姓名varchar10managersex管理員性別varchar10managerphone管理員電話varchar10ISBN圖書編號(hào)Varchar20bookname圖書名Varchar30bookstyleno圖書類別號(hào)Varchar30bookauthor圖書作者Varchar30bookpub出版社名稱Varchar30bookpubdate出版日期Datetimebookindate登記日期Datetimebookprice圖書價(jià)格intisborrowed是否被借出Varcharreaderid讀者編號(hào)varchar9readername讀者姓名varchar9readersex讀者性別varchar2readertype讀者種類varchar10maxborrow最大借閱量intregdate登記日期datetimeborrowdate借閱時(shí)間varcharreturndate歸還時(shí)間datetimebookfee罰款金額varchar306.2 程序?qū)崿F(xiàn)的一些基本功能舉例(運(yùn)行結(jié)果見附錄):1、過期處理: 查詢過期天數(shù)對(duì)借書過期的讀者進(jìn)行罰款,加入到罰款表里面,一天以0.5元扣除計(jì)算:2、還書操作在還書紀(jì)錄中添加一條還書紀(jì)錄刪除相應(yīng)書本的借閱紀(jì)錄在書庫(kù)中標(biāo)記該本書為1,表示已歸還3、借書操作查詢未被借出的書本查詢已被借出的書本申請(qǐng)借書證:

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論