數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告---學(xué)生信息管理信息系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論