版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> ( 2011--2012年度第2學(xué)期)</p><p> 名 稱:數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)</p><p> 題 目:學(xué)生信息管理信息系統(tǒng) </p><p> 院 系: 計(jì)算機(jī)系 </p><p&
2、gt; 班 級(jí): 計(jì)科 0901 </p><p> 學(xué) 號(hào): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 設(shè)計(jì)周數(shù): 1 </p&
3、gt;<p> 成 績(jī): </p><p> 日期:2012年 6月15日</p><p> 《數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)》課程設(shè)計(jì)</p><p><b> 任 務(wù) 書</b></p><p><b> 目的與要求</b></p&
4、gt;<p> 本實(shí)驗(yàn)是為網(wǎng)絡(luò)工程、信息安全等專業(yè)的學(xué)生在學(xué)習(xí)數(shù)據(jù)庫(kù)原理后,為培養(yǎng)更好的解決問(wèn)題和實(shí)際動(dòng)手能力而設(shè)置的實(shí)踐環(huán)節(jié)。通過(guò)這個(gè)環(huán)節(jié),使學(xué)生具備應(yīng)用數(shù)據(jù)庫(kù)原理對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行設(shè)計(jì)的能力。為后繼課程和畢業(yè)設(shè)計(jì)打下良好基礎(chǔ)。</p><p> 通過(guò)該實(shí)驗(yàn),培養(yǎng)學(xué)生在建立數(shù)據(jù)庫(kù)系統(tǒng)過(guò)程中使用關(guān)系數(shù)據(jù)理論的能力。</p><p> 通過(guò)對(duì)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì),培養(yǎng)學(xué)生對(duì)
5、數(shù)據(jù)庫(kù)需求分析、數(shù)據(jù)庫(kù)方案設(shè)計(jì)、系統(tǒng)編碼、界面設(shè)計(jì)和軟件調(diào)試等各方面的能力。是一門考查學(xué)生數(shù)據(jù)庫(kù)原理、面向?qū)ο笤O(shè)計(jì)方法、軟件工程和信息系統(tǒng)分析與設(shè)計(jì)等課程的綜合實(shí)驗(yàn)。</p><p><b> 主要內(nèi)容</b></p><p> 針對(duì)一個(gè)具有實(shí)際應(yīng)用場(chǎng)景的中小型系統(tǒng)(見(jiàn)題目附錄)進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),重點(diǎn)分析系統(tǒng)涉及的實(shí)體、實(shí)體之間的聯(lián)系,實(shí)現(xiàn)增加、刪除、更新、查詢數(shù)據(jù)
6、記錄等基本操作。大致分為如下步驟:</p><p> 1. 理解系統(tǒng)的數(shù)據(jù)庫(kù)需求,分析實(shí)體及實(shí)體間聯(lián)系,畫出E-R圖:</p><p> 分析確定實(shí)體的屬性和碼,完成對(duì)該實(shí)體的實(shí)體完整性、用戶自定義完整性的定義。</p><p> 設(shè)計(jì)實(shí)體之間的聯(lián)系,包括聯(lián)系類型和聯(lián)系的屬性。最后畫出完整的E-R圖。</p><p> 2.根據(jù)設(shè)計(jì)好
7、的E-R圖及關(guān)系數(shù)據(jù)庫(kù)理論知識(shí)設(shè)計(jì)數(shù)據(jù)庫(kù)模式:</p><p> 把E-R圖轉(zhuǎn)換為邏輯模式;</p><p> 規(guī)范化設(shè)計(jì)。使用關(guān)系范式理論證明所設(shè)計(jì)的關(guān)系至少屬于3NF并寫出證明過(guò)程;如果不屬于3NF則進(jìn)行模式分解,直到該關(guān)系滿足3NF為止,要求寫出分解過(guò)程。</p><p> 設(shè)計(jì)關(guān)系模式間的參照完整性,要求實(shí)現(xiàn)級(jí)聯(lián)刪除和級(jí)聯(lián)更新。</p>
8、<p> 用SQL語(yǔ)言完成數(shù)據(jù)庫(kù)內(nèi)模式的設(shè)計(jì)。</p><p> 3.?dāng)?shù)據(jù)庫(kù)權(quán)限的設(shè)計(jì):</p><p> 根據(jù)系統(tǒng)分析,完成授權(quán)操作;</p><p> 了解學(xué)習(xí)收回權(quán)限的操作。</p><p> 4.完成用戶界面的設(shè)計(jì),對(duì)重要數(shù)據(jù)進(jìn)行加密。</p><p> 5.連接數(shù)據(jù)庫(kù),用宿主語(yǔ)言實(shí)現(xiàn)系統(tǒng)
9、所需的各種操作:</p><p> 實(shí)現(xiàn)數(shù)據(jù)記錄的錄入、刪除、查詢和修改。</p><p> 以視圖的形式完成復(fù)雜查詢,比如多表、多條件等。</p><p><b> 三、 進(jìn)度計(jì)劃</b></p><p> 四、 設(shè)計(jì)(實(shí)驗(yàn))成果要求</p><p> 在DBMS(如oracle,SQ
10、L Server 2005/2008,DB2等)上完成完整的數(shù)據(jù)庫(kù)的設(shè)計(jì);</p><p> 使用可視化開(kāi)發(fā)平臺(tái)完成信息系統(tǒng),要求可以正確運(yùn)行;</p><p><b> 完成實(shí)驗(yàn)報(bào)告。</b></p><p><b> 五、 考核方式</b></p><p> 在微機(jī)上檢查數(shù)據(jù)庫(kù)模式的設(shè)計(jì)
11、、三大完整性的設(shè)計(jì)、關(guān)系屬于幾范式等;</p><p> 在微機(jī)上檢查系統(tǒng)的運(yùn)行結(jié)果,要求學(xué)生闡述使用的相關(guān)技術(shù);</p><p><b> 實(shí)驗(yàn)報(bào)告的檢查。</b></p><p><b> 六、 題目附錄</b></p><p> 學(xué)生信息管理信息系統(tǒng)</p><p
12、> 學(xué)生成績(jī)管理信息系統(tǒng)</p><p><b> 圖書管理信息系統(tǒng)</b></p><p><b> 物資管理信息系統(tǒng)</b></p><p> 汽車銷售管理信息系統(tǒng)</p><p><b> 超市管理信息系統(tǒng)</b></p><p>
13、<b> 通訊錄管理信息系統(tǒng)</b></p><p><b> 工資管理信息系統(tǒng)</b></p><p><b> 酒店管理信息系統(tǒng)</b></p><p> 小區(qū)物業(yè)管理信息系統(tǒng)</p><p><b> 學(xué)生姓名: </b></p>
14、;<p><b> 指導(dǎo)教師:</b></p><p> 年 月 日</p><p><b> 需求分析</b></p><p> 學(xué)生管理系統(tǒng)的功能需求包括管理員對(duì)功能的需求和學(xué)生對(duì)功能的需求兩大部分。</p><p> 管理員權(quán)限最大,可對(duì)學(xué)生、課程情況進(jìn)行統(tǒng)一
15、管理,管理員對(duì)功能的需求有:</p><p> 有關(guān)學(xué)生信息的瀏覽;學(xué)生信息的添加、修改、刪除;學(xué)?;菊n程的瀏覽、添加、修改、刪除;學(xué)生成績(jī)的瀏覽與統(tǒng)計(jì);學(xué)生成績(jī)信息的添加、修改、刪除;學(xué)生選課人數(shù)的統(tǒng)計(jì)。而學(xué)生只有查詢功能,沒(méi)有別的功能(除了可以修改自己的密碼)。</p><p><b> 二、系統(tǒng)功能設(shè)計(jì)</b></p><p>
16、要求系統(tǒng)有以下功能:</p><p><b> 有良好的人機(jī)界面;</b></p><p> 由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理;</p><p> 原始數(shù)據(jù)修改簡(jiǎn)單方便,支持多條件修改;</p><p> 方便的數(shù)據(jù)查詢,支持多條件查詢;</p><p> 在相應(yīng)的權(quán)限下,刪
17、除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性好;</p><p> 數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);</p><p> 各模塊詳細(xì)功能見(jiàn)下:</p><p><b> 1、登陸管理: </b></p><p> 用戶名及密碼驗(yàn)證處理</p><p><b> 2、學(xué)生信息管理:</b&
18、gt;</p><p> 實(shí)現(xiàn)學(xué)生基本信息的維護(hù):錄入學(xué)生個(gè)人信息;</p><p> 學(xué)生信息列表及修改、刪除處理;</p><p><b> 學(xué)生信息查詢。</b></p><p><b> 3、課程信息管理:</b></p><p> 實(shí)現(xiàn)課程基本信息和選課信
19、息的維護(hù):選課、退課處理;</p><p> 課程基本信息維護(hù):添加、刪除;</p><p><b> 選課結(jié)果查詢。</b></p><p><b> 總體框架結(jié)構(gòu)如圖:</b></p><p><b> 系統(tǒng)操作流程圖:</b></p><p&g
20、t; 概念模型也稱信息模型,它是按用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p><b> 數(shù)據(jù)庫(kù)概念設(shè)計(jì)</b></p><p><b> 1、學(xué)生表</b></p><p> Sno sname ssex sage sdept</p>
21、<p> 2、課程表 </p><p> Cno cteacher</p><p> Cname credit </p><p> 3、選課表 </p><p> Sno
22、 cno grade sname cname</p><p><b> 4、 登陸表</b></p><p> Denglu_name userkind</p><p> Denglu_pwd
23、 denglu_sno </p><p><b> 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)</b></p><p> ?。?)根據(jù)已建立好的E-R圖選用關(guān)系模型設(shè)計(jì)關(guān)系表,</p><p><b> 學(xué)生表</b></p><p><b> 主碼見(jiàn)圖中鑰匙標(biāo)記</b></p>
24、<p> 實(shí)體完整性:主碼學(xué)號(hào)不為空</p><p><b> 課程表</b></p><p> 選課表參照完整性:主碼由兩個(gè)屬性構(gòu)成,必須作為表級(jí)完整性進(jìn)行定義</p><p> sno是外碼,被參照表是student; cno是外碼,被參照表是course</p><p> 用戶自定義完整性
25、:考試成績(jī)grade值在0~100區(qū)間內(nèi)。</p><p> 這只是部分截圖,因?yàn)檫x項(xiàng)太多所以沒(méi)有都放上來(lái)。</p><p> ?。?)根據(jù)系統(tǒng)的邏輯結(jié)構(gòu)和應(yīng)用需求,設(shè)計(jì)其外模式的視圖:</p><p> 部分視圖見(jiàn)下:考試成績(jī)不及格信息:</p><p><b> ?。?)滿足3NF:</b></p>
26、<p> 學(xué)生表中有屬性學(xué)號(hào),學(xué)生姓名,性別,年齡,系,sno (sname, ssex, sage, sdept) </p><p> 課程表中有屬性課程號(hào),課程名,學(xué)分,任課老師,也是主碼課程號(hào)能推出其它幾個(gè)屬性。</p><p> 學(xué)生選課表中有屬性 學(xué)號(hào),學(xué)生姓名,課程號(hào),課程名,考試成績(jī)</p><p> (sno, cno )
27、 grade , sno sname , cno cname, 有部分函數(shù)依賴關(guān)系,所以分解為:(sno, cno, grade) , (sno, sname), (cno, cname)滿足三范式。</p><p> 五、 系統(tǒng)編碼與實(shí)現(xiàn)</p><p><b> 1 、數(shù)據(jù)庫(kù)連接</b></p><p> pu
28、blic class DataBase</p><p><b> {</b></p><p><b> //連接字符串 </b></p><p> public static string connstring = ConfigurationSettings.AppSettings["Data Sourc
29、e=(local);Initial catalog=Myuser;Integrated Security=True"];</p><p> //實(shí)例化連接對(duì)象conn </p><p> SqlConnection conn = new SqlConnection(@"Data Source=localhost\sqlexpress;Initial Catalog=
30、Myuser;Integrated Security=True");</p><p> //檢測(cè)連接是否打開(kāi)</p><p> public void CheckConnection()</p><p><b> {</b></p><p> if (this.conn.State == Connect
31、ionState.Closed)</p><p><b> {</b></p><p> this.conn.Open();</p><p><b> }</b></p><p><b> }</b></p><p> //執(zhí)行語(yǔ)句返回Data
32、Set數(shù)據(jù)集</p><p> public DataSet ReturnDataSet(string strSQL)</p><p><b> {</b></p><p> CheckConnection();</p><p><b> try</b></p><p&g
33、t;<b> {</b></p><p> SqlDataAdapter sda = new SqlDataAdapter(strSQL, conn);</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds);</p><p> return ds;
34、</p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> throw new Exception(ex.Message);</p><p><b> }<
35、;/b></p><p><b> finally</b></p><p><b> {</b></p><p> conn.Close();</p><p><b> }</b></p><p><b> }</b>
36、;</p><p><b> 2、查詢語(yǔ)句:</b></p><p> Button1按鈕設(shè)置的是一個(gè)“查詢觸發(fā)器”,一單擊就會(huì)顯示出學(xué)生選課表里的所有信息。</p><p> protected void Button1_Click(object sender, EventArgs e)</p><p><
37、b> {</b></p><p> SqlConnection sql = new SqlConnection();</p><p> sql.ConnectionString = "Data Source=localhost\\sqlexpress;Initial Catalog=Myuser;Integrated Security=True;Pooli
38、ng=False";</p><p> sql.Open();</p><p> SqlCommand sql1 = new SqlCommand();</p><p> sql1.Connection = sql;</p><p> string sno = DropDownList1.SelectedItem.Text.
39、Trim();</p><p> string cmd = "select * from sc where sno='" + sno + "'";</p><p> SqlDataAdapter sqlDa = new SqlDataAdapter(cmd, sql);</p><p> DataSet
40、ds = new DataSet();</p><p> sqlDa.Fill(ds);</p><p> GridView1.DataSource = ds;</p><p> GridView1.DataBind();</p><p> sql.Close();}</p><p><b> 3、
41、刪除語(yǔ)句</b></p><p> protected void Button2_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> SqlConnection sql = new SqlConnection();</p><p>
42、 sql.ConnectionString = "Data Source=localhost\\sqlexpress;Initial Catalog=Myuser;Integrated Security=True;Pooling=False";</p><p> sql.Open();</p><p> SqlCommand sql2 = new SqlComma
43、nd();</p><p> sql2.Connection = sql;</p><p> string sno = DropDownList2.SelectedItem.Text.Trim();</p><p> string cmd1 = "delete from sc where sno='" + sno + "&
44、#39;";</p><p> SqlCommand cmd = new SqlCommand(cmd1,sql);</p><p> cmd.ExecuteNonQuery();</p><p> cmd.CommandText = "select * from sc";</p><p> SqlDat
45、aReader sdr = cmd.ExecuteReader();</p><p> DataTable dt = new DataTable();</p><p> dt.Load(sdr);</p><p> GridView2.DataSourceID = null;</p><p> GridView2.DataSource
46、 = dt;</p><p> GridView2.DataBind();</p><p> sql.Close();}</p><p> 刪除李勇信息,得到上圖。</p><p> 六 、實(shí)驗(yàn)心得與體會(huì):</p><p> 在開(kāi)發(fā)一個(gè)系統(tǒng)時(shí),前期的分析準(zhǔn)備工作非常重要,對(duì)于系統(tǒng)的需求要明確,這樣才能做到有的
47、放矢。特別是對(duì)于系統(tǒng)中數(shù)據(jù)的存儲(chǔ)和重要算法的設(shè)計(jì),設(shè)計(jì)的不好會(huì)出現(xiàn)大量的冗余,不僅浪費(fèi)存儲(chǔ)空間,還影響查詢效率。</p><p> 在設(shè)計(jì)初期,對(duì)一個(gè)功能模塊的設(shè)計(jì),最好想出兩種或兩種以上方案,由此進(jìn)行比較。在編程時(shí),養(yǎng)成良好的加注釋的習(xí)慣,這樣不僅能理清思路,而且可以為調(diào)試帶來(lái)方便。</p><p> 本次課程設(shè)計(jì),用到了SQL2008和Visual Studio2010, 數(shù)據(jù)庫(kù)部
48、分設(shè)計(jì)并不難,結(jié)合所學(xué)知識(shí),很快就能把表,視圖等建立起來(lái),當(dāng)然也有細(xì)節(jié)要注意到,比如:</p><p> primary key 與not null之間不能加逗號(hào),否則執(zhí)行有誤;</p><p> 刪除語(yǔ)句delete后面不可加*;</p><p> 插入語(yǔ)句只寫一個(gè)insert into table, values后面可以跟多個(gè)括號(hào),里面設(shè)置相匹配的值;&l
49、t;/p><p> 視圖建立在表之后但是執(zhí)行過(guò)程就會(huì)出現(xiàn)問(wèn)題,錯(cuò)誤提示“視圖得是第一個(gè)語(yǔ)句”,所以執(zhí)行時(shí)只能單獨(dú)選中它,然后執(zhí)行。</p><p> 當(dāng)整個(gè)設(shè)計(jì)執(zhí)行有誤需要再次執(zhí)行時(shí),必須先刪除上次執(zhí)行生成的表,試圖文件夾,否則軟件提示XX表/試圖已存在;</p><p> 萬(wàn)事開(kāi)頭難,開(kāi)始對(duì)那個(gè)軟件不熟悉會(huì)出各種錯(cuò),經(jīng)過(guò)老師的幫助,教導(dǎo),逐漸熟練。</p&
50、gt;<p> 相對(duì)于SQL,studio部分就顯得棘手。對(duì)C#一竅不通的我去圖書館借書,看起書來(lái)問(wèn)題不是很大,但是自己動(dòng)手做卻又困難重重,好幾次遇到麻煩。仿照書上敲了很多代碼,也許是軟件環(huán)境或語(yǔ)言有出入,結(jié)果總不是自己想要的,雖然對(duì)本實(shí)驗(yàn)是無(wú)用功,但卻也從中學(xué)到許多知識(shí)。</p><p> 通過(guò)這次課設(shè),我只是初步掌握了使用C#,由于時(shí)間倉(cāng)促,系統(tǒng)還有很多不足之處,如:修改部分不夠完善,成績(jī)輸
51、入模塊不支持學(xué)生成績(jī)批量輸入,在今后的學(xué)習(xí)中我會(huì)加強(qiáng)理論與實(shí)踐的結(jié)合,通過(guò)不斷的摸索來(lái)強(qiáng)化,鞏固自己的知識(shí),提高獨(dú)立解決問(wèn)題能力。</p><p> 更深的感受是——自己不去動(dòng)手,什么事都是那么難,只要自己愿意去做,也許暫時(shí)得不出正確結(jié)果,但是自己會(huì)對(duì)語(yǔ)言或工程整體設(shè)計(jì)的大致輪廓了然于胸,對(duì)一個(gè)完整的系統(tǒng)從需求分析到概要設(shè)計(jì)到詳細(xì)設(shè)計(jì)到系統(tǒng)測(cè)試的流程有了更新的掌握。</p><p>&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)學(xué)生管理信息系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---學(xué)生學(xué)籍管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)原理b課程設(shè)計(jì)--數(shù)據(jù)庫(kù)學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生宿舍管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--- 論壇管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-酒店管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)旅行社管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----電腦銷售管理信息系統(tǒng)報(bào)告
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--考勤管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---醫(yī)院管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論