數據庫圖書管理系統(含代碼)_第1頁
數據庫圖書管理系統(含代碼)_第2頁
數據庫圖書管理系統(含代碼)_第3頁
數據庫圖書管理系統(含代碼)_第4頁
數據庫圖書管理系統(含代碼)_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、目錄一需求描述和系統邊界 2二需求分析 21. 業務需求 22. 功能需求及數據需求分析 23. 業務規則分析 3三實體集及屬性 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.

5、 業務規則分析基于功能需求 ,通過進一步了解,圖書管理業務需求如下:( 1) 所有用戶均可以搜索圖書信息。 但只有管理員可以對圖書信息進行修改。( 2)管理員由管理員編號唯一標識。( 3)每位讀者由讀者編號唯一標識。( 4)圖書編號是圖書的唯一標識。( 5)借閱圖書后需記錄圖書當前狀態包括在館、不在館、已歸還、未歸還、是否續借。( 6) 同一圖書分類中可以有多本圖書, 但是每本圖書只能在一種個圖書分類中。.實體集及屬性圖3-1圖書實體集E-R圖圖3-3讀者實體集 E-R圖圖3-4圖書分類實體集 E-R圖四.聯系集及E-R圖sexrPhoneNumreaderNameinstitutereade

6、rNoReaderborrowAddn1madminNoreaderNoaPhoneNumborrowDateadminNameAdminborrowshouldDateaddressrenewaladminNoaSexbookNo1bookNonclassNonBookbookNamepublishDateauthorClassifyintroductiopublishNameBookClassAdminReaderAdminBookclassNoClassName五.邏輯數據庫設計表 3-1 BookClass屬性名稱數據類型屬性描述classNovarchar ( 3)r分類編號Clas

7、sNamevarchar ( 20 )分類名稱表 3-2 Book屬性名稱數據類型屬性描述bookNovarchar ( 20 )圖書編號classNovarchar ( 3)分類編號bookNamevarchar ( 3)圖書名稱authorvarchar ( 12 )作者publishNamevarchar ( 50 )出版社publishDatedatetime一出版時間introductionvarchar ( 200 )簡介表 3-3 Reader屬性名稱數據類型屬性描述readerNovarchar ( 12 )讀名編preaderNamevarchar ( 10 )X姓名rSex

8、varchar (2)X性別rPhoneNumbervarchar ( 12 )r聯系電話institutevarchar ( 20 )學院effectDatedatetime生效日期lostEffectDatedatetime失效日期breakRuleschar ( 2)違規情況borrowAddint累計借書表 3-4 Admin屬性名稱數據類型屬性描述adminNovarchar ( 12 )r管理員編號adminNamevarchar ( 12 )管理員姓名aSexvarchar (2)管理員性別aPhoneNumbervarchar ( 12 )聯系電話addressvarchar

9、( 40 )家庭住址表 3-5 Borrow屬性名稱數據類型屬性描述adminNovarchar ( 12 )管理員編號bookNovarchar ( 20 )圖書編號readerNovarchar ( 12 )讀名編pborrowDatedatetime制日期shouldDatedatetime應該歸還日期renewalchar ( 4)是否續借表 3-6 Admin_Book屬性名稱數據類型屬性描述一adminNovarchar ( 12 )管理員編號bookNovarchar ( 20 )圖書編號shopTomedatetime一入庫時間inLibrarychar ( 4)是否在館表 3

10、-7 Admin_Reader屬性名稱數據類型屬性描述一adminNovarchar ( 12 )r管理員編號readerNovarchar ( 12 )讀后編力bookNovarchar ( 20 )圖書編號brCheckchar ( 4)歸還確認六.數據庫編程1.創建表( 1)創建圖書分類表BookClassCREATE TABLE BookClass(classNovarchar(3) not null,classNamevarchar(20)null,CONSTRAINT BookClassPK PRIMARY KEY (classNc) )( 2)創建圖書表BookCREATE TA

11、BLE Book(bookNovarchar(20)not nullclassNovarchar(3)not null,bookNamevarchar(50)not null,authorvarchar(12)not null,publishNamevarchar(50),publishDatedatetime,introductionvarchar(200),CONSTRAINT BookPK PRIMARY KEY (bookNo),CONSTRAINT BookPK1 FOREIGN KEY(classNo) REFERENCES BookClass(classNo)( 3)創建管理員表

12、AdminCREATE TABLE Admin (adminNovarchar(12)not null,adminNamevarchar(12)not null,aSexvarchar(2)not null,aPhoneNumber varchar(12) null,addressvarchar(40)null,CONSTRAINT AdminPK PRIMARY KEY (adminNo)( 4)創建讀者表ReaderCREATE TABLE Reader(readerNovarchar(12)not null ,readerNamevarchar(10)not null,rSexvarch

13、ar(2)not null,rPhoneNumbervarchar(12) null, institutevarchar(20)not null,effectDatedatetime,lostEffectDate datetime,breakRuleschar(2),borrowAdd int,CONSTRAINT ReaderPKPRIMARY KEY (readerNo)( 5)創建借閱表BorrowCREATE TABLE Borrow(adminNovarchar(12)not null,bookNovarchar(20)not null,readerNovarchar(12)not

14、null,borrowDatedatetimenot null,shouldDate datetimenot null,renewalchar(4)not null,CONSTRAINT BorrowPK PRIMARY KEY(adminNo,readerNo,bookNo),CONSTRAINT BorrowPK1 FOREIGN KEY (adminNo) REFERENCESAdmin (adminNo),CONSTRAINT BorrowPK2 FOREIGN KEY (readerNo)REFERENCESReader(readerNo),CONSTRAINT BorrowPK3

15、FOREIGN KEY (bookNo) REFERENCESBook(bookNo),)( 6)創建管理員_圖書表Admin_BookCREATE TABLE Admin_Book(adminNo varchar(12)not null,bookNovarchar(20)not null,shopTime datetime,inLibrary char(4)CONSTRAINT Admin_BookPK PRIMARY KEY(adminNo,bookNo),CONSTRAINT Admin_BookPK1 FOREIGN KEY (adminNo) REFERENCES Admin (ad

16、minNo), )( 7)創建管理員_讀者Admin_ReaderCREATE TABLE Admin_Reader(adminNovarchar(12)not null,readerNovarchar(12)not null,bookNovarchar(20)not null,brCheckchar(4)not null,CONSTRAINT Admin_readerPK PRIMARY KEY (adminNo,readerNo,bookNo),CONSTRAINT Admin_readerPK1 FOREIGN KEY (adminNo) REFERENCES Admin (adminN

17、o),CONSTRAINT Admin_readerPK2 FOREIGN KEY (readerNo) REFERENCES Reader(readerNo),CONSTRAINT Admin_readerPK3 FOREIGN KEY (bookNo) REFERENCES Book(bookNo) )2. 創建觸發器CreateTrigger RENEWOn Borrowfor UpdateAsIf Update(renewal)beginUpdate BorrowSet shouldDate=shouldDate+30Where adminNo=1001end3. 管理員操作( 1)注

18、冊INSERT INTO Admin (adminNo, adminName, aSex, aPhoneNumber, address)VALUES(#adminNo, #adminName, #aSex, #aPhoneNumber, #address)( 2)注銷DELETE FROM AdminWHERE(adminNo =#adminNo);(3) 修改個人信息UPDATE AdminSET(adminNo=#adminNo, adminName= #adminName, aSex=#aSex, aPhoneNumber#aPhoneNumber, address#address);(

19、4) 增加圖書INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES(#bookNo, #classNo,#bookName, #author, #publishName, #publishDate, #introduction)(5) 刪除圖書DELETE FROM BookWHERE(bookNo=#bookNo)( 6)修改圖書信息UPDATE Book (bookNo=#bookNo, classNo=#classNo,bookName=#book

20、Name, author=#author, publishName=#publishName, publishDate=#publishDate, introduction=#introduction)( 7)增加圖書分類INSERT INTO BookClass( classNo,className)VALUES(#classNo,#className)( 8)刪除圖書分類DELETE FROM BookClassWHERE(classNo=#classNo)( 9)更新圖書分類UPDATE BookClass(classNo=#classNo,className=#className)4.

21、 讀者操作( 1)注冊INSERT INTO Reader (readerNo, readerName, rSex, rPhoneNumber , institute, effectDate, lostEffectDate, breakRules,borrowAdd)VALUES (#readerNo, #readerName, #rSex,# rPhoneNumber , #institute,#effectDate,# lostEffectDate, #breakRules,#borrowAdd)( 2)注銷DELETE ReaderWHERE ( readerNo=#readerNo)(

22、 3)修改個人信息UPDATE ReaderSET ( readerNo =#readerNo, readerName =#readerName, rSex= #rSex, rPhoneNumber =# rPhoneNumber , institute= #institute, effectDate=#effectDate ,lostEffectDate=# lostEffectDate, breakRules =#breakRules, borrowAdd =#borrowAdd)( 4) 查詢SELECT * FROM BookWHERE bookNo=#bookNo OR bookNa

23、me=#bookName5. 管理員對借閱關系的操作(1) 插入讀者的信息INSERT INTO Borrow(adminNo, bookNo, readerNo,borrowDate,shouldDate,renewal)VALUES(#adminNo, #bookNo,# readerNo,#borrowDate,#shouldDate,#renewal)(2) 更新信息更新借出信息UPDATE BorrowSET(borrowDate =# borrowDate, shouldDate = shouldDate +30,renewal=0)WHERE(adminNo =# adminNo

24、 AND readerNo =#readerNo AND bookNo =#bookNo)UPDATE Admin_BookSET(inLibrary= 0 )WHERE(bookNo=#bookNo)UPDATA ReaderWHERE(readerNo=#readerNo)INSERT INTO Admin_Reader (adminNo, readerNo, bookNo, brCheck)VALUES(#adminNo, #readerNo, #bookNo, #brCheck)更新續借信息UPDATE BorrowSET (renewal=#renewal)WHERE (adminN

25、o=# adminNo AND readerNo=#readerNo AND bookNo=#bookNo) 更新還書信息UPDATE Admin_BookSET(inLibrary=1)WHERE(bookNo =#bookNo)UPDATE Admin_ReaderSET(brCheck = 1 )WHERE(adminNo =# adminNo AND readerNo =# readerNo AND bookNo =# bookNo)七代碼實現1輸入數據設計( 1)插入圖書分類INSERT INTO BookClass (classNo,className)VALUES ('C

26、01','信息技術教材')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, aPh

27、oneNumbe,r address)VALUES ('1001','王子 ','女','012345678,''北京 ')( 3)插入讀者INSERT INTO Reader(readerNo, readerName, rSex, rPhoneNumber, institute, effectDate, lostEffectDate, breakRules, borrowAdd)VALUES ('11111','李瑞 ','男','123456789,

28、9;'軟件 ','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','數據庫教程')INSERT INT

29、O Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES CS1235;'C01','JAVA','吳京',希華大學出版社','2007-05-07,'JAVA 程')INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES (51236902','

30、;紅樓夢','曹雪芹'"青華大學出版社,'2009-09-04;'中國四大名著之一 ')INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES ('S1237;'C03','英語寫作','劉平惠','浙江大學出版社,2006-10-21;'基礎英語寫作教程')INSERT INTO Book (bookNo, class

31、No,bookName, author, publishName,publishDate, introduction)VALUES ('S1238,'C04','最漫畫','郭敬明','長江出版社,'2011-03-17,'漫畫連載')( 5)插入管理員_書籍表INSERT INTO Admin_Book (adminNo, bookNo ,shopTime, inLibrary)VALUES ('1001','S1234','2010-7-7','0

32、')INSERT INTO Admin_Book (adminNo, bookNo, shopTime, inLibrary)VALUES ('1001','S1235','2008-7-8','1')( 6)插入借閱信息INSERT INTO Borrow (adminNo, bookNo,readerNo, borrowDate,shouldDate,renewal)VALUES ('1001','S1234','11111','2012-6-1',

33、9;2010-7-1','0')INSERT INTO Admin_Reader (adminNo, readerNo, bookNo,brCheck )VALUES('1001','11111','S1234', '0')2. 完成借閱、續借、歸還的操作設計假設讀者想借書籍名為JAVA且不知道bookNo( 1)借閱操作如下:if (select bookName from Book where bookNo='S1235')= 'JAVA' ) beginINSERT I

34、NTO Borrow (adminNo, bookNo,readerNo, borrowDate,shouldDate,renewal)VALUES ('1001','S1235','11111','2012-6-8','2012-7-8','0')UPDATE Admin_BookSET inLibrary ='0'WHERE bookNo='S1235'UPDATE ReaderWHERE readerNo='11111'INSERT INTO Admin_Reader (adminNo

溫馨提示

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

評論

0/150

提交評論