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

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上題目:基于MYSQL圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 目錄1.題目概述在對(duì)該校的圖書館進(jìn)行調(diào)研時(shí)發(fā)現(xiàn),圖書館內(nèi)的部分工作采用的還是手工操作,管理起來效率低下,對(duì)師生對(duì)圖書的需求意圖了解不夠充分,不能及時(shí)的查詢各類圖書的存儲(chǔ)狀況等;圖書的動(dòng)態(tài)調(diào)整緩慢,不利于滿足師生對(duì)圖書的借閱需求。手工操作存在大量的弊端,例如一些人為因素,手動(dòng)操作經(jīng)常造成圖書數(shù)據(jù)的遺漏和誤報(bào)等。學(xué)校圖書館為了提高管理和借閱效率,決定采用計(jì)算機(jī)管理,經(jīng)與圖書館管理人員交談,得知:(1) 學(xué)校師生必須在圖書館先辦理借閱證,然后方可借閱圖書資料。(2) 圖書館對(duì)書籍原來有一套卡片登記制度,現(xiàn)在需要將其查詢功能移植入計(jì)

2、算機(jī)(當(dāng)然相應(yīng)地也必須建立圖書登記、報(bào)廢等記錄)。(3) 借閱圖書從原來的手工填寫借閱單據(jù)改為計(jì)算機(jī)登記借閱。(4) 提供掛失、預(yù)約、綜合查詢等新功能以方便讀者。(5) 為了圖書館管理的需要,提供一定的統(tǒng)計(jì)功能。(1)圖書管理1. 新書入庫:對(duì)新購進(jìn)的圖書進(jìn)行必要的登記。2.圖書資料修改:對(duì)圖書的數(shù)量,分類,流通/館藏等資料進(jìn)行修改。3.圖書查詢提供多種查詢,定位圖書的方法??梢酝ㄟ^圖書編號(hào)、類別、書名、作者、出版社、出版日期等信息查詢。(2)讀者管理1.增加新讀者:為新讀者辦理借書證。讀者要區(qū)分教師和學(xué)生。教師和學(xué)生可以借閱的圖書的種類和數(shù)量不同。2.讀者資料修改:除能對(duì)個(gè)別讀者的信息進(jìn)行修

3、改外,還能對(duì)讀者信息進(jìn)行批量修改。對(duì)借書證進(jìn)行掛失、取消掛失、證件注銷等處理。當(dāng)讀者有未還圖書時(shí),不允許注銷。3.讀者資料查詢:提供多種方法對(duì)讀者信息,以及該讀者的借閱信息進(jìn)行查詢。(3)借閱管理1.借書:根據(jù)書號(hào)借書。每本書有一定的借閱期限,每位讀者借閱的數(shù)量不能超過允許的數(shù)量。圖書借閱必須進(jìn)行必要的登記,并通知讀者還書的日期等相關(guān)事宜。若因?yàn)槟撤N原因不能借出,要說明理由。如圖書是館藏或已借完等。2.還書:對(duì)超期、損壞的圖書應(yīng)進(jìn)行罰款處理。3.掛失:對(duì)丟失圖書視不同書籍進(jìn)行不同數(shù)量的罰款。4.預(yù)約:根據(jù)書號(hào)對(duì)已借完的圖書進(jìn)行預(yù)約。對(duì)預(yù)約的讀者的證號(hào)、聯(lián)系電話、地址、Email等信息進(jìn)行登記。

4、當(dāng)預(yù)約圖書被其他讀者還回時(shí)要作記錄,以便通知管理員通知預(yù)約讀者。5.續(xù)借:對(duì)續(xù)借次數(shù)要有限制。對(duì)已預(yù)約的圖書不允許續(xù)借。(4)綜合查詢綜合查詢主要面向讀者。普通讀者能采用多種方式對(duì)圖書的當(dāng)前庫存數(shù)量、圖書內(nèi)容等信息進(jìn)行查詢。也能根據(jù)借書證號(hào)對(duì)自己的借閱情況進(jìn)行查詢。(5)統(tǒng)計(jì)1.對(duì)不同種類圖書的數(shù)量,庫存等信息進(jìn)行統(tǒng)計(jì)2.對(duì)每種圖書在一定時(shí)期的借閱次數(shù),預(yù)約次數(shù)等信息進(jìn)行統(tǒng)計(jì)。3.對(duì)不同讀者的借閱情況進(jìn)行統(tǒng)計(jì)(1)圖書基本數(shù)據(jù)1.銀行標(biāo)識(shí):不超過10個(gè)漢字2.帳號(hào):18位數(shù)字,同一銀行之下的帳號(hào)必須唯一3.編號(hào)4.ISBN號(hào)5.書名:不超過30個(gè)漢字6.文種7.作者:因?yàn)榭梢杂胁恢挂粋€(gè)作者,規(guī)

5、定一個(gè)作者的姓名長度不超過5個(gè)漢字,且為了查詢方便,不能把多個(gè)作者放在同一個(gè)屬性中。8.出版社:不超過20個(gè)漢字9.出版日期10.價(jià)格11.主題詞112.主題詞213.主題詞314.流通冊(cè)數(shù)15.館藏冊(cè)數(shù)等(2)讀者基本數(shù)據(jù)1.證號(hào):不超過10位數(shù)字2.姓名:不超過5個(gè)漢字3.單位:不超過20個(gè)漢字4.職務(wù):不超過3個(gè)漢字或者用職務(wù)編號(hào)代替5.卡數(shù)等系統(tǒng)安全性要求體現(xiàn)在數(shù)據(jù)庫安全性、信息安全性和系統(tǒng)平臺(tái)的安全性等方面。安全性先通過視圖機(jī)制,不同的用戶只能訪問系統(tǒng)授權(quán)的視圖,這樣可提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,再通過分配權(quán)限、設(shè)置權(quán)限級(jí)別來區(qū)別對(duì)待不同操作者對(duì)數(shù)據(jù)庫的操作來提高數(shù)據(jù)庫的安全性;

6、系統(tǒng)平臺(tái)的安全性體現(xiàn)在操作系統(tǒng)的安全性、計(jì)算機(jī)系統(tǒng)的安全性和網(wǎng)絡(luò)體系的安全性等方面。數(shù)據(jù)是在外部互聯(lián)網(wǎng)絡(luò)以及圖書館內(nèi)部局域網(wǎng)中進(jìn)行流動(dòng)和存儲(chǔ)的,要保證其在這一過程中的安全穩(wěn)定。對(duì)于圖書館數(shù)據(jù)安全來說,就是要防止數(shù)據(jù)在傳輸和使用的過程中被非法復(fù)制、更改、刪除和使用等。為了達(dá)到這一目的,就需要開發(fā)相應(yīng)的信息管理技術(shù)和建立相應(yīng)的圖書館數(shù)據(jù)信息管理系統(tǒng)。通過保障圖書館軟件系統(tǒng)和硬件系統(tǒng)的安全穩(wěn)定運(yùn)行,使得圖書館數(shù)據(jù)服務(wù)系統(tǒng)可以持續(xù)工作,不因內(nèi)部數(shù)據(jù)錯(cuò)誤和外界人為或環(huán)境的干擾而出現(xiàn)中斷,達(dá)到保護(hù)數(shù)據(jù)安全的最終目標(biāo)。(1)圖書借閱的業(yè)務(wù)流程圖:圖2-1系統(tǒng)的數(shù)據(jù)流程圖(1)書籍類別(種類編號(hào),種類名稱)(

7、2)讀者(借書證編號(hào),讀者姓名,讀者性別,讀者種類,登記時(shí)期)(3)書籍(書籍編號(hào),書籍名稱,書籍類別,書籍作者,出版社名稱,出版日期,登記日期,是否被借出)(4)借閱(借書證編號(hào),書籍編號(hào),讀者借書時(shí)間)(5)還書(借書證編號(hào),書籍編號(hào),讀者還書時(shí)間)(6)罰款(借書證編號(hào),讀者姓名,書籍編號(hào),書籍名稱,罰款金額,借閱時(shí)間)根據(jù)功能需求,可以建立實(shí)體之間的關(guān)系,進(jìn)而實(shí)現(xiàn)邏輯結(jié)構(gòu)功能。圖書管理信息系統(tǒng)可以劃分的實(shí)體有:書籍類別信息實(shí)體、讀者信息實(shí)體、書籍信息實(shí)體、借閱記錄信息實(shí)體,歸還記錄信息實(shí)體。(1)書籍類別實(shí)體E-R圖:圖3-1書籍類別實(shí)體E-R圖(2)讀者信息實(shí)體E-R圖:圖3-2 讀

8、者信息實(shí)體E-R圖(3)書籍信息實(shí)體E-R圖:圖3-3書籍信息實(shí)體E-R圖(4)借閱記錄信息實(shí)體E-R圖:圖3-4借閱記錄信息實(shí)體E-R圖(5)歸還記錄信息實(shí)體E-R圖:圖3-5歸還記錄信息實(shí)體E-R圖(6)罰款信息實(shí)體E-R圖:圖3-6罰款信息實(shí)體E-R圖(7)總的信息實(shí)體E-R圖:圖3-7總的信息實(shí)體E-R圖數(shù)據(jù)字典:表4-1 book_style 書籍類別信息表表中列名數(shù)據(jù)類型可否為空說明bookstylenovarcharNot null(主鍵)種類編號(hào)bookstyleVarcharNot null種類名稱表4-2 system_readers讀者信息表表中列名數(shù)據(jù)類型可否為空說明r

9、eaderidVarcharNot null(主鍵)讀者借書證號(hào)readernameVarcharNot null讀者姓名readersexVarcharNot null讀者性別readertypeVarcharNull讀者種類regdateDatetimeNull登記日期表4-3 system_book書籍信息表表中列名數(shù)據(jù)類型可否為空說明bookidVarcharNot null(主鍵)書籍編號(hào)booknameVarcharNot null書籍名稱bookstyleVarcharNot null書籍類別bookauthorVarcharNot null書籍作者bookpubVarcharN

10、ull出版社名稱bookpubdateDatetimeNull出版日期bookindateDatetimeNull收錄日期isborrowedVarcharNot Null是否被借出表4-4borrow_record 借閱記錄信息表表中列名數(shù)據(jù)類型可否為空說明readeridVarcharNot null(外主鍵)讀者借閱證編號(hào)bookidVarcharNot null(外主鍵)書籍編號(hào)borrowdateVarcharNot null讀者借書時(shí)間表4-5return_record 歸還記錄信息表表中列名數(shù)據(jù)類型可否為空說明readernameVarcharNot null(外主鍵)讀者借閱證

11、編號(hào)readeridVarcharNot null(外主鍵)書籍編號(hào)returndateDatetimeNot null讀者還書時(shí)間表4-6reader_fee 罰款記錄信息表readeridVarcharNot null讀者借書證編號(hào)readernameVarcharNot null讀者姓名bookidVarcharNot null(外主鍵)書籍編號(hào)booknameVarcharNot null書籍名稱bookfeeVarcharNot Null罰款金額borrowdateDatetimeNot Null借閱時(shí)間(1) 書籍類別關(guān)系中種類編號(hào)為主鍵,其中函數(shù)依賴有:種類編號(hào)種類名稱。

12、0;因?yàn)闀悇e關(guān)系中不存在非主屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴關(guān)系,所以客戶關(guān)系是屬于3NF。 (2)書籍關(guān)系中書籍編號(hào)為主鍵,其中函數(shù)依賴有:書籍編號(hào)書籍名稱,書籍編號(hào)書籍類別,書籍編號(hào)書籍作者,書籍編號(hào)出版社名稱,書籍編號(hào)出版日期,書籍編號(hào)登記日期。 因?yàn)闀P(guān)系中不存在非主屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴關(guān)系,所以客戶關(guān)系是屬于3NF。 (3)讀者關(guān)系中讀者借書證號(hào)為主鍵,其中函數(shù)依賴有:讀者借書證號(hào)讀者姓名,讀者借書證號(hào)讀者性別,讀者借書證號(hào)讀者種類,讀者借書證號(hào)登記日期。 因?yàn)樽x者關(guān)系中不存在非主屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴關(guān)

13、系,所以客戶關(guān)系是屬于3NF。 (4)借閱關(guān)系中(借書證編號(hào),書籍編號(hào))為主鍵,其中函數(shù)依賴有:(借書證編號(hào),書籍編號(hào))讀者借書時(shí)間。因?yàn)榻栝嗞P(guān)系中不存在非主屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴關(guān)系,所以客戶關(guān)系是屬于3NF。(5) 還書關(guān)系中(借書證編號(hào),書籍編號(hào))為主鍵,其中函數(shù)依賴有:(借書證編號(hào),書籍編號(hào))讀者還書時(shí)間。 因?yàn)檫€書關(guān)系中不存在非主屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴關(guān)系,所以客戶關(guān)系是屬于3NF。(6) 罰款關(guān)系中書籍編號(hào)為主鍵,其中函數(shù)依賴有:書籍編號(hào)借書證編號(hào),書籍編號(hào)讀者姓名,書籍編號(hào)書籍名稱,書籍編號(hào)罰款金額,書籍編號(hào)借閱時(shí)間。 因

14、為罰款關(guān)系中不存在非主屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴關(guān)系,所以客戶關(guān)系是屬于3NF。5.1圖書管理系統(tǒng)的功能模塊圖5-1圖書管理系統(tǒng)的功能模塊5.2主要模塊的功能描述本系統(tǒng)分為4個(gè)模塊。包括用戶管理模塊,圖書管理模塊,借閱管理模塊,和信息查詢模塊。(1)用戶管理模塊用戶管理模塊的功能主要包括用戶信息(管理員用戶、師生用戶)的新增、修改、刪除、查詢等功能。1.新增用戶借書證面對(duì)學(xué)校每年大量的新入學(xué)新生,需提供快捷的、完善的用戶增加功能。圖書管理員用戶的注冊(cè),為新進(jìn)員工分配圖書管理員賬號(hào),主要由系統(tǒng)管理員負(fù)責(zé)。2.注銷用戶借書證主要是在學(xué)生畢業(yè)時(shí)或職工離職時(shí),可單個(gè)或批量刪除用戶信息,確保圖

15、書管理系統(tǒng)安全性。3.修改用戶信息在圖書館的日常工作中難免發(fā)生問題或差錯(cuò),會(huì)產(chǎn)生錯(cuò)誤的用戶信息,修改功能通過賬號(hào)查找用戶信息,并對(duì)用戶估息的可修改項(xiàng)進(jìn)行修改。4.查詢功能通過用戶管理模塊,擁有查詢權(quán)限的管理員可以查詢用戶及管理員的用戶信息,一般提供通過賬號(hào)、姓名、借出圖書所有者等信息進(jìn)行查詢,返回用戶信息,方便圖書管理系統(tǒng)的統(tǒng)一管理。(2)圖書信息管理模塊圖書信息管理模塊主要包括圖書信息錄入、圖書信息修改、圖書信息刪除、圖書信息查詢等功能。1.圖書信息錄入對(duì)新進(jìn)圖書進(jìn)行圖書信息的錄入,單本圖書錄入一般由圖書管理員負(fù)責(zé),圖書管理員錄入圖書基本信息,系統(tǒng)將根據(jù)圖書的基本信息為圖書分配一個(gè)唯一的編號(hào)

16、,并實(shí)時(shí)更新數(shù)據(jù)庫,方便用戶查詢。2.圖書信息修改圖書信息修改通過輸入的圖書名稱、圖書編號(hào)等基本信息中的一項(xiàng)或多項(xiàng)進(jìn)行圖書信息的查看,并修改該圖書信息,這一個(gè)功能一般由圖書管理員操作。3.圖書信息刪除圖書刪除功能通過錄入圖書名稱、圖書編號(hào)等基本信息中的一項(xiàng)或多項(xiàng)進(jìn)行圖書信息的查看,進(jìn)而刪除該圖書信息,一般由擁有刪除權(quán)限的圖書管理員操作。(3)借閱信息管理模塊借閱信息管理模塊包括圖書借閱、圖書歸還、超期罰款等功能。1.圖書借閱圖書借閱需審核用戶信息及圖書信,審核通過將修改系統(tǒng)數(shù)據(jù)庫中圖書信息以及用戶信息。審核不通過將返問錯(cuò)誤信息給用戶。2.圖書歸還圖書歸還時(shí),圖書管理員將檢查圖書是否有破損,以及

17、是否違反圖書館管理規(guī)則,例如圖書過期等。審核完成后修改數(shù)據(jù)庫中圖書信息以及用戶信息,完成圖書歸還工作。3.超期罰款用戶在借閱過程中,如出現(xiàn)超期現(xiàn)象,將產(chǎn)生超期罰款,超期罰款繳納前用戶圖書證處于鎖定狀態(tài),不容許繼續(xù)借閱圖書,直到用戶解鎖后,即用戶交完罰款后,實(shí)時(shí)更新數(shù)據(jù)庫。(4)信息査詢模塊信息查詢模塊主要為師生用戶提供借閱信息查詢功能,用戶通過登錄查詢網(wǎng)站,錄入用戶學(xué)號(hào),返回查詢結(jié)果中包括借閱圖書基本信息、借閱時(shí)間,歸還時(shí)間,是否超期等信息。5.3數(shù)據(jù)庫源代碼5.3.1數(shù)據(jù)庫表設(shè)計(jì)(1)創(chuàng)建書本類別表create table book_style( bookstyleno varchar(30

18、) primary key, bookstyle varchar(30)(2)創(chuàng)建書庫表create table system_books( bookid varchar(20) primary key, bookname varchar(30) Not null, bookstyleno varchar(30) Not null, bookauthor varchar(30), bookpub varchar(30) , bookpubdate datetime, bookindate datetime , isborrowed varchar (2) , foreign key (book

19、styleno) references book_style (bookstyleno),)(3)創(chuàng)建借書證表create table system_readers ( readerid varchar(9)primary key, readername varchar(9)not null , readersex varchar(2) not null, readertype varchar(10), regdate datetime)(4)創(chuàng)建借書記錄表create table borrow_record( bookid varchar(20) primary key, readerid

20、varchar(9), borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid),)(5)創(chuàng)建還書記錄表create table return_record( bookid varchar(20) primary key, readerid varchar(9), returndate datetime, foreign key (bookid) references system_bo

21、oks(bookid), foreign key (readerid) references system_readers(readerid)(6)創(chuàng)建罰款單表create table reader_fee( readerid varchar(9)not null, readername varchar(9)not null , bookid varchar(20) primary key, bookname varchar(30) Not null, bookfee varchar(30) , borrowdate datetime, foreign key (bookid) referen

22、ces system_books(bookid), foreign key (readerid) references system_readers(readerid)5.3.2數(shù)據(jù)初始化(1)初始化書籍類別表book_styleinsert into book_style(bookstyleno,bookstyle)values('1','哲學(xué)宗教') insert into book_style(bookstyleno,bookstyle)values('2','文學(xué)藝術(shù)')insert into book_style(boo

23、kstyleno,bookstyle)values('3','歷史地理')insert into book_style(bookstyleno,bookstyle)values('4','數(shù)理科學(xué)')insert into book_style(bookstyleno,bookstyle)values('5','生物科學(xué)')insert into book_style(bookstyleno,bookstyle)values('6','交通運(yùn)輸')insert int

24、o book_style(bookstyleno,bookstyle)values('7','政治法律')(2)將已有的圖書加入system_books表中insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values('','中國易學(xué)','1','劉正','中央編譯出版社','2015-05-10'

25、;,'2015-10-25','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values('','','2','陶舒天','新華出版社','2014-01-10','2015-05-26','1');insert into system_books(bo

26、okid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','明成祖?zhèn)?#39;,'3','晁中辰','人民出版社','2014-08-10','2015-05-27','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate,

27、 bookindate, isborrowed )values('','','4','李東','重慶大學(xué)出版社','2014-08-10','2015-05-28','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','','5&#

28、39;,'楊青平','河南人民出版社','2014-01-10','2015-05-29','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','鐵路選線設(shè)計(jì)','6','易思蓉','重慶大學(xué)出版社','2014-01-10'

29、;,'2015-05-30','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','','7','秦濤','華東理工大學(xué)出版社','2014-09-10','2015-05-31','1');insert into system_books

30、(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','一楣月下窗','2','程然','四川人民出版社','2014-09-10','2015-05-30','1');(3)將已有圖書證的讀者加入system_readers表中insert into system_readers(readerid,readername,read

31、ersex,readertype,regdate)values('','姬彥雪','女','學(xué)生','2015-01-01 12:20');insert into system_readers(readerid,readername,readersex,readertype,regdate)values('','郝永宸','男','學(xué)生','2015-01-02 13:15');insert into system_readers(re

32、aderid,readername,readersex,readertype,regdate)values('','于新磊','男','學(xué)生','2015-01-03 13:33');insert into system_readers(readerid,readername,readersex,readertype,regdate)values('','殷娜梅','女','學(xué)生','2015-01-04 12:01');insert

33、into system_readers(readerid,readername,readersex,readertype,regdate)values('','宋天鳴','男','學(xué)生','2015-01-05 15:23');insert into system_readers(readerid,readername,readersex,readertype,regdate)values('','石逸軒','男','教師','2015-01-

34、06 18:50');insert into system_readers(readerid,readername,readersex,readertype,regdate)values('','孟靈麗','女','教師','2015-01-07 18:25');insert into system_readers(readerid,readername,readersex,readertype,regdate)values('M0001','陳慧','女',

35、'管理','2015-01-10 16:20');(4)添加已借書讀者的記錄,同時(shí)將在已借出的借閱標(biāo)記置0insert into borrow_record(bookid,readerid,borrowdate)values('','','2015-07-11 12:20');update system_books set isborrowed=0where bookid='' and isborrowed='1'insert into borrow_record(bookid,re

36、aderid,borrowdate)values('','','2015-07-01 13:15');update system_books set isborrowed=0where bookid='' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate)values('','','2015-07-03 13:33');update system_books set isbor

37、rowed=0where bookid='' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate)values('','','2015-07-11 12:01');update system_books set isborrowed=0where bookid='' and isborrowed='1'5.3.3單表查詢(1)書籍類別表查詢演示:查詢語句:select * from book_s

38、tyle圖5-2 表book_style中內(nèi)容(2)表書庫表查詢演示:查詢語句:select * from system_books圖5-3 表system_books中內(nèi)容(3)將已有圖書證的讀者加入讀者表結(jié)果查詢:查詢語句:select * from system_readers圖5-4 表system_readers中內(nèi)容(4)借書紀(jì)錄表結(jié)果查詢:查詢語句:select * from borrow_record圖5-4 表borrow_record中內(nèi)容5.3.4借書操作(1)查詢未被借出的書本:查詢語句:select bookid 書籍編號(hào),bookname 書籍名稱from syst

39、em_bookswhere isborrowed='1'圖5-5 未被借出的書本查詢結(jié)果(2)查詢已被借出的書本:查詢語句:select bookid 書籍編號(hào),bookname 書籍名稱from system_bookswhere isborrowed='0'圖5-6 已被借出的書本查詢結(jié)果(3)新增用戶借書證:Insert into system_readers(readerid,readername,readersex,readertype,regdate)values('','馬悅','女','學(xué)生

40、',now()查詢語句:select * from system_readerswhere readerid=''圖5-7 新增用戶借書證查詢結(jié)果(4)注銷用戶借書證:注銷之前執(zhí)行所有的還書過程,馬悅借書證紀(jì)錄就被刪除了,同時(shí)要?jiǎng)h除馬悅歸還紀(jì)錄的內(nèi)容。delete from system_readers where readerid=''delete from return_record where readerid=''確認(rèn)馬悅是否被刪除查詢語句:select * from system_readerswhere readerid=&#

41、39;'圖5-8 注銷用戶借書證查詢結(jié)果5.3.5超期處理(1)現(xiàn)在對(duì)已有借書證的讀者進(jìn)行查詢借書是否超期查詢語句(這里規(guī)定30天):select system_readers.readerid 讀者借書證編號(hào),readername 讀者姓名,system_books.bookid 書籍編號(hào),bookname 書名,borrowdate 借書時(shí)間,datediff(now(),borrowdate)-30from borrow_record ,system_readers,system_bookswhere system_readers.readerid=borrow_record.r

42、eaderidand system_books.bookid=borrow_record.bookidand datediff(now(),borrowdate)>=30圖5-9 借出超過30天的讀者(2)對(duì)超過天數(shù)的讀者進(jìn)行罰款,加入到罰款單里面,一天以0.1元扣除計(jì)算:insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate);select * from reader_fee圖5-10 罰款單查詢結(jié)果5.3.6還書操作(1)首先還書要在還書紀(jì)錄中添加一條還書紀(jì)錄insert into r

43、eturn_record(bookid,readerid,returndate)select bookid,readerid,2015-12-10from borrow_recordwhere bookid=''查詢語句:select * from return_record圖5-11 增加了紀(jì)錄(2)其次刪除相應(yīng)書本的借閱紀(jì)錄delete from borrow_record where bookid=''查詢語句:select * from borrow_record圖5-12 刪除記錄(3)最后在書庫中標(biāo)記該本書為1,表示歸還了未借,可供其他讀者借閱upd

44、ate system_books set isborrowed=1 where bookid=''查詢語句:select bookid 書籍編號(hào),bookname 書籍名稱,isborrowed 是否借出from system_bookswhere bookid=''圖5-13 標(biāo)記設(shè)為'1'5.3.7書籍狀態(tài)(1)查詢所有書所對(duì)應(yīng)的類別查詢語句:select distinct bookname 書籍名稱,bookstyle 書籍類別from book_style,system_bookswhere book_style.bookstyleno=

45、system_books.bookstyleno圖5-14 書籍對(duì)應(yīng)類別查詢結(jié)果(2)查詢所有文學(xué)藝術(shù)類的書:查詢語句:select distinct bookname 書籍名稱,bookstyle 書籍類別from book_style,system_bookswhere book_style.bookstyleno=system_books.bookstylenoand system_books.bookstyleno='2'圖5-15 所有文學(xué)藝術(shù)類的書查詢結(jié)果(3)查詢重慶大學(xué)出版社出版的書:查詢語句:select distinct bookname 書籍名稱,book

46、pubfrom book_style,system_bookswhere bookpub='重慶大學(xué)出版社'圖5-16 所有重慶大學(xué)出版社的書查詢結(jié)果5.3.8讀者狀態(tài)(1)查詢什么人借了什么書查詢語句:select readername 讀者姓名,bookname 書籍名稱from borrow_record,system_books,system_readerswhere system_readers.readerid=borrow_record.readeridand system_books.bookid=borrow_record.bookid圖5-17 查詢結(jié)果(2

47、)指定查詢郝永宸借了什么書查詢語句:select readername 讀者姓名,bookname 書籍名稱from borrow_record,system_books,system_readerswhere system_readers.readerid=borrow_record.readeridand system_books.bookid=borrow_record.bookidand readername='郝永宸'圖5-18 查詢結(jié)果本系統(tǒng)設(shè)計(jì)中用到了SQL語言和UML建模語言。6.1.1 SQL語言的特點(diǎn)(1)高度非過程化應(yīng)用SQL語言實(shí)現(xiàn)數(shù)據(jù)庫編程,用戶無需指

48、明“如何完成”,只需告訴編程者需要完成的任務(wù)對(duì)象,極大地降低了用戶的工作強(qiáng)度,提高了數(shù)據(jù)獨(dú)立性。SQL是以集合的方式集中處理批記錄,無須對(duì)單個(gè)記錄進(jìn)行操作或處理。SQL語句可以打包為一個(gè)集合作為數(shù)據(jù)庫的輸入,返回集合作為輸出。該特性使得SQL的輸出可作為另一條SQL語句的輸入,該性質(zhì)使用戶可集中精力于所需要的結(jié)果。(2)集成一致性SQL語言集中了DDL(數(shù)據(jù)定義)、DML(數(shù)據(jù)操作)、DQL(數(shù)據(jù)查詢)、DCL(數(shù)據(jù)控制)等數(shù)據(jù)庫常用功能模塊,有相對(duì)穩(wěn)定的編程風(fēng)格。SQL語言的功能貫穿數(shù)據(jù)庫生命周期中不同階段的任何內(nèi)容,具體而言,有關(guān)系模式的界定、數(shù)據(jù)添加、新建數(shù)據(jù)庫、數(shù)據(jù)查找、信息刷新、數(shù)據(jù)

49、庫維護(hù)以及數(shù)據(jù)庫重構(gòu)、數(shù)據(jù)庫安全性保障等所有操作要求。SQL適用性強(qiáng),適用于多種不同類型的數(shù)據(jù)庫用戶,包括終端用戶、系統(tǒng)管理員、事務(wù)處理員、作業(yè)工作員等。SQL系統(tǒng)所提供的命令,既包含查找數(shù)據(jù),又包含添加、修改和刪除記錄,添加、修改和刪除數(shù)據(jù)對(duì)象,還包括數(shù)據(jù)及其對(duì)象的存取控制,保證數(shù)據(jù)庫統(tǒng)一性和標(biāo)準(zhǔn)性。(3)應(yīng)用方式多樣性交互式使用方式:用戶在聯(lián)機(jī)交互式的環(huán)境下使用SQL語言,每輸入一條命令,敲回車后系統(tǒng)就執(zhí)行一條命令,并顯示執(zhí)行結(jié)果。這就是所謂的交互式的使用方式;程序式使用方式:SQL語言不但可以嵌入到其他高級(jí)語言中(如C,F(xiàn)ORTRAN等),也可以獨(dú)立地組成一段SQL批處理程序,以應(yīng)用程序

50、的方式來提交給系統(tǒng)一并執(zhí)行。(4)語言功能強(qiáng)SQL語言是介于關(guān)系代數(shù)和關(guān)系演算之間的語言,同時(shí)吸取了這兩類語言的特點(diǎn)和長處。它有著豐富的語言功能,包括:數(shù)據(jù)定義功能;數(shù)據(jù)查詢功能;數(shù)據(jù)操縱功能;數(shù)據(jù)控制功能。基本的SQL命令易學(xué)易會(huì)易掌握,與以往DBMS專為某項(xiàng)操作提供單獨(dú)語言相比,SQL將全部任務(wù)集成于單一語言,成為關(guān)系型數(shù)據(jù)庫的通用語言。SQL語言是一種用戶很容易掌握的語言,用戶性能非常好,這也是它受到廣大用戶喜愛的原因之一。6.1.2 SQL功能與特性通過使用SQL命令,能夠?qū)崿F(xiàn)以下功能與特性:(1)建立數(shù)據(jù)庫表;(2)變換數(shù)據(jù)庫的變量及其他設(shè)置;(3)在特定的數(shù)據(jù)層級(jí)中用戶被授予相應(yīng)的存取權(quán)限;(4)對(duì)數(shù)據(jù)庫表建立索引值;(5)修改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論