版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文范文——java論壇管理系統(tǒng)
- 畢業(yè)論文范文——java論壇管理系統(tǒng)
- java版bbs論壇設(shè)計畢業(yè)論文
- 畢業(yè)論文--基于java技術(shù)的論壇(bbs)
- java畢業(yè)論文--倉庫管理系統(tǒng)
- java酒店管理系統(tǒng)畢業(yè)論文
- java論壇管理系統(tǒng)設(shè)計(源代碼+論文)
- 畢業(yè)論文——bbs論壇系統(tǒng)
- 畢業(yè)論文---基于java的web的bbs論壇設(shè)計
- 畢業(yè)論文--基于java技術(shù)開發(fā)的bbs論壇
- java學(xué)生信息管理系統(tǒng)畢業(yè)論文
- 基于java的倉庫管理系統(tǒng)畢業(yè)論文
- 基于java的餐飲管理系統(tǒng)畢業(yè)論文
- 基于java的餐飲管理系統(tǒng)畢業(yè)論文
- 基于jsp的bbs論壇管理系統(tǒng) 畢業(yè)論文
- 計算機(jī)畢業(yè)論文---bbs論壇管理系統(tǒng)
- 論壇管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文---基于java的餐飲管理系統(tǒng)
- bbs論壇系統(tǒng)_畢業(yè)論文_完整
- 網(wǎng)絡(luò)bbs論壇系統(tǒng)畢業(yè)論文
評論
0/150
提交評論