2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科生課程設(shè)計</b></p><p>  課程設(shè)計時間: 2014年 12月 10日</p><p>  至2014年 12月 30日</p><p> 課程名稱數(shù)據(jù)庫原理及應(yīng)用課程設(shè)計</p><p> 課程編號</p><p> 學(xué)號&

2、lt;/p><p> 學(xué)生姓名</p><p> 所在專業(yè)計算機科學(xué)與技術(shù)</p><p> 所在班級</p><p> 指導(dǎo)教師</p><p> 成績</p><p> 教師簽字年 月 日</p><p><b>  目 錄</b>

3、</p><p><b>  設(shè)計總說明I</b></p><p><b>  第1章需求分析3</b></p><p>  第2章概念結(jié)構(gòu)設(shè)計3</p><p>  第3章邏輯結(jié)構(gòu)設(shè)計5</p><p>  第4章物理結(jié)構(gòu)設(shè)計9</p><p&

4、gt;  第5章系統(tǒng)實現(xiàn)13</p><p>  5.1 前臺界面13</p><p>  5.2 后臺管理16</p><p>  優(yōu)缺點自我評價18</p><p><b>  參考文獻18</b></p><p><b>  設(shè)計總說明</b></p&g

5、t;<p><b>  系統(tǒng)開發(fā)目的</b></p><p>  數(shù)據(jù)庫課程設(shè)計是為數(shù)據(jù)庫原理及應(yīng)用課程而獨立開設(shè)的實踐性課程,對于鞏固數(shù)據(jù)庫知識加強學(xué)生的實際動手能力和提高學(xué)生綜合素質(zhì)十分必要。通過本實驗達到以下目的: </p><p>  1、培養(yǎng)學(xué)生具有數(shù)據(jù)庫應(yīng)用軟件系統(tǒng)的設(shè)計和開發(fā)能力。 </p><p>  2、 熟

6、練掌握一種數(shù)據(jù)庫系統(tǒng)(如SQL SERVER)的使用。 </p><p>  3、 通過設(shè)計實際的數(shù)據(jù)庫系統(tǒng)應(yīng)用課題,進一步熟悉數(shù)據(jù)庫管理系統(tǒng)的操作技術(shù),提高自己動手能力提高分析問題和解決問題的能力。</p><p><b>  開發(fā)內(nèi)容</b></p><p>  要分析圖書管理系統(tǒng)的需求分析,概念結(jié)構(gòu)分析,邏輯結(jié)構(gòu)分析,物理結(jié)構(gòu)分析,數(shù)

7、據(jù)庫的實現(xiàn)以及數(shù)據(jù)庫的保護與維修,通過不斷地調(diào)試來實現(xiàn)數(shù)據(jù)軟件之間的完善。</p><p><b>  開發(fā)要求</b></p><p>  進行新書入庫、現(xiàn)有圖書信息修改以及刪除;</p><p>  ② 能夠?qū)崿F(xiàn)對讀者基本信息的查詢和編輯管理;</p><p> ?、?能夠進行預(yù)約功能;</p><

8、;p>  ④ 能夠進行借閱信息的查詢功能;</p><p><b>  開發(fā)環(huán)境及工具</b></p><p>  系統(tǒng)前臺開發(fā)軟件:My Eclipse</p><p>  系統(tǒng)后臺管理軟件:SQL server management studio 2008</p><p>  系統(tǒng)開發(fā)語言:Jsp</p&

9、gt;<p><b>  系統(tǒng)功能簡介</b></p><p>  能夠存儲一定數(shù)量的圖書信息,并方便有效的進行相應(yīng)的書籍?dāng)?shù)據(jù)操作和管理,這主要包括:</p><p>  1) 圖書信息的錄入、刪除及修改。</p><p>  2) 圖書信息的多關(guān)鍵字檢索查詢。</p><p>  3) 圖書的出借、

10、返還、預(yù)約。</p><p>  數(shù)據(jù)庫原理及應(yīng)用課程設(shè)計報告</p><p><b>  第1章需求分析</b></p><p>  進行系統(tǒng)設(shè)計,首先要對系統(tǒng)的現(xiàn)狀進行分析。根據(jù)系統(tǒng)的目標(biāo)、需求和功能,制定和選擇一個較好的系統(tǒng)方案,從而達到一個合理的優(yōu)化系統(tǒng)。每個學(xué)校都有圖書館,最初由于圖書數(shù)量和種類較少,人工手動管理比較方便和靈活。隨著社

11、會的發(fā)展,圖書的數(shù)量和種類越來越多,人工手動管理會降低工作的效率,希望建立一個圖書管理系統(tǒng),是為了解決人工手動管理圖書信息在實踐的問題,從而達到系統(tǒng)化、規(guī)范化、標(biāo)準(zhǔn)化的水平。該系統(tǒng)的建立不但給管理者帶來了方便,也節(jié)省了工作時間從而提高了工作效率。</p><p>  需求分析是在于要弄清用戶對開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)的確切要求。數(shù)據(jù)庫設(shè)計的第一步是明確數(shù)據(jù)庫的目的和如何使用,也就是說需要從數(shù)據(jù)庫中得到哪些信息。明確目

12、的之后,就可以確定您需要保存哪些主題的信息(表),以及每個主題需要保存哪些信息(表中字段)。</p><p>  在構(gòu)造系統(tǒng)時,首先從需求出發(fā)構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個大的系統(tǒng)分解成了幾個小系統(tǒng)。這里把系統(tǒng)的層次劃分為了四個部分:圖書維護,人員信息管理,圖書借閱管理,信息查詢。能夠?qū)崿F(xiàn)以下功能:</p><p>  進行新書入庫、現(xiàn)有圖書信息修改

13、以及刪除;</p><p> ?、?能夠?qū)崿F(xiàn)對讀者基本信息的查詢和編輯管理;</p><p>  ③ 能夠進行預(yù)約功能;</p><p> ?、?能夠進行借閱信息的查詢功能;</p><p><b>  第2章概念結(jié)構(gòu)設(shè)計</b></p><p>  根據(jù)以上需求分析,一個基本的圖書館管理系統(tǒng)數(shù)據(jù)

14、庫大致包括10個表,分別存放相應(yīng)子功能模塊的數(shù)據(jù)信息,期中“讀者信息”和“圖書信息”表是關(guān)鍵的表,用于存放圖書館讀者的信息和文獻的信息,圖書館管理系統(tǒng)實際上就是對讀者和文獻的管理。其他涉及讀者信息和文獻信息的表,都只是記錄相應(yīng)的編號,并根據(jù)作為外鍵的“編號”字段相對應(yīng)。</p><p>  數(shù)據(jù)庫要表述的信息有:</p><p> ?。?)讀者類型(2)讀者信息(3)圖書基本信息(4)圖書

15、信息(6)圖書借閱(7)圖書歸還(8)圖書丟失(9)圖書預(yù)約</p><p>  各個主要實體的屬性的E-R圖</p><p>  各實體及屬性圖如圖所示</p><p>  2.2各實體及其聯(lián)系的E-R圖</p><p><b>  第3章邏輯結(jié)構(gòu)設(shè)計</b></p><p>  將概念結(jié)構(gòu)轉(zhuǎn)化

16、為一般的關(guān)系、網(wǎng)狀、層次模型; 將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換; 對數(shù)據(jù)模型進行優(yōu)化。</p><p>  把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。所以E-R圖轉(zhuǎn)換如下:</p><p>  讀者類型(身份、可借冊數(shù)、可續(xù)借冊數(shù)、可借時間)</p><p>  圖書基本信息(I

17、SBN、書名、版次、類型、作者、出版社、價格、現(xiàn)存量、庫存總量)</p><p>  讀者信息(編號、姓名、身份、讀者性別、聯(lián)系方式、登記日期、有效期至、違規(guī)次數(shù)、現(xiàn)借圖書數(shù)、是否掛失)</p><p>  圖書信息(編號、ISBN、入庫時間)</p><p>  圖書歸還(歸還編號、圖書編號、讀者編號、歸還時間)</p><p>  3.2

18、具體邏輯模型設(shè)計</p><p>  3.2.1讀者類型表</p><p>  3.2.2圖書基本信息表</p><p>  3.2.3讀者信息表</p><p>  3.2.4圖書信息表</p><p>  3.2.5圖書借閱表</p><p><b>  第4章物理結(jié)構(gòu)設(shè)計<

19、/b></p><p>  create table 讀者類型表</p><p><b>  (</b></p><p>  身份 char(20) primary key,</p><p>  可借冊數(shù) int not null,</p><p>  可續(xù)借次數(shù) int not null

20、,</p><p>  可借天數(shù) int not null</p><p><b>  );</b></p><p>  create table 圖書基本信息表</p><p><b>  (</b></p><p>  ISBN char(20) primary key,

21、</p><p>  書名 char(20) not null,</p><p>  版次 char(20) not null,</p><p>  類型 char(20) not null,</p><p>  作者 char(20) not null,</p><p>  出版社 char(20) not nul

22、l,</p><p>  價格 float not null,</p><p>  現(xiàn)存量 int not null,</p><p>  庫存總量 int not null</p><p><b>  );</b></p><p>  create table 讀者表</p>&

23、lt;p><b>  (</b></p><p>  編號 char(20) not null primary key,</p><p>  密碼 varchar(20) not null,</p><p>  姓名 char(20) not null,</p><p>  身份 char(20) not nul

24、l foreign key (身份) references 讀者類型表(身份),</p><p>  性別 char(2) not null check (性別 in('男','女')),</p><p>  聯(lián)系方式 char(12) not null,</p><p>  注冊時間 datetime not null,</p

25、><p>  有效期 datetime not null,</p><p>  借書數(shù)量 int not null,</p><p>  是否掛失 bit not null,</p><p><b>  );</b></p><p>  create table 圖書信息表</p>&l

26、t;p><b>  (</b></p><p>  編號 char(20) not null primary key,</p><p>  ISBN char(20) not null foreign key(ISBN) references 圖書基本信息表(ISBN),</p><p>  入庫時間 datetime not null&

27、lt;/p><p><b>  );</b></p><p>  create table 借書信息表</p><p><b>  (</b></p><p>  借書編號 int IDENTITY not null primary key,</p><p>  圖書編號 cha

28、r(20) not null foreign key(圖書編號) references 圖書信息表(編號),</p><p>  讀者編號 char(20) not null foreign key(讀者編號) references 讀者表(編號),</p><p>  借書日期 datetime not null,</p><p>  應(yīng)還書日期 datetime

29、 not null,</p><p>  還書日期 datetime,</p><p>  續(xù)借次數(shù) int not null</p><p><b>  );</b></p><p><b>  第5章系統(tǒng)實現(xiàn)</b></p><p><b>  前臺實現(xiàn)<

30、/b></p><p><b>  主頁</b></p><p><b>  個人信息界面</b></p><p><b>  檢索</b></p><p><b>  借閱情況</b></p><p><b>  

31、后臺實現(xiàn)</b></p><p><b>  借書</b></p><p><b>  還書</b></p><p><b>  圖書管理</b></p><p><b>  讀者類型管理</b></p><p><

32、;b>  讀者管理</b></p><p><b>  優(yōu)缺點及自我評價</b></p><p>  優(yōu)點:這個學(xué)生圖書管理系統(tǒng)能夠準(zhǔn)確表示圖書的借閱,歸還,預(yù)約。管理員也能夠很好地掌握此圖書管理系統(tǒng)的用法。</p><p>  缺點:現(xiàn)此系統(tǒng)最大的缺點就是借閱者的界面還不夠吸引,不夠漂亮,還有沒有對讀者的借閱實現(xiàn)了簡單的統(tǒng)計

33、,沒有進行排名等功能。</p><p>  自我評價:通過這次的數(shù)據(jù)庫課程設(shè)計,我更了解數(shù)據(jù)庫的重要性了,學(xué)習(xí)到不同的東西是這次課程設(shè)計的最大收獲,雖然遇到了很多的困難,但是通過與別人的討論,交流,也能夠解決問題,所以在接下來的實踐,我會更加努力地學(xué)習(xí),不斷使自己進步,這樣才能夠充實自己。</p><p><b>  參考文獻</b></p><p

34、> ?。?)《數(shù)據(jù)庫原理及設(shè)計》 陶宏才編 清華大學(xué)出版社</p><p> ?。?)《SQL Server 2000 編程員指南》李香敏編 北京希望電子出版社</p><p>  (3)《軟件需求分析》 Swapna Kishore編 機械工業(yè)出版社</p><p> ?。?)《數(shù)據(jù)庫系統(tǒng)概論》 王珊 薩師煊</p><p>  (

35、5)JDK 的 src 和 Docs </p><p> ?。?)《 Thinking in Java 》 </p><p> ?。?)《 Java 實例技術(shù)手冊》 David Flanagan</p><p> ?。?)《 Effective Java 》</p><p> ?。?)《 瘋狂Java講義 》</p>&l

36、t;p>  創(chuàng)建表和存儲過程的sql語句</p><p>  create table 讀者類型表</p><p><b>  (</b></p><p>  身份 char(20) primary key,</p><p>  可借冊數(shù) int not null,</p><p>  可

37、續(xù)借次數(shù) int not null,</p><p>  可借天數(shù) int not null</p><p><b>  );</b></p><p>  create table 圖書基本信息表</p><p><b>  (</b></p><p>  ISBN char

38、(20) primary key,</p><p>  書名 char(20) not null,</p><p>  版次 char(20) not null,</p><p>  類型 char(20) not null,</p><p>  作者 char(20) not null,</p><p>  出版社

39、 char(20) not null,</p><p>  價格 float not null,</p><p>  現(xiàn)存量 int not null,</p><p>  庫存總量 int not null</p><p><b>  );</b></p><p>  create table

40、 讀者表</p><p><b>  (</b></p><p>  編號 char(20) not null primary key,</p><p>  密碼 varchar(20) not null,</p><p>  姓名 char(20) not null,</p><p>  身份

41、 char(20) not null foreign key (身份) references 讀者類型表(身份),</p><p>  性別 char(2) not null check (性別 in('男','女')),</p><p>  聯(lián)系方式 char(12) not null,</p><p>  注冊時間 datetim

42、e not null,</p><p>  有效期 datetime not null,</p><p>  借書數(shù)量 int not null,</p><p>  是否掛失 bit not null,</p><p><b>  );</b></p><p>  create table 圖書

43、信息表</p><p><b>  (</b></p><p>  編號 char(20) not null primary key,</p><p>  ISBN char(20) not null foreign key(ISBN) references 圖書基本信息表(ISBN),</p><p>  入庫時間 d

44、atetime not null</p><p><b>  );</b></p><p>  create table 借書信息表</p><p><b>  (</b></p><p>  借書編號 int IDENTITY not null primary key,</p>&l

45、t;p>  圖書編號 char(20) not null foreign key(圖書編號) references 圖書信息表(編號),</p><p>  讀者編號 char(20) not null foreign key(讀者編號) references 讀者表(編號),</p><p>  借書日期 datetime not null,</p><p>

46、;  應(yīng)還書日期 datetime not null,</p><p>  還書日期 datetime,</p><p>  續(xù)借次數(shù) int not null</p><p><b>  );</b></p><p>  create table 圖書丟失表</p><p><b> 

47、 (</b></p><p>  丟失編號 int IDENTITY(1,1) not null primary key,</p><p>  圖書編號 char(20) not null ,</p><p>  讀者編號 char(20) not null,</p><p>  償還金額 float not null,</

48、p><p>  操作時間 datetime not null</p><p><b>  );</b></p><p>  create table 圖書注銷表</p><p><b>  (</b></p><p>  注銷編號 int IDENTITY(1,1) not nu

49、ll primary key,</p><p>  圖書編號 char(20) not null ,</p><p>  ISBN char(20) not null foreign key(ISBN) references 圖書基本信息表(ISBN),</p><p>  注銷時間 datetime not null</p><p><

50、;b>  );</b></p><p>  create table 圖書預(yù)約表</p><p><b>  (</b></p><p>  預(yù)約編號 int IDENTITY(1,1) primary key,</p><p>  圖書編號 char(20) foreign key (圖書編號) re

51、ferences 圖書信息表(編號),</p><p>  讀者編號 char(20) foreign key(讀者編號) references 讀者表(編號),</p><p>  預(yù)約時間 datetime not null</p><p><b>  )</b></p><p>  create proc borr

52、ow @讀者編號 char(20),@圖書編號 char(20),@return int output</p><p><b>  as</b></p><p><b>  begin</b></p><p>  declare @ISBN char(20);</p><p>  declare @

53、可借天數(shù) int;</p><p>  select @可借天數(shù)=可借天數(shù) from 讀者類型表,讀者表 where 讀者類型表.身份 =讀者表.身份 and 編號=@讀者編號;</p><p>  select @ISBN=ISBN from 圖書信息表 where 編號=@圖書編號;</p><p>  set @return = -1;</p>

54、<p>  if not exists(select * from 圖書預(yù)約表 where 圖書編號=@圖書編號 and 讀者編號!=@讀者編號 and 最遲借閱期 >= GETDATE())</p><p>  and not exists (select * from 借書信息表 where 圖書編號 = @圖書編號 and 還書日期 is null)</p><p&g

55、t;  and ((select 借書數(shù)量 from 讀者表 where 編號=@讀者編號)<=(select 可借冊數(shù) from 讀者類型表,讀者表 where 讀者類型表.身份 =讀者表.身份 and 編號=@讀者編號)) </p><p>  and((select 現(xiàn)存量 from 圖書基本信息表 where ISBN =@ISBN)>=1)</p><p><b

56、>  begin</b></p><p>  set xact_abort on</p><p>  begin tran</p><p>  insert 借書信息表 values(@圖書編號,@讀者編號,GETDATE(),dateadd(day,@可借天數(shù),GETDATE()),null,0);</p><p>  u

57、pdate 讀者表 set 借書數(shù)量=借書數(shù)量+1 where 編號=@讀者編號;</p><p>  update 圖書基本信息表 set 現(xiàn)存量=現(xiàn)存量-1 where ISBN=@ISBN;</p><p>  delete from 圖書預(yù)約表 where 讀者編號=@讀者編號 and 圖書編號=@圖書編號;</p><p>  set @return =

58、0;</p><p>  commit tran</p><p><b>  end</b></p><p><b>  end</b></p><p>  create proc returnbook @讀者編號 char(20),@圖書編號 char(20),@return int output

59、</p><p><b>  as</b></p><p><b>  begin </b></p><p>  declare @ISBN char(20);</p><p>  select @ISBN=ISBN from 圖書信息表 where 編號=@圖書編號;</p><

60、;p>  set @return = -1;</p><p>  if exists (select * from 借書信息表 where 圖書編號=@圖書編號 and 讀者編號=@讀者編號 and 還書日期 is null)</p><p><b>  begin</b></p><p>  set xact_abort on</

61、p><p>  begin tran</p><p>  update 借書信息表 set 還書日期=GETDATE() where 圖書編號=@圖書編號 and 讀者編號=@讀者編號 and 還書日期 is null;</p><p>  update 讀者表 set 借書數(shù)量= 借書數(shù)量-1 where 編號=@讀者編號;</p><p> 

62、 update 圖書基本信息表 set 現(xiàn)存量 = 現(xiàn)存量+1 where ISBN =@ISBN;</p><p>  set @return = 0;</p><p>  commit tran</p><p><b>  end</b></p><p><b>  end</b></p&

63、gt;<p>  create proc reserve @讀者編號 char(20),@圖書編號 char(20)</p><p><b>  as </b></p><p><b>  begin</b></p><p>  declare @basetime datetime;</p>&

64、lt;p>  if exists(select * from 借書信息表 where 圖書編號 = @圖書編號 and 還書日期 is null)</p><p>  select @basetime=應(yīng)還書日期 from 借書信息表 where 圖書編號 = @圖書編號 and 還書日期 is null;</p><p><b>  else</b><

65、;/p><p>  set @basetime = getdate();</p><p>  if not exists(select * from 圖書預(yù)約表 where 圖書編號=@圖書編號 and 最遲借閱期 >= GETDATE())</p><p>  insert 圖書預(yù)約表 values(@圖書編號,@讀者編號,GETDATE(),DATEADD(d

66、ay,7,@basetime));</p><p><b>  end</b></p><p>  create proc delbook @編號 char(20),@return int output</p><p><b>  as</b></p><p><b>  begin<

67、;/b></p><p>  set @return = -1;</p><p>  if exists(select * from 圖書信息表 where 編號=@編號)</p><p><b>  begin</b></p><p>  begin tran</p><p>  upda

68、te 讀者表 set 借書數(shù)量=借書數(shù)量-1 where 編號 =(select 讀者編號 from 借書信息表 where 圖書編號=@編號 and 還書日期 is null);</p><p>  update 圖書基本信息表 set 庫存總量=庫存總量-1 where ISBN = (select ISBN from 圖書信息表 where 編號=@編號);</p><p>  if

69、 not exists(select * from 借書信息表 where 圖書編號=@編號 and 還書日期 is null)</p><p>  update 圖書基本信息表 set 現(xiàn)存量=現(xiàn)存量-1 where ISBN = (select ISBN from 圖書信息表 where 編號=@編號);</p><p>  insert into 圖書注銷表 select * fro

70、m 圖書信息表 where 編號=@編號;</p><p>  delete from 圖書信息表 where 編號=@編號</p><p>  set @return = 0;</p><p>  commit tran</p><p><b>  end</b></p><p><b&g

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論