




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、圖書管理系統目錄一需求描述和系統邊界2二需求分析31.業務需求32.功能需求及數據需求分析33.業務規則分析4三實體集及屬性4四聯系集及E-R圖5五邏輯數據庫設計6六數據庫編程71.創建表72.創建觸發器103.管理員操作104.讀者操作115. 管理員對借閱關系的操作12七代碼實現131輸入數據設計132.完成借閱、續借、歸還的操作設計15八模式求精17九小結17一需求描述和系統邊界 數據庫技術和Internet的飛速發展,使它們已經成為現代信息技術的重要組成部分,是現在計算機信息系統和計算機應用系統的基礎和核心。對于任何一個企業來說,數據是企業重要的資產,如何有效利用這些數據,對于企業發展
2、起著極其重要的作用。隨著我國市場經濟的迅速發展和人們生活水平的不斷提高,圖書館藏書的數目逐漸增大,這也挑戰了圖書管理方面的技術,以前的人工管理方式已經不再適應現在的環境,取而代之的是先進的圖書管理系統,創建圖書管理系統可以讓管理人員方便而快捷的進行管理、查詢、借閱、錄入等工作。該圖書管理系統支持2類用戶:管理員和讀者。讀者可以進行借閱、續借、歸還和查詢書籍等操作,管理員可以完成書籍和讀者的增加,刪除和修改以及對讀者,借閱、續借、歸還的確認。二需求分析1.業務需求圖書管理系統的主要業務包括:包括圖書館內書籍的信息,讀者信息,以及借閱信息。此系統功能分為面向讀者和面向管理員兩部分,其中讀者可以進行
3、借閱、續借、歸還和查詢書籍等操作,管理員可以完成書籍和讀者的增加,刪除和修改以及對讀者,借閱、續借、歸還的確認。2.功能需求及數據需求分析(1)注冊管理管理員注冊。管理員注冊時要求填寫基本信息,包括管理員編號、姓名、性別、聯系電話、家庭住址。系統檢查所有信息填寫正確后管理員注冊成功。讀者注冊。讀者注冊時要求填寫基本信息,包括讀者編號、姓名、性別、聯系電話、學院等。系統檢查所有信息填寫正確后讀者注冊成功。(2)圖書管理增加圖書信息。當有新的圖書入庫時,管理員負責添加圖書信息,包括書名、分類、圖書編號、作者、出版社、出版時間、簡介等。圖書信息查詢。管理系統需提供方便快捷的方式進行圖書檢索。如可以輸
4、入指定的關鍵詞進行簡單查詢,也可以根據書名、分類、圖書編號、作者、出版社、出版時間、簡介等單一或組合條件進行查詢。圖書信息更新及刪除。圖書信息發布后,管理員可以隨時更新和刪除圖書信息。(3)借閱圖書讀者登入圖書管理系統之后,將需要的圖書的信息輸入,可以借閱圖書。由管理員將圖書信息修改為“不在館”。(4)續借圖書讀者借書之后,一個月后應歸還。如有需要可以續借圖書30天。此操作由管理員完成。(5)歸還圖書讀者將已借圖書歸還給圖書館時,需要管理員確認信息。并將圖書信息修改為“在館”3.業務規則分析基于功能需求 ,通過進一步了解,圖書管理業務需求如下:(1)所有用戶均可以搜索圖書信息。但只有管理員可以
5、對圖書信息進行修改。(2)管理員由管理員編號唯一標識。(3)每位讀者由讀者編號唯一標識。(4)圖書編號是圖書的唯一標識。(5)借閱圖書后需記錄圖書當前狀態包括在館、不在館、已歸還、未歸還、是否續借。(6)同一圖書分類中可以有多本圖書,但是每本圖書只能在一種個圖書分類中。三實體集及屬性publishDatebookNoclassNobookNameintroductionauthorpublishNameBook圖3-1圖書實體集E-R圖AdminadminNoaPhoneNumbereraddressaSexadminName圖3-2管理員實體集E-R圖ReaderreaderNosexrPh
6、oneNumberreaderNameinstituteborrowAdd圖3-3讀者實體集E-R圖BookClassclassNoClassName圖3-4圖書分類實體集E-R圖readerNosexrPhoneNumberreaderNameReaderinstituteborrowAddborrowBookintroductionpublishNameclassNobookNamepublishDateauthorbookNoAdminAdmin_ReaderAdmin_BookadminNoaPhoneNumbereraddressaSexadminNamereaderNoborrow
7、DateshouldDateBookClassadminNobookNorenewalclassNoClassNameClassifymn1n1n四聯系集及E-R圖五邏輯數據庫設計表3-1 BookClass屬性名稱數據類型屬性描述classNovarchar(3)分類編號ClassNamevarchar(20)分類名稱表3-2 Book屬性名稱數據類型屬性描述bookNovarchar(20)圖書編號classNovarchar(3)分類編號bookNamevarchar(3)圖書名稱authorvarchar(12)作者publishNamevarchar(50)出版社publishDat
8、edatetime出版時間introductionvarchar(200)簡介表3-3 Reader屬性名稱數據類型屬性描述readerNovarchar(12)讀者編號readerNamevarchar(10)讀者姓名rSexvarchar(2)讀者性別rPhoneNumbervarchar(12)聯系電話institutevarchar(20)學院effectDatedatetime生效日期lostEffectDatedatetime失效日期breakRuleschar(2)違規情況borrowAddint累計借書表3-4 Admin屬性名稱數據類型屬性描述adminNovarchar(1
9、2)管理員編號adminNamevarchar(12)管理員姓名aSexvarchar(2)管理員性別aPhoneNumbervarchar(12)聯系電話addressvarchar(40)家庭住址表3-5 Borrow屬性名稱數據類型屬性描述adminNovarchar(12)管理員編號bookNovarchar(20)圖書編號readerNovarchar(12)讀者編號borrowDatedatetime結束日期shouldDatedatetime應該歸還日期renewalchar(4)是否續借表3-6 Admin_Book屬性名稱數據類型屬性描述adminNovarchar(12)管
10、理員編號bookNovarchar(20)圖書編號shopTomedatetime入庫時間inLibrarychar(4)是否在館表3-7 Admin_Reader屬性名稱數據類型屬性描述adminNovarchar(12)管理員編號readerNovarchar(12)讀者編號bookNovarchar(20)圖書編號brCheckchar(4)歸還確認六數據庫編程1.創建表(1)創建圖書分類表BookClassCREATE TABLE BookClass( classNo varchar(3) not null,className varchar(20) null,CONSTRAINT B
11、ookClassPK PRIMARY KEY(classNo)(2)創建圖書表BookCREATE TABLE Book(bookNo varchar(20) not null , classNo varchar(3) not null, bookName varchar(50) not null, author varchar(12) not null, publishName varchar(50), publishDate datetime, introduction varchar(200), CONSTRAINT BookPK PRIMARY KEY(bookNo), CONSTRA
12、INT BookPK1 FOREIGN KEY(classNo) REFERENCES BookClass (classNo) (3)創建管理員表Admin CREATE TABLE Admin( adminNo varchar(12) not null, adminName varchar(12) not null, aSex varchar(2) not null, aPhoneNumber varchar(12) null, address varchar(40) null, CONSTRAINT AdminPK PRIMARY KEY(adminNo) (4)創建讀者表ReaderCR
13、EATE TABLE Reader( readerNo varchar(12) not null , readerName varchar(10) not null, rSex varchar(2) not null, rPhoneNumber varchar(12) null, institute varchar(20) not null, effectDate datetime, lostEffectDate datetime, breakRules char(2), borrowAdd int, CONSTRAINT ReaderPK PRIMARY KEY(readerNo) (5)創
14、建借閱表BorrowCREATE TABLE Borrow( adminNo varchar(12) not null, bookNo varchar(20) not null, readerNo varchar(12) not null, borrowDate datetime not null, shouldDate datetime not null, renewal char(4) not null, CONSTRAINT BorrowPK PRIMARY KEY(adminNo,readerNo,bookNo), CONSTRAINT BorrowPK1 FOREIGN KEY(ad
15、minNo) REFERENCES Admin(adminNo), CONSTRAINT BorrowPK2 FOREIGN KEY(readerNo)REFERENCES Reader(readerNo), CONSTRAINT BorrowPK3 FOREIGN KEY(bookNo) REFERENCES Book(bookNo), ) (6)創建管理員_圖書表Admin_BookCREATE TABLE Admin_Book( adminNo varchar(12) not null, bookNo varchar(20) not null, shopTime datetime, in
16、Library char(4) CONSTRAINT Admin_BookPK PRIMARY KEY(adminNo,bookNo), CONSTRAINT Admin_BookPK1 FOREIGN KEY(adminNo) REFERENCES Admin(adminNo),) (7)創建管理員_讀者 Admin_Reader CREATE TABLE Admin_Reader( adminNo varchar(12) not null, readerNo varchar(12) not null, bookNo varchar(20) not null, brCheck char(4)
17、 not null, CONSTRAINT Admin_readerPK PRIMARY KEY(adminNo,readerNo,bookNo), CONSTRAINT Admin_readerPK1 FOREIGN KEY(adminNo) REFERENCES Admin(adminNo), CONSTRAINT Admin_readerPK2 FOREIGN KEY(readerNo) REFERENCES Reader(readerNo), CONSTRAINT Admin_readerPK3 FOREIGN KEY(bookNo) REFERENCES Book(bookNo) 2
18、.創建觸發器Create Trigger RENEW On Borrowfor Update As If Update(renewal) begin Update Borrow Set shouldDate=shouldDate+30 Where adminNo=1001 end 3.管理員操作(1)注冊INSERT INTO Admin (adminNo, adminName, aSex, aPhoneNumber, address) VALUES(#adminNo, #adminName, #aSex, #aPhoneNumber, #address) (2)注銷DELETE FROM
19、160;Admin WHERE(adminNo =#adminNo);(3)修改個人信息UPDATE AdminSET(adminNo=#adminNo, adminName= #adminName, aSex=#aSex, aPhoneNumber #aPhoneNumber, address#address);(4)增加圖書INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction) VALUES(#bookNo, #classNo,#bookName, #author
20、, #publishName, #publishDate, #introduction) (5)刪除圖書DELETE FROM BookWHERE(bookNo=#bookNo)(6)修改圖書信息UPDATE Book (bookNo=#bookNo, classNo=#classNo,bookName=#bookName, author=#author, publishName=#publishName, publishDate=#publishDate, introduction=#introduction) (7)增加圖書分類INSERT INTO BookClass(classNo,c
21、lassName)VALUES(#classNo,#className)(8)刪除圖書分類DELETE FROM BookClassWHERE(classNo=#classNo)(9)更新圖書分類UPDATE BookClass(classNo=#classNo,className=#className)4.讀者操作(1)注冊INSERT INTO Reader (readerNo, readerName, rSex, rPhoneNumber , institute, effectDate, lostEffectDate, breakRules,borrowAdd) VALUES(#read
22、erNo, #readerName, #rSex,# rPhoneNumber , #institute, #effectDate,# lostEffectDate, #breakRules,#borrowAdd)(2)注銷DELETE ReaderWHERE(readerNo=#readerNo)(3)修改個人信息UPDATE ReaderSET (readerNo =#readerNo, readerName =#readerName, rSex= #rSex, rPhoneNumber =# rPhoneNumber , institute= #institute, effectDate
23、 =#effectDate ,lostEffectDate=# lostEffectDate, breakRules =#breakRules, borrowAdd =#borrowAdd)(4)查詢SELECT * FROM BookWHERE bookNo=#bookNo OR bookName=#bookName5. 管理員對借閱關系的操作(1) 插入讀者的信息INSERT INTO Borrow(adminNo, bookNo, readerNo,borrowDate,shouldDate,renewal)VALUES(#adminNo, #bookNo,# readerNo
24、,#borrowDate,#shouldDate,#renewal)(2) 更新信息 更新借出信息UPDATE Borrow SET(borrowDate =# borrowDate, shouldDate = shouldDate +30,renewal=0) WHERE(adminNo =# adminNo AND readerNo =# readerNo AND bookNo =#bookNo) UPDATE Admin_BookSET(inLibrary=0) WHERE(bookNo=#bookNo) UPDATA
25、;Reader SET (borrowAdd= borrowAdd +1) WHERE(readerNo=#readerNo) INSERT INTO Admin_Reader (adminNo, readerNo, bookNo, brCheck)VALUES(#adminNo, #readerNo, #bookNo, #brCheck) 更新續借信息UPDATE Borrow SET (renewal=#renewal) WHERE (adminNo=# adminNo AND readerNo=#readerNo AND
26、0;bookNo=#bookNo) 更新還書信息UPDATE Admin_Book SET(inLibrary=1) WHERE(bookNo =#bookNo) UPDATE Admin_Reader SET(brCheck =1) WHERE(adminNo =# adminNo AND readerNo =# readerNo AND bookNo =# bookNo)七代碼實現1輸入數據設計(1)插入圖書分類INSERT INTO BookClass (classNo,className)VALUES('C01',
27、9;信息技術教材')INSERT INTO BookClass (classNo,className)VALUES('C02','小說')INSERT INTO BookClass (classNo,className)VALUES('C03','外語')INSERT INTO BookClass (classNo,className)VALUES('C04','漫畫')(2)插入管理員INSERT INTO Admin (adminNo, adminName, aSex, aPhoneNu
28、mber, address) VALUES('1001','王子','女','012345678','北京') (3)插入讀者INSERT INTO Reader (readerNo, readerName, rSex, rPhoneNumber , institute, effectDate, lostEffectDate, breakRules,borrowAdd) VALUES('11111','李瑞','男','123456789','
29、軟件','2010-09-02','2014-06-30','1','10') (4)插入圖書INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction) VALUES('S1234','C01','數據庫系統原理與設計','萬常選','清華大學出版社','2009-03-05','數據庫教程'
30、;) INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction) VALUES('S1235','C01','JAVA','吳京','清華大學出版社','2007-05-07','JAVA基礎教程') INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, int
31、roduction) VALUES('S1236','C02','紅樓夢','曹雪芹','清華大學出版社','2009-09-04','中國四大名著之一') INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction) VALUES('S1237','C03','英語寫作','劉平惠','浙江
32、大學出版社','2006-10-21','基礎英語寫作教程') INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction) VALUES('S1238','C04','最漫畫','郭敬明','長江出版社','2011-03-17','漫畫連載') (5)插入管理員_書籍表INSERT INTO Admin_Book (ad
33、minNo, bookNo ,shopTime, inLibrary) VALUES('1001','S1234','2010-7-7','0') INSERT INTO Admin_Book (adminNo, bookNo, shopTime, inLibrary) VALUES('1001','S1235','2008-7-8','1') (6)插入借閱信息INSERT INTO Borrow (adminNo, bookNo,readerNo, borrowD
34、ate,shouldDate ,renewal) VALUES('1001','S1234','11111','2012-6-1','2010-7-1','0') INSERT INTO Admin_Reader (adminNo, readerNo, bookNo,brCheck ) VALUES('1001','11111','S1234', '0') 2.完成借閱、續借、歸還的操作設計假設讀者想借書籍名為JAVA且不知道bookN
35、o (1)借閱操作如下:if(select bookName from Book where bookNo='S1235')= 'JAVA') begin INSERT INTO Borrow (adminNo, bookNo,readerNo, borrowDate,shouldDate ,renewal) VALUES('1001','S1235','11111','2012-6-8','2012-7-8','0') UPDATE Admin_Book SET inLibrary ='0' WHERE bookNo='S1235'UPDATE Reader SET borrowAdd=borrowAdd+1 WHERE readerNo ='11111' INSERT INTO Ad
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育運動場地租賃保證金及賽事組織管理合同
- 極地氣態環流的動態與影響-洞察闡釋
- 車庫物業管理權移交合同
- 拆遷補償款分配及房屋買賣合同
- 高端車型抵押個人貸款服務協議
- 采石場經營權轉讓及礦山生態恢復治理合同
- 車輛交通事故責任轉移協議
- 企業車輛全面委托管理與維護合同
- 信息技術分公司設立股東協議書
- 體育場館玻璃門窗采購與節能改造服務合同
- 股權轉讓解除協議書
- 幼兒園桌椅安全教育
- 《2025 急性心梗診療指南》解讀課件
- 2025-2031年中國醫學檢驗市場深度分析及行業前景展望報告
- 醫院培訓課件:《中華人民共和國母嬰保健法》
- 佛山市普通高中2025年高三第二次診斷性檢測生物試卷含解析
- 道路竣工測量重點基礎知識點
- 山東省濟寧市任城區2023年中考一模化學試題(含答案)
- 2024年湖南省三支一扶考試真題
- 《相控陣雷達技術與應用》課件
- 快遞店合作協議合同協議
評論
0/150
提交評論