《數(shù)據(jù)庫技術(shù)課程實踐》課程設(shè)計報告access圖書管理系統(tǒng)_第1頁
《數(shù)據(jù)庫技術(shù)課程實踐》課程設(shè)計報告access圖書管理系統(tǒng)_第2頁
《數(shù)據(jù)庫技術(shù)課程實踐》課程設(shè)計報告access圖書管理系統(tǒng)_第3頁
《數(shù)據(jù)庫技術(shù)課程實踐》課程設(shè)計報告access圖書管理系統(tǒng)_第4頁
《數(shù)據(jù)庫技術(shù)課程實踐》課程設(shè)計報告access圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫技術(shù)課程實踐設(shè)計報告數(shù)據(jù)庫技術(shù)課程實踐設(shè)計報告目 錄一、設(shè)計簡介、設(shè)計環(huán)境21.1 簡介21.2 操作系統(tǒng)21.3 軟件版本2二、 設(shè)計功能需求分析2三、 數(shù)據(jù)庫概念設(shè)計33.1、e-r圖33.2、關(guān)系模型結(jié)構(gòu)4四、數(shù)據(jù)庫邏輯設(shè)計44.1、用表格逐個表示各數(shù)據(jù)項描述:44.2、分析函數(shù)依賴關(guān)系5五、數(shù)據(jù)庫系統(tǒng)開發(fā)65.1、設(shè)計過程65.1.1 數(shù)據(jù)庫建立65.1.2 數(shù)據(jù)定義75.1.3 用sql進(jìn)行查詢。115.1.4 用sql進(jìn)行數(shù)據(jù)更新和數(shù)據(jù)控制125.1.5 各表的屬性截圖125.2、結(jié)果簡介、實現(xiàn)功能、運行說明14六、 總結(jié)、分析17七、 參考文獻(xiàn)17八、附錄18一、設(shè)計簡介、

2、設(shè)計環(huán)境1.1 簡介 此圖書管理系統(tǒng)主要是對圖書館種類繁多的圖書進(jìn)行管理,并合理管理好用戶的借還信息,其開發(fā)主要是對后臺數(shù)據(jù)庫的建立和維護(hù),力爭達(dá)到了數(shù)據(jù)庫的數(shù)據(jù)完整性和數(shù)據(jù)安全性的要求。開發(fā)歷時三天,采用access進(jìn)行此數(shù)據(jù)庫系統(tǒng)的開發(fā)。 本圖書管理系統(tǒng)的后臺數(shù)據(jù)庫開發(fā)主要包括圖書信息、讀者信息、借閱信息、管理員信息等。其實整體的功能主要分為兩個面向,即面向讀者和面向管理員。讀者方面可以進(jìn)行圖書信息的查詢、個人信息查詢修改等,而管理員方面可以對圖書進(jìn)行增、刪、查、改以及對讀者借閱圖書的管理確認(rèn),同時也可以修改自己的密碼,此外管理員中的超級管理員可以對普通管理員進(jìn)行增、刪、改等管理。1.2

3、操作系統(tǒng) window xp1.3 軟件版本 access 2003 2、 設(shè)計功能需求分析 人工管理圖書時代的手續(xù)繁索、效率低下給具有強烈時間觀念的管理人員帶來了諸多不便,圖書館缺少一套完善的圖書管理軟件,為了對圖書的管理方便,因此必須開發(fā)圖書管理系統(tǒng)。 圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。立足于當(dāng)前實際,著眼于未來發(fā)展,建成符合標(biāo)準(zhǔn)化協(xié)議、通用性較強、實用的系統(tǒng),以提高圖書信息的現(xiàn)代化管理水平,實現(xiàn)信息資源的共享。在對圖書、讀者的管理,其實是對圖書、讀者數(shù)據(jù)的管理,本系統(tǒng)的建成無疑會為管理者對圖書管理系統(tǒng)提供極大的幫助。使用該系統(tǒng)之后,圖書館管理人員可以管理讀者的信息

4、及行為、還有進(jìn)行圖書的增、刪、改、查等;還可以通過借閱記錄表查詢某位讀者、某本圖書的借閱情況,對當(dāng)前借閱情況給出一些統(tǒng)計,給出統(tǒng)計表格,形象具體,使管理員以全面掌握圖書的流通情況。 本系統(tǒng)的目的是提高圖書管理工作的效率,減少相關(guān)人員的工作量,使的圖書管理工作真正做到科學(xué)、合理的規(guī)劃,系統(tǒng)、高效的實施。 基于以上需求,本系統(tǒng)應(yīng)實現(xiàn)的功能如下: (1) 讀者方面:l 查詢圖書:讀者可以根據(jù)關(guān)鍵字進(jìn)行簡單的查詢,也可以進(jìn)行一些高級查詢。 l 修改信息:讀者可以簡單的修改自己的一些信息。(2) 管理員方面:l 讀者管理:可以對讀者進(jìn)行增、刪、改、查等操作。l 圖書管理:主要是進(jìn)行圖書的增、刪、改、查。

5、l 借閱管理:是管理員使用最頻繁的功能,對讀者借書、還書得管理。l 其他功能:管理員中有超級管理員和普通管理員,超級管理員可以對其他管理員進(jìn)行增、刪、查、改,而普通管理員只有修改自己密碼的權(quán)力。3、 數(shù)據(jù)庫概念設(shè)計3.1、e-r圖l 各實體e-r圖reader reader: passwordaddresslimittelreadernamereaderid adimin adimin: poweraddresspasswordlimitteladiminnameadiminid book book: authorisborrowpublisherbookidtitleborrowborrow

6、: returndateborrowdatebookidreaderidl 系統(tǒng)整體的e-r圖 管理員管理讀者 m n借閱 1 1 w管理 q 管理 p r圖書 說明:一個管理員可管理多個讀者,一個讀者可有多個管理員管理;一個讀者可以節(jié)約多本書,一本書只能借給一個讀者;一個管理員可以管理多本書籍,一本書籍可有多個管理員管理;管理員包括超級管理員(只有一個),一個超級管理員可管理多個普通管理員,一個普通管理員只能由一個超級管理員管理。 3.2、關(guān)系模型結(jié)構(gòu)將e-r圖轉(zhuǎn)換為關(guān)系模型結(jié)構(gòu)、標(biāo)出各模型的候選碼:reader(readerid,readername,tel,limit,password,

7、address);book(title,author,publisher,bookid,isborrow);adimin(adiminid,adiminname,address,tel,limit,password,power);borrow(readid,bookid,returndate,borrowdate); 說明:標(biāo)有下劃線的為主碼。四、數(shù)據(jù)庫邏輯設(shè)計4.1、用表格逐個表示各數(shù)據(jù)項描述: 表1:reader表字段名意義類型長度小數(shù)位是否允許為空約束readid讀者號文本20-否主鍵readername讀者名字文本20-是依賴主鍵tel電話文本20-是依賴主鍵limit可借閱數(shù)數(shù)字4-

8、否依賴主鍵password密碼文本6-是依賴主鍵address地址文本50-是依賴主鍵 表2:book表字段名意義類型長度小數(shù)位是否允許為空約束bookid書號文本20-否主鍵title書名文本50-是依賴主鍵author作者文本25-是依賴主鍵publisher出版社文本50-是依賴主鍵isborrow是否借出文本2-否依賴主鍵 表3:borrow表字段名意義類型長度小數(shù)位是否允許為空約束readerid讀者號文本20-否主鍵1borrowdate借閱日期日期/時間-否依賴主鍵 returndate歸還日期日期/時間-是依賴主鍵bookid 書號文本20-否主鍵2表4:adimin表字段名意

9、義類型長度小數(shù)位是否允許為空約束adiminid管理員號文本20-否主鍵adiminname管理員名文本25-是依賴于主鍵tel電話文本20-是依賴主鍵limit可借閱數(shù)數(shù)字4-是依賴主鍵password密碼文本6-是依賴主鍵address地址文本50-是依賴主鍵power權(quán)限文本20-否依賴主鍵(注意:“-”表示不存在的屬性。)4.2、分析函數(shù)依賴關(guān)系分析全部關(guān)系模式的函數(shù)依賴關(guān)系,寫出每個關(guān)系模式的函數(shù)依賴集,指出各表格滿足哪個范式?reader: f =readerid -readername,readername-tel, readerid-limit,readername-addre

10、ss,readerid-password; 存在著非主屬性tel或address對主屬性readerid的傳遞函數(shù)依賴, 所以屬于2cnf范式book: f=bookid-title,title-author,title-publisher, bookid-isborrow; 存在著非主屬性author或publisher對主屬性bookid的傳遞函數(shù)依賴, 所以屬于2cnf范式borrow: f=(readerid,bookid)-borrowdate, (readerid,bookid)-returndate; 每一個決定因素都包含碼,即不存在主屬性對不包含它的候選碼的部分 或傳 遞函數(shù)依

11、賴,故屬于bcnf范式adimin: f = adiminid-adiminname,adiminname-tel,adiminid-limit, adiminid-password,adiminname-address,adiminid-power; 存在著非主屬性tel或address對主屬性adiminid的傳遞函數(shù)依賴, 所以屬于2cnf范式五、數(shù)據(jù)庫系統(tǒng)開發(fā)5.1、設(shè)計過程5.1.1 數(shù)據(jù)庫建立在數(shù)據(jù)庫建立過程中,問題不大,就是安裝access時,出點小問題,之后才知道是安裝了精簡版的,又沒把原來裝的access刪除干凈,找出問題后立刻對癥下藥,得以解決,下面是建庫的截圖:簡要步驟:

12、點擊右邊空數(shù)據(jù)庫,在彈出的對話框中命名數(shù)據(jù)庫名,完成數(shù)據(jù)庫的創(chuàng)建。sql 語句:create database library; 5.1.2 數(shù)據(jù)定義(1)reader、book、borrow、admin四個表格的建立,屬性的確定。reader:sql 語句:create table reader ( readerid char(20) primary key, readername char(20) not null, tel char(20), limit int, password char(6), address char(50) );book:sql語句:create table b

13、ook (bookid char(20) primary key,title char(50) ,author char(20),publisher char(50);isborrow char(2) );borrow:sql語句:create table borrow (readerid char(20),bookid char(20),borrowdate date,returndate dateprimary key (readerid,bookid);adimin:sql語句:create table adimin (adiminid char(20) primary key,adim

14、inname char(25) , tel char(20), limit int, password char(6), address char(50) , power char(20) ); 說明:這四個表的創(chuàng)建過程中,主要遇到的問題要注意主鍵的定義說明,以及數(shù)據(jù)類型大小的設(shè)置,否則數(shù)據(jù)無法插入。(2) 用sql語句實現(xiàn)創(chuàng)建一個視圖sql語句:create view rb_view as select readername,bookidfrom reader,borrowwhere reader.readerid = borrow.readerid;結(jié)果截圖:說明:視圖的定義,花了很久的時

15、間還是沒弄懂,我用的是access2003,視圖定義一直報錯,最后我將sql放到連接查詢窗口,卻能成功,這點還是百思不得其解。(3) 修改一個表格,修改某個屬性的約束條件 sql語句:alter table book alter column publisher char(20);簡單步驟:首先是查詢的建立,在打開查詢窗口后應(yīng)該切換成sql視圖,再編寫相關(guān)的語句進(jìn)行查詢的建立。5.1.3 用sql進(jìn)行查詢。l 連接查詢查詢借閱了書籍的讀者號和讀者名字:select borrow.readerid, reader.readernamefrom borrow inner join reader o

16、n borrow.readerid=reader.readerid;結(jié)果截圖:注:重復(fù)的行我們其實可以用distinct關(guān)鍵進(jìn)行去除,及消除冗余性。l 嵌套查詢查詢借閱了書籍的讀者的姓名:select readernamefrom reader where readerid = ( select readerid from borrow where bookid = book1; )結(jié)果截圖:l 集合查詢查詢可借閱數(shù)為5本的讀者和借閱了book1號圖書的讀者的并集select readerid from readerwhere limit = 5;union select readeridfr

17、om borrowwhere bookid = book1; l 集函數(shù)查詢 查詢所有讀者的平均可借書數(shù): select avg(limit) from reader 5.1.4 用sql進(jìn)行數(shù)據(jù)更新和數(shù)據(jù)控制 插入數(shù)據(jù)insert into book values(微電技術(shù),我,農(nóng)業(yè)出版社,book5,否); 數(shù)據(jù)更改update book set title = 電子設(shè)計2 where title = 電子設(shè)計; 數(shù)據(jù)庫授權(quán)和權(quán)限回收 sql語句:授權(quán): grant update on table borrow to u1回收權(quán)限:revoke update on table borrow

18、from u15.1.5 各表的屬性截圖 5.2、結(jié)果簡介、實現(xiàn)功能、運行說明 能過對圖書信息、讀者信息、管理員信息及借閱信息進(jìn)行匯總。 說明:以表格的方式進(jìn)行數(shù)據(jù)的匯總,高度的結(jié)構(gòu)化,清晰簡單明了,大大方便了管理和查詢。 實現(xiàn)對個人總體借閱信息的總體查詢比如我想查詢讀者號為110900302的結(jié)書情況:在查詢編輯器輸入sql:select *from borrowwhere readerid= 110900302;結(jié)果截圖:說明:如果我們要獲得個人的借閱信息的查詢,可以編寫一些簡單的sql語句,就能夠很方便很快的實現(xiàn)我們的要求,并且能夠自動的過濾掉一些冗余的即和所查詢的要求不相同的信息,得到

19、我們所需信息,體現(xiàn)出了數(shù)據(jù)庫冗余性低的特點,同時也體現(xiàn)出了sql語言的高度非過程化,直接得到結(jié)果而不必考慮具體復(fù)雜的過程。 實現(xiàn)對個人借閱圖書數(shù)、讀者數(shù)等的統(tǒng)計。在那上面的例子,我想簡單的查詢110900302讀者的借書數(shù)(歷史的和現(xiàn)在的):在查詢編輯器輸入sql:select readerid, count(*)from borrowwhere readerid= 110900302group by readerid;結(jié)果截圖:說明:為了實現(xiàn)對個人借閱圖書數(shù)的統(tǒng)計、讀者總數(shù)的統(tǒng)計、在一定時間內(nèi)進(jìn)行書籍借閱的讀者數(shù)的統(tǒng)計等,我們可以利用集函數(shù)以及連接查詢的手段進(jìn)行操作,給出簡單的sql語句,實

20、現(xiàn)我們所想要的結(jié)果,功能清晰明了,提高了我們進(jìn)行圖書管理的效率。 實現(xiàn)方便的更新數(shù)據(jù)庫比如讀者號為110900301的讀者的電話本來我想把它更新為0,在查詢編輯器輸入sql:update readerset tel = 0where readerid = 110900301;結(jié)果截圖:說明:圖書管理離不開數(shù)據(jù)庫中圖書的更新,即增、刪、改,利用sql語言可以方便的進(jìn)行數(shù)據(jù)的添加和刪除等,而且簡單明了,同時在效率上也得到了巨大的提高。6、 總結(jié)、分析 這次的實訓(xùn),收獲甚多,相比于上次實踐,又有了更大的進(jìn)步,更加熟練了數(shù)據(jù)庫的各種操作和sql的編寫能力,受益匪淺。上次實踐中

21、,不能很好的理解e-r圖的作圖原則,導(dǎo)致結(jié)構(gòu)不夠清晰,這次我認(rèn)真分析了各屬性之間的關(guān)系,認(rèn)真總結(jié)上次的問題所在,慢慢的對e-r圖又有了更新的了解。此次實踐中,主要包括基本表的創(chuàng)建、數(shù)據(jù)的定義和操縱、控制,以及各相關(guān)查詢的使用,還有對函數(shù)依賴等的分析,這過程有喜有憂,有時候思路暢通,總是很快就理清思路,分析出結(jié)果,可是有的時候,對于一些比較生疏的名詞,無法理解,又是第一次接觸,又百度又翻書的查,不過雖然辛苦,卻是樂在其中,因為又學(xué)到了新的知識。當(dāng)然,從這次的實踐也看到了自己的一些不足之處,比如動手編寫sql的能力不是很好,說不熟練,分析函數(shù)依賴的能力有待進(jìn)一步提高??傊?,一句話:實踐出真知。我們

22、只有把學(xué)到的東西用到實際中,才是真正的本事。這次的實踐,讓我更加的明白了數(shù)據(jù)庫在實際應(yīng)用中的重要性,同時也讓我更加的熟悉的掌握了數(shù)據(jù)庫的各種定義及sql語言的編寫應(yīng)用,認(rèn)識到了數(shù)據(jù)庫功能之強大,應(yīng)用之廣泛,因此雖然實踐結(jié)束了,但是我們對數(shù)據(jù)庫的熱情應(yīng)該繼續(xù)保持!同時也感謝學(xué)校和老師給我們這種機會,感謝老師的指導(dǎo)和同學(xué)們的幫助,使我能夠更好的應(yīng)對這次實踐。7、 參考文獻(xiàn) 【1】數(shù)據(jù)庫系統(tǒng)概論(第四版) 高等教育出版社 【2】access數(shù)據(jù)庫教程電子工業(yè)出版社八、附錄自評成績:評分項標(biāo)準(zhǔn)自評成績整體設(shè)計及技術(shù)108e-r圖2018關(guān)系模型、候選碼、數(shù)據(jù)描述108函數(shù)依賴關(guān)系分析107設(shè)計過程20

23、17結(jié)果、總結(jié)108設(shè)計報告2018總分:10084加分項:20ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5nb5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkbht

24、vdcooqozxuz3vjrzmocijym62zchmeootyes8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazvajnfbtrylvsm6ofbftoxvrffn7owiygjlamkunxjybz5rrb7r4vsur9zpfzfmfsjhcfca37lnw2vvlrkn7r8psz1bn6oric5hu5z6hcxayqynpog8duybawqsl20csg06dh2sm8hltgpkicskrgopdpuhbj1lmpk7lydvc6nnmwl3fwhzftfvyaary7lhssxj10v3ph3y19bxyr77ib7cpzsu2tijqe3

25、hkqkkau9kskcphkxuikvvyjzpg2yijrkqfbggovyqkuxnwi9omnjtt6qilzxtyrf7d20fbmabcfiixrqkusvnxbppfuxyq1fjskfsubkgs2duvqc9sz4jkbgn4qqv66pyoarjurnfj3txyfclzieeptwfjthpheipdfnqnr2hjqkv2dzwtmpdjqkbcxmovdsjqctjagjmdlskpgad2s0h0vmzgaht36gyuez7umank1ndreubeqdgrx0venqgnsyib2ilq3siqrnl4m56t7z8y8da5k0kupn5nzg4jvjdtffhyt82aogqkxo4vblmleiy2p7hthbho07rcfttxodydppdtqso7wxd0j6fkklgm4wodzplhtrr2xgqn13hqy59zu1gegdyqnihntavsieuefqcyfucjwd3vk5i7ykmhundmiz ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr

溫馨提示

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

最新文檔

評論

0/150

提交評論