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

下載本文檔

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

文檔簡介

1、<p><b>  信息工程學(xué)院</b></p><p>  《數(shù)據(jù)庫數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)》課程設(shè)計論文</p><p>  題 目:Java論壇管理系統(tǒng)</p><p>  姓 名: </p><p>  專 業(yè):計算機(jī)科學(xué)與技術(shù) </p><

2、;p>  指導(dǎo)老師: </p><p>  完成日期: </p><p><b>  摘 要</b></p><p>  Java論壇管理系統(tǒng)主要是實現(xiàn)在網(wǎng)上進(jìn)行交流和學(xué)習(xí)Java語言,本論壇提供用戶注冊、發(fā)帖和回帖等論壇的基本功能,劃分J2SE、J2EE、J2ME和開

3、發(fā)工具的使用等版塊,使用合理的管理方法管理論壇,嚴(yán)格保證帖子質(zhì)量,為Java愛好者提供一個學(xué)習(xí)Java的好地方。本系統(tǒng)采用SQL2000作為后臺數(shù)據(jù)庫,使用MVC框架,由Servlet負(fù)責(zé)處理最初的請求轉(zhuǎn)發(fā)到j(luò)sp頁面顯示最后的結(jié)果,JSP頁面使用bean,系統(tǒng)具有很好的移植性和跨平臺性。</p><p>  關(guān)鍵字:Java論壇;管理;MVC;</p><p><b>  目錄

4、</b></p><p><b>  1 引言1</b></p><p><b>  2 數(shù)據(jù)庫設(shè)計1</b></p><p>  2.1.1需求設(shè)計1</p><p><b>  1、引言1</b></p><p><b>

5、;  2、目標(biāo)與任務(wù)1</b></p><p><b>  3、階段結(jié)果3</b></p><p>  2.1.2概念設(shè)計6</p><p>  2.1.2.1目標(biāo)與任務(wù)6</p><p>  2.1.2.2概念模型設(shè)計6</p><p>  2.1.3邏輯設(shè)計9</

6、p><p>  2.1.3.1目標(biāo)與任務(wù)9</p><p>  2.1.3.2數(shù)據(jù)組織9</p><p>  2.1.3.3數(shù)據(jù)處理方面12</p><p>  2.1.4物理設(shè)計13</p><p>  2.1.4目標(biāo)與任務(wù)13</p><p>  2.1.4.2數(shù)據(jù)存取方面14<

7、;/p><p>  2.1.4.3功能模塊14</p><p>  2.1.5數(shù)據(jù)庫實施15</p><p>  2.1.6數(shù)據(jù)庫調(diào)試與試運(yùn)行16</p><p>  3 收獲與體會18</p><p>  4 存在問題與建議18</p><p><b>  附錄18</

8、b></p><p><b>  1.?dāng)?shù)據(jù)字典18</b></p><p>  2.存儲過程:20</p><p><b>  3.基本表:24</b></p><p><b>  4.視圖27</b></p><p><b> 

9、 5.參考資料27</b></p><p><b>  1 引言</b></p><p>  隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)上學(xué)習(xí)和交流已成為現(xiàn)代人的一種時尚,論壇是提供這種環(huán)境中的重要的部分。但是多數(shù)論壇十分繁雜,管理不規(guī)范,帖子混雜,很難滿足用戶的需要。 本次課程設(shè)計的題目為Java論壇管理系統(tǒng),實現(xiàn)了論壇的基本功能即用戶的注冊、用戶發(fā)帖回帖、管理員管理論壇等

10、,主要任務(wù)是完成詳細(xì)的數(shù)據(jù)庫的設(shè)計,為以后完整系統(tǒng)的設(shè)計打下堅實的基礎(chǔ),其它論壇擴(kuò)展功能以后在實現(xiàn)。本次數(shù)據(jù)庫設(shè)計重視數(shù)據(jù)庫理論知識的學(xué)習(xí)和數(shù)據(jù)庫系統(tǒng)的設(shè)計,對數(shù)據(jù)庫的學(xué)習(xí)有中要的意義。</p><p><b>  2 數(shù)據(jù)庫設(shè)計 </b></p><p><b>  2.1.1需求設(shè)計</b></p><p><b

11、>  1、引言</b></p><p>  目前Java語言比較流行,學(xué)習(xí)Java的人群也特別的多。Java語言需要學(xué)習(xí)的內(nèi)容非常多,而且Java語言也是一個不斷變化的語言和完善的語言,要比較系統(tǒng)的學(xué)習(xí)Java,傳統(tǒng)的一個人學(xué)習(xí)方式很難學(xué)好Java,上網(wǎng)學(xué)習(xí)和交流能比較好的解決此問題。目前的論壇比較多,但比較的繁雜,大多論壇沒有規(guī)范的帖子管理,對學(xué)習(xí)Java沒有多大的幫助。開發(fā)一個Java論壇管

12、理系統(tǒng)就是要改變傳統(tǒng)的學(xué)習(xí)方法和解決許多論壇管理不規(guī)范的問題。本論壇只討論Java技術(shù),嚴(yán)格保證帖子的質(zhì)量和安全問題,提供Java愛好者一個良好和舒適的交流平臺。本論壇具有很好的教育價值,同時具有很好的可重用性,稍加改變就能作為其它的論壇。如今論壇是Internet中比較受歡迎的技術(shù),是大多數(shù)網(wǎng)站不可缺少的一部分,所以論壇對網(wǎng)站的開發(fā)也非常有價值。</p><p><b>  2、目標(biāo)與任務(wù)</b

13、></p><p><b>  目標(biāo):</b></p><p>  通過需求分析,充分了解用戶需求,明確系統(tǒng)的業(yè)務(wù)流程和系統(tǒng)的功能,完成數(shù)據(jù)流圖和數(shù)據(jù)字典等內(nèi)容,為以后整個系統(tǒng)設(shè)計提供依據(jù)。</p><p><b>  任務(wù):</b></p><p><b>  ■處理對象:<

14、/b></p><p>  用戶信息:(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),是否刪除)</p><p>  帖子信息:(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面,發(fā)帖時間,發(fā)帖用戶)</p><p>  版面信息(版面id號,版面名稱,版主名稱,版面主題數(shù))</p><p>  版主信息(版主名稱,

15、密碼,郵箱)</p><p>  管理員信息(管理員名,密碼,郵箱)</p><p><b>  ■處理功能要求:</b></p><p>  用戶注冊登錄功能模塊(用戶注冊以及修改注冊信息)</p><p>  瀏覽功能模塊(用戶瀏覽版塊、主題列表、查看帖子)</p><p>  帖子管理功能模

16、塊(管理員編輯、刪除、置頂和指定精華帖)</p><p>  管理版塊功能模塊(管理員創(chuàng)建、修改和刪除版塊)</p><p>  用戶管理模塊(管理員添加、刪除和設(shè)置用戶權(quán)限)</p><p>  ■安全性和完整性要求:</p><p><b>  安全性:</b></p><p>  論壇管理系

17、統(tǒng)是提供一個交流平臺,安全問題主要是防止黑客的攻擊,數(shù)據(jù)庫需要運(yùn)行在防火墻后面。要防止非法用戶訪問數(shù)據(jù)庫,對數(shù)據(jù)庫進(jìn)行修改,管理員需要進(jìn)行合理的用戶權(quán)限設(shè)置。</p><p>  論壇的用戶分4個級別:匿名用戶、普通用戶、版主和系統(tǒng)管理員</p><p>  用戶在未登錄前只能瀏覽論壇中的帖子,已登錄的用戶可以在已有的版塊發(fā)布新主題和回復(fù)帖子。</p><p>  

18、論壇為每個注冊的用戶建立個人資料,用戶本人可以修改個人資料。</p><p>  版主除有普通用戶的權(quán)限外,還可以對版面進(jìn)行管理:刪除、推薦、鎖定帖子、解除推薦、解除鎖定。</p><p>  論壇管理員除有版主的權(quán)限外,還可以添加、刪除版塊,對論壇中所有版塊的屬性進(jìn)行編輯,對用戶的所有資料進(jìn)行修改和刪除用戶。</p><p><b>  論壇權(quán)限如下表1

19、:</b></p><p><b>  實體完整性:</b></p><p>  用戶信息:用戶必須唯一步能為空,密碼不能為空,郵箱可以為空,用戶等級、發(fā)帖和回帖由系統(tǒng)設(shè)置,是否刪除由管理員設(shè)置。</p><p>  帖子信息:帖子的id號不能為空,帖子主題不能為空,帖子內(nèi)容不能為空,帖子等級、帖子被訪問的次數(shù)和發(fā)帖時間由系統(tǒng)設(shè)置,

20、所屬版面不能為空,發(fā)帖用戶由日志提供。</p><p>  版面信息:版面id號唯一步能為空,版面名稱唯一步能為空,版主不能為空</p><p>  版主信息:(版主名稱不能為空,密碼不能為空,郵箱可以為空)</p><p><b>  參考完整性:</b></p><p>  版面信息中:版面參考版主信息表中的版主名,

21、版主要么為空,要么和版主信息中的版主名相同。</p><p><b>  自定義完整性:</b></p><p>  帖子的主題長度不能超過400個字節(jié),帖子的內(nèi)容長度不能超過1000個字節(jié)。</p><p><b>  3、階段結(jié)果</b></p><p><b>  (1)調(diào)查方式:&

22、lt;/b></p><p>  1、通過詢問同學(xué)征詢同學(xué)的意見</p><p><b>  2、圖書管查閱資料</b></p><p>  3、上網(wǎng)了解一些論壇提供的功能</p><p>  體會:需求分析需要耐心的多了解用戶的要求,然后要學(xué)會分析和提取有用的材料</p><p>  收獲

23、:聽取了許多好的建議,對系統(tǒng)的整體構(gòu)架有了清晰的認(rèn)識。</p><p><b> ?。?)業(yè)務(wù)流程圖</b></p><p> ?。?)數(shù)據(jù)圖(DFD圖)</p><p> ?。?)數(shù)據(jù)字典。(見附錄)</p><p><b>  2.1.2概念設(shè)計</b></p><p>

24、  2.1.2.1目標(biāo)與任務(wù)</p><p>  目標(biāo):將需求分析得到的用戶需求抽象為信息結(jié)構(gòu),設(shè)計并生成E_R圖。</p><p>  任務(wù):設(shè)計各個分E-R圖,并消除局部E-R圖存在的沖突,合并成基本E-R圖</p><p><b>  特點:</b></p><p>  能真實的反映現(xiàn)實世界,包括事物和事物之間的聯(lián)

25、系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。</p><p>  易于理解,從而可以用它和不熟悉計算機(jī)的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計成功的關(guān)鍵。</p><p>  易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變是,容易對概念模型修改和擴(kuò)充。</p><p>  易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。</p><p> 

26、 2.1.2.2概念模型設(shè)計</p><p>  (1)設(shè)計分E-R圖,即各子模塊的E-R圖;</p><p>  用戶(用戶名,密碼,郵箱,等級,發(fā)帖數(shù),回帖數(shù))</p><p>  帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))</p><p><b>  發(fā)帖(發(fā)帖時間)</b></p>&l

27、t;p>  回帖(回帖id,帖子i d,內(nèi)容,用戶名,回帖時間)</p><p>  用戶(用戶名,密碼,郵箱,等級,發(fā)帖數(shù),回帖數(shù))</p><p>  版面(版面id號,版面名稱,版主名稱,版面主題數(shù))</p><p><b>  瀏覽(瀏覽時間)</b></p><p>  管理員信息(管理員名,密碼,郵箱)

28、</p><p>  用戶(用戶名,密碼,郵箱,等級,發(fā)帖數(shù),回帖數(shù))</p><p><b>  管理(管理行為)</b></p><p>  帖子信息:(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))</p><p>  版面(版面id號,版面名稱,版主名稱,版面主題數(shù))</p><p>&

29、lt;b>  從屬(所屬版面)</b></p><p>  版主信息(版主名稱,密碼,郵箱)</p><p>  帖子信息:(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))</p><p><b>  管理(管理行為)</b></p><p>  版面(版面id號,版面名稱,版主名稱,版面主題數(shù))&l

30、t;/p><p>  管理員信息(管理員名,密碼,郵箱)</p><p><b>  管理(管理行為)</b></p><p> ?。?)生成全局E-R圖,通過消除沖突等方面</p><p><b>  2.1.3邏輯設(shè)計</b></p><p>  2.1.3.1目標(biāo)與任務(wù)&l

31、t;/p><p>  目標(biāo):完成E-R圖到數(shù)據(jù)庫模式的轉(zhuǎn)換,優(yōu)化各個關(guān)系模式</p><p>  任務(wù):把概念結(jié)構(gòu)設(shè)計階段好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。</p><p>  2.1.3.2數(shù)據(jù)組織</p><p>  (1)將E-R模型轉(zhuǎn)換為關(guān)系模型 (描述轉(zhuǎn)換的原則、轉(zhuǎn)換的結(jié)果)。</p>

32、<p><b>  如圖1.7所示:</b></p><p>  一、用戶和帖子具有兩個關(guān)系:</p><p>  (1)用戶回帖,因為用戶和帖子的關(guān)系是m對n的關(guān)系,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。</p><p>  用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),

33、回帖數(shù),精華帖數(shù),是否刪除)</p><p>  帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))</p><p>  回帖(回帖id,用戶名,帖子i d,內(nèi)容,回帖時間)</p><p>  (2)用戶發(fā)帖,用戶和帖子的關(guān)系是1對多的關(guān)系。所以可以聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的模式,也可以與n端對應(yīng)的模式合并。這里把聯(lián)系屬性合并到n端實體。</p>

34、<p>  用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)</p><p>  帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),發(fā)帖時間)</p><p>  二、 管理員和用戶的關(guān)系為m對n,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。</p><p>  用戶(用戶名

35、,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)</p><p>  管理員(管理員名,密碼,郵箱)</p><p>  管理(用戶名,管理員名,管理)</p><p>  三、版主和帖子為m對n的關(guān)系,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。</p><p>  版主(版

36、主名稱,密碼,郵箱)</p><p>  帖子(帖子id,版主名稱,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))</p><p>  管理帖子(版主名稱,帖子id ,管理行為)</p><p>  四、管理員和版面是m對n的關(guān)系,所以可以轉(zhuǎn)換為一個獨(dú)立的模式</p><p>  管理員(管理員名,密碼,郵箱)</p><p>

37、;  版面(版面id號,版面名稱,版主名稱,版面主題數(shù))</p><p>  管理(管理員名,版面id號,管理行為)</p><p>  五、版面和用戶是多對多的關(guān)系。所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。</p><p>  版面(版面id號,版面名稱,版主名稱,版面主題數(shù))</p><

38、;p>  用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)</p><p>  瀏覽(用戶名,版面id號,瀏覽時間)</p><p>  六、版面和帖子是1對多的關(guān)系,所以把聯(lián)系屬性合并到n端實體</p><p>  版面(版面id號,版面名稱,版主名稱,版面主題數(shù))</p><p>  帖子(帖子id,版面i

39、d號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面)</p><p>  七、由E_R圖轉(zhuǎn)化后得到的關(guān)系模式</p><p>  用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)</p><p>  帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))</p><p>  帖子(帖子id,主題,內(nèi)容,帖子等級,帖子

40、被訪問次數(shù),發(fā)帖時間)</p><p>  帖子(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面)</p><p>  回帖(用戶名,帖子i d,內(nèi)容,回帖時間)</p><p>  管理員(管理員名稱,密碼,郵箱)</p><p>  瀏覽(用戶名,版面id號,瀏覽時間)</p><p>  管

41、理用戶(用戶名,管理員名,管理)</p><p>  管理版面(管理員名稱,版面id號,管理行為)</p><p>  管理帖子(版主名稱,帖子id ,管理行為)</p><p>  版主(版主名稱,密碼,郵箱)</p><p>  版面(版面id號,版面名稱,版主名稱,版面主題數(shù))</p><p>  八、消除不一致

42、后得:</p><p>  用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)</p><p>  帖子(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),發(fā)帖時間,發(fā)帖用戶)</p><p>  回帖(回帖id,帖子i d,用戶名,內(nèi)容,回帖時間,帖子等級)</p><p>  管理員(管理員名稱,密碼,郵箱

43、)</p><p>  版主(版主名稱,密碼,郵箱,版主狀態(tài))</p><p>  瀏覽(瀏覽id,用戶名,版面id號,瀏覽時間)</p><p>  管理用戶(管理id,用戶名,管理員名,管理行為)</p><p>  管理版面(管理id,管理員名稱,版面id號,管理行為)</p><p>  管理帖子(管理id,版

44、主名稱,帖子id ,管理行為)</p><p>  版面(版面id號,版面名稱,版主名稱,版面主題數(shù),版面狀態(tài))</p><p><b> ?。?)模型優(yōu)化</b></p><p>  以上關(guān)系都達(dá)到了3NF,不需要在分解</p><p>  (3)完成數(shù)據(jù)庫模式定義,包括各模式的邏輯結(jié)構(gòu)定義、關(guān)系的完整性和安全性等內(nèi)容

45、。</p><p>  member(u_name,u_password,u_email,u_step,u_post,u_return,jinghucount,u_stat) </p><p>  u_name為主鍵,不能為空,而且是唯一的,u_password也不能為空,其它由系統(tǒng)管理員設(shè)置。</p><p>  topic(t_id ,bm_id ,t_them

46、e,t_content,t_stept_count,t_posttime, l_name )</p><p>  t_id為主鍵,bm_id和,l_name為參考外鍵,都不能為空,t_theme,t_content都不能為空,t_step,t_count,t_posttime由系統(tǒng)設(shè)置</p><p>  reply( r_id, t_id, l_name,r_conten, r_t

47、ime, r_step)</p><p>  r_id 為主鍵,t_id和l_name為參考外鍵,都不能為空,r_conten也不能為空,r_time, r_step由管理員和系統(tǒng)設(shè)置。</p><p>  minister(m_name,_m_password ,m_email)</p><p>  m_name為主鍵,m_name, m_password不能為

48、空</p><p>  banzhu(bzh_name ,bzh_password, bzh_state)</p><p>  bzh_name為主鍵,bzh_password不能為空,bzh_state由管理員設(shè)置</p><p>  browsing(l_id, bm_id ,u_name,l_time); </p><p>  l_i

49、d為主鍵,bm_id和u_name為外鍵參考,都不能為空</p><p>  mini_user( m_id,m_name, u_name, dowhat);</p><p>  m_id為主鍵,m_name和u_name為外鍵參考,都不能為空,dowhat由管理員設(shè)置</p><p>  mini_topic( mt_id, bzh_name,t_id, do

50、what);</p><p>  mt_id為主鍵,bzh_name和t_id為外鍵參考,都不能為空,dowhat由管理員設(shè)置</p><p>  mini_banmian( mb_id , m_name, bm_id, dowhat ); </p><p>  mb_id為主鍵,m_name和bm_id為外鍵參考,都不能為空,dowhat由管理員設(shè)置</p&

51、gt;<p>  banmian(bm_id, bm_name, bzh_name, bm_themecount );</p><p>  bm_id為主鍵,bm_name和bzh_name為外鍵參考,都不能為空</p><p>  rizhi(l_name, l_time)</p><p>  l_name為主鍵,不能為空,l_time由系統(tǒng)設(shè)置。&

52、lt;/p><p> ?。?)設(shè)計用戶子模式――視圖設(shè)計,完成適合不同用戶的子模式設(shè)計。</p><p>  2.1.3.3數(shù)據(jù)處理方面 </p><p>  系統(tǒng)的功能模塊圖如下:</p><p><b>  2.1.4物理設(shè)計</b></p><p>  2.1.4目標(biāo)與任務(wù)</p>

53、<p>  目標(biāo):提供存儲中數(shù)據(jù)的合適結(jié)構(gòu),而且要以合適的方式對性能提供保證。</p><p><b>  任務(wù):    </b></p><p>  一.確定數(shù)據(jù)庫的物理結(jié)構(gòu)</p><p>  1.確定數(shù)據(jù)的存儲結(jié)構(gòu)</p><p>  確定數(shù)據(jù)庫存儲結(jié)構(gòu)時要綜合考慮存取時間

54、、存儲空間利用率和維護(hù)代價三方面的因素。這三個方面常常是相互矛盾的,例如消除一切冗余數(shù)據(jù)雖然能夠節(jié)約存儲空間,但往往會導(dǎo)致檢索代價的增加,因此必須進(jìn)行權(quán)衡,選擇一個折中方案。</p><p>  2.設(shè)計數(shù)據(jù)的存取路徑</p><p>  在關(guān)系數(shù)據(jù)庫中,選擇存取路徑主要是指確定如何建立索引。例如,應(yīng)把哪些域作為次碼建立次索引,建立單碼索引還是組合索引,建立多少個為合適,是否建立聚集索引等

55、。</p><p>  3.確定數(shù)據(jù)的存放位置</p><p>  為了提高系統(tǒng)性能,數(shù)據(jù)應(yīng)該根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開存放。</p><p><b>  4.確定系統(tǒng)配置</b></p><p>  DBMS產(chǎn)品一般都提供了一些存儲分配參數(shù),供設(shè)計人員和DBA對數(shù)據(jù)庫進(jìn)行物理優(yōu)

56、化。初始情況下,系統(tǒng)都為這些變量賦予了合理的缺省值。但是這些值不一定適合每一種應(yīng)用環(huán)境,在進(jìn)行物理設(shè)計時,需要重新對這些變量賦值以改善系統(tǒng)的性能。</p><p>  通常情況下,這些配置變量包括:同時使用數(shù)據(jù)庫的用戶數(shù),同時打開的數(shù)據(jù)庫對象數(shù),使用的緩沖區(qū)長度、個數(shù),時間片大小、數(shù)據(jù)庫的大小,裝填因子,鎖的數(shù)目等等,這些參數(shù)值影響存取時間和存儲空間的分配,在物理設(shè)計時就要根據(jù)應(yīng)用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能

57、最優(yōu)。</p><p>  在物理設(shè)計時對系統(tǒng)配置變量的調(diào)整只是初步的,在系統(tǒng)運(yùn)行時還要根據(jù)系統(tǒng)實際運(yùn)行情況做進(jìn)一步的調(diào)整,以期切實改進(jìn)系統(tǒng)性能。 </p><p><b>  二.評價物理結(jié)構(gòu)</b></p><p>  數(shù)據(jù)庫物理設(shè)計過程中需要對時間效率、空間效率、維護(hù)代價和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案,數(shù)據(jù)庫設(shè)計人員必須對

58、這些方案進(jìn)行細(xì)致的評價,從中選擇一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)。</p><p>  評價物理數(shù)據(jù)庫的方法完全依賴于所選用的DBMS,主要是從定量估算各種方案的存儲空間、存取時間和維護(hù)代價入手,對估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個較優(yōu)的合理的物理結(jié)構(gòu)。如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計。</p><p>  2.1.4.2數(shù)據(jù)存取方面</p><p>  

59、用戶表以用戶名建立唯一性索引,因為用戶名是獨(dú)一無二的。</p><p>  帖子表以帖子id號建立唯一性索引</p><p>  回帖表以帖子id號建聚簇索引,用于檢索某個帖子用戶的所有回復(fù)。</p><p>  2.1.4.3功能模塊</p><p><b>  用戶注冊模塊:</b></p><p

60、>  input message</p><p>  check member table</p><p>  if(u_name in member table)</p><p>  out user is in the member ,change for other name</p><p><b>  else <

61、;/b></p><p>  successful message put into membertable</p><p><b>  用戶登錄模塊:</b></p><p>  input name and password</p><p>  check member talbe</p>&l

62、t;p>  if(name=u_name&password!=u_password)</p><p><b>  fault;</b></p><p><b>  else</b></p><p>  successful</p><p><b>  管理帖子:</b&

63、gt;</p><p>  check topic table</p><p>  if(topic is not normal) set topic t_step=-1or1or0</p><p>  updateTopic</p><p>  管理用戶帖子、管理版面帖子類似管理帖子,這里省略</p><p>&l

64、t;b>  發(fā)送帖子:</b></p><p>  input username check rizhi</p><p>  if( usrname in rizhi)</p><p>  input topic message and send out to topic table</p><p>  else fau

65、lt</p><p>  回帖類似發(fā)帖(省略)</p><p><b>  其它模塊(省略)</b></p><p>  2.1.5數(shù)據(jù)庫實施</p><p>  目標(biāo):完成數(shù)據(jù)庫系統(tǒng)的建立,并使用存儲過程完成數(shù)據(jù)庫功能</p><p><b>  任務(wù):</b></p

66、><p> ?。?)建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引等存儲過程等DDL定義,并完成完整性、安全性等要求定義;可用DDL語言或SQL腳本任意一種形式表現(xiàn)。(見附錄)</p><p><b> ?。?)數(shù)據(jù)入庫</b></p><p>  (3)完成處理過程、系統(tǒng)主要功能(查詢、更新、簡單統(tǒng)計等),均需要使用存儲過程完成。</p><

67、p><b>  存儲過程</b></p><p><b> ?。ù鎯^程見附錄)</b></p><p>  2.1.6數(shù)據(jù)庫調(diào)試與試運(yùn)行</p><p>  (1)說明系統(tǒng)測試方法</p><p>  本次測試主要使用黑盒測試的方法,即功能測試,輸入測試數(shù)據(jù),看輸出的結(jié)果以意想的對不對<

68、;/p><p>  (2)測試內(nèi)容,主要從功能測試和性能測試兩個方面</p><p><b>  存儲過程的測試:</b></p><p>  ChangeMyInformation 'jaclieren','565689','jacshan','565689','jaclie

69、ren@163.com'</p><p>  DengLu 'dede','3232'</p><p>  execute Reply_Content</p><p>  execute Theme </p><p>  declare @string varchar(1000)</p>

70、<p>  execute Theme_Content @string output</p><p>  select 'the Theme_Content is:',@string</p><p>  execute MyInformation 'iiley'</p><p>  postReply 15,2,'我

71、覺得Servlet and jsp 核心編程還可以','jacshan'</p><p>  postTopic '過年了,散分了,祝大家新年快樂',</p><p>  'ha,ha!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!',</p><p>  'jacshan',2&l

72、t;/p><p>  Zhuce 'jaclieren','565689','jacshan.163.com'</p><p>  這是部分存儲過程的測試,全部都正常完成,其它不在此一一列出,視圖的測試也都正常運(yùn)行,這里省略</p><p><b>  3 收獲與體會</b></p>&

73、lt;p>  本次實習(xí)主要是完成數(shù)據(jù)庫的設(shè)計,對數(shù)據(jù)庫的各階段寫出詳細(xì)的說明文檔。對我來說是一個挑戰(zhàn),因為我很少寫過文檔,以前寫的任何一個程序都是單刀直入,從不寫文檔,也不畫任何程序流程圖。本次實習(xí)體會最深刻的就是需求分析,通過寫需求分析文檔,我深刻的體會到了需求分析在整個系統(tǒng)設(shè)計中的重要性即:要全面的進(jìn)行需求分析,了解用戶的需求,這樣可以減少以后設(shè)計的困難,完成需求分析對整個系統(tǒng)的功能和構(gòu)架就非常的清晰,需求不完善將影響以后的所

74、以設(shè)計。也體會到了交流的重要性,通過交流可以發(fā)現(xiàn)自己在系統(tǒng)設(shè)計方面存在很多缺陷,交流不僅可以找出系統(tǒng)設(shè)計的不合理性,還可以減少需求分析的不確定性。在其它階段的設(shè)計中對數(shù)據(jù)庫中的模式有了新的認(rèn)識,理解了三模式兩映像的重要性。整個系統(tǒng)設(shè)計使我對數(shù)據(jù)庫和軟件工程有了新的認(rèn)識,特別是對數(shù)據(jù)流圖的概念的理解,對數(shù)據(jù)庫的一些基本概念有了進(jìn)一步的理解,也對數(shù)據(jù)庫一些容易混淆的概念有了清晰的認(rèn)識。特別是對SQL語句的使用更加熟練,對SQL2000的操作

75、更加的熟悉。</p><p>  除了對知識的學(xué)習(xí)外,也磨練了自己的意志,發(fā)現(xiàn)自己的許多不足,寫文檔是自己的一個弱點,以后會多練習(xí)加以提高。</p><p><b>  4 存在問題與建議</b></p><p><b>  問題</b></p><p>  本次數(shù)據(jù)庫設(shè)計基本完成,雖然在設(shè)計上可能

76、有一些缺陷,但整個系統(tǒng)全部由自己設(shè)計,感覺很有成就感。在實習(xí)中也存在許多問題,對需求分析不明確,特別是對數(shù)據(jù)流圖的含義沒有理解,給設(shè)計帶來了很多困難,可能現(xiàn)在的數(shù)據(jù)流圖還存在問題。在系統(tǒng)的功能方面,由于有許多是由系統(tǒng)完成的,但對觸發(fā)器的使用還不是很熟,有很多功能沒有實現(xiàn),還需要修改和改進(jìn)。</p><p><b>  建議</b></p><p>  建議以后實習(xí)上機(jī)

77、的時間少一點,先在紙上寫好需求分析文檔,并在課堂上多一點的討論時間,再進(jìn)機(jī)房實習(xí),我想這樣可能好一點。</p><p><b>  附錄</b></p><p><b>  1.?dāng)?shù)據(jù)字典</b></p><p><b>  回帖表:1.1</b></p><p><b&g

78、t;  用戶表:1.2</b></p><p><b>  版面表:1.3</b></p><p><b>  版主表:1.4</b></p><p><b>  帖子表:1.5</b></p><p><b>  管理員表:1.6</b>&l

79、t;/p><p><b>  日志 表:1.7</b></p><p><b>  2.存儲過程:</b></p><p>  create procedure ChangeMyInformation</p><p>  @name varchar(20),</p><p>  

80、@password varchar(20),</p><p>  @newname varchar(20),</p><p>  @newpassword varchar(20),</p><p>  @newemail varchar(20)</p><p><b>  as</b></p><p&

81、gt;  update member</p><p>  set u_name=@newname,u_password=@newpassword,u_email=@newemail</p><p>  where u_name=@name and u_password=@password</p><p>  create procedure DengLu </

82、p><p>  @username varchar(20),</p><p>  @userpassword varchar(20)</p><p><b>  as</b></p><p>  insert into Rizhi(l_name)</p><p>  select u_name<

83、/p><p>  from member</p><p>  where u_name=@username and u_password=@userpassword</p><p>  create procedure LookBanzhu</p><p><b>  as</b></p><p> 

84、 select * from banzhu</p><p>  create procedure LookBmian</p><p><b>  as</b></p><p>  select * from banmian</p><p>  create procedure MinsterReply</p>

85、<p>  @name varchar(20),</p><p>  @step smallint</p><p><b>  as</b></p><p>  update reply</p><p>  set r_step=@step</p><p>  where l_na

86、me=@name</p><p>  create procedure MinsterTopic</p><p>  @name varchar(20),</p><p>  @step smallint</p><p><b>  as</b></p><p>  update topic<

87、;/p><p>  set t_step=@step</p><p>  where l_name=@name</p><p>  create procedure MinsterUser</p><p>  @username varchar(20),</p><p>  @state char(4)</p>

88、;<p><b>  as</b></p><p>  update member</p><p>  set u_state=@state</p><p>  where u_name=@username</p><p>  create procedure Minsterbanmian</p>

89、;<p>  @name varchar(20),</p><p>  @state varchar(6)</p><p><b>  as</b></p><p>  update banmian</p><p>  set bm_state=@state</p><p>  wh

90、ere bm_name=@name</p><p>  create procedure Minsterbanzhu</p><p>  @name varchar(20),</p><p>  @state varchar(6)</p><p><b>  as</b></p><p>  u

91、pdate banzhu</p><p>  set bzh_state=@state</p><p>  where bzh_name=@name</p><p>  create procedure MyInformation</p><p>  @Myname char(20)</p><p><b>

92、;  as</b></p><p>  select * from member</p><p>  where u_name=@Myname</p><p>  create procedure Mytheme</p><p>  @Myname varchar(20)</p><p><b>

93、  as</b></p><p>  select t_theme from topic</p><p>  where l_name=@Myname</p><p>  create procedure OnlineUser</p><p>  @nowtime datetime</p><p><

94、b>  as</b></p><p>  select l_name from rizhi</p><p>  where l_time=@nowtime</p><p>  create procedure Reply_Content</p><p><b>  as</b></p>&

95、lt;p><b>  select *</b></p><p>  from reply</p><p>  create procedure Theme</p><p><b>  as</b></p><p>  select t_theme from topic</p>&

96、lt;p>  create procedure Theme_Content</p><p>  @content varchar(1000) output</p><p><b>  as</b></p><p>  select t_content from topic</p><p>  create proc

97、edure Zhuce</p><p>  @username varchar(20),</p><p>  @userpassword varchar(20),</p><p>  @useremail varchar(20)</p><p><b>  as</b></p><p>  in

98、sert into member</p><p>  values (@username,@userpassword,@useremail,3,0,0,'ture')</p><p>  create procedure jinghuatie</p><p><b>  as</b></p><p>  

99、select t_theme</p><p>  from topic</p><p>  where t_step=1</p><p>  create procedure postReply</p><p>  @r_id smallint,</p><p>  @t_id smallint,</p>

100、<p>  @content varchar(1000),</p><p>  @name varchar(20)</p><p><b>  as</b></p><p>  insert into reply </p><p>  values(@r_id,@t_id,@name,@content,

101、9;xitongshji',0)</p><p>  create procedure postTopic</p><p>  @Theme varchar(400),</p><p>  @content varchar(1000),</p><p>  @name varchar(20),</p><p>

102、  @banmian smallint</p><p><b>  as</b></p><p>  insert into topic </p><p>  values(20,@banmian,@Theme,@content,0,0,'jacshan','2005-12-25',@name)</p>

103、;<p>  create procedure updatareply</p><p><b>  as</b></p><p><b>  delete</b></p><p>  from reply</p><p>  where r_step=-1</p>&l

104、t;p>  create procedure updatatopic</p><p><b>  as</b></p><p><b>  delete </b></p><p>  from topic</p><p>  where t_step=-1</p><p&g

105、t;  create procedure updateusers</p><p><b>  as</b></p><p>  delete from member</p><p>  where u_state='false'</p><p>  create procedure userInform

106、ation</p><p><b>  as</b></p><p>  select * from member</p><p><b>  3.基本表:</b></p><p><b>  2.1日志表</b></p><p>  CREATE TA

107、BLE [dbo].[Rizhi] (</p><p>  [l_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [l_time] [datetime] NULL </p><p>  ) ON [PRIMARY]</p><p><b>  G

108、O</b></p><p><b>  2.2版面表</b></p><p>  CREATE TABLE [dbo].[banmian] (</p><p>  [bm_id] [smallint] NOT NULL ,</p><p>  [bm_name] [varchar] (20) COLLATE

109、Chinese_PRC_CI_AS NOT NULL ,</p><p>  [bzh_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [bm_themecount] [smallint] NULL ,</p><p>  [bm_state] [varchar] (6) COLLATE

110、 Chinese_PRC_CI_AS NOT NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  2.3版主表</b></p><p>  CREATE TABLE [dbo].[banzhu] (</p>

111、<p>  [bzh_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [bzh_password] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [bzh_email] [varchar] (20) COLLATE

112、 Chinese_PRC_CI_AS NULL ,</p><p>  [bzh_state] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  2

113、.4瀏覽表</b></p><p>  CREATE TABLE [dbo].[browsing] (</p><p>  [l_id] [smallint] NOT NULL ,</p><p>  [bm_id] [smallint] NOT NULL ,</p><p>  [u_name] [varchar] (20) C

114、OLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [bm_count] [smallint] NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  2.5用戶表</b></p>

115、<p>  CREATE TABLE [dbo].[member] (</p><p>  [u_name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [u_password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p&g

116、t;<p>  [u_email] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [u_step] [smallint] NULL ,</p><p>  [u_post] [smallint] NULL ,</p><p>  [u_return] [smallint] NULL

117、,</p><p>  [u_state] [char] (4) COLLATE Chinese_PRC_CI_AS NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  2.6版面表</b></p><

118、;p>  CREATE TABLE [dbo].[mini_banmian] (</p><p>  [mb_id] [smallint] NOT NULL ,</p><p>  [m_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [bm_id] [smallint]

119、NOT NULL ,</p><p>  [dowhat] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  2.7管理帖子表</b>&

120、lt;/p><p>  CREATE TABLE [dbo].[mini_topic] (</p><p>  [mt_id] [smallint] NOT NULL ,</p><p>  [bzh_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [t_id

121、] [smallint] NOT NULL ,</p><p>  [dowhat] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  2.8管理用

122、戶表</b></p><p>  CREATE TABLE [dbo].[mini_user] (</p><p>  [mu_id] [smallint] NOT NULL ,</p><p>  [m_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p&

123、gt;  [u_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [dowhat] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b

124、></p><p><b>  2.9管理員表</b></p><p>  CREATE TABLE [dbo].[minister] (</p><p>  [m_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [m_pass

125、word] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [m_email] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b><

126、;/p><p><b>  2.10回復(fù)表</b></p><p>  CREATE TABLE [dbo].[reply] (</p><p>  [r_id] [smallint] NOT NULL ,</p><p>  [t_id] [smallint] NOT NULL ,</p><p>

127、  [l_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [r_content] [varchar] (1000) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [r_time] [char] (10) COLLATE Chinese_PRC_CI_AS

128、NULL ,</p><p>  [r_step] [smallint] NULL </p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p><b>  2.11帖子表</b></p><p>  CREATE TABLE

溫馨提示

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

評論

0/150

提交評論