數(shù)據(jù)庫課程設計--圖書管理系統(tǒng) (2)_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  目 錄</b></p><p>  1圖書管理系統(tǒng)需求分析1</p><p><b>  1.1開發(fā)背景1</b></p><p>  1.2 系統(tǒng)主要業(yè)務分析1</p><p>  1.2.1讀者辦理借書卡分析1</p><p>  

2、1.2.2管理員更改圖書信息分析1</p><p>  1.2.3讀者借還書分析2</p><p>  1.2.4查詢圖書信息分析3</p><p>  1.3 系統(tǒng)功能需求分析4</p><p>  1.3.1功能模塊4</p><p>  1.3.2用例圖4</p><p>  

3、1.3.3數(shù)據(jù)流圖5</p><p>  1.4 系統(tǒng)數(shù)據(jù)模型7</p><p>  1.4.1關系模型7</p><p>  1.4.2 ER圖7</p><p>  1.4.3 PDM圖8</p><p><b>  1.4.4視圖8</b></p><p>

4、;  1.5 數(shù)據(jù)字典8</p><p>  1.5.1.管理員8</p><p>  1.5.2借書卡9</p><p>  1.5.3讀者10</p><p>  1.5.4圖書11</p><p>  1.5.5借閱12</p><p>  1.5.6歸還13</p&g

5、t;<p>  2 圖書管理系統(tǒng)邏輯結構設計14</p><p>  2.1 系統(tǒng)模塊劃分14</p><p>  2.2 數(shù)據(jù)庫邏輯結構設計14</p><p>  3 圖書管理系統(tǒng)功能設計15</p><p><b>  3.1 建表15</b></p><p><

6、;b>  3.2視圖18</b></p><p><b>  3.3索引18</b></p><p>  3.4插入數(shù)據(jù)19</p><p><b>  3.5查詢20</b></p><p><b>  3.6修改25</b></p>

7、<p><b>  3.7刪除29</b></p><p>  4 課程設計總結31</p><p>  1圖書管理系統(tǒng)需求分析</p><p><b>  1.1開發(fā)背景</b></p><p>  圖書作為學校教學和學習必不可少的工具,它的作用舉足輕重,它存在于每一個學校之中。而

8、相當一部分學校由于設施條件不好、資金缺乏而甚至采用傳統(tǒng)的紙質(zhì)的方式去完成,這樣就導致了很多的問題,例如:不能很好的對讀者借書還書進行管理,當讀者需要還書的時候還要查找以前的紙質(zhì)文檔來找到相應的記錄,非常的麻煩;時間長的話圖書館的資料一旦丟失很難再恢復,給整個工作帶來很大的困難;讀者也只有通過去學校圖書館才能一本一本地尋找才能找到自己想要找到書本等一系列的問題。</p><p>  針對以上情況開發(fā)一個圖書管理系統(tǒng)

9、顯得尤為必要,通過該系統(tǒng)來實現(xiàn)管理員和讀者兩個角色的管理使用。在使用該系統(tǒng)前,所有讀者(管理員借書時也可以看成是讀者)都必須辦理借書證。對于讀者,可以查詢自己要借閱的圖書,可以查詢該圖書的基本信息確定是否能借閱,也可以查詢自己的借書、還書信息。確定自己還能不能借書,還有多少天超期。對于管理員可以對圖書信息進行增、刪、改、查。還可以修改登錄該系統(tǒng)的密碼,當有讀者(管理員借書時也可以看成是讀者)借書時,可以查閱該讀者的借書權限和借書還書的記

10、錄,判斷該學生還能不能借書,還能借幾本等信息。本圖書管理系統(tǒng)可以更加人性化的滿足小型圖書館的日常借閱問題,達到一個很理想的智能管理目的。</p><p>  1.2 系統(tǒng)主要業(yè)務分析 </p><p>  1.2.1讀者辦理借書卡分析</p><p>  當有讀者想借閱書籍之前,要先辦理借書證。管理員可根據(jù)讀者的相關信息來為讀者辦理借書證。</p>&

11、lt;p>  1.2.2管理員更改圖書信息分析</p><p>  管理員作為該系統(tǒng)的管理者,可以對圖書進行增、刪、改操作。增:對于有新書加入到圖書館時,管理員需要及時在圖書管理系統(tǒng)中增加該圖書的信息,便于讀者查詢和借閱。刪:當有圖書被讀者遺失、破損導致無法修復或者太過陳舊而淘汰時,管理員需要及時在圖書管理系統(tǒng)中刪除該圖書的信息,便于讀者查詢和借閱。改:當有圖書的信息需要修改時,管理員需要及時在圖書管理系

12、統(tǒng)中修改該圖書的信息,便于讀者查詢和借閱。</p><p>  更新圖書信息的業(yè)務流程圖:</p><p>  1.2.3讀者借還書分析</p><p>  當有讀者借書時,系統(tǒng)根據(jù)讀者的信息首先要判斷該讀者的借書權限,再查詢該讀者的借閱記錄和還書記錄,判斷該讀者還能不能借書以及能借幾本。當有讀者還書時,系統(tǒng)首先判斷改讀者借書是否超期,如果超期,則根據(jù)要求對該讀者進

13、行處罰。</p><p>  讀者借書的業(yè)務流程圖:</p><p>  1.2.4查詢圖書信息分析</p><p>  讀者和管理員都可以查詢該系統(tǒng)中的圖是信息,這樣讀者能更方便地借閱圖書,管理員也能夠更好地管理圖書。</p><p>  1.3 系統(tǒng)功能需求分析 </p><p><b>  1.3.1功

14、能模塊</b></p><p><b>  1.3.2用例圖:</b></p><p>  1.3.3數(shù)據(jù)流圖:</p><p>  圖書管理系統(tǒng)第0層圖:</p><p><b>  第1層圖:</b></p><p>  辦理借書卡——讀者(管理員借書時也可以

15、看成是讀者)借閱書籍前先要辦理借書卡。讀者辦理借書卡的信息全部保存在借書卡文件中:</p><p>  管理員處理基本信息——管理員可以對圖書進行增、刪、改、查操作,也可以修改密碼。對圖書進行增、刪、改后,更改的信息存入到圖書信息文件中,管理員修改密碼后的信息存入到管理員信息文件中:</p><p>  查詢讀者信息和借還書——讀者在借書時管理員和讀者可以查詢讀者信息,借書時可以查看圖書記

16、錄,還書時可以查看該讀者的借書信息文件,以便查詢該讀者的借閱書籍信息以及借閱時間</p><p>  1.4 系統(tǒng)數(shù)據(jù)模型</p><p>  根據(jù)上面所述的業(yè)務流程,可以得到系統(tǒng)的數(shù)據(jù)流圖。根據(jù)業(yè)務流程以及對應的數(shù)據(jù)流圖,可以得到各個實體的屬性圖。</p><p><b>  1.4.1關系模型</b></p><p>

17、;  管理員(管理員編號,管理員姓名,性別,年齡,電話) 外鍵:無</p><p>  借書卡(借書卡號,讀者編號,辦理時間) 外鍵:讀者編號</p><p>  圖書(圖書編號,書號,出版社,作者,出版日期,價格,圖書類型,適合人群)</p><p><b>  外鍵:無</b></p><p>  讀

18、者(讀者編號,讀者姓名,類別,性別,可借閱數(shù)目,可借閱天數(shù),年齡) </p><p><b>  外鍵:無</b></p><p>  借閱(圖書編號,讀者編號,借閱時間) 外鍵:圖書編號,讀者編號</p><p>  歸還(圖書編號,讀者編號,歸還時間) 外鍵:圖書編號,讀者編號</p><p><

19、;b>  1.4.2 ER圖</b></p><p>  1.4.3 PDM圖</p><p><b>  1.4.4視圖</b></p><p><b>  借書權限的視圖:</b></p><p><b>  使用書時間的視圖:</b></p>

20、<p><b>  1.5 數(shù)據(jù)字典</b></p><p><b>  1.5.1.管理員</b></p><p><b>  數(shù)據(jù)項</b></p><p><b>  數(shù)據(jù)結構</b></p><p><b>  名稱:管理員

21、</b></p><p>  含義說明:定義了一個管理員的相關信息</p><p>  組成結構:管理員編號+管理員姓名+密碼+性別+年齡+電話</p><p><b>  數(shù)據(jù)流</b></p><p><b>  數(shù)據(jù)流名稱:管理員</b></p><p> 

22、 含義:給讀者辦理借書卡和借還書</p><p><b>  來源:讀者</b></p><p>  去向:辦理借書卡和借還書</p><p>  數(shù)據(jù)流量:100次/天</p><p>  組成:管理員編號+讀者編號+圖書編號+借書卡號</p><p><b>  數(shù)據(jù)存儲</b

23、></p><p>  數(shù)據(jù)存儲名稱:管理員表</p><p>  含義說明:存放管理員的相關信息</p><p>  組成結構:管理員編號+管理員姓名+密碼</p><p>  說明:密碼可由管理員自行修改</p><p><b>  處理過程</b></p><p&g

24、t;  處理過程名稱:審核圖書</p><p><b>  輸入:圖書信息</b></p><p>  輸出:正確的圖書信息</p><p>  加工邏輯:根據(jù)正確的圖書信息增、刪、改圖書,便于讀者查詢和借閱</p><p><b>  1.5.2借書卡</b></p><p&g

25、t;<b>  數(shù)據(jù)項</b></p><p><b>  數(shù)據(jù)結構</b></p><p><b>  名稱:借書卡</b></p><p>  含義說明:定義了一張借書卡的相關信息</p><p>  .組成結構:借書卡號+讀者編號+辦理時間</p><

26、p><b>  數(shù)據(jù)流</b></p><p><b>  數(shù)據(jù)流名稱:借書卡</b></p><p>  含義:給學生辦理的借書卡</p><p><b>  來源:讀者</b></p><p><b>  去向:審核借書卡</b></p&g

27、t;<p>  數(shù)據(jù)流量:50張/天</p><p>  組成:借書卡號+讀者編號</p><p><b>  數(shù)據(jù)存儲</b></p><p>  數(shù)據(jù)存儲名稱:借書卡表</p><p>  含義說明:存放借書卡的相關信息</p><p>  組成說明:借書卡編號+讀者編號+辦理時

28、間+卡狀態(tài)</p><p>  說明:借書卡為借書時的必要憑證,卡狀態(tài)是指該卡當前能否借書</p><p><b>  處理過程</b></p><p>  處理過程名稱:審核借書證</p><p><b>  輸入:借書卡</b></p><p>  輸出:認定合格的借書卡

29、</p><p>  加工邏輯:根據(jù)借書卡判斷讀者的類型從而確定該讀者的借書權限</p><p><b>  1.5.3讀者</b></p><p><b>  數(shù)據(jù)項</b></p><p><b>  數(shù)據(jù)結構</b></p><p><b&g

30、t;  名稱:讀者</b></p><p>  含義說明:定義了一個讀者的相關信息</p><p>  組成結構:讀者編號+讀者姓名+類別+性別+可借閱數(shù)目+可借閱天數(shù)+年齡</p><p><b>  數(shù)據(jù)流</b></p><p><b>  數(shù)據(jù)流名稱:讀者</b></p&g

31、t;<p><b>  含義:借還書</b></p><p><b>  來源:讀者</b></p><p>  去向:審核讀者信息和權限</p><p>  數(shù)據(jù)流量:0.2本/天</p><p>  組成:讀者編號+類別+可借閱數(shù)目+可借閱天數(shù)</p><p&g

32、t;<b>  數(shù)據(jù)存儲</b></p><p>  數(shù)據(jù)存儲名稱:讀者信息表</p><p>  含義說明:存放讀者的相關信息</p><p>  組成結構:讀者編號+讀者姓名+類型</p><p>  說明:類型是指讀者是教職工、研究生還是本科生</p><p><b>  處理過程

33、</b></p><p>  處理過程名稱:審核個人信息</p><p><b>  輸入:讀者編號</b></p><p>  輸出:讀者類型及借書權限</p><p>  加工邏輯:根據(jù)讀者的信息判斷讀者的借書權限</p><p><b>  1.5.4圖書</b&

34、gt;</p><p><b>  數(shù)據(jù)項</b></p><p><b>  數(shù)據(jù)結構</b></p><p><b>  名稱:圖書</b></p><p>  含義說明:定義了一本圖書的相關信息</p><p>  組成結構:圖書編號+書名+出版社

35、+作者+出版日期+價格+圖書類型+適合人群</p><p><b>  數(shù)據(jù)流</b></p><p><b>  數(shù)據(jù)流名稱:圖書</b></p><p>  含義:圖書的更改信息和借還</p><p><b>  來源:管理員、讀者</b></p><p

36、><b>  去向:審核圖書</b></p><p>  數(shù)據(jù)流量:70本/天</p><p>  組成:圖書編號+管理員編號+讀者編號</p><p><b>  數(shù)據(jù)存儲</b></p><p>  數(shù)據(jù)存儲名稱:圖書信息表</p><p>  含義說明:存放圖書的

37、相關信息</p><p>  組成結構:圖書編號+庫存量</p><p>  說明:庫存量是指該圖書在書庫中的數(shù)量</p><p><b>  處理過程</b></p><p>  處理過程名稱:審核圖書</p><p><b>  輸入:圖書信息</b></p>

38、<p>  輸出:正確的圖書信息</p><p>  加工邏輯:通過查詢圖書信息可以知道該圖書的大致描繪及當前庫存量</p><p><b>  1.5.5借閱</b></p><p><b>  數(shù)據(jù)項</b></p><p><b>  數(shù)據(jù)結構</b><

39、;/p><p><b>  名稱:借閱</b></p><p>  含義說明:定義了一個借閱圖書的相關信息</p><p>  組成結構:圖書編號+讀者編號+借閱時間</p><p><b>  數(shù)據(jù)流</b></p><p><b>  數(shù)據(jù)流名稱:借書</b&

40、gt;</p><p>  含義:讀者借書時填寫的信息</p><p><b>  來源:讀者</b></p><p><b>  去向:審核借書</b></p><p>  數(shù)據(jù)流量:80本/天</p><p>  組成:圖書編號+讀者編號+借閱時間</p>

41、<p><b>  數(shù)據(jù)存儲</b></p><p>  數(shù)據(jù)存儲名稱:借書記錄</p><p>  含義說明:存放讀者的借書信息</p><p>  組成結構:圖書編號+讀者編號+借閱時間</p><p>  說明:要求能立即查詢并修改</p><p><b>  處理過程&

42、lt;/b></p><p>  處理過程名稱:審核借書</p><p>  輸入:讀者編號和圖書編號</p><p>  輸出:該讀者借閱該書的權限</p><p>  加工邏輯:如果該讀者借書到達上限或有超期圖書卻沒繳納罰款則不能借閱圖書</p><p><b>  1.5.6歸還</b>

43、;</p><p><b>  數(shù)據(jù)項</b></p><p><b>  數(shù)據(jù)結構</b></p><p><b>  名稱:歸還</b></p><p>  含義說明:定義了一個歸還圖書的相關信息</p><p>  組成結構:圖書編號+讀者編號+歸

44、還時間</p><p><b>  數(shù)據(jù)流</b></p><p><b>  數(shù)據(jù)流名稱:還書</b></p><p>  含義:讀者還書時填寫的信息</p><p><b>  來源:讀者</b></p><p><b>  去向:審核還書

45、</b></p><p>  數(shù)據(jù)流量:80本/天</p><p>  組成:圖書編號+讀者編號+歸還時間</p><p><b>  數(shù)據(jù)存儲</b></p><p>  數(shù)據(jù)存儲名稱:還書記錄</p><p>  含義說明:存放讀者的還書信息</p><p>

46、;  組成結構:圖書編號+讀者編號+歸還時間</p><p>  說明:要求能立即查詢并修改</p><p><b>  處理過程</b></p><p>  處理過程名稱:審核還書</p><p>  輸入:讀者編號和圖書編號</p><p><b>  輸出:確定歸還圖書</b

47、></p><p>  加工邏輯:驗證該讀者的信息和圖書信息后可歸還圖書</p><p>  2 圖書管理系統(tǒng)邏輯結構設計</p><p>  2.1 系統(tǒng)模塊劃分</p><p>  由需求分析可知,整個系統(tǒng)可以劃分為三個小模塊,分別為:基本信息模塊、辦理模塊、借閱超時提示模塊。如圖所示:</p><p>  

48、2.2 數(shù)據(jù)庫邏輯結構設計</p><p>  數(shù)據(jù)庫的關系模型根據(jù)數(shù)據(jù)模型來確定,即將關系模型轉(zhuǎn)化為Sql server數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,得到數(shù)據(jù)庫的邏輯結構。在數(shù)據(jù)庫的關系模型及系統(tǒng)處理過程中的數(shù)據(jù)的結構的基礎上,獲得系統(tǒng)數(shù)據(jù)庫表以及表之間的關系。在本系統(tǒng)中,以下是系統(tǒng)中幾個主要的數(shù)據(jù)庫表結構。 </p><p><b>  管理員表</b><

49、/p><p><b>  借書卡表</b></p><p><b>  讀者表</b></p><p><b>  圖書表</b></p><p><b>  借閱圖書表</b></p><p><b>  歸還圖書表<

50、/b></p><p>  3 圖書管理系統(tǒng)功能設計</p><p><b>  3.1 建表</b></p><p><b>  管理員表:</b></p><p>  create table ADMIN</p><p><b>  (</b>

51、</p><p>  ADMIN_NO char(5) not null,</p><p>  ADMIN_NAME char(8) null ,</p><p>  SEX char(2) null ,</p><p&g

52、t;  AGE int null ,</p><p>  TEL char(11) null ,</p><p>  password char(10) null ,</p><p>  constraint PK_A

53、DMIN primary key (ADMIN_NO)</p><p><b>  )</b></p><p><b>  借書卡表:</b></p><p>  create table CARD</p><p><b>  (</b></p><p>

54、;  CARD_NO char(8) not null,</p><p>  READER_NO char(5) null ,</p><p>  CARDTIME datetime null ,</p><p>  constraint PK_CA

55、RD primary key (CARD_NO)</p><p><b>  )</b></p><p><b>  讀者表:</b></p><p>  create table READER</p><p><b>  (</b></p><p> 

56、 READER_NO char(5) not null,</p><p>  READER_NAME char(8) null ,</p><p>  TYP char(8) null ,</p><p>  SEX char(

57、2) null ,</p><p>  NUM int null ,</p><p>  DAYS int null ,</p><p>  AGE int nu

58、ll ,</p><p>  constraint PK_READER primary key (READER_NO)</p><p><b>  )</b></p><p><b>  圖書表:</b></p><p>  create table BOOK</p><p

59、><b>  (</b></p><p>  BOOK_NO char(17) not null,</p><p>  BOOK_NAME char(20) null ,</p><p>  PUB char(30) nu

60、ll ,</p><p>  WRITER char(8) null ,</p><p>  TIM datetime null ,</p><p>  PRICE float null ,</p>

61、<p>  TYP char(8) null ,</p><p>  PEOPLE char(12) null ,</p><p>  constraint PK_BOOK primary key (BOOK_NO)</p><p><b>  )&l

62、t;/b></p><p><b>  借書表:</b></p><p>  create table BORROW</p><p><b>  (</b></p><p>  BOOK_NO char(17) not null,</p>&l

63、t;p>  READER_NO char(5) not null,</p><p>  BORROW_TIME datetime null ,</p><p>  constraint PK_BORROW primary key (BOOK_NO, READER_NO)</p><p><

64、;b>  )</b></p><p><b>  還書表:</b></p><p>  create table back</p><p>  ( BOOK_NO char(17) not null,</p><p>  READER_NO char(5)

65、 not null,</p><p>  RETURN_TIME datetime null ,</p><p>  constraint PK_RETURN primary key (READER_NO, BOOK_NO)</p><p><b>  )</b></p>

66、<p><b>  3.2視圖</b></p><p><b>  視圖:</b></p><p><b>  使用書時間的視圖:</b></p><p>  create view USEBOOK</p><p><b>  as</b>&l

67、t;/p><p>  select borrow.reader_no,borrow.book_no,borrow_time,return_time</p><p>  from borrow,back</p><p><b> ?。ú糠郑?lt;/b></p><p><b>  借書權限的視圖:</b>&l

68、t;/p><p>  create view BORROWPOWER</p><p><b>  as</b></p><p>  select distinct typ,num,days</p><p>  from reader</p><p><b>  3.3索引</b>

69、</p><p><b>  按作者對書建立索引</b></p><p>  create unique index wr on book(writer)</p><p>  按讀者編號對讀者建立索引</p><p>  create unique index re on reader(reader_no)</p&

70、gt;<p><b>  3.4插入數(shù)據(jù)</b></p><p>  1.向管理員表中插入數(shù)據(jù)的存儲過程:</p><p>  create procedure insert_admin</p><p>  ( @ADMIN_NO char(5),</p><p>  @ADMIN_NAME

71、 char(8),</p><p>  @SEX char(2),</p><p>  @AGE int,</p><p>  @TEL char(11),</p><p>  @password char(10)</p><p><b>  )&

72、lt;/b></p><p><b>  as </b></p><p>  insert into admin(admin_no,admin_name,sex,age,tel,password)</p><p>  values(@admin_no,@admin_name,@sex,@age,@tel,@password)</p&

73、gt;<p>  運行該存儲過程(部分截圖):</p><p>  2.向借書卡表中插入數(shù)據(jù)的存儲過程:</p><p>  create procedure insert_card</p><p>  ( @CARD_NO char(8),</p><p>  @READER_NO char(5),<

74、/p><p>  @CARDTIME datetime </p><p><b>  )</b></p><p><b>  as</b></p><p>  insert into card</p><p>  values(@CARD_NO,@READER_

75、NO,@CARDTIME)</p><p>  運行該存儲過程(部分截圖):</p><p>  3.向讀者表中插入數(shù)據(jù)的存儲過程:</p><p>  create procedure insert_reader</p><p>  ( @READER_NO char(5),</p><p>  @READ

76、ER_NAME char(8),</p><p>  @TYP char(8),</p><p>  @SEX char(2),</p><p>  @NUM int ,</p><p>  @DAYS int ,</p><p>  @AGE

77、 int</p><p><b>  )</b></p><p><b>  as </b></p><p>  insert into reader</p><p>  values(@READER_NO,@READER_NAME,@typ,@sex,@num,@days,@age)

78、</p><p>  運行該存儲過程(部分截圖):</p><p>  4.向圖書表中插入數(shù)據(jù)的存儲過程:</p><p>  create procedure insert_book</p><p>  ( @BOOK_NO char(17),</p><p>  @BOOK_NAME char(

79、20),</p><p>  @PUB char(30),</p><p>  @WRITER char(8),</p><p>  @TIM datetime,</p><p>  @PRICE float,</p><p>  @TYP

80、 char(8),</p><p>  @PEOPLE char(12)</p><p><b>  )</b></p><p><b>  as</b></p><p>  insert into book</p><p>  values(@BOOK_NO,@

81、BOOK_NAME,@PUB,@WRITER,@TIM,@PRICE,@TYP,@PEOPLE)</p><p>  運行該存儲過程(部分截圖):</p><p>  5.向借閱表中插入數(shù)據(jù)的存儲過程:</p><p>  create procedure insert_borrow</p><p>  ( @BOOK_NO c

82、har(17),</p><p>  @READER_NO char(5),</p><p>  @BORROW_TIME datetime</p><p><b>  )</b></p><p><b>  as </b></p><p>  insert into

83、 borrow</p><p>  values(@BOOK_NO,@READER_NO,@BORROW_TIME)</p><p>  運行該存儲過程(部分截圖):</p><p>  6.向歸還表中插入數(shù)據(jù)的存儲過程:</p><p>  create procedure insert_back</p><p> 

84、 ( @BOOK_NO char(17),</p><p>  @READER_NO char(5),</p><p>  @BORROW_TIME datetime</p><p><b>  )</b></p><p><b>  as </b></p>&l

85、t;p>  insert into back</p><p>  values(@BOOK_NO,@READER_NO,@BORROW_TIME)</p><p>  運行該存儲過程(部分截圖):</p><p><b>  3.5查詢</b></p><p>  1.對管理員表進行查詢</p>&l

86、t;p>  1.1按管理員編號查詢:</p><p>  create procedure select_admin</p><p>  @admin_no char(5)</p><p><b>  as</b></p><p><b>  select *</b></p>&

87、lt;p>  from admin</p><p>  where admin_no=@admin_no</p><p>  1.2按管理員姓名查詢:</p><p>  create procedure select_adminname</p><p>  @admin_name char(5)</p><p>

88、;<b>  as</b></p><p><b>  select *</b></p><p>  from admin</p><p>  where admin_name=@admin_name</p><p>  2.按借書卡卡號對借書卡表進行查詢</p><p> 

89、 create procedure select_card</p><p>  @card_no char(8)</p><p><b>  as</b></p><p><b>  select *</b></p><p><b>  from card</b></p&

90、gt;<p>  where card_no=@card_no</p><p><b>  3對讀者表進行查詢</b></p><p>  3.1按讀者編號查詢:</p><p>  create procedure select_reader</p><p>  @reader_no char(5)<

91、;/p><p><b>  as</b></p><p><b>  select *</b></p><p>  from reader</p><p>  where reader_no=@reader_no</p><p>  3.2按讀者姓名查詢:</p>

92、<p>  create procedure select_readername</p><p>  @reader_name char(8)</p><p><b>  as</b></p><p><b>  select *</b></p><p>  from reader<

93、/p><p>  where reader_name=@reader_name</p><p>  3.3按讀者性別查詢:</p><p>  create procedure select_readersex</p><p>  @sex char(5)</p><p><b>  as</b>&l

94、t;/p><p><b>  select *</b></p><p>  from reader</p><p>  where sex=@sex</p><p>  4.對圖書表進行查詢</p><p>  4.1按圖書編號查詢:</p><p>  create proc

95、edure select_book</p><p>  @book_no char(17)</p><p><b>  as</b></p><p><b>  select *</b></p><p><b>  from book</b></p><p&

96、gt;  where book_no=@book_no</p><p><b>  4.2按書名查詢:</b></p><p>  create procedure select_bookname</p><p>  @book_name char(20)</p><p><b>  as</b>&

97、lt;/p><p><b>  select *</b></p><p><b>  from book</b></p><p>  where book_name=@book_name</p><p>  5.按借閱者編號和所借書的編號對借閱表進行查詢:</p><p>  c

98、reate procedure select_borrow</p><p>  (@book_no char(17),</p><p>  @reader_no char(5)</p><p><b>  )</b></p><p><b>  as</b></p><p&

99、gt;<b>  select *</b></p><p>  from borrow</p><p>  where book_no=@book_no and reader_no=@reader_no</p><p>  6.按還書者編號和所還書的編號對歸還表進行查詢:</p><p>  create procedu

100、re select_back</p><p>  (@book_no char(17),</p><p>  @reader_no char(5)</p><p><b>  )</b></p><p><b>  as</b></p><p><b>  s

101、elect *</b></p><p><b>  from back</b></p><p>  where book_no=@book_no and reader_no=@reader_no</p><p>  7.查詢讀者權限的視圖:</p><p>  create procedure select_

102、borrowpower</p><p>  @typ char(8)</p><p><b>  as</b></p><p><b>  select *</b></p><p>  from borrowpower</p><p>  where typ=@typ<

103、/p><p>  8.查詢讀者使用圖書的視圖:</p><p>  create procedure select_usebook</p><p>  (@book_no char(17),</p><p>  @reader_no char(5)</p><p><b>  )</b><

104、/p><p><b>  as</b></p><p>  select distinct *</p><p>  from usebook</p><p>  where book_no=@book_no and reader_no=@reader_no</p><p><b>  3.6

105、修改</b></p><p>  1.修改管理員密碼:</p><p>  create procedure update_password</p><p>  (@admin_no char(5),</p><p>  @newpassword char(10)</p><p><b>

106、;  )</b></p><p><b>  as </b></p><p>  update admin </p><p>  set password=@newpassword </p><p>  where admin_no=@admin_no </p><p><

107、;b>  修改前:</b></p><p><b>  修改后:</b></p><p>  2.修改借書卡編號:</p><p>  create procedure update_card</p><p>  (@oldcard_no char(8),</p><p>

108、;  @newcard_no char(8)</p><p><b>  )</b></p><p><b>  as </b></p><p>  update card </p><p>  set card_no=@newcard_no </p><p> 

109、 where card_no=@oldcard_no</p><p><b>  修改前:</b></p><p><b>  修改后:</b></p><p><b>  3.修改圖書編號:</b></p><p>  create trigger update_book_

110、no</p><p>  on book for update</p><p><b>  as</b></p><p><b>  begin</b></p><p><b>  declare </b></p><p>  @newbook_no c

111、har(17), @oldbook_no char(17)</p><p>  select @newbook_no=(select book_no from inserted)</p><p>  select @oldbook_no=(select book_no from deleted)</p><p>  update borrow</p>

112、<p>  set book_no=@newbook_no</p><p>  where book_no=@oldbook_no</p><p>  update back</p><p>  set book_no=@newbook_no</p><p>  where book_no=@oldbook_no</p>

113、<p><b>  end;</b></p><p>  create procedure update_bookno</p><p>  (@oldbook_no char(17),</p><p>  @newbook_no char(17)</p><p><b>  )</b>

114、</p><p><b>  as</b></p><p>  update book</p><p>  set book_no=@oldbook_no </p><p>  where book_no=@newbook_no</p><p><b>  修改前:</b>&

115、lt;/p><p><b>  修改后;</b></p><p><b>  4.修改讀者權限:</b></p><p>  create procedure update_BORROWPOWER</p><p>  (@typ char(8),</p><p>  @n

116、um int,</p><p>  @days int</p><p><b>  )</b></p><p><b>  as </b></p><p>  update reader </p><p>  set num=@num </p&g

117、t;<p>  update reader</p><p>  set days=@days </p><p>  where typ=@typ</p><p><b>  修改前:</b></p><p><b>  修改后:</b></p><p><

118、;b>  3.7刪除</b></p><p><b>  1.刪除圖書信息:</b></p><p>  create trigger delete_book_no</p><p>  on book for delete </p><p><b>  as</b></p&g

119、t;<p><b>  begin</b></p><p><b>  declare </b></p><p>  @book_no char(17)</p><p><b>  delete </b></p><p>  from borrow</p&g

120、t;<p>  where book_no=@book_no</p><p><b>  delete</b></p><p><b>  from back</b></p><p>  where book_no=@book_no</p><p><b>  end;<

121、;/b></p><p>  create procedure delete_bookno</p><p>  @book_no char(17)</p><p><b>  as</b></p><p><b>  delete </b></p><p><b&

122、gt;  from book</b></p><p>  where book_no=@book_no</p><p><b>  刪除前:</b></p><p><b>  刪除后:</b></p><p><b>  2.刪除借書卡:</b></p>

123、;<p>  create procedure delete_card</p><p>  @card_no char(8)</p><p><b>  as </b></p><p><b>  delete</b></p><p>  from card </p&

124、gt;<p>  where card_no=@card_no</p><p><b>  修改前:</b></p><p><b>  修改后:</b></p><p>  判斷借書是否達上限:(以本科生為例。研究生、教職工類似)</p><p>  create trigger

125、studentborrownum</p><p><b>  on borrow</b></p><p>  for insert</p><p><b>  as</b></p><p><b>  begin </b></p><p>  if((s

126、elect count(reader_no) </p><p>  from borrow where reader_no in(</p><p>  select reader_no</p><p>  from reader where typ='學生'))>6)</p><p><b>  begin

127、</b></p><p>  print '對不起!你的借閱數(shù)量已到達上限,請歸還書后再借閱!'</p><p>  rollback transaction </p><p><b>  end </b></p><p><b>  else</b></

128、p><p>  print '借閱數(shù)量未到達上限,可以借閱!'</p><p><b>  end</b></p><p><b>  4 課程設計總結</b></p><p>  通過本次的數(shù)據(jù)庫課程設計,理解和基本掌握了設計數(shù)據(jù)庫的幾個基本過程,例如:在設計數(shù)據(jù)庫之前先要確定其系統(tǒng)范

129、圍,這樣才能防止做該系統(tǒng)時有些功能猶豫不決;然后再劃定系統(tǒng)功能、畫出用例圖和功能結構圖幫助弄清楚參與者及其功能;接著畫出數(shù)據(jù)流圖,理解該系統(tǒng)中數(shù)據(jù)的流向。在做需求工作中一定要仔細理解該系統(tǒng)的所包含的功能,畫出功能模塊,一定不能缺少功能模塊。在做完需求后著手做數(shù)據(jù)庫設計,先從概念模型著手,包括畫出ER圖;再進行邏輯模型設計;接著進行物理模型設計,包括建表、索引、視圖、存儲過程和觸發(fā)器。通過按照上述步驟建立數(shù)據(jù)庫,顯得更有條理,更加清晰。不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論