學(xué)生學(xué)籍管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計_第1頁
已閱讀1頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)據(jù)庫實驗報告</b></p><p><b>  一 實驗名稱</b></p><p><b>  學(xué)生學(xué)籍管理系統(tǒng)</b></p><p><b>  二 實驗?zāi)康?lt;/b></p><p>  數(shù)據(jù)庫課程設(shè)計實驗是一門獨立

2、開設(shè)的實驗課程。數(shù)據(jù)庫課程設(shè)計實驗對于鞏固數(shù)據(jù)庫知識,加強學(xué)生的實際動手能力和提高學(xué)生綜合素質(zhì)十分必要。本課程設(shè)計實驗主要數(shù)據(jù)庫設(shè)計,進行數(shù)據(jù)庫編程實踐。通過本實驗,使學(xué)生了解數(shù)據(jù)庫系統(tǒng)的理論,掌握數(shù)據(jù)庫的設(shè)計方法及數(shù)據(jù)庫的運用和開發(fā)技術(shù)。</p><p>  1. 掌握數(shù)據(jù)庫設(shè)計的基本方法,熟悉數(shù)據(jù)庫設(shè)計的步驟;</p><p>  2. 通過設(shè)計數(shù)據(jù)庫系統(tǒng)應(yīng)用課題,進一步熟悉數(shù)據(jù)庫管理

3、系統(tǒng)的操作技術(shù),提高動手能力,提高分析問題和解決問題的能力;</p><p>  要求學(xué)生根據(jù)所學(xué)的數(shù)據(jù)庫原理與程序設(shè)計的知識,能夠針對一個小型的數(shù)據(jù)庫管理系統(tǒng),進行系統(tǒng)的需求分析,系統(tǒng)設(shè)計,數(shù)據(jù)庫設(shè)計,編碼等,完成題目要求的功能,從而達到掌握開發(fā)一個小型數(shù)據(jù)庫的目的.</p><p><b>  三 實驗簡述</b></p><p>  隨著

4、社會的發(fā)展,基本上所有的具有一定數(shù)量數(shù)據(jù)的企事業(yè)單位或機關(guān)部門都開始使用計算機數(shù)據(jù)庫來做管理。在各大中小學(xué)校,用計算機管理學(xué)校的信息已經(jīng)越來越普遍了。用計算機不但可以提高工作效率,而且還節(jié)省了許多人力物力,增強了學(xué)校資料的安全性,提高了學(xué)校的管理能力,為此,用計算機來管理學(xué)校的信息,是非常必要的。該課程設(shè)計要求設(shè)計一個學(xué)籍管理的數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫中包含學(xué)生的基本信息,學(xué)校院系信息,班級信息以及課程設(shè)置的信息。同時還要設(shè)計它們之間的關(guān)系,

5、如學(xué)生與課程關(guān)系和學(xué)生的成績等,最后還要對一些數(shù)據(jù)進行查詢,如查詢學(xué)生成績的各種集合等。而本系統(tǒng)的開發(fā),為學(xué)校的工作效率帶來了一個質(zhì)的飛躍,為此主要表現(xiàn)有以下幾個方面:</p><p>  第一,本系統(tǒng)的運行可以代替人工進行許多繁雜的勞動;第二,本系統(tǒng)的運行可以節(jié)省許多資源;第三,本系統(tǒng)的運行可以大大的提高學(xué)校的工作效率;第四,本系統(tǒng)可以使敏感文檔更加安全,等等。我們通過該課程設(shè)計,應(yīng)該達到的目的是把數(shù)據(jù)庫理論知

6、識更加的鞏固加深,加強動手能力與實踐能力,學(xué)以致用,與現(xiàn)實生活中的應(yīng)用充分的結(jié)合起來。</p><p><b>  四 系統(tǒng)設(shè)計與實現(xiàn)</b></p><p><b>  1.數(shù)據(jù)庫設(shè)計</b></p><p> ?。?)概念結(jié)構(gòu)設(shè)計(E-R圖)</p><p> ?、?邏輯結(jié)構(gòu)設(shè)計,完整性約束設(shè)計

7、與實現(xiàn)</p><p>  學(xué)生信息:(學(xué)號,姓名,入學(xué)時間,班號,性別,聯(lián)系電話,出生日期,專業(yè),狀態(tài))</p><p>  課程信息:(課程號,課程名,課程類型,學(xué)分)</p><p>  班級信息:(班號,年級,專業(yè),班主任)</p><p>  選課表:(學(xué)號,姓名,課程號,課程名)</p><p>  教學(xué)計

8、劃:(年級,專業(yè),學(xué)期,課程名)</p><p> ?、?整理《數(shù)據(jù)庫表目錄》和《數(shù)據(jù)庫結(jié)構(gòu)表》</p><p>  數(shù)據(jù)庫表/視圖一覽表</p><p>  表3.1 學(xué)生信息表</p><p>  表3.2 課程信息表</p><p><b>  表3.3 班級信息</b></p>

9、<p><b>  表3.4 選課表</b></p><p>  表3.5 成績信息表</p><p>  表3.6 教學(xué)計劃表</p><p><b>  2. 系統(tǒng)設(shè)計</b></p><p> ?。?)程序功能模塊圖</p><p> ?。?)功能描述,包

10、括查詢內(nèi)容</p><p>  ?實現(xiàn)學(xué)生基本情況的錄入,修改,刪除等基本操作.</p><p>  ?對學(xué)生基本信息提供靈活的查詢方式.</p><p>  ?完成一個班級的學(xué)期選課功能.</p><p>  ?實現(xiàn)學(xué)生成績的錄入,修改,刪除等基本操作.</p><p>  ?能方便的對學(xué)生的各學(xué)期成績進行

11、查詢.</p><p>  ?具有成績統(tǒng)計,排名等功能.</p><p>  ?具有留級,休學(xué)等特殊情況的處理功能.</p><p>  ?能輸出常用的各種報表.</p><p>  ?具有數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)功能.</p><p>  ?學(xué)生成績表的設(shè)計,要考慮到不同年級的教學(xué)計劃的變化</p>

12、<p><b>  3. 系統(tǒng)實現(xiàn)</b></p><p> ?、?建立數(shù)據(jù)庫對象,查詢語句的全部SQL命令(存儲過程)</p><p>  create table 學(xué)生信息</p><p>  (學(xué)號int primary key NOT NULL,</p><p>  姓名char(10),<

13、/p><p>  性別char(2),</p><p>  出生日期datetime,</p><p>  班號char(12),</p><p>  年級char(10),</p><p>  電話號碼char(11),</p><p>  入學(xué)日期datetime,</p><

14、;p>  專業(yè)char(10),</p><p>  狀態(tài)char(10),</p><p><b>  )</b></p><p>  create table 課程信息( </p><p>  課程號char(10) primary key not null,</p><p>  課程名

15、char(10),</p><p>  課程類型 char(10),</p><p>  學(xué)分char(10) )</p><p>  create table 班級信息(</p><p>  班號char(12)primary key not null,</p><p>  年級char(10),</p>

16、<p>  班主任char(10),</p><p>  專業(yè)char(10) )</p><p>  create table 選課表(</p><p>  學(xué)號char(10),</p><p>  姓名char(10),</p><p>  年級char(10),</p><p&

17、gt;  課程號char(10),</p><p>  課程名char(10),</p><p><b>  )</b></p><p>  create table 成績信息(</p><p>  學(xué)號int not null,</p><p>  姓名char(10),</p>

18、<p>  課程號char(10),</p><p>  課程名char(10),</p><p>  成績float(8),</p><p>  學(xué)分char(10),</p><p><b>  學(xué)期int )</b></p><p>  Create table 教學(xué)計劃表(<

19、;/p><p>  年級char(10),</p><p>  專業(yè)char (10),</p><p>  班號char(12),</p><p><b>  學(xué)期int,</b></p><p>  課程號char(10),</p><p>  課程名char(10),

20、)</p><p>  CREATE procedure 添加學(xué)生信息</p><p><b>  (@學(xué)號int,</b></p><p>  @姓名char(10),</p><p>  @性別char(2),</p><p>  @出生日期datetime,</p><p

21、>  @班號char(12),</p><p>  @電話號碼char(11),</p><p>  @入學(xué)日期datetime,</p><p>  @專業(yè)char(10),</p><p>  @狀態(tài)char(10),</p><p>  @回復(fù)char(20)output)</p><p

22、><b>  as </b></p><p>  if exists(select*from 學(xué)生信息where 學(xué)號=@學(xué)號)</p><p><b>  begin</b></p><p>  set @回復(fù)='本條記錄已經(jīng)存在'</p><p><b>  en

23、d</b></p><p><b>  else</b></p><p><b>  insert</b></p><p><b>  into </b></p><p><b>  學(xué)生信息</b></p><p> 

24、 values(@學(xué)號,@姓名,@性別,@出生日期,@班號,@電話號碼,@入學(xué)日期,@專業(yè),@狀態(tài))</p><p><b>  GO</b></p><p>  CREATE procedure 刪除學(xué)生信息</p><p><b>  (@學(xué)號int)</b></p><p><b>

25、  as</b></p><p>  if exists(select*from 學(xué)生信息where 學(xué)號=@學(xué)號)</p><p><b>  DELETE</b></p><p>  FROM學(xué)生信息WHERE學(xué)號in(@學(xué)號)</p><p>  if exists(select*from 選課表whe

26、re 學(xué)號=@學(xué)號)</p><p><b>  DELETE</b></p><p>  FROM選課表WHERE學(xué)號in(@學(xué)號)</p><p>  if exists(select*from 成績信息where 學(xué)號=@學(xué)號)</p><p><b>  DELETE</b></p&g

27、t;<p>  FROM成績信息WHERE學(xué)號in(@學(xué)號)</p><p><b>  Go</b></p><p>  CREATE PROCEDURE 修改學(xué)生信息</p><p><b>  (@學(xué)號int,</b></p><p>  @姓名char(10),</p&g

28、t;<p>  @性別char(2),</p><p>  @出生日期datetime,</p><p>  @班號char(12),</p><p>  @電話號碼char(11),</p><p>  @入學(xué)日期datetime,</p><p>  @專業(yè)char(10),</p>&

29、lt;p>  @狀態(tài)char(10) )</p><p><b>  as</b></p><p>  UPDATE 學(xué)生信息</p><p>  SET 學(xué)號=@學(xué)號,姓名=@姓名,性別=@性別,出生日期=@出生日期,班號=@班號,電話號碼=@電話號碼,入學(xué)日期=@入學(xué)日期,專業(yè)=@專業(yè),狀態(tài)=無</p><p>

30、;  WHERE 學(xué)號=@學(xué)號</p><p><b>  Go</b></p><p>  create procedure 查詢學(xué)生信息</p><p>  @姓名char(10)</p><p><b>  as</b></p><p>  SELECT * FROM

31、學(xué)生信息WHERE 姓名=@姓名</p><p><b>  go</b></p><p>  create procedure 班級選課</p><p>  (@班號char(12),</p><p>  @年級char(10),</p><p>  @專業(yè)char(10),</p>

32、<p><b>  @學(xué)期int)</b></p><p><b>  As</b></p><p><b>  Insert</b></p><p><b>  Into選課表</b></p><p>  Values('selec

33、t學(xué)號from學(xué)生信息where(年級=@年級and班號=@班號and專業(yè)=@專業(yè))','select姓名from學(xué)生信息where(年級=@年級and班號=@班號and專業(yè)=@專業(yè))','select課程號from教學(xué)計劃where(年級=@年級and班號=@班號and專業(yè)=@專業(yè)and學(xué)期=@學(xué)期)','select課程名from教學(xué)計劃where(年級=@年級and班號=@班號and

34、專業(yè)=@專業(yè)and學(xué)期=@學(xué)期),select學(xué)分from課程信息where課程號=(select課程號from教學(xué)計劃where年級=@年級and班號=@班號and專業(yè)=@專業(yè))')</p><p><b>  Go</b></p><p>  Create procedure 添加成績信息</p><p><b>  (@

35、學(xué)號int,</b></p><p>  @姓名char(10),</p><p>  @課程號char(10),</p><p>  @課程名char(10),</p><p>  @成績float(8),</p><p>  @學(xué)分char(10))</p><p><b&

36、gt;  As</b></p><p>  Insert into成績信息</p><p>  Values(@學(xué)號,@姓名,@課程號,@課程名,@成績,@學(xué)分) </p><p><b>  Go</b></p><p>  Create procedure 刪除成績信息</p><p&

37、gt;<b>  (@學(xué)號int)</b></p><p><b>  As</b></p><p><b>  DELETE </b></p><p>  FROM成績信息WHERE學(xué)號in(@學(xué)號)</p><p><b>  Go</b></p

38、><p>  Create procedure 修改成績信息</p><p><b>  (@學(xué)號int,</b></p><p>  @姓名char(10),</p><p>  @課程號char(10),</p><p>  @課程名char(10),</p><p>  

39、@成績float(8),</p><p>  @學(xué)分char(10) )</p><p><b>  As</b></p><p>  Update 成績信息</p><p>  set 學(xué)號=@學(xué)號, 姓名=@姓名,課程號=@課程號,課程名=@課程名,成績=@成績,select學(xué)分from課程信息where課程號=@課

40、程號</p><p>  where 學(xué)號=@學(xué)號</p><p><b>  Go</b></p><p>  Create procedure 成績查詢</p><p><b>  @學(xué)號,</b></p><p><b>  @學(xué)期</b><

41、/p><p><b>  As</b></p><p>  Select學(xué)號,姓名.成績from成績信息where學(xué)號=@學(xué)號and學(xué)期@學(xué)期、</p><p><b>  Go</b></p><p>  Create procedure 成績排名</p><p>  (@班號

42、char(12),</p><p>  @年級char(10),</p><p>  @專業(yè)char(10))</p><p><b>  As</b></p><p>  Select 學(xué)號,姓名,成績</p><p>  from成績信息,班級信息</p><p>  

43、where成績信息.(select學(xué)號from學(xué)生信息where班號=@班號and年級=@年級and專業(yè)=@專業(yè))=班級信息.(select學(xué)號from學(xué)生信息where班號=@班號and年級=@年級and專業(yè)=@專業(yè))</p><p>  Order by 成績DESC</p><p><b>  Go</b></p><p>  Creat

44、e procedure 成績統(tǒng)計</p><p>  (@班號char(12),</p><p>  @年級char(10),</p><p>  @專業(yè)char(10))</p><p><b>  As</b></p><p>  Select sum(成績) 總成績</p>&

45、lt;p>  from 成績信息,班級信息</p><p>  where成績信息.(select學(xué)號from學(xué)生信息where班號=@班號and年級=@年級and專業(yè)=@專業(yè))=班級信息.(select學(xué)號from學(xué)生信息where班號=@班號and年級=@年級and專業(yè)=@專業(yè))</p><p>  Group by學(xué)號</p><p><b>

46、  Go</b></p><p>  Create procedure 留級休學(xué)</p><p><b>  As</b></p><p>  If ((select sum(學(xué)分)from成績信息group by 學(xué)期)<=20)</p><p>  Begin update 學(xué)生信息set 狀態(tài)=&

47、#39;留級'</p><p><b>  End</b></p><p><b>  Else</b></p><p><b>  Begin</b></p><p>  Update 學(xué)生信息set 狀態(tài)='null'</p><

48、p><b>  End</b></p><p><b>  Go</b></p><p><b>  數(shù)據(jù)庫備份</b></p><p>  Use master</p><p><b>  Go</b></p><p>  

49、Exec sp_addumpdevice’disk’,’學(xué)生管理系統(tǒng)_1’,</p><p>  DISK=”c:\Program Files\Microsoft SQL Sever\MSSQL\BACKUP\學(xué)生管理系統(tǒng)_1.dat”</p><p><b>  Go</b></p><p>  BACKUP DATABASE 學(xué)生管理系統(tǒng)T

50、O學(xué)籍管理系統(tǒng)_1</p><p><b>  Go</b></p><p><b>  還原數(shù)據(jù)庫備份</b></p><p>  RESTORE DATABASE 學(xué)生管理系統(tǒng)</p><p>  From學(xué)籍管理系統(tǒng)_1</p><p><b>  Go<

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論