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

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上南昌大學(xué)軟件學(xué)院數(shù)據(jù)庫實(shí)訓(xùn)大作業(yè)課程名稱:數(shù)據(jù)庫實(shí)訓(xùn)院(系):軟件學(xué)院專業(yè):軟件工程班級:Java146姓名:歐陽天雄、黎子楊、劉濤學(xué)號(hào):、 題目:圖書館管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)指導(dǎo)老師:王卓完成日期:2016/12/15目錄2678803801專心-專注-專業(yè)一、系統(tǒng)概述圖書館管理系統(tǒng)是一類比較典型的系統(tǒng)開發(fā)系統(tǒng)。它總的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)圖書管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,實(shí)現(xiàn)對圖書資料的集中統(tǒng)一的管理。 本系統(tǒng)主要實(shí)現(xiàn)對圖書館信息的管理,主要功能為管理有關(guān)讀者、圖書、借閱、查詢、和刪除管理員的信息等??梢詭椭鷪D書館管理員和讀者更加方便地管理圖書和借閱圖書。二、功能需求分析1、

2、功能概述:本圖書館管理系統(tǒng)適用于校園等小型的圖書館使用,它的主要任務(wù)是建立詳細(xì)的可借閱讀者的信息(可表現(xiàn)為一張借閱卡,或者校園卡)以及圖書館內(nèi)所有的圖書種類以及對應(yīng)書籍的記錄。并可以對借閱者和所借書籍進(jìn)行登記,方便圖書管理員能及時(shí)查看館內(nèi)書刊信息以及對借書以及還書做出操作。對此,本系統(tǒng)應(yīng)該具有的功能應(yīng)該有1、 管理員信息管理:管理員是本系統(tǒng)的管理者,具有最高權(quán)限,對圖書和讀者有添加,修改和刪除等功能。但管理員只能修改自己的信息,不能添加或刪除自己的信息。要想添加和刪除管理員必須到數(shù)據(jù)庫中去操作表結(jié)構(gòu)。2、 借閱者信息管理:由系統(tǒng)管理員,給每個(gè)借閱者創(chuàng)建一個(gè)賬戶,賬戶應(yīng)具有借閱者的詳細(xì)信息,并且

3、借閱者的信息在借閱者的身份信息改變后可以修改或注銷。3、 書庫管理:當(dāng)有新的圖書種類或者新書入庫時(shí)候,要對書庫記錄進(jìn)行添加記錄,當(dāng)有舊的書種或書被下架時(shí),也要對書庫進(jìn)行刪除記錄。當(dāng)讀者或者管理員要對某種書刊進(jìn)行查詢時(shí),也可以通過本系統(tǒng)進(jìn)行查詢4、 書籍出借管理:圖書館代理借閱者進(jìn)行借書或者還書等各項(xiàng)義務(wù)。在借閱書刊時(shí),只要輸入要借閱的書刊編號(hào)然后輸入借閱者的ID,即可提交借書操作。若書刊編號(hào)存在,且借閱卡號(hào)存在,且借閱卡的信息與借閱者本人的信息吻合,收取一定押金后即可完成借書操作。完成借書操作后,數(shù)據(jù)庫內(nèi)書庫記錄該書刊的記錄從在庫狀態(tài)改為借出狀態(tài)。則操作成功,系統(tǒng)會(huì)把該本書的加入借閱記錄中去。

4、5、 書籍歸還管理:管理員可以根據(jù)借閱者的關(guān)鍵信息,查詢到該借閱者所有的借閱信息,借閱日期等,從中選擇要?dú)w還的圖書,顯示有關(guān)本圖書的所有借閱信息,方便讓管理員判斷出是否過期,是否對讀者進(jìn)行罰款,退還押金后并對數(shù)據(jù)庫記錄做出改變,并把該本圖書狀態(tài)信息改為在庫。6、 借閱書籍管理:圖書管理員要能夠?qū)λ斜唤璩龅臅M(jìn)行查詢,了解哪些人借了哪些書,以及借閱書籍的日期,方便當(dāng)一本書借出太久后管理員可以對該借書的人進(jìn)行通知。2、系統(tǒng)角色本項(xiàng)目的主要用戶包括以下兩類。(1) 圖書管理員圖書管理員負(fù)責(zé)管理書籍的維護(hù),讀者的管理,以及借閱歸還業(yè)務(wù)的辦理。是服務(wù)的提供者。(2) 借閱者借閱者主要是書籍的借閱和歸還

5、。三、數(shù)據(jù)流設(shè)計(jì)1、數(shù)據(jù)流分析:(1)系統(tǒng)為圖書管理員建立檔案,管理員進(jìn)入系統(tǒng)前需要進(jìn)行身份驗(yàn)證,用戶名,密碼輸入正確方可進(jìn)入系統(tǒng)。(2)系統(tǒng)預(yù)設(shè)一些借閱者,并為他們建立檔案信息。(3)在系統(tǒng)中,圖書管理員可以新建新的借閱者信息,修改已有的借閱者信息,注銷已經(jīng)把書還清的借閱者信息。(4)在系統(tǒng)中,圖書管理員可以對擁有借閱卡的用戶辦理借書,還書業(yè)務(wù)。(5)在系統(tǒng)中,圖書管理員可以對還書違規(guī)的借閱者做出處罰金的處罰。(6)在系統(tǒng)中,圖書管理員可以修改庫存信息,增加新書刊或新書種,刪除書種或書刊。(7)在系統(tǒng)中,借閱者可以自助查詢書庫信息,和自己的借閱記錄。(8)在系統(tǒng)中,圖書管理員可以查看所有被借

6、出書的信息。2、數(shù)據(jù)流圖:1、頂層數(shù)據(jù)流圖2、借書管理的二層數(shù)據(jù)流圖3、還書管理的二層數(shù)據(jù)流圖書庫管理的二層數(shù)據(jù)流圖4、讀者管理的二層數(shù)據(jù)流圖罰款管理的二層流圖四、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)1、數(shù)據(jù)字典:由需求分析和數(shù)據(jù)流圖中我們可以提取到幾個(gè)不同的元素:管理員,借閱者,書籍,借閱記錄表1-1圖書包含的數(shù)據(jù)項(xiàng)的數(shù)據(jù)字典數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義別名數(shù)據(jù)類型取值范圍BookID唯一標(biāo)識(shí)每本書籍圖書編號(hào)Char(10)BookName圖書名稱Varchar2(30)class圖書類別Char(20)publishDate出版日期DateAuthor作者Char(30)Publisher出版社Varchar(20)ISB

7、NISBN號(hào)Varchar2(20)price價(jià)格Numeric(5,2)Bookstate表示圖書在庫還是借出圖書狀態(tài)Char(5)表1-2管理員包含的數(shù)據(jù)項(xiàng)的數(shù)據(jù)字典數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義別名數(shù)據(jù)類型取值范圍ID唯一標(biāo)識(shí)管理員管理員編號(hào)Char(4)Name管理員名字Char(10)tel管理員電話Char(11)Pwd登陸密碼Char(16)Sex管理員性別Char(1)“男”或“女”Phone管理員照片Image一寸證件照表1-3借閱者包含的數(shù)據(jù)項(xiàng)的數(shù)據(jù)字典數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義別名數(shù)據(jù)類型取值范圍ReaderID唯一標(biāo)識(shí)每一位借閱者借閱者編號(hào)Char(10)ReaderName借閱者姓名Ch

8、ar(15)ReaderSex借閱者性別Char(1)“男”或“女”ReaderPhone用以借還書確認(rèn)身份借閱者照片Image證件照ReaderPhone用以管理員聯(lián)系借閱者電話Char(11)MaxDay最大借閱天數(shù)Number(2)>0BookBorrowed已借圖書Number(2)>=0表1-4 管理員操作的數(shù)據(jù)字典處理名說明流入的數(shù)據(jù)流流出的數(shù)據(jù)流處理借書操作對借閱者的借書申請作出處理書籍信息,借閱者信息借閱單根據(jù)借閱者挑選的書籍,查看借閱者是否滿足借閱條件,如果滿足條件,則收取一定的押金并保存記錄到借閱記錄表產(chǎn)生借閱單還書操作對借閱者的還書申請作出處理書籍信息 讀者信

9、息退款根據(jù)借閱者所持的借閱單和書籍借閱卡,查看借閱者的本次借閱記錄,是否有違規(guī)使用的情況,若有則相應(yīng)處以罰金,或退還押金,刪除借閱記錄。添加借閱者對申請借書的潛在客戶的申請作出處理客戶信息借閱卡根據(jù)客戶的準(zhǔn)確身份信息,核對信息是否有效,若有效則給客戶辦借閱卡。修改借閱者信息對借閱者的信息進(jìn)行更改客戶信息借閱卡根據(jù)客戶的修改請求,核對修改的信息,若有效,則給客戶更新借閱卡。2、ER圖:1. 實(shí)體:管理員:管理員密碼身份證號(hào)姓名工作證號(hào)讀者:圖書:罰款:2.管理員圖書讀者之間的聯(lián)系:3、概念模型4、邏輯模型在得出概念結(jié)構(gòu)設(shè)計(jì)的E-R圖后,下一步的任務(wù)就是吧概念結(jié)構(gòu)設(shè)計(jì)中的E-R模型轉(zhuǎn)換為具體的數(shù)據(jù)

10、庫管理系統(tǒng)支持的組織層數(shù)據(jù)模型,也就是導(dǎo)出特定的數(shù)據(jù)庫管理系統(tǒng)可以處理的數(shù)據(jù)庫邏輯結(jié)構(gòu),由于在概念結(jié)構(gòu)設(shè)計(jì)中我們就得出了若干個(gè)關(guān)系模式,因此在邏輯結(jié)構(gòu)設(shè)計(jì)要做的就是把各個(gè)關(guān)系模式做一遍規(guī)范化處理,以減少冗余。以下關(guān)系模式均已規(guī)范化到第三范式。圖書表(圖書編號(hào),圖書類別編號(hào),書名,出版日期,作者,出版社,ISBN號(hào),價(jià)格)圖書類別表(類別編號(hào),類別名稱,類別解釋)借閱者表(借閱者編號(hào),借閱等級,姓名,性別,照片,電話,已借圖書)借閱者類別表(借閱等級,等級名稱,最大可借圖書數(shù),最長借閱期限)管理員表(管理員編號(hào),姓名,性別,登陸密碼,電話,照片)罰金表(罰金級別,罰金名稱,罰款說,罰金數(shù)量)借書

11、記錄表(借閱者編號(hào),圖書編號(hào),借書時(shí)間,還書期限,押金)還書記錄表(借閱者編號(hào),圖書編號(hào),還書時(shí)間,退款)罰款表(借閱者編號(hào),罰款類別,已繳罰款,罰款原因)5、物理模型五、表空間設(shè)計(jì)通過之前的概念結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì)得出來的模型可以知道,本圖書管理系統(tǒng)大概有十張表,這些表從業(yè)務(wù)角度來分,主要有以下三類:(1) 與書庫相關(guān)的表。包括圖書表(2) 與系統(tǒng)角色相關(guān)的表,包括借閱者表,管理員表(3) 與案例業(yè)務(wù)相關(guān)的表,借書表,還書表。除了這些表外,其他都是些參數(shù)類型的表。在我們的案例中,本系統(tǒng)是面向小型圖書館的。下面我們以一個(gè)借閱人數(shù)為500,藏書量為10000本的圖書館為例。有五百

12、個(gè)借閱者需要建立借閱信息,10000本圖書需要建立圖書信息。預(yù)設(shè)10位管理員。粗略估算一下數(shù)據(jù)表空間為2G,索引表也設(shè)為2G,臨時(shí)表空間設(shè)為500M。由于本系統(tǒng)大多數(shù)操作都是通過管理員進(jìn)行的,并發(fā)性不高,所以回退表空間不需要很大,回退表空間就設(shè)為500M。綜上所述,本案例需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)表空間,一個(gè)索引表空間,一個(gè)臨時(shí)表空間并將回退表空間擴(kuò)充,為其增加一個(gè)數(shù)據(jù)文件。表空間名稱分別libsys_data,libsys_idx,libsys_temp。采用小文件類型的額數(shù)據(jù)文件。每個(gè)數(shù)據(jù)文件的大小不超過1G.因此數(shù)據(jù)文件分別是libsys_data01.dbf,libsys_data02.dbf,

13、libsys_idx01.dbf,libsys_idx02.dbf,libsys_temp01.dbf,libsys_undo01.dbf。創(chuàng)建圖書管理系統(tǒng)數(shù)據(jù)庫:LIBSYS建立表空間:創(chuàng)建的數(shù)據(jù)庫文件:六、安全管理6.1用戶通過前面的需求分析可以知道,系統(tǒng)主要有兩個(gè)系統(tǒng)角色,分別是管理員和借閱者,管理員有很多種權(quán)限,可以對除管理員表外的所有表進(jìn)行增刪改查的操作,而借閱者的權(quán)限比較低,只能進(jìn)行一些針對特殊表的查找操作,例如,當(dāng)借閱者想查詢圖書館有沒有自己想要的書可以對書庫表進(jìn)行查詢,想知道自己的借閱記錄可以查詢借閱記錄表。因此本例中我們新建兩個(gè)角色,管理員和用戶(operator和reade

14、r)創(chuàng)建operator用戶創(chuàng)建reader用戶6.2、權(quán)限、角色管理Operator用戶是本系統(tǒng)的主用戶,本案例數(shù)據(jù)庫模型的數(shù)據(jù)庫對象全部建立在此方案中,而reader用戶只需要給他連接數(shù)據(jù)庫的權(quán)限,然后由operator將部分?jǐn)?shù)據(jù)庫對象的查詢權(quán)限授予他就行。如上所述,暫給connect,resource權(quán)限給Operator用戶,讓operator用戶可以建表等等:而Reader用戶先授予它連接數(shù)據(jù)庫的權(quán)限,由于Reader用戶,前面說了可以查詢書庫和某些記錄的權(quán)限。因此我們自定義一個(gè)角色,具有選擇任何表的權(quán)限,然后把這個(gè)角色授予Reader。到目前為止,我們創(chuàng)建了兩個(gè)用戶Operator

15、和ReaderOperator具有創(chuàng)建數(shù)據(jù)庫對象的權(quán)利,而Reader只有查詢的權(quán)限??梢酝ㄟ^sql語句查詢各個(gè)用戶的權(quán)限Operator用戶的角色信息和使用空間表的配額信息Reader用戶的角色信息和權(quán)限信息七、表、約束、索引、視圖管理7.1、表管理表是ORACLE數(shù)據(jù)庫中的主要對象,是數(shù)據(jù)庫中的數(shù)據(jù)存儲(chǔ)的基本單位,存儲(chǔ)著與應(yīng)用程序相關(guān)的一些信息。其他許多數(shù)據(jù)庫對象如索引、視圖都以表為基礎(chǔ)。下面我們將以前面概念模型設(shè)計(jì)通過正向工程生成的物理數(shù)據(jù)模型進(jìn)一步生成的數(shù)據(jù)庫創(chuàng)建的SQL腳本來建表。具體的建表過程如下。7.2、約束完整性約束是一種規(guī)則,它不占任何數(shù)據(jù)空間完整性約束存在數(shù)據(jù)字典中,在執(zhí)行

16、SQL或PL/SQL期間使用。用戶可以指明約束是啟用的還是禁用的,當(dāng)約束啟用時(shí),他增強(qiáng)了數(shù)據(jù)的完整性,否則,則反之,但約束始終存在于數(shù)據(jù)字典中。約束大致分為唯一性和主鍵約束、外鍵約束、檢查約束、空值約束、默認(rèn)值約束,等,對于本例來說,主要是應(yīng)該添加外鍵約束,檢查約束,和默認(rèn)值約束。例如,管理員表和借閱者表的性別字段應(yīng)該添加檢查約束,還有一些表與表之間的引用應(yīng)該添加外鍵約束。下面我們將進(jìn)行添加約束工作。對于表Manager只用添加一些檢查約束和空值約束就行了對于表Reader因?yàn)榇嬖谝茫猿藱z查約束和空值約束還得添加外鍵約束對于Book表只需添加外鍵約束對于Borrow表因?yàn)楹秃芏鄬?shí)體存在

17、聯(lián)系,所以得添加幾個(gè)外鍵約束給Returnbook表添加外鍵約束給punishpay表添加外鍵約束7.3索引管理雖然關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)行的物理位置無關(guān)緊要,但在本案例中,管理員和用戶用Book,Borrow,ReturnBook三個(gè)表的查詢是非常集中的,所以為了加快用戶查找的速度有必要設(shè)置索引。索引就是一種可以提高查詢性能的數(shù)據(jù)結(jié)構(gòu)。在Book表中,用戶查詢一本書通常會(huì)按書名和書的類別進(jìn)行查找,因此可以在書名和圖書類別這兩列設(shè)置非唯一索引在borrow表中,通常會(huì)按書編號(hào)或借閱者id來查找一條借閱記錄。因此可在書編號(hào)和借閱者ID上建立索引同理給還書記錄表設(shè)置索引給罰款記錄表設(shè)置索引7.4、視圖

18、管理視圖是從一個(gè)表或多個(gè)表中通過查詢二導(dǎo)出數(shù)據(jù)的虛表,建立視圖并不占據(jù)空間。在本案例中在Reader表中有個(gè)已借圖書數(shù)量borrowed,和readerclass,而在Readerclass表中規(guī)定了一個(gè)等級的用戶可以借多少書,因此我們可以通過它來創(chuàng)建一個(gè)視圖從而顯示出用戶還能借多少本圖書。步驟如下:創(chuàng)建視圖從視圖中選擇數(shù)據(jù)就這樣管理員就可以方便地判斷是否可以將書籍出借給借閱者了?;蛘哌€可以對視圖進(jìn)行修改,7.5、基本對象的信息查詢及管理在本案例中Book,Manager,Reader,Punish,ReaderClass,classIDTable這六個(gè)表的查詢及管理是最簡單的。而后面借書還書

19、罰款三個(gè)表的查詢及管理則稍微復(fù)雜一點(diǎn)。因?yàn)檫@些聯(lián)系涉及到多張表,插入,修改,刪除會(huì)引起其他表記錄的改變,因此我們將通過定義觸發(fā)器或存儲(chǔ)過程的方法來實(shí)現(xiàn)。對Book表的基本管理為book表新增一個(gè)bookState字段 類型為char(5),表示圖書室在庫還是借出狀態(tài)對Reader表的基本管理對Manager表的基本管理對classidtable表的基本管理對punish表的基本管理對readerclass表的基本查詢對punishpay表的查詢對borrow表的基本管理在borrow表創(chuàng)建三個(gè)觸發(fā)器對borrow表執(zhí)行插入語句查詢borrow表插入了數(shù)據(jù)后,book,reader,borrow表的記錄情況;可以看到這樣理想的一次借書就完成了但是當(dāng)要對borrow修改時(shí),現(xiàn)在只考慮,修改借閱者id,創(chuàng)建觸發(fā)器同樣的,當(dāng)借閱者要求還書的時(shí)候,也應(yīng)該對以上的表做出修

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論