ktv點(diǎn)歌系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課 程 設(shè) 計(jì)</b></p><p>  課程名稱(chēng) 數(shù)據(jù)庫(kù)系統(tǒng) </p><p>  題目名稱(chēng)___ 卡拉OK點(diǎn)歌系統(tǒng)___</p><p>  學(xué)生學(xué)院 計(jì)算機(jī)學(xué)院 </p><p>  2013年 1 月 12 日</p><

2、;p> 評(píng)價(jià)標(biāo)準(zhǔn)分?jǐn)?shù)比例(%)成績(jī)</p><p> 論文論文結(jié)構(gòu)包含:1、相關(guān)技術(shù)介紹、需求分析、2、概念結(jié)構(gòu)設(shè)計(jì)(涉及的實(shí)體至少三個(gè)以上)、3、邏輯結(jié)構(gòu)設(shè)計(jì)(有完整性約束說(shuō)明)、4、數(shù)據(jù)庫(kù)物理設(shè)計(jì)、5、數(shù)據(jù)庫(kù)完整性設(shè)計(jì)(違反實(shí)體、參照完整性時(shí)的解決辦法,比如觸發(fā)器、存儲(chǔ)過(guò)程等)5、數(shù)據(jù)庫(kù)安全性設(shè)計(jì)、6、數(shù)據(jù)庫(kù)實(shí)施、系統(tǒng)測(cè)試方案和測(cè)試報(bào)告、7、系統(tǒng)的主要功能和使用說(shuō)明、系統(tǒng)安裝說(shuō)明。要求論文完整、內(nèi)容詳細(xì)

3、,格式規(guī)范。40</p><p> 程序系統(tǒng)運(yùn)行正確;2、功能完善:有增、刪、改、查功能,輸入、輸出功能;3、有基本的統(tǒng)計(jì)、報(bào)表功能4、有多表連接查詢(xún)、自身連接查詢(xún)、字符串匹配查詢(xún)、模糊查詢(xún)、分組查詢(xún)等。5、工作量飽滿(mǎn);6、系統(tǒng)實(shí)現(xiàn)技術(shù)的難度。30</p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖設(shè)計(jì)正確,至少3個(gè)實(shí)體;數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)規(guī)范化;數(shù)據(jù)庫(kù)物理設(shè)計(jì)合理。30</p><

4、p> 總評(píng)成績(jī)優(yōu) 良中及格不及格總分</p><p><b>  目 錄</b></p><p><b>  1 引言8</b></p><p><b>  1.1課題來(lái)源8</b></p><p>  1.2課題研究主要內(nèi)容8</p>

5、<p><b>  1.3主要工作9</b></p><p><b>  2 需求分析9</b></p><p>  2.1信息要求分析9</p><p>  2.2處理要求分析9</p><p>  2.3數(shù)據(jù)字典及安全性、完整性要求分析10</p><p

6、>  3 概念結(jié)構(gòu)設(shè)計(jì)11</p><p>  3.1數(shù)據(jù)實(shí)體描述及分ER圖11</p><p>  3.2整體ER圖14</p><p>  4 系統(tǒng)概要設(shè)計(jì)15</p><p>  4.1數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)15</p><p>  4.2數(shù)據(jù)庫(kù)物理設(shè)計(jì)17</p><p>

7、  4.3系統(tǒng)總體框架18</p><p>  5 系統(tǒng)詳細(xì)設(shè)計(jì)18</p><p>  5.1數(shù)據(jù)庫(kù)實(shí)施18</p><p>  5.2數(shù)據(jù)庫(kù)的數(shù)據(jù)完整性設(shè)計(jì)30</p><p>  5.3數(shù)據(jù)的安全設(shè)計(jì)32</p><p>  5.4系統(tǒng)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)32</p><p>

8、  5.5系統(tǒng)功能測(cè)試55</p><p>  5.6數(shù)據(jù)庫(kù)性能檢測(cè)與備份設(shè)計(jì)71</p><p>  5.7系統(tǒng)安裝使用說(shuō)明71</p><p>  6 回顧與展望72</p><p><b>  7 參考文獻(xiàn)72</b></p><p><b>  1 引言</b&g

9、t;</p><p><b>  1.1課題來(lái)源</b></p><p>  隨著現(xiàn)如今經(jīng)濟(jì)文化水平的顯著提高,人們對(duì)生活質(zhì)量及工作環(huán)境的要求也越來(lái)越高。同時(shí),隨著生活節(jié)奏的加快,每個(gè)人都處于忙碌繁亂的社會(huì)的那個(gè)當(dāng)中,不論是在家庭,工作場(chǎng)所,或是學(xué)校中,無(wú)時(shí)無(wú)刻充滿(mǎn)著生活和學(xué)習(xí)上的壓力。工作之余,找到一種能夠換季壓力,釋放疲勞的娛樂(lè)方式,已成為大家共同的愿望。然而,受

10、到工作條件和時(shí)間的限制,越來(lái)越多的人們選擇了去KTV廳唱K休閑娛樂(lè)。唱歌,自然免不了點(diǎn)歌的繁瑣。傳統(tǒng)的點(diǎn)歌設(shè)備主要是CD和固放設(shè)備組成,雖然基本滿(mǎn)足了人們的需求,但是也帶來(lái)了設(shè)備成本高,點(diǎn)歌過(guò)程繁瑣,更新麻煩等不少問(wèn)題。隨著科學(xué)的發(fā)展和信息時(shí)代的到來(lái),點(diǎn)歌系統(tǒng)應(yīng)運(yùn)而生,卡拉OK點(diǎn)歌系統(tǒng)已經(jīng)成為了娛樂(lè)場(chǎng)所必不可少的一部分??ɡ璒K點(diǎn)歌系統(tǒng)不僅簡(jiǎn)化了用戶(hù)操作,而且極大化滿(mǎn)足了人們的需求和使用習(xí)慣。</p><p> 

11、 1.2課題研究主要內(nèi)容</p><p>  卡拉OK點(diǎn)歌系統(tǒng)是娛樂(lè)場(chǎng)所的一項(xiàng)管理措施,因此開(kāi)發(fā)卡拉OK點(diǎn)歌系統(tǒng)具有較大的社會(huì)意義,同時(shí)點(diǎn)歌系統(tǒng)是一娛樂(lè)軟件的開(kāi)端,它具有簡(jiǎn)單的軟件特征,系統(tǒng)結(jié)構(gòu)與現(xiàn)實(shí)生活緊密結(jié)合,具體直觀(guān),具有典范的便捷軟件特點(diǎn)??ɡ璒K點(diǎn)歌系統(tǒng)主要用于對(duì)音樂(lè)的各項(xiàng)查找,操作簡(jiǎn)單,直觀(guān)。用起來(lái)極為方便。減少了手工操對(duì)工作人員帶來(lái)的不便和繁瑣,使每個(gè)用戶(hù)都能根據(jù)自己愛(ài)好選擇自己喜歡的音樂(lè)。因此,卡

12、拉OK點(diǎn)歌系統(tǒng)是企業(yè)化、智能化、科學(xué)化、正規(guī)化不可缺少的管理軟件。該設(shè)計(jì)文檔主要介紹點(diǎn)歌系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)內(nèi)容。建立數(shù)據(jù)庫(kù)和相關(guān)表和SQL語(yǔ)言的使用和用例圖的設(shè)計(jì)和設(shè)計(jì)綜述。然而,設(shè)計(jì)出一個(gè)讓用戶(hù)滿(mǎn)意的點(diǎn)歌系統(tǒng)并不是那么容易,本次課程設(shè)計(jì)將利用Eclipse和SQL SERVER2008等工具進(jìn)行開(kāi)發(fā)實(shí)踐工作。</p><p><b>  1.3主要工作</b></p><

13、p>  本次課程設(shè)計(jì)個(gè)人獨(dú)立完成。包括界面模塊,需求分析,概念設(shè)計(jì),系統(tǒng)設(shè)計(jì),數(shù)據(jù)庫(kù)實(shí)現(xiàn)等設(shè)計(jì)。本次卡拉OK系統(tǒng)的開(kāi)發(fā)主要前臺(tái)點(diǎn)歌系統(tǒng)和后臺(tái)管理系統(tǒng)模塊的開(kāi)發(fā)。前臺(tái)點(diǎn)歌系統(tǒng)包含了拼音點(diǎn)歌、歌星點(diǎn)歌、分類(lèi)點(diǎn)歌、語(yǔ)種點(diǎn)歌,全部歌曲,每個(gè)點(diǎn)歌模塊都可以查詢(xún)想要點(diǎn)的歌曲。用戶(hù)點(diǎn)歌完畢之后,可進(jìn)入歌曲管理,查看自己的歌曲和收藏自己喜歡的歌曲,也可以按照金曲排行來(lái)點(diǎn)播想要的歌曲。</p><p>  管理員可登錄后臺(tái)管

14、理系統(tǒng)對(duì)歌曲、歌星、用戶(hù)進(jìn)行管理和維護(hù)。進(jìn)入后臺(tái)管理系統(tǒng)后,顯示的是歌曲管理、歌星管理、用戶(hù)管理大三模塊。</p><p><b>  2 需求分析</b></p><p><b>  2.1信息要求分析</b></p><p>  經(jīng)過(guò)對(duì)卡拉OK點(diǎn)歌系統(tǒng)的結(jié)構(gòu)化分析,得出信息要求如下:</p><p&

15、gt;  1.、歌星信息:包括了歌星編號(hào)、歌星姓名、歌星性別、國(guó)籍、歌星類(lèi)型、地區(qū)、拼音縮寫(xiě)。</p><p>  2、歌曲信息:包括了歌曲編號(hào)、歌曲名稱(chēng)、歌星編號(hào)、語(yǔ)種、歌曲類(lèi)型、路徑、歌曲拼音縮寫(xiě)、歌曲時(shí)長(zhǎng)</p><p>  3、金曲排行信息:包括了歌曲編號(hào)、歌曲名稱(chēng)、歌星姓名、周點(diǎn)擊率 、月點(diǎn)擊率 、總點(diǎn)擊率</p><p>  4、后臺(tái)日志信息:包括了操作

16、編號(hào)、操作內(nèi)容 、操作時(shí)間、操作人員、備注</p><p>  5、管理員信息:包括了管理員用戶(hù)名 管理員密碼</p><p>  6、用戶(hù)信息:包括了用戶(hù)編號(hào)、用戶(hù)登錄名、用戶(hù)密碼、用戶(hù)姓名、用戶(hù)性別、出生日期 注冊(cè)日期</p><p><b>  2.2處理要求分析</b></p><p>  卡拉OK點(diǎn)歌系統(tǒng)主要分

17、為歌曲的查詢(xún)與管理,管理主要包括歌曲的查詢(xún),增添,修改,刪除;查詢(xún)可以按照歌星查詢(xún),歌曲類(lèi)型查詢(xún),歌曲名稱(chēng)查詢(xún)等方式查詢(xún)。 系統(tǒng)功能需求:</p><p>  2.2.1 點(diǎn)播歌曲</p><p>  點(diǎn)歌是最基本也是最重要的功能,重在快捷方便。比如拼音點(diǎn)歌、指定歌星點(diǎn)歌,只需輸入相應(yīng)的拼音簡(jiǎn)寫(xiě)然后點(diǎn)擊,就能檢索到想要點(diǎn)播的歌曲。</p><p>  2.2.2 添

18、加歌曲</p><p>  音樂(lè)是滾動(dòng)的時(shí)尚元素,明天都可能有新的創(chuàng)作,所以添加新歌也是必不可少的功能。當(dāng)然,經(jīng)典老歌也是不可或缺的元素,適當(dāng)添加經(jīng)典老歌,增添懷舊的氣氛。</p><p>  2.2.3 歌曲管理</p><p>  歌曲庫(kù)十分龐大,給歌曲管理帶來(lái)一定的難度。對(duì)歌曲信息的增添和刪改同樣需要相應(yīng)的子功能模塊管理。</p><p&g

19、t;  2.2.4 后臺(tái)記錄</p><p>  系統(tǒng)在運(yùn)行當(dāng)中難免出現(xiàn)故障,對(duì)數(shù)據(jù)庫(kù)的部分重要更新操作可記錄入庫(kù),作為系統(tǒng)故障時(shí)恢復(fù)的依據(jù)。</p><p>  2.3數(shù)據(jù)字典及安全性、完整性要求分析</p><p><b>  3 概念結(jié)構(gòu)設(shè)計(jì)</b></p><p>  3.1數(shù)據(jù)實(shí)體描述及分ER圖</p&g

20、t;<p>  3.1.1 歌星信息實(shí)體</p><p>  3.1.2 歌曲信息實(shí)體</p><p>  3.1.3 金曲排行實(shí)體</p><p>  3.1.4 后臺(tái)日志實(shí)體</p><p>  3.1.5 管理員信息實(shí)體</p><p>  3.1.6 用戶(hù)信息實(shí)體</p><p

21、><b>  3.2整體ER圖</b></p><p>  分ER圖向整體ER圖合并,合并過(guò)程中出現(xiàn)的問(wèn)題和解決方案。</p><p>  結(jié)構(gòu)沖突。歌星在歌星信息這個(gè)分E—R圖中作為主體,而在歌曲信息分E—R圖中則作為屬性。歌星包含自己的屬性,不能放在歌曲信息表的屬性里,此時(shí)把歌曲表里面的歌星字段用歌星編號(hào)取代,而歌星表和歌曲表為一對(duì)多關(guān)系。</p>

22、;<p>  命名沖突。歌曲信息與歌星信息都包含編號(hào)及名稱(chēng),起名時(shí)需要區(qū)分開(kāi)。分別命名為歌曲編號(hào)和歌星編號(hào)。</p><p><b>  4 系統(tǒng)概要設(shè)計(jì)</b></p><p>  4.1數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  為了完成需求分析中確定的基本功能和概念設(shè)計(jì)中模塊的劃分,通過(guò)基于3NF的數(shù)據(jù)庫(kù)設(shè)計(jì)方法(通過(guò)分析,各數(shù)

23、據(jù)表已達(dá)第三范式),構(gòu)造了7張基本表?,F(xiàn)在對(duì)這7張基本表劃分基本關(guān)系,在已設(shè)計(jì)好的數(shù)據(jù)庫(kù)中初步建立各表,用于存儲(chǔ)歌曲信息和歌星信息等基本信息。此外,在基本表上定義了一些約束條件,包括基本表上數(shù)據(jù)類(lèi)型和數(shù)據(jù)長(zhǎng)度的限制以及是否允許為空或表內(nèi)是否取值唯一的限定。</p><p>  根據(jù)E-R圖,可轉(zhuǎn)化為如下關(guān)系模式:關(guān)系的主碼用下劃線(xiàn)標(biāo)出,外碼用刪除線(xiàn)標(biāo)出。</p><p><b>

24、  實(shí)體:</b></p><p>  歌星(歌星編號(hào),歌星姓名,歌星性別,國(guó)籍,歌星類(lèi)型,地區(qū),拼音縮寫(xiě))</p><p>  歌曲(歌曲編號(hào),歌曲名稱(chēng),歌星編號(hào),語(yǔ)種,歌曲類(lèi)型,路徑,歌曲拼音縮寫(xiě),歌曲時(shí)長(zhǎng))</p><p>  金曲排行(歌曲編號(hào),歌曲名稱(chēng),歌星姓名,周點(diǎn)擊率,月點(diǎn)擊率,總點(diǎn)擊率)</p><p>  后臺(tái)日

25、志(操作編號(hào),操作內(nèi)容,操作時(shí)間,操作人員,備注)</p><p>  管理員(管理員用戶(hù)名,管理員密碼)</p><p>  用戶(hù)(用戶(hù)編號(hào),用戶(hù)登錄名,用戶(hù)密碼,用戶(hù)姓名,用戶(hù)性別,出生日期,注冊(cè)日期)</p><p><b>  聯(lián)系:</b></p><p>  收藏(用戶(hù)編號(hào),歌曲編號(hào),日期)</p>

26、;<p><b>  歌星表</b></p><p><b>  歌曲表</b></p><p><b>  金曲排行表</b></p><p><b>  后臺(tái)日志表</b></p><p><b>  管理員表</b>

27、;</p><p><b>  用戶(hù)表</b></p><p><b>  收藏表</b></p><p>  4.2數(shù)據(jù)庫(kù)物理設(shè)計(jì)</p><p><b>  4.2.1 介紹</b></p><p>  數(shù)據(jù)庫(kù)的物理設(shè)計(jì)就是為一個(gè)給定的邏輯數(shù)據(jù)模型選

28、取一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過(guò)程。物理結(jié)構(gòu)設(shè)計(jì)階段實(shí)現(xiàn)的是數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)模式,它的質(zhì)量直接決定了整個(gè)系統(tǒng)的性能。因此在確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取方法之前,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)所支持的事務(wù)要進(jìn)行仔細(xì)分析,獲得優(yōu)化數(shù)據(jù)庫(kù)物理設(shè)計(jì)的參數(shù)。</p><p>  數(shù)據(jù)庫(kù)的物理設(shè)計(jì)通常分為兩步:</p><p>  一:確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要指存取方法和存取結(jié)構(gòu);</p>

29、<p>  二:對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。</p><p>  4.2.2 索引設(shè)計(jì)</p><p> ?。?)建立一個(gè)聚集索引,在熱門(mén)歌手視圖建立的索引。</p><p>  create clustered index 熱門(mén)歌手索引 </p><p>  on VIEW_熱門(mén)歌手(歌星姓名)</p&

30、gt;<p> ?。?)建立四個(gè)唯一索引,分別由各表組成。</p><p><b>  1.歌星表索引</b></p><p>  create unique index 歌星索引 on 歌星表(歌星姓名)</p><p><b>  歌曲表索引</b></p><p>  creat

31、e unique index 歌曲索引 on 歌曲表(歌曲名稱(chēng))</p><p><b>  3.金曲排行表索引</b></p><p>  create unique index 排行索引 on 金曲排行表(歌曲編號(hào))</p><p><b>  4.用戶(hù)索引</b></p><p>  crea

32、te unique index 用戶(hù)索引 on 用戶(hù)表(用戶(hù)姓名)</p><p><b>  4.3系統(tǒng)總體框架</b></p><p>  根據(jù)系統(tǒng)功能的需求分析和卡拉OK點(diǎn)歌系統(tǒng)的特點(diǎn),經(jīng)過(guò)模塊化的分析得出系統(tǒng)功能模塊結(jié)構(gòu)圖。系統(tǒng)結(jié)構(gòu)圖:</p><p><b>  5 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p>&

33、lt;p><b>  5.1數(shù)據(jù)庫(kù)實(shí)施</b></p><p>  完成數(shù)據(jù)庫(kù)的物理設(shè)計(jì)之后,設(shè)計(jì)人員就要用RDBMS提供的數(shù)據(jù)定義語(yǔ)言和其他實(shí)用程序?qū)?shù)據(jù)庫(kù)邏輯設(shè)計(jì)和物理設(shè)計(jì)結(jié)果嚴(yán)格描述出來(lái),成為DBMS可以接受的源代碼,再經(jīng)過(guò)調(diào)試產(chǎn)生目標(biāo)模式。然后就可以組織數(shù)據(jù)入庫(kù)了,這就是數(shù)據(jù)庫(kù)實(shí)施階段。</p><p>  5.1.1 數(shù)據(jù)庫(kù)的實(shí)施</p>

34、<p>  數(shù)據(jù)庫(kù)的實(shí)施主要是根據(jù)邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)的結(jié)果,在計(jì)算機(jī)系統(tǒng)上建立實(shí)際的數(shù)據(jù)庫(kù)結(jié)構(gòu)、導(dǎo)入數(shù)據(jù)并進(jìn)行程序的調(diào)試。它相當(dāng)于軟件工程中的代碼編寫(xiě)和程序調(diào)試的階段。</p><p>  創(chuàng)建數(shù)據(jù)庫(kù)主要通過(guò)T-SQL語(yǔ)句來(lái)實(shí)現(xiàn),在查詢(xún)分析器分別輸入以下語(yǔ)句來(lái)</p><p><b>  執(zhí)行:</b></p><p>  

35、create database 點(diǎn)歌系統(tǒng)數(shù)據(jù)庫(kù)</p><p><b>  (1)</b></p><p>  create table 歌星表</p><p>  ( 歌星編號(hào)intprimary key,</p><p>  歌星姓名char(10) not null,</p><p>

36、  歌星性別char(2) check (歌星性別 in ('男' , '女')),</p><p>  國(guó)籍char(20),</p><p>  歌星類(lèi)型 char(10),</p><p>  拼音縮寫(xiě)char(20) not null,</p><p>  地區(qū) char(20)&l

37、t;/p><p><b>  ) </b></p><p>  insert into 歌星表 values ('001','李偉','男','中國(guó)','流行','lw','大陸')</p><p>  insert into 歌星表

38、values ('002','周杰倫','男','中國(guó)','流行','zjl','港臺(tái)')</p><p>  insert into 歌星表 values ('003','許嵩','男','中國(guó)','搖滾','xs

39、','港臺(tái)')</p><p>  insert into 歌星表 values ('004','陳音','女','中國(guó)','流行','cy','港臺(tái)')</p><p>  insert into 歌星表 values ('005',&#

40、39;王力宏','男','中國(guó)','搖滾','wlh','大陸')</p><p>  insert into 歌星表 values ('006','paul','女','美國(guó)','流行','pau','外國(guó)')&l

41、t;/p><p>  insert into 歌星表 values ('007','李曉','男','中國(guó)','流行','lx','港臺(tái)')</p><p><b>  (2)</b></p><p>  create table 歌曲表

42、</p><p>  ( 歌曲編號(hào) int primary key,</p><p>  歌曲名稱(chēng) Char(20) not null,</p><p>  歌星編號(hào) int not null </p><p>  foreign key (歌星編號(hào)) references 歌星表(歌星編號(hào)),</p><p>  語(yǔ)

43、種 Char(10),</p><p>  歌曲類(lèi)型 Char(10),</p><p>  路徑 Char(20),</p><p>  歌曲拼音縮寫(xiě) Char(20) not null,</p><p>  歌曲時(shí)長(zhǎng) datetime</p><p><b>  )</b></p>

44、<p>  insert into 歌曲表 </p><p>  values ('1','七里香','2','國(guó)語(yǔ)','愛(ài)情','D盤(pán)DB文件夾','qlx','06:35')</p><p>  insert into 歌曲表 </p>

45、;<p>  values ('2','千里之外','2','粵語(yǔ)','悲傷','D盤(pán)DB文件夾','qlzw','03:51')</p><p>  insert into 歌曲表 </p><p>  values ('3',&#

46、39;忐忑','7','英語(yǔ)','歡樂(lè)','D盤(pán)DB文件夾','tt','04:55')</p><p>  insert into 歌曲表 </p><p>  values ('4','千里之外','3','國(guó)語(yǔ)',&#

47、39;悲傷','D盤(pán)DB文件夾','qlzw','04:12')</p><p>  insert into 歌曲表 </p><p>  values ('5','月亮之光','5','粵語(yǔ)','悲傷','D盤(pán)DB文件夾','yl

48、zg','06:53')</p><p><b> ?。?)</b></p><p>  create table 金曲排行表</p><p><b>  (</b></p><p>  歌曲編號(hào)intprimary key ,</p><p> 

49、 歌曲名稱(chēng)Char(20) Not null,</p><p>  歌星姓名Char(10) Not null,</p><p>  周點(diǎn)擊率Char(10),</p><p>  月點(diǎn)擊率Char(10),</p><p>  總點(diǎn)擊率Char(10)</p><p><b>  )<

50、/b></p><p>  insert into 金曲排行表 values ('1','七里香','周杰倫','11','99','220')</p><p>  insert into 金曲排行表 values ('2','千里之外','周杰倫&

51、#39;,'31','199','550')</p><p>  insert into 金曲排行表 values ('3','忐忑','李曉','22','124','330')</p><p>  insert into 金曲排行表 value

52、s ('4','千里之外','許嵩','38','77','220')</p><p>  insert into 金曲排行表 values ('5','月亮之光','王力宏','51','64','180')</p&

53、gt;<p><b>  (4)</b></p><p>  create table 后臺(tái)日志表</p><p><b>  (</b></p><p>  操作編號(hào)intprimary key ,</p><p>  操作內(nèi)容Char(40)Not null,</p&

54、gt;<p>  操作時(shí)間datetimeNot null,</p><p>  操作人員char(20)Not null </p><p>  foreign key (操作人員) references 管理員表(管理員用戶(hù)名),</p><p>  備注Char(20)</p><p><b>  

55、)</b></p><p><b> ?。?)</b></p><p>  create table 管理員表</p><p><b>  (</b></p><p>  管理員用戶(hù)名Char(20) primary key ,</p><p>  管理員密碼

56、Char(20) Not null </p><p><b>  )</b></p><p>  insert into 管理員表</p><p>  values('admin','admin') </p><p><b> ?。?)</b></p>

57、<p>  create table 用戶(hù)表</p><p><b>  (</b></p><p>  用戶(hù)編號(hào) int primary key ,</p><p>  用戶(hù)登錄名 Char(20)Not null unique,</p><p>  用戶(hù)密碼Char(20)Not null ,

58、</p><p>  用戶(hù)姓名Char(20)Not null ,</p><p>  用戶(hù)性別Char(2)Not null check(用戶(hù)性別 in ('男' , '女')),</p><p>  出生日期datetimeNot null ,</p><p>  注冊(cè)日期datetime

59、Not null</p><p><b>  )</b></p><p>  insert into 用戶(hù)表</p><p>  values('801','chenfeng','chen92','陳峰','男','1992-02-12',

60、9;2013-01-08')</p><p>  insert into 用戶(hù)表</p><p>  values('802','lm2013','linming20','林敏','女','1995-04-21','2013-01-01')</p><

61、p>  insert into 用戶(hù)表</p><p>  values('803','tingting9527','2581521','謝婷婷','女','1990-06-18','2013-01-03')</p><p>  insert into 用戶(hù)表</p&

62、gt;<p>  values('804','wbqlinhao88','s20081212','王寶強(qiáng)','男','1993-02-09','2013-01-06')</p><p><b> ?。?)</b></p><p>  creat

63、e table 收藏表</p><p><b>  (</b></p><p>  用戶(hù)編號(hào)int,</p><p>  歌曲編號(hào)int ,</p><p>  primary key (用戶(hù)編號(hào),歌曲編號(hào)),</p><p>  foreign key (用戶(hù)編號(hào)) references

64、用戶(hù)表(用戶(hù)編號(hào))</p><p>  on delete cascade /*當(dāng)刪除用戶(hù)表的元組時(shí),級(jí)連刪除收藏表中相應(yīng)的元組*/</p><p>  on update cascade,/*當(dāng)更新用戶(hù)表的用戶(hù)編號(hào)時(shí),級(jí)連更新收藏表中相應(yīng)的元組*/</p><p>  foreign key (歌曲編號(hào)) references 歌曲表(歌曲編號(hào))</p>

65、;<p>  on delete no action /*當(dāng)刪除歌曲表的元組時(shí)造成了與收藏表不一致時(shí)拒絕刪除*/</p><p>  on update cascade, /*當(dāng)更新歌曲表的歌曲編號(hào)時(shí),級(jí)連級(jí)連更新收藏表中相應(yīng)的元組*/</p><p>  日期datetime</p><p><b>  )</b><

66、;/p><p>  insert into 收藏表 values ('801','1','2013-01-01')</p><p>  insert into 收藏表 values ('801','2','2013-01-01')</p><p>  insert into

67、收藏表 values ('801','3','2013-01-01')</p><p>  insert into 收藏表 values ('801','4','2013-01-03')</p><p>  insert into 收藏表 values ('801','5

68、','2013-01-03')</p><p>  insert into 收藏表 values ('802','1','2013-01-02')</p><p>  insert into 收藏表 values ('802','2','2013-01-02')</

69、p><p>  insert into 收藏表 values ('802','5','2013-02-03')</p><p>  insert into 收藏表 values ('803','2','2013-01-02')</p><p>  insert into 收藏

70、表 values ('803','4','2013-01-02')</p><p>  insert into 收藏表 values ('803','5','2013-02-03')</p><p>  insert into 收藏表 values ('804','1&#

71、39;,'2013-01-02')</p><p>  insert into 收藏表 values ('804','2','2013-01-02')</p><p>  insert into 收藏表 values ('804','5','2013-02-03')</p&

72、gt;<p>  insert into 收藏表 values ('804','4','2013-03-11')</p><p>  insert into 收藏表 values ('804','5','2013-03-11')</p><p><b>  數(shù)據(jù)庫(kù)關(guān)系圖:

73、</b></p><p>  5.1.2 視圖設(shè)計(jì)</p><p>  為了便于瀏覽經(jīng)常查詢(xún)的信息,提高查詢(xún)效率,可以考慮建立相關(guān)視圖,因?yàn)樗粌H可提供了數(shù)據(jù)庫(kù)安全性,還可以節(jié)省系統(tǒng)資源開(kāi)銷(xiāo)。</p><p>  (1)用戶(hù)表、收藏表,歌星表,歌曲表之間,建立一個(gè)歌曲總點(diǎn)擊率超過(guò)一百的視圖</p><p>  create vie

74、w VIEW_用戶(hù)喜愛(ài)歌曲</p><p><b>  as </b></p><p>  select 用戶(hù)表.用戶(hù)編號(hào),用戶(hù)登錄名,用戶(hù)姓名,收藏表.歌曲編號(hào),歌曲表.歌曲名稱(chēng),金曲排行表.歌星姓名,總點(diǎn)擊率</p><p>  from 用戶(hù)表,收藏表,歌星表,歌曲表,金曲排行表</p><p>  where 用

75、戶(hù)表.用戶(hù)編號(hào)=收藏表.用戶(hù)編號(hào) --用戶(hù)表連接收藏表</p><p>  and 收藏表.歌曲編號(hào)=歌曲表.歌曲編號(hào) --收藏表連接歌曲表</p><p>  and 歌曲表.歌星編號(hào)=歌星表.歌星編號(hào) --歌曲表連接歌星表</p><p>  and 歌曲表.歌曲編號(hào)=金曲排行表.歌曲編號(hào) --歌曲表連接金曲排行表</p><p>  a

76、nd 總點(diǎn)擊率>100</p><p>  根據(jù)金曲排行表,建立周點(diǎn)擊率,月點(diǎn)擊率,總點(diǎn)擊率的平均點(diǎn)擊率的視圖</p><p>  create view VIEW_平均點(diǎn)擊率</p><p><b>  as</b></p><p>  select AVG(周點(diǎn)擊率) 周平均,AVG(月點(diǎn)擊率) 月平均,AVG

77、(總點(diǎn)擊率) 總平均 </p><p>  from 金曲排行表</p><p>  根據(jù)金曲排行表和平均點(diǎn)擊率視圖分別建立歌曲的周排行榜、月排行榜、總排行榜視圖</p><p>  create view VIEW_周排行榜</p><p><b>  as</b></p><p>  sel

78、ect 歌曲名稱(chēng),歌星姓名,周點(diǎn)擊率</p><p>  from 金曲排行表,VIEW_平均點(diǎn)擊率</p><p>  where 周點(diǎn)擊率>周平均</p><p>  create view VIEW_月排行榜</p><p><b>  as</b></p><p>  select

79、歌曲名稱(chēng),歌星姓名,月點(diǎn)擊率</p><p>  from 金曲排行表,VIEW_平均點(diǎn)擊率</p><p>  where 月點(diǎn)擊率>月平均</p><p>  create view VIEW_總排行榜</p><p><b>  as</b></p><p>  select 歌曲名稱(chēng)

80、,歌星姓名,總點(diǎn)擊率</p><p>  from 金曲排行表,VIEW_平均點(diǎn)擊率</p><p>  where 總點(diǎn)擊率>總平均</p><p>  根據(jù)歌曲表和排行榜視圖建立熱門(mén)歌手視圖,要求歌星在周、月和總排行榜三個(gè)排行榜至少有一次榜上有名。</p><p>  create view VIEW_熱門(mén)歌手</p>

81、<p><b>  as</b></p><p>  select 歌曲名稱(chēng),歌星姓名</p><p>  from 金曲排行表,VIEW_平均點(diǎn)擊率</p><p>  where 總點(diǎn)擊率>總平均 or 月點(diǎn)擊率>月平均 or 周點(diǎn)擊率>周平均</p><p>  5.1.3 存儲(chǔ)過(guò)程設(shè)

82、計(jì)</p><p>  1、--本存儲(chǔ)過(guò)程是對(duì)排行表進(jìn)行一定的數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),在用戶(hù)表是通過(guò)</p><p>  --對(duì)總點(diǎn)擊率進(jìn)行設(shè)計(jì)的,分別設(shè)計(jì)兩個(gè)變量進(jìn)行累加點(diǎn)擊率的處理。</p><p>  create proc pr_總點(diǎn)擊</p><p><b>  @x int,</b></p><p

83、><b>  @y int,</b></p><p>  @總點(diǎn)擊率 int output</p><p><b>  as</b></p><p>  set @總點(diǎn)擊率=@x+@y</p><p>  select 歌曲名稱(chēng),歌星姓名</p><p>  from

84、金曲排行表</p><p>  where @x=總點(diǎn)擊率 and @y=總點(diǎn)擊率</p><p><b>  --調(diào)用存儲(chǔ)過(guò)程:</b></p><p>  declare @總點(diǎn)擊率 int</p><p>  execute pr_總點(diǎn)擊</p><p><b>  '總點(diǎn)

85、擊率',</b></p><p>  @總點(diǎn)擊率 output</p><p><b>  --查詢(xún)存儲(chǔ)過(guò)程:</b></p><p>  exec sp_help pr_總點(diǎn)擊</p><p>  2、插入歌曲信息存儲(chǔ)過(guò)程</p><p>  create procedure

86、 pr_插入歌曲 </p><p>  @歌曲編號(hào) int, </p><p>  @歌曲名稱(chēng) char(20),</p><p>  @歌星編號(hào) int, </p><p>  @歌曲拼音縮寫(xiě) char(20)</p><p><b>  as</b></p><

87、;p>  insert into 歌曲表 (歌曲編號(hào),歌曲名稱(chēng),歌星編號(hào),歌曲拼音縮寫(xiě))</p><p>  values (@歌曲編號(hào),@歌曲名稱(chēng),@歌星編號(hào),@歌曲拼音縮寫(xiě))</p><p><b>  --查詢(xún)存儲(chǔ)過(guò)程:</b></p><p>  exec sp_help pr_插入歌曲 </p><p>

88、  3、插入歌星信息存儲(chǔ)過(guò)程</p><p>  create procedure pr_插入歌星 </p><p>  @歌星編號(hào) int, </p><p>  @歌星姓名 char(20),</p><p>  @歌星類(lèi)型 char(20),</p><p>  @拼音縮寫(xiě) char(20)</

89、p><p><b>  as</b></p><p>  insert into 歌星表 (歌星編號(hào),歌星姓名,歌星類(lèi)型,拼音縮寫(xiě))</p><p>  values (@歌星編號(hào),@歌星姓名,@歌星類(lèi)型,@拼音縮寫(xiě))</p><p><b>  --查詢(xún)存儲(chǔ)過(guò)程:</b></p><

90、;p>  exec sp_help pr_插入歌星</p><p>  4、刪除用戶(hù)存儲(chǔ)過(guò)程</p><p>  create proc pr_刪除用戶(hù)</p><p><b>  @用戶(hù)編號(hào) int</b></p><p><b>  as </b></p><p>

91、  delete from 用戶(hù)表</p><p>  where 用戶(hù)編號(hào)=@用戶(hù)編號(hào)</p><p><b>  --查詢(xún)存儲(chǔ)過(guò)程:</b></p><p>  exec sp_help pr_刪除用戶(hù)</p><p>  5.1.4 觸發(fā)器設(shè)計(jì)</p><p><b>  1、更新

92、排行觸發(fā)器</b></p><p>  該觸發(fā)器的目的是為了完成歌曲在系統(tǒng)中的不定期的更新,點(diǎn)播熱門(mén)歌曲會(huì)有,滿(mǎn)足用戶(hù)需求,數(shù)據(jù)庫(kù)會(huì)對(duì)時(shí)間進(jìn)行自動(dòng)修該,來(lái)創(chuàng)建的觸發(fā)器。</p><p>  create trigger tg_update</p><p><b>  on 金曲排行表</b></p><p>

93、  for insert,update</p><p><b>  as</b></p><p>  declare @x int,@y int</p><p>  select @x=歌曲編號(hào),@y=歌星姓名 </p><p>  from 金曲排行表</p><p>  if exists(s

94、elect * </p><p>  from 金曲排行表</p><p>  where 歌曲名稱(chēng)=@x and 歌星姓名<>@y)</p><p><b>  begin</b></p><p>  raiserror('歌曲排行',16,1) </p><p>

95、  rollback transaction </p><p><b>  end </b></p><p><b>  2、插入歌曲觸發(fā)器</b></p><p>  create trigger tri_插入歌曲 </p><p><b>  on 歌曲表</b>

96、;</p><p>  for insert as declare </p><p><b>  @歌曲編號(hào) int</b></p><p>  set @歌曲編號(hào)='插入成功' </p><p>  print @歌曲編號(hào)</p><p><b>  3、插入歌星觸發(fā)器

97、</b></p><p>  create trigger tri_插入歌星 </p><p><b>  on 歌星表</b></p><p>  for insert as declare </p><p>  @歌星編號(hào) int,</p><p>  @歌星姓名 char(20

98、)</p><p>  set @歌星編號(hào)='恭喜,信息插入成功'</p><p>  set @歌星姓名='恭喜,信息插入成功' </p><p>  print @歌星編號(hào)</p><p>  print @歌星姓名</p><p>  5.2數(shù)據(jù)庫(kù)的數(shù)據(jù)完整性設(shè)計(jì)</p>

99、;<p>  5.2.1 數(shù)據(jù)庫(kù)完整性概念</p><p>  數(shù)據(jù)庫(kù)完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫(kù)完整性由各種各樣的完整性約束來(lái)保證,因此可以說(shuō)數(shù)據(jù)庫(kù)完整性設(shè)計(jì)就是數(shù)據(jù)庫(kù)完整性約束的設(shè)計(jì)。</p><p>  數(shù)據(jù)庫(kù)的完整性包括:</p><p><b> ?。?)實(shí)體完整性</b></p><

100、;p>  實(shí)體完整性將行定義為特定表的唯一實(shí)體。實(shí)體完整性通過(guò)索引、UNIQUE 約束、PRIMARY KEY 約束或 IDENTITY 屬性強(qiáng)制表的標(biāo)識(shí)符列或主鍵的完整性。</p><p><b>  參照完整性</b></p><p>  參照完整性保證在主鍵(在被參考表中)和外鍵之間的關(guān)系總是得到維護(hù)(通過(guò) FOREIGN KEY 和 CHECK 約束),

101、確保鍵值在所有表中一致,要求不能引用不存在的值,如果鍵值更改了,那么在整個(gè)數(shù)據(jù)庫(kù)中,對(duì)該鍵值的所有引用要進(jìn)行一致的更改;</p><p>  (3)用戶(hù)定義的完整性</p><p>  用戶(hù)定義完整性使得用戶(hù)得以定義不屬于其它任何完整性分類(lèi)的特定業(yè)務(wù)規(guī)則。所有的完整性類(lèi)型都支持用戶(hù)定義完整性(CREATE TABLE 中的所有列級(jí)和表級(jí)約束、存儲(chǔ)過(guò)程和觸發(fā)器)。</p>&l

102、t;p>  5.2.2 違反數(shù)據(jù)庫(kù)完整性</p><p><b>  1、違反實(shí)體完整性</b></p><p>  本系統(tǒng)中有以下7個(gè)關(guān)系模式,帶下劃線(xiàn)為主碼,刪除線(xiàn)為外碼。</p><p>  歌星(歌星編號(hào),歌星姓名,歌星性別,國(guó)籍,歌星類(lèi)型,地區(qū),拼音縮寫(xiě))</p><p>  歌曲(歌曲編號(hào),歌曲名稱(chēng),歌

103、星編號(hào),語(yǔ)種,歌曲類(lèi)型,路徑,歌曲拼音縮寫(xiě),歌曲時(shí)長(zhǎng))</p><p>  金曲排行(歌曲編號(hào),歌曲名稱(chēng),歌星姓名,周點(diǎn)擊率,月點(diǎn)擊率,總點(diǎn)擊率)</p><p>  后臺(tái)日志(操作編號(hào),操作內(nèi)容,操作時(shí)間,操作人員,備注)</p><p>  管理員(管理員用戶(hù)名,管理員密碼)</p><p>  用戶(hù)(用戶(hù)編號(hào),用戶(hù)登錄名,用戶(hù)密碼,用戶(hù)

104、姓名,用戶(hù)性別,出生日期,注冊(cè)日期)</p><p>  收藏(用戶(hù)編號(hào),歌曲編號(hào),日期)</p><p>  對(duì)以上的基本表進(jìn)行增加、刪除和修改操作時(shí),檢測(cè):</p><p>  檢查主碼值是否唯一,如果不是唯一則拒絕插入。</p><p>  檢查主碼的各個(gè)屬性是否為空,只要有一個(gè)為空就拒絕插入。</p><p>

105、<b>  違反參照完整性</b></p><p>  可能破壞參照完整性的情況及違約處理:</p><p>  對(duì)應(yīng)的數(shù)據(jù)庫(kù)的參照完整性設(shè)計(jì):</p><p>  create table 收藏表</p><p><b>  (</b></p><p>  用戶(hù)編號(hào)int

106、,</p><p>  歌曲編號(hào)int ,</p><p>  primary key (用戶(hù)編號(hào),歌曲編號(hào)),</p><p>  foreign key (用戶(hù)編號(hào)) references 用戶(hù)表(用戶(hù)編號(hào))</p><p>  on delete cascade /*當(dāng)刪除用戶(hù)表的元組時(shí),級(jí)連刪除收藏表中相應(yīng)的元組*/</p&

107、gt;<p>  on update cascade,/*當(dāng)更新用戶(hù)表的用戶(hù)編號(hào)時(shí),級(jí)連更新收藏表中相應(yīng)的元組*/</p><p>  foreign key (歌曲編號(hào)) references 歌曲表(歌曲編號(hào))</p><p>  on delete no action /*當(dāng)刪除歌曲表的元組時(shí)造成了與收藏表不一致時(shí)拒絕刪除*/</p><p> 

108、 on update cascade, /*當(dāng)更新歌曲表的歌曲編號(hào)時(shí),級(jí)連級(jí)連更新收藏表中相應(yīng)的元組*/</p><p>  日期datetime</p><p><b>  )</b></p><p>  3、違反自定義完整性</p><p>  1、性別只能取值男或女,對(duì)應(yīng)T-SQL設(shè)計(jì)CHECK(SEX I

109、N '男'或'女'),</p><p>  當(dāng)性別插入值在可行域外的時(shí)候拒絕執(zhí)行,并利用觸發(fā)器提醒用戶(hù)輸入正確值。</p><p>  要求用戶(hù)登錄名唯一,屬性列定義需加上UNIQUE限制。</p><p>  管理員添加用戶(hù)的時(shí)候,若新增用戶(hù)登錄名已存在用戶(hù)信息表中,回被系統(tǒng)拒絕執(zhí)行。</p><p>  5

110、.3數(shù)據(jù)的安全設(shè)計(jì)</p><p>  在卡拉OK點(diǎn)歌系統(tǒng)中,設(shè)計(jì)了用戶(hù)登錄和管理員登錄。其中用戶(hù)只有檢索和收藏歌曲的權(quán)限,管理員能夠?qū)Ω枨畔?、歌星信息、用?hù)信息作增刪改查操作。為了避免操作權(quán)限的交錯(cuò),本系統(tǒng)設(shè)計(jì)規(guī)定只有一個(gè)管理員。</p><p>  5.4系統(tǒng)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  5.4.1 系統(tǒng)功能描述 </p><p

111、><b>  點(diǎn)歌功能描述:</b></p><p>  進(jìn)入卡拉OK點(diǎn)歌系統(tǒng)后,顯示的是各種點(diǎn)歌模式:有拼音點(diǎn)歌、歌星點(diǎn)歌、分類(lèi)點(diǎn)歌、語(yǔ)種點(diǎn)歌,全部歌曲,每個(gè)點(diǎn)歌模塊都可以查詢(xún)想要點(diǎn)的歌曲。主要模塊功能如下:</p><p>  拼音點(diǎn)歌:A~Z 26個(gè)字母自由組合,對(duì)應(yīng)拼音模糊搜索。</p><p>  歌星點(diǎn)歌:顯示歌星列表,對(duì)應(yīng)歌

112、星個(gè)人專(zhuān)輯。</p><p>  分類(lèi)點(diǎn)歌:愛(ài)情、悲傷、歡樂(lè)、輕快</p><p>  語(yǔ)種點(diǎn)歌:國(guó)語(yǔ)、粵語(yǔ)、英語(yǔ)</p><p>  全部歌曲:顯示全部歌曲,方便點(diǎn)播歌曲。</p><p>  2.歌曲管理功能描述:</p><p>  用戶(hù)點(diǎn)歌完畢之后,可進(jìn)入歌曲管理,查看自己的歌曲和收藏自己喜歡的歌曲,也可以按照

113、金曲排行來(lái)點(diǎn)播想要的歌曲。主要模塊功能如下:</p><p>  已點(diǎn)歌曲:根據(jù)用戶(hù)個(gè)人喜好點(diǎn)播歌曲,方便用戶(hù)查看已選歌曲列表。</p><p>  收藏歌曲:根據(jù)用戶(hù)個(gè)人喜好收藏歌曲,進(jìn)入已點(diǎn)歌曲列表點(diǎn)擊收藏即可。</p><p>  金曲排行:根據(jù)總點(diǎn)擊率設(shè)計(jì)的排行榜,方便用戶(hù)查找熱門(mén)歌曲。</p><p>  3.后臺(tái)數(shù)據(jù)庫(kù)維護(hù)功能描述

114、</p><p>  管理員可登錄后臺(tái)管理系統(tǒng)對(duì)歌曲、歌星、用戶(hù)進(jìn)行管理和維護(hù)。進(jìn)入后臺(tái)管理系統(tǒng)后,顯示的是歌曲管理、歌星管理、用戶(hù)管理大三模塊。主要模塊功能如下:</p><p>  歌曲管理:管理員可根據(jù)歌曲信息添加歌曲,刪除歌曲,查詢(xún)歌曲。</p><p>  歌星管理:管理員可根據(jù)歌星信息添加歌星,刪除歌星,查詢(xún)歌星。</p><p>

115、;  用戶(hù)管理:管理員可根據(jù)用戶(hù)信息添加用戶(hù),刪除用戶(hù),查詢(xún)用戶(hù)。</p><p>  5.4.2 功能模塊設(shè)計(jì)</p><p>  對(duì)上述各項(xiàng)功能進(jìn)行集中,分塊,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,分為系統(tǒng)點(diǎn)歌功能模塊和后臺(tái)數(shù)據(jù)庫(kù)維護(hù)功能模塊。</p><p><b>  1.系統(tǒng)點(diǎn)歌模塊</b></p><p>  系統(tǒng)點(diǎn)歌模

116、塊由點(diǎn)歌和歌曲管理兩大功能模塊組成。</p><p>  點(diǎn)歌功能模塊包括了:拼音點(diǎn)歌、歌星點(diǎn)歌、分類(lèi)點(diǎn)歌、語(yǔ)種點(diǎn)歌、全部歌曲。</p><p>  歌曲管理模塊包括了:已點(diǎn)歌曲、收藏歌曲、金曲排行。</p><p><b>  5.5系統(tǒng)功能測(cè)試</b></p><p>  5.5.1 登錄界面測(cè)試</p>

117、<p><b>  用戶(hù)登錄界面</b></p><p><b>  2管理員登錄界面</b></p><p>  3. 登錄名或密碼錯(cuò)誤</p><p><b>  5.5.2點(diǎn)歌測(cè)試</b></p><p><b>  1. 拼音點(diǎn)歌</b&g

118、t;</p><p>  采用拼音模糊搜索,查找所有包含“ql”拼音縮寫(xiě)的歌曲。</p><p>  結(jié)論:結(jié)果是正確的,千里之外和七里香的拼音縮寫(xiě)均包含了ql,上數(shù)據(jù)庫(kù)查證結(jié)果也是一致。</p><p><b>  2. 歌星點(diǎn)歌</b></p><p>  搜索周杰倫的專(zhuān)輯,任意選擇一首歌。并檢查是否出現(xiàn)在歌曲管理中

119、的已選列表。</p><p>  發(fā)現(xiàn)是成功的,已選列表包含了七里香這首歌。</p><p><b>  分類(lèi)點(diǎn)歌</b></p><p>  查詢(xún)“愛(ài)情”類(lèi)型的全部歌曲</p><p><b>  驗(yàn)證結(jié)果:</b></p><p>  select song.id,son

120、g.name,singer.name,song.type</p><p>  from song,singer</p><p>  where song.singerid=singer.id and song.type='愛(ài)情'</p><p>  和數(shù)據(jù)庫(kù)的查詢(xún)結(jié)果相符合,所以測(cè)試結(jié)果是正確的。</p><p><b&

121、gt;  語(yǔ)種點(diǎn)歌</b></p><p><b>  查詢(xún)所有粵語(yǔ)歌曲</b></p><p><b>  驗(yàn)證結(jié)果:</b></p><p>  select song.id,song.name,singer.name,song.type</p><p>  from song,si

122、nger</p><p>  where song.singerid=singer.id and song.eng='粵語(yǔ)'</p><p>  結(jié)論:與數(shù)據(jù)庫(kù)查詢(xún)的結(jié)果一致,結(jié)果是正確的。</p><p><b>  全部歌曲</b></p><p><b>  查詢(xún)歌曲庫(kù)</b>

123、</p><p><b>  結(jié)果驗(yàn)證:</b></p><p>  select song.id,song.name,singer.name,song.type</p><p>  from song,singer</p><p>  where song.singerid=singer.id</p>&

124、lt;p>  與數(shù)據(jù)庫(kù)的查詢(xún)結(jié)果一致,說(shuō)明結(jié)果正確。</p><p>  6.已點(diǎn)歌曲&收藏歌曲&金曲排行榜</p><p>  搜索金曲排行榜,選擇第一首歌,查詢(xún)已選歌曲并收藏。</p><p><b>  第一步:</b></p><p><b>  第二步:</b><

125、;/p><p>  值得注意的是同一首歌不能重復(fù)收藏,如圖:</p><p>  5.5.3后臺(tái)管理測(cè)試</p><p>  本系統(tǒng)規(guī)定后臺(tái)管理員只有一個(gè),帳號(hào)密碼均為admin.下面開(kāi)始測(cè)試:</p><p><b>  添加歌曲</b></p><p>  添加王力宏的新歌,編號(hào)111,國(guó)語(yǔ),類(lèi)型

126、歡樂(lè),保存在D盤(pán)的DB文件目錄下,歌曲時(shí)長(zhǎng)為03:51.</p><p><b>  查詢(xún)是否添加成功:</b></p><p>  結(jié)果:歌曲添加成功!</p><p><b>  刪除歌曲 </b></p><p>  刪除剛才添加的新歌并驗(yàn)證結(jié)果。</p><p>  

127、結(jié)果驗(yàn)證:發(fā)現(xiàn)歌曲“唯一”已不存在,說(shuō)明刪除成功。</p><p><b>  添加歌星</b></p><p>  結(jié)果驗(yàn)證:發(fā)現(xiàn)杜蘭特在歌星列表中,操作正確。</p><p><b>  刪除歌星</b></p><p>  刪除歌星杜蘭特,并驗(yàn)證刪除結(jié)果。</p><p&g

128、t;  結(jié)果驗(yàn)證:重新查詢(xún)歌星列表,發(fā)現(xiàn)歌星杜蘭特已不在列,刪除成功。</p><p><b>  添加用戶(hù)</b></p><p>  結(jié)果驗(yàn)證:可在用戶(hù)列表中找到用戶(hù)test,添加操作成功。</p><p><b>  6 刪除用戶(hù)</b></p><p>  刪除王寶強(qiáng)這個(gè)用戶(hù),登陸名為wbq

129、inhao88.</p><p>  結(jié)果驗(yàn)證:用戶(hù)列表無(wú)法找到王寶強(qiáng),說(shuō)明此次刪除操作成功。</p><p>  5.6數(shù)據(jù)庫(kù)性能檢測(cè)與備份設(shè)計(jì)</p><p>  5.6.1 數(shù)據(jù)庫(kù)性能監(jiān)測(cè)</p><p>  性能監(jiān)測(cè)是通過(guò)獲取數(shù)據(jù)庫(kù)系統(tǒng)正常工作運(yùn)行時(shí)的各項(xiàng)指標(biāo)來(lái)監(jiān)測(cè)系統(tǒng)性能。在優(yōu)化和監(jiān)測(cè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)時(shí),也需要借助各種工具。SQL S

130、erver 2005提供了一系列性能監(jiān)測(cè)和優(yōu)化工具,幫助用戶(hù)監(jiān)測(cè)SQL Server事件,評(píng)估SQL Server的性能,為優(yōu)化SQL Server數(shù)據(jù)庫(kù)提供依據(jù)。在數(shù)據(jù)庫(kù)工作狀態(tài)下仔細(xì)地考慮性能監(jiān)測(cè)工作,這在數(shù)據(jù)庫(kù)的性能調(diào)優(yōu)過(guò)程中尤為需要。性能調(diào)優(yōu)的優(yōu)先順序的步驟為篩選跟蹤數(shù)據(jù)、重播跟蹤和使用數(shù)據(jù)庫(kù)性能監(jiān)測(cè)工具定位和分析問(wèn)題。</p><p>  5.6.2 數(shù)據(jù)庫(kù)備份設(shè)計(jì)</p><p&g

131、t;  SQL Server2008提供了“分離/附加”數(shù)據(jù)庫(kù)、“備份/還原”數(shù)據(jù)庫(kù)、復(fù)制數(shù)據(jù)庫(kù)等多種數(shù)據(jù)庫(kù)的備份和恢復(fù)方法。下面是介紹“分離/附加”的備份設(shè)計(jì)。</p><p>  這個(gè)方法涉及到SQL Server分離數(shù)據(jù)庫(kù)和附加數(shù)據(jù)庫(kù)這兩個(gè)互逆操作工具。</p><p>  1、分離數(shù)據(jù)庫(kù)就是將某個(gè)數(shù)據(jù)庫(kù)從SQL Server數(shù)據(jù)庫(kù)列表中刪除,使其不再被SQL Server管理和使用

132、,但該數(shù)據(jù)庫(kù)的文件(.MDF)和對(duì)應(yīng)的日志文件(.LDF)完好無(wú)損。分離成功后,我們就可以把該數(shù)據(jù)庫(kù)文件(.MDF)和對(duì)應(yīng)的日志文件(.LDF)拷貝到其它磁盤(pán)中作為備份保存。</p><p>  2、附加數(shù)據(jù)庫(kù)就是將一個(gè)備份磁盤(pán)中的數(shù)據(jù)庫(kù)文件(.MDF)和對(duì)應(yīng)的日志文件(.LDF)拷貝到需要的計(jì)算機(jī),并將其添加到某個(gè)SQL Server數(shù)據(jù)庫(kù)服務(wù)器中,由該服務(wù)器來(lái)管理和使用這個(gè)數(shù)據(jù)庫(kù)。</p>&l

133、t;p>  5.7系統(tǒng)安裝使用說(shuō)明</p><p>  所需編程軟件:Eeclipse</p><p>  Eclipse 是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。</p>

134、;<p><b>  6 回顧與展望</b></p><p>  做完卡拉OK點(diǎn)歌系統(tǒng)的時(shí)候,有種如釋負(fù)重的感覺(jué)。數(shù)據(jù)庫(kù)修改了許多次,界面也是調(diào)試了很久?;仡櫿麄€(gè)項(xiàng)目的開(kāi)發(fā),連接數(shù)據(jù)庫(kù)比較簡(jiǎn)單,系統(tǒng)界面也不難,關(guān)鍵在按鈕的“監(jiān)聽(tīng)”和對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)處理,與學(xué)JAVA的師兄交流了好幾天,基本確定了設(shè)計(jì)框架,剛開(kāi)始做還是比較麻煩的,經(jīng)常遇到許多未知的BUG,也有無(wú)法讀取結(jié)果的時(shí)候。下

135、苦心調(diào)試好前臺(tái)的點(diǎn)歌模塊,后續(xù)編程思路就清晰許多了,完成了添加歌曲功能模塊后,添加用戶(hù)和歌星參照設(shè)計(jì)模版,繼而把后臺(tái)管理系統(tǒng)開(kāi)發(fā)出來(lái),最后也總算把整個(gè)卡拉OK系統(tǒng)完成了。很高興能夠達(dá)到預(yù)期的目標(biāo)和積累到數(shù)據(jù)庫(kù)項(xiàng)目開(kāi)發(fā)的經(jīng)驗(yàn),更加堅(jiān)定了自己以后的編程之路。比較遺憾的是,由于時(shí)間的限制和對(duì)JAVA界面設(shè)計(jì)進(jìn)階了解的局限性,系統(tǒng)做得并不是十分精美,但也適當(dāng)?shù)锰砑恿艘恍┍尘皥D片,還有點(diǎn)播歌曲這個(gè)功能模塊尚未實(shí)現(xiàn)。但課程設(shè)計(jì)并不是學(xué)習(xí)項(xiàng)目開(kāi)發(fā)的終

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論