版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)報(bào)告--ktv點(diǎn)歌系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--ktv點(diǎn)歌系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--ktv在線(xiàn)點(diǎn)歌系統(tǒng)
- ktv點(diǎn)歌系統(tǒng)畢業(yè)設(shè)計(jì)
- ktv點(diǎn)歌系統(tǒng)畢業(yè)設(shè)計(jì)
- ktv點(diǎn)歌系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- ktv點(diǎn)歌系統(tǒng)測(cè)試用例
- c語(yǔ)言課程設(shè)計(jì)-ktv歌曲系統(tǒng)
- ktv包廂點(diǎn)歌服務(wù)標(biāo)準(zhǔn)
- 微機(jī)接口音樂(lè)點(diǎn)歌課程設(shè)計(jì)
- 基于qt的ktv點(diǎn)歌系統(tǒng)畢業(yè)論文
- 課程設(shè)計(jì)—火車(chē)售票系統(tǒng)課程設(shè)計(jì)
- 遠(yuǎn)程點(diǎn)歌系統(tǒng)設(shè)計(jì)方案
- 通風(fēng)系統(tǒng)課程設(shè)計(jì)--某企業(yè)車(chē)間通風(fēng)系統(tǒng)課程設(shè)計(jì)
- 《面向?qū)ο笳n程設(shè)計(jì)》課程設(shè)計(jì)---媒體管理系統(tǒng)
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- eda課程設(shè)計(jì)-- eda與數(shù)字系統(tǒng)課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--點(diǎn)歌系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-訂單式銷(xiāo)售管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論