mysql圖書管理系統

2021-03-04 09:24:16 字數 4963 閱讀 2292

電子科技大學成都學院

實驗報告冊

課程名稱: mysql圖書管理系統

姓名徐源

學號: 1040710526

院系: 微電子技術系

專業: 整合(嵌入式)

教師黃玹

2012 年 12 月 22 日

圖書管理系統

小組成員:徐源唐東南

1.1.1課程設計背景

某大學圖書館開發乙個圖書管理系統,要求在讀者登記處可以將讀者的資訊新增,資訊系統中儲存,當讀者資訊發生變化,對計算機內容進行修改,當讀者辦理退卡手續要刪除此讀者資訊,圖書管理負責圖書和出版社的管理,讀書借還處進行借書管理,還書管理,罰款處理,庫存查詢,圖書排行榜,生成超期未還書的讀者,進行通知.給不同使用者設定不同許可權,供使用者訪問資料庫.

1.1.2編寫目的

讓學生熟練掌握mysql中的建立資料庫、建立表、顯示、查詢、select語句、檢視、儲存過程、建立檢索、對錶的新增、刪除、修改和使用者許可權的設定等基本運用,並通過編寫這個圖書管理系統,來實際演練,達到融會貫通的效果。

1.1.3軟體定義

mysql是目前最流行的開源的中小型關係資料管理系統,目前被廣泛的應用於inter***上得中小型**中,它由mysql ab公司開發、發布並支援。本實驗用的是mysql 5.1版本

1.1.4開發環境

本實驗用的是mysql 5.1版本,windows7

圖書館管理資訊系統需要完成功能主要有:

1. 讀者基本資訊的輸入,包括借書證編號、讀者姓名、讀者性別。

2.讀者基本資訊的查詢、修改,包括讀者借書證編號、讀者姓名、讀者性別等。

3.書籍類別標準的制定、類別資訊的輸入,包括類別編號、類別名稱。

4.書籍類別資訊的查詢、修改,包括類別編號、類別名稱。

5.書籍庫存資訊的輸入,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、登記日期。

6.書籍庫存資訊的查詢,修改,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期登記日期等。

7.借書資訊的輸入,包括讀者借書證編號、書籍編號、借書日期。

8.借書資訊的查詢、修改,包括借書證編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期等。

9.還書資訊的輸入,包括借書證編號、書籍編號、還書日期。

10.還書資訊的查詢和修改,包括還書讀者借書證編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期等。

11.超期還書罰款輸入,還書超出期限包括超出期限還書的讀者借書證號,書籍編號,罰款金額。

12.超期還書罰款查詢,刪除,包括讀者借書證編號、讀者姓名、書籍編號、書籍名稱,罰款金額等

(1)在讀者資訊管理部分,要求:

a.可以查詢讀者資訊。

b.可以對讀者資訊進行新增及刪除的操作。

(2 )在書籍資訊管理部分,要求:

a.可以瀏覽書籍資訊,要求:

b.可以對書籍資訊進行維護,包括新增及刪除的操作。

(3)在借閱資訊管理部分,要求:。

a.可以瀏覽借閱資訊。

b.可以對借閱資訊進行維護操作。

(4)在歸還資訊管理部分,要求:

a.可以瀏覽歸還資訊

b.對歸還資訊可修改維護操作

(5)在管理者資訊管理部分,要求:

a.顯示當前資料庫中管理者情況。

b.對管理者資訊維護操作。

(6)在罰款資訊管理部分,要求:

a.可以瀏覽罰款資訊

b.對罰款資訊可以更新

1.4關係模式

(一) 書籍類別(種類編號,種類名稱)

(二) 讀者(借書證編號,讀者姓名,讀者性別,讀者種類,登記時期)

(三) 書籍(書籍編號,書籍名稱,書籍類別,書記作者,出版社名稱,出版日期,登記日期)

(四) 借閱(借書證編號,書籍編號,讀者借書時間)

(五) 還書(借書證編號,書籍編號,讀者還書時間)

(六) 罰款(借書證編號,讀者姓名,借書證編號,書籍編號,讀者借書時間)

以上通過關係代數方法的進行運算得到所需要的結果,在實驗結果中可以看到。

1.5流程圖

借書及圖書剩餘量更新功能(利用儲存過程實現)

delimiter $$

create procedure js_manager(in r_id char(10),in r_name char(10),in *** char(2),

in r_sf char(8), in birthday datetime, in r_ic char(18),

in r_tele char(11),in r_addr varchar(30), in r_zip char(6)

,in b_id,char(6),in js_time datetime,in hs_time datetime, in js_quantity int)

begin

insert into borrowing_place values(r_id,b_id,js_time,hs_time,js_quantity);

update librarian set book_sy=book_sy-js_quantity where book_id=b_id andread_id=r_id;//更新圖書剩餘量

select read_name from readers where read_id=r_id;

if read_name =null then //readers表中沒有r_id的個人資訊的話,將登記

insert into readers values(r_id,r_name,***,r_sf,birthday,r_ic,r_tele,r_addr,r_zip);

end if;

end$$

程式實現的功能是借閱者借書時登記其個人資訊,若以前登記過,就不在重複插入,將借閱者所接的書和借書日期、應該還書日期、和借書數量做記錄,同時更新圖書的剩餘量方便後來的借閱者查詢是否這本書還有。

還書、圖書剩餘量及罰款功能(利用儲存過程實現)

delimiter $$

create procedure book.fines(in sjhs datetime ,in xh char(10), in sh char(10))

begin

declare day tinyint;

select datediff(sjhs,hs_time) into day from borrowing_place where read_id=xh and book_id=sh); //計算出超期天數將天數存到day的變數中

if day >0

then

select (day*0.2*js_quantity) as '罰金' from borrowing_place where book_id=sh and

read_id=xh; //計算出超期借閱者應該的罰款金額

end if;

update librarian set book_sy=book_sy + (select js_quantity from borrowing_place

where book_id=sh and read_id=xh);//更新圖書剩餘量

delete from borrowing_place where read_id=xh and book_id=sh;//刪除此條還書資訊

end$$

程式實現的功能是借閱者還書時根據借閱的編號和所還書的號來計算出超期時間,如果超期,就計算出罰金,對借閱者進行罰款處理,同時更新圖書的剩餘量和刪除這位借閱者的借閱資訊。

圖書借閱排行榜功能(利用儲存過程實現)

delimiter $$

create procedure js_ph()

begin

select book_id,book_name,book_sy from librarian group by book_sy;

end$$

程式的功能是通過select語句選擇出圖書剩餘量和圖書相關資訊,根據圖書剩餘量公升序排列,圖書編號排在最前的是借出數量最多,以此增加了圖書知名度。

圖書剩餘量查詢功能(利用儲存過程實現)

delimiter $$

create procedure sycx()

select book_id,book_name,book_sy from librarian group by book_id;

end$$

程式的功能是查詢出圖書剩餘量,供借閱者檢視,以免造成借書時卻沒有這本書的尷尬局面。

催還過期圖書通知功能(通過檢視功能實現)

create view hs_remind()

asselect read_id,book_id, datediff(hs_time,now()) as '超期天數' from borrowing_place group by read_id;

select * from hs_time where 超期天數》0 ;

程式利用檢視實現計算出借閱者所借書的超期天數,通過select選擇出超期天數為正的借閱者學號,方便管理員知道哪些借閱者有超期未還的書,好及時通知還書。

退借閱卡刪除登記資訊功能(通過儲存過程實現)

delimiter $$

create procedure logout(in r_id char(10))

select book_id from borrowing_place where read_id=r_id;

delete form readers,jtcy where read_id=r_id;

end$$

程式實現的功能是借閱者要求登出借閱卡時,根據借閱卡上的借閱編號,來刪除登記資訊,當然先查詢借閱處資訊表,看看該借閱者有沒有未還完的書。

借閱者基本資訊修改功能(通過儲存過程實現)

delimiter $$

create procedure read_alter(in r_id char(10),in r_name char(10),in shenfen char

(10),in r_ic char(18),in tel char(11),in r_addr char(30))

圖書管理系統

三 可行性分析 1.技術可行性分析 技術上的可行性分析主要分析現有技術條件能否順利完成開發工作,硬體 軟體配置能否滿足開發者的需要,各類技術人員的數量,水平,等。圖書館管理系統的工作主要是方便讀者和圖書管理員處理事務,系統是以c 語言程式設計平台,以sql sever資料庫為後台的應用軟體,達到實現...

圖書管理系統

可行性研究報告 可行性研究報告是為 圖書管理系統 開發的可行性 必要性提供論據,為開發人員進行系統總體規劃設計及具體實施開發工程提供必要的參考資料,在系統開發完成後期為系統的測試 驗收提供幫助。其編寫過程由南京航空航天大學自動化學院學生完成。預期讀者是從事 圖書管理系統 開發的相關人員。本專案名稱為...

圖書管理系統

本書以乙個圖書管理系統為例,從實用角度介紹軟體工程的基本知識和軟體工程技術方法以及軟體工程各階段文件。本節介紹可行性分析報告。可行性分析報告包括 封面 略 目錄 略 可行性分析報告內容 軟體專案管理的目的是有效地利用資源,保證軟體如期交付,如何合理地進行資源配置。專案開發計畫是軟體專案管理當中一項重...