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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  數(shù)學與計算機學院</b></p><p><b>  課程設計說明書</b></p><p>  課 程 名 稱: 大型數(shù)據(jù)庫-課程設計 </p><p>  課 程 代 碼: </p>&

2、lt;p>  題 目: 學生成績管理系統(tǒng) </p><p>  年級/專業(yè)/班: </p><p>  學 生 姓 名: </p><p>  學   號:

3、 </p><p>  開 始 時 間: 2012 年 6 月 12 日</p><p>  完 成 時 間: 2012 年 6 月 30 日</p><p><b>  課程設計成績:</b></p><p>  指導教師簽名: 年 月

4、 日</p><p><b>  目錄</b></p><p><b>  摘 要3</b></p><p><b>  引言4</b></p><p><b>  1 開發(fā)環(huán)境4</b></p><p>  1.1 硬件

5、環(huán)境4</p><p>  1.2 軟件環(huán)境5</p><p>  1.2.1 SQL Server 2005、Delphi7簡單介紹5</p><p><b>  2 需求分析7</b></p><p>  2.1 信息需求7</p><p>  2.2 功能需求7</p&g

6、t;<p><b>  3概念結構設計7</b></p><p><b>  4邏輯結構設計7</b></p><p>  5 數(shù)據(jù)庫實現(xiàn)8</p><p>  5.1 創(chuàng)建數(shù)據(jù)庫8</p><p>  5.2 創(chuàng)建數(shù)據(jù)表格9</p><p>  6

7、 數(shù)據(jù)庫的運行和維護10</p><p>  6.1 數(shù)據(jù)定義10</p><p>  6.2 數(shù)據(jù)查詢11</p><p>  6.2.1 單表查詢11</p><p>  6.2.2 連接查詢11</p><p>  6.2.3 操作結果集查詢12</p><p> 

8、 6.2.4 嵌套查詢12</p><p>  6.3 數(shù)據(jù)庫的更新12</p><p>  6.3.1插入數(shù)據(jù)12</p><p>  6.3.2 修改數(shù)據(jù)12</p><p>  6.3.3 刪除數(shù)據(jù)13</p><p>  6.4 數(shù)據(jù)庫索引13</p><p>  

9、6.4.1 建立索引13</p><p>  6.4.2 刪除索引13</p><p>  6.4 數(shù)據(jù)庫視圖13</p><p>  6.5 數(shù)據(jù)庫的安全性15</p><p>  6.6數(shù)據(jù)庫的完整性15</p><p>  7 Delphi7軟件實現(xiàn)16</p><p>

10、;  7.1 界面設計16</p><p>  7.2 數(shù)據(jù)庫連接17</p><p>  7.3 登陸權限17</p><p>  7.3.1 用戶登陸設計17</p><p>  7.3.2 權限管理設計17</p><p>  7.4 管理界面18</p><p>  

11、7.5 查詢界面18</p><p>  7.6 統(tǒng)計界面18</p><p>  7.7 報表界面18</p><p><b>  2程序測試19</b></p><p>  8.1 測試環(huán)境19</p><p>  8.2功能測試19</p><p>

12、;  8.3 問題匯總19</p><p><b>  結論19</b></p><p><b>  參考文獻20</b></p><p><b>  引言</b></p><p>  在我國,各大中小學校的各類信息管理系統(tǒng)并非一個新的課題。大多數(shù)學校信息管理系統(tǒng)不完善

13、,甚至有的學校根本就沒有任何信息管理系統(tǒng),所有的管理工作幾乎都是靠手工完成。特別是在西部貧困地區(qū),學校的信息管理都依然靠手工操作,這十分落后,效率極低,成本很大,而且極易出錯。隨著計算機技術不斷地日新月異地發(fā)展,信息化是社會進程的必然趨勢,學校的信息管理只有快,精,準,才能發(fā)揮其作用。從人工操作改為計算機的自動化系統(tǒng),人工操作必將被計算機代替。</p><p>  有些學校雖使用計算機管理系統(tǒng),但是仍然存在很多問

14、題。有的系統(tǒng)很不完善到處是漏洞,可以說是千瘡百孔,這樣極不完善的系統(tǒng)對管理來說是沒有任何保障的。問題一日不解決,效率就一日提不上去。為此,我動手設計了一個簡單的學生成績管理系統(tǒng),學習管理系統(tǒng)的設計,爭取早日解決這些問題。</p><p>  本文檔是關于用戶對于學生成績管理系統(tǒng)的功能和性能的要求,重點描述了學生成績管理系統(tǒng)的設計過程。本文檔的預期讀者是:設計人員;開發(fā)人員;項目管理人員;測試人員;用戶。</

15、p><p><b>  1 開發(fā)環(huán)境</b></p><p>  我使用的系統(tǒng)是Windows7,而SQL Server 2005在此系統(tǒng)下很難成功安裝,所以我在Windows7下安裝虛擬機Virtualbox,然后虛擬系統(tǒng)安裝Windows XP SP2。在Windows XP里面裝上了SQL Server 2005、Delphi7用于本系統(tǒng)的開發(fā)。</p>

16、;<p><b>  1.1 硬件環(huán)境</b></p><p>  電腦:X86 兼容臺式電腦</p><p>  操作系統(tǒng):Windows 7 旗艦版(32bit)</p><p>  處理器:Pentium(R) Dual-Core CPU E5400 @ 2.70GHz</p><p>  主板:梅捷

17、 SY-I5G41-L V2.0</p><p>  內存 :4GB (威剛 PC3-10700 DDR3 SDRAM 1334MHz)</p><p>  硬盤:Western Digital WDC WD5000AAKS-00V1A0 (500GB)</p><p>  顯卡:NVIDIA GeForce GTS 250</p><p>

18、  網(wǎng)絡適配器:Realtek PCIe FE Family Controller</p><p>  聲卡:Realtek High Definition audio</p><p><b>  1.2 軟件環(huán)境</b></p><p>  1.2.1 SQL Server 2005、Delphi7簡單介紹</p><p&

19、gt; ?。?)SQL Server 是一個關系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows N

20、T 版本。Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應SQL Server安裝界面用。</p><p>  以下表格介紹了SQL Server 2005的幾個主要特性增強,重點關注企業(yè)數(shù)據(jù)管理、開發(fā)人員生產(chǎn)力和商務智能。企業(yè)管理特點如下: </p><p>  (2)Delphi,是Windows平臺下著名的快速應用程序開發(fā)工具(Rapid Application

21、 Development,簡稱RAD)。它的前身,即是DOS時代盛行一時的“BorlandTurbo Pascal”,最早的版本由美國Borland(寶蘭)公司于1995年開發(fā)。主創(chuàng)者為Anders Hejlsberg。經(jīng)過數(shù)年的發(fā)展,此產(chǎn)品也轉移至Embarcadero公司旗下。Delphi是一個集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL

22、工具與編譯器,配合連結數(shù)據(jù)庫的功能,構成一個以面向對象程序設計為中心的應用程序開發(fā)工具。它的特點如下:</p><p> ?、僦苯泳幾g生成可執(zhí)行代碼,編譯速度快。由于Delphi編譯器采用了條件編譯和選擇鏈接技術,使用 Delphi界面</p><p>  它生成的執(zhí)行文件更加精煉,運行速度更快。在處理速度和存取服務器方面,Delphi的性能遠遠高于其他同類產(chǎn)品。</p>

23、<p> ?、谥С謱⒋嫒∫?guī)則分別交給客戶機或服務器處理的兩種方案,而且允許開發(fā)人員建立一個簡單的部件或部件集合,封裝起所有的規(guī)則,并獨立于服務器和客戶機,所有的數(shù)據(jù)轉移通過這些部件來完成。這樣,大大減少了對服務器的請求和網(wǎng)絡上的數(shù)據(jù)傳輸量,提高了應用處理的速度。</p><p>  ③提供了許多快速方便的開發(fā)方法,使開發(fā)人員能用盡可能少的重復性工作完成各種不同的應用。利用項目模板和專家生成器可以很快建立

24、項目的構架,然后根據(jù)用戶的實際需要逐步完善。</p><p> ?、芫哂锌芍赜眯院涂蓴U展性。開發(fā)人員不必再對諸如標簽、按鈕及對話框等Windows的常見部件進行編程。Delphi包含許多可以重復使用的部件,允許用戶控制Windows的開發(fā)效果。</p><p> ?、菥哂袕姶蟮臄?shù)據(jù)存取功能。它的數(shù)據(jù)處理工具BDE(BorlandDatabaseEngine)是一個標準的中介軟件層,可以用來

25、處理當前流行的數(shù)據(jù)格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Informix、Oracle等大型數(shù)據(jù)庫連接。 Delphi既可用于開發(fā)系統(tǒng)軟件,也適合于應用軟件的開發(fā)。</p><p> ?、迵碛袕姶蟮木W(wǎng)絡開發(fā)能力,能夠快速的開發(fā)B/S應用,它內置的IntraWeb和ExpressWeb使得對于網(wǎng)絡的開發(fā)效率超過了其他任何的開發(fā)工具。</p

26、><p> ?、逥elphi使用獨特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現(xiàn)在最優(yōu)秀的類庫,它使得Delphi在軟件開發(fā)行業(yè)處于一個絕對領先的地位。用戶可以按自己的需要,任意的構建、擴充、甚至是刪減VCL,以滿足不同的需要。</p><p> ?、鄰腄elphi8開始Delphi也支持.Net框架下程序開發(fā)。</p><p>  當前DELPHI 已經(jīng)成為

27、一個品牌,而不僅僅是一個開發(fā)平臺或開發(fā)語言的名稱。 當前DELPHI產(chǎn)品已經(jīng)由CodeGear公司繼續(xù)發(fā)展,該公司是BORLAND公司的全資子公司。當前,CodeGear為廣大開發(fā)者提供了DELPHI FOR PHP,以高度可視化的方式全面支持面向對象的PHP 網(wǎng)站開發(fā),大大提高了PHP開發(fā)網(wǎng)站的代碼復用程度,成為WEB應用開發(fā)的新利器。</p><p><b>  2 需求分析</b>&

28、lt;/p><p>  2.1 信息需求 </p><p>  高校學生的成績管理工作量大、繁雜,人工處理非常困難。學生成績管理系統(tǒng)借助于計算機強大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準確性。學生成績管理系統(tǒng)的開發(fā)運用,實現(xiàn)了學生成績管理的自動化,不僅把廣大教師從繁重的成績管理工作中解脫出來、把學校從傳統(tǒng)的成績管理模式中解放出來,而且對學生成績的判斷和整理更合理、更公正,同

29、時也給教師提供了一個準確、清晰、輕松的成績管理環(huán)境。</p><p><b>  2.2 功能需求</b></p><p>  能夠進行數(shù)據(jù)庫的數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制等處理功能,進行聯(lián)機處理的相應時間要短。</p><p>  具體功能應包括:系統(tǒng)應該提供課程安排數(shù)據(jù)的插入、刪除、更新、查詢;成績的添加、修改、刪除、查詢,學生及教職工基本

30、信息查詢的功能。</p><p><b>  3概念結構設計</b></p><p>  概念結構設計階段是整個數(shù)據(jù)庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。</p><p>  設計教室管理數(shù)據(jù)庫包括管理員、學生、教師、課程四個關系。</p><p><b> 

31、 4邏輯結構設計</b></p><p>  邏輯結構是獨立于任何一種數(shù)據(jù)模型的信息結構。邏輯結構的任務是把概念結構設計階段設計好的基本E-R圖轉化為宜選用的DBMS所支持的數(shù)據(jù)模型相符合的邏輯結構,并對其進行優(yōu)化。E-R圖向關系模型轉化要解決的問題是如何將實體型和實體間的聯(lián)系轉化為關系模式,如何確定這些關系模式的屬性和碼。設計學生成績管理數(shù)據(jù)庫,包括課程、學生、教師、成績四個關系, 其關系模式中對每

32、個實體定義的屬性如下:</p><p>  課程信息表(課號,課程名稱,學分,主講教師,學時)</p><p>  學生信息表 (學號,姓名,性別,年齡,所在院系,專業(yè))</p><p>  學生成績表(學號,課號,成績)</p><p>  教師信息表(教工編號,姓名,性別,年齡,所在院系)</p><p>  用戶

33、權限表(UserName,Password,權限)</p><p>  學生選課表(學號,課號)</p><p><b>  5 數(shù)據(jù)庫實現(xiàn)</b></p><p>  5.1 創(chuàng)建數(shù)據(jù)庫 </p><p>  打開SQL Sever 2005,選擇默認數(shù)據(jù)庫連接。接下來右鍵單擊數(shù)據(jù)新建數(shù)據(jù)庫,命名為:學生成績管理系統(tǒng)

34、。</p><p>  或者:(1)打開SQL工具“查詢分析器”</p><p>  (2)在查詢窗口中鍵入下列SQL語句</p><p>  create database學生成績管理系統(tǒng)</p><p>  執(zhí)行上述SQL語句即可新建一名為 “學生成績管理系統(tǒng)”的數(shù)據(jù)庫</p><p>  5.2 創(chuàng)建數(shù)據(jù)表格&l

35、t;/p><p>  一個完整的數(shù)據(jù)庫不可缺少的就是數(shù)據(jù)表,若干個數(shù)據(jù)表的集合成一個數(shù)據(jù)庫。數(shù)據(jù)表主要用來存放一定格式的記錄,數(shù)據(jù)表中的行被稱為記錄,列被稱為字段。創(chuàng)建數(shù)據(jù)表的過程其實就是定義字段的過程。</p><p>  在此學生成績管理系統(tǒng)中需要創(chuàng)建六個表,即課學生信息表、學生成績表、教師信息表、用戶權限表、學生選課表、課程信息表。</p><p>  創(chuàng)建數(shù)據(jù)庫

36、后,為學生成績管理系統(tǒng)數(shù)據(jù)庫添加數(shù)據(jù)表,步驟如下。</p><p><b>  新建查詢窗口</b></p><p>  在查詢窗口中鍵入下列SQL語句</p><p> ?、賑reate table課程信息表( //創(chuàng)建課程信息表</p><p>  課號char(10) primary key,

37、 //課號</p><p>  課程名稱char(15) not null, //課程名稱</p><p>  主講教師char(4) Not null, //主講教師</p><p>  學時 int Not null, //學時</p><p>  學分int, Not null

38、 //學分)</p><p>  執(zhí)行上述SQL語句即可創(chuàng)建課程信息表相關表格;</p><p>  ②create table 學生信息表( //創(chuàng)建學生信息表</p><p>  學號 char(10) primary key, //學號</p><p>  姓名 char(4) not null,

39、 //姓名</p><p>  性別 char(1) not null, //性別 </p><p>  年齡 int not null, //年齡</p><p>  所在院系char(15) not null, //所在院系</p><p>  專業(yè) char(15)

40、 not null //專業(yè))</p><p>  執(zhí)行上述SQL語句即可創(chuàng)建學生信息表相關表格;</p><p> ?、踓reate table 教師信息表( //創(chuàng)建教師信息表</p><p>  教工編號char(10) primary key, //教工編號</p><p>  姓

41、名char(4) not null, //姓名</p><p>  性別 char(1) not null, //性別</p><p>  年齡 int not null, //年齡</p><p>  所在院系 char(15) not null //所在院系)<

42、/p><p>  執(zhí)行上述SQL語句即可創(chuàng)建教師信息表相關表格;</p><p> ?、躢reate table 學生成績表( //創(chuàng)建學生成績表</p><p>  學號 char(10) primary key, //學號</p><p>  課號 char(10) primary key,

43、 //課號</p><p>  成績 int not null //成績)</p><p>  執(zhí)行上述SQL語句即可創(chuàng)建學生成績表相關表格;</p><p> ?、輈reate table 用戶權限表( //創(chuàng)建用戶權限表</p><p>  Use

44、rName char(10) primary key // 用戶名</p><p>  Password char(6) not null, //密碼 </p><p>  權限 int not null, //權限</p><p>  執(zhí)行上述SQL語句即可創(chuàng)建用戶權限表相關表格;<

45、;/p><p> ?、辌reate table 學生選課表( //創(chuàng)建學生選課表</p><p>  學號 char(10) primary key, //學號</p><p>  課號 char(10) primary key //課號 </p><p>  執(zhí)行上述SQL語句即可創(chuàng)建學生選課表相關表格。&

46、lt;/p><p>  6 數(shù)據(jù)庫的運行和維護</p><p>  6.1 數(shù)據(jù)定義 </p><p>  (1)基本表的創(chuàng)建,建表語句</p><p>  create table 表名</p><p><b>  (2)基本表的刪除</b></p><p>  drop

47、 table students</p><p><b>  6.2 數(shù)據(jù)查詢</b></p><p>  6.2.1 單表查詢</p><p> ?。?)查詢 學號 為0811080101學生的 姓名</p><p><b>  select姓名</b></p><p>

48、  from 學生信息表</p><p>  where 學號='0811080101'</p><p> ?。?)查詢 性別 為’女’并且 所在院系 為’計算機科學與工程學院’的 姓名</p><p><b>  select姓名</b></p><p>  from 學生信息表</p>

49、<p>  where 性別 ='女' and</p><p>  所在院系 ='工商'</p><p> ?。?)查詢所有學生的姓名和系別。</p><p>  select 學生,所在院系t</p><p>  from 學生信息表</p><p>  (4)查詢 所在院系

50、 為計算機科學與工程學院 系的 姓名。</p><p>  select 姓名</p><p>  from 學生信息表</p><p>  where 所在院系 ='計算機科學與工程學院'</p><p> ?。?)查詢所有學生所在院系名稱</p><p>  select distinct 所在

51、院系</p><p>  from 學生信息表</p><p> ?。?)查詢學生信息表中年齡小于21和年齡大于21的學生的姓名和所在院系別</p><p>  select 姓名,院系</p><p>  from 學生信息表</p><p>  where 年齡>21 or年齡<21</p&

52、gt;<p> ?。?)查詢所有學生的平均年齡</p><p>  select avg(年齡) as 平均年齡</p><p>  from 學生信息表</p><p>  6.2.2 連接查詢 </p><p> ?。?)學生的學號、姓名,所選課程的課號、課程名稱和成績、主講教師</p><p>

53、;  Select 學生信息表.學號,</p><p><b>  學生信息表.姓名,</b></p><p><b>  課程信息表.課號,</b></p><p>  課程信息表.課程名稱,</p><p><b>  學生成績表.成績,</b></p>&l

54、t;p><b>  教師信息表.姓名</b></p><p>  from學生信息表, 課程信息表, 學生成績表, 教師信息表</p><p>  Where學生信息表.學號=學生成績表.學號 and </p><p>  課程信息表.課號=學生成績表.課號績and </p><p>  教師信息表.姓名=課程信息

55、表.主講教師</p><p> ?。?)找出教授數(shù)據(jù)庫原理的老師的教師名</p><p><b>  教師信息表.姓名</b></p><p>  from課程信息表, 教師信息表</p><p>  Where課程信息表.課號=教師信息表.教工編號 and課程信息表.課程名稱='數(shù)據(jù)庫原理'</p

56、><p>  6.2.3 操作結果集查詢</p><p>  查詢0811080102號同學和0811080103號同學共同選修的課程</p><p><b>  Select 課號</b></p><p>  From 學生成績表</p><p>  Where 學號='081108010

57、2'</p><p><b>  Intersect</b></p><p><b>  Select課號</b></p><p><b>  From學生成績表</b></p><p>  Where 學號='0811080103'</p>

58、<p>  6.2.4 嵌套查詢</p><p>  查詢選修了0301這門課的所有學生的學號、姓名、年齡、所在院系</p><p>  Select 學號,姓名,年齡,所在院系</p><p>  From 學生信息表</p><p>  Where 學號 in</p><p>  (select 學

59、號</p><p>  From 學生成績表</p><p>  Where 課號=’0301’)</p><p>  6.3 數(shù)據(jù)庫的更新</p><p><b>  6.3.1插入數(shù)據(jù)</b></p><p>  向學生信息表中添加一項記錄:</p><p>  姓名

60、:劉備,學號:0811080201,性別:男,年齡:24,所在院系:計算機科學與工程學院</p><p><b>  Insert</b></p><p>  Into 學生信息表(學號,性別,年齡,所在院系)</p><p>  Values ('0811080201',' 劉備', '男',&

61、#39; 36','計算機科學與工程學院')</p><p>  6.3.2 修改數(shù)據(jù)</p><p>  修改關羽的學號為081108023:</p><p>  Update 學生信息表</p><p>  Set 學號=’0811080203’</p><p>  Where 姓名=’關

62、羽’;</p><p>  6.3.3 刪除數(shù)據(jù)</p><p>  刪除所有工商學生的記錄</p><p><b>  Delete </b></p><p>  from 學生信息表</p><p>  Where(所在院系=’計算機科學與工程學院’);</p><p&g

63、t;  6.4 數(shù)據(jù)庫索引</p><p>  創(chuàng)建索引可以大大提高系統(tǒng)的性能。第一,通過創(chuàng)建唯一性索引,可以保證每一行數(shù)據(jù)的唯一性。第二,可以大大加快數(shù)據(jù)的檢索速度,這也是所以的最主要原因。第三,可以加速表與表之間的連接,特別是實現(xiàn)數(shù)據(jù)的參考完整性方面特有意義。第四,在使用ORDER BY和GROUP BY子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間。第五,通過使用索引,可以在查詢過程中,使用優(yōu)

64、化隱藏器,提高系統(tǒng)性能。</p><p>  6.4.1 建立索引</p><p>  (1) 在 課程信息表的 課號 列上創(chuàng)建非聚集索引。</p><p>  Create index 課程名稱 ON 課程信息表(課號)</p><p>  (2) 在 學生信息表 的學號 列上創(chuàng)建非聚集索引。</p><p>

65、  Create unique index學號 ON 學生信息表(學號)</p><p>  (3) 在學生信息表的 學號 列創(chuàng)建一個非聚集索引,要求索引鍵值按 學號 升序排列。</p><p>  Create index 學生學號 ON 學生信息表(學號 ASC)</p><p>  6.4.2 刪除索引</p><p>  刪除

66、學生信息表中的 學號 索引。</p><p>  Drop index 學號</p><p>  6.4 數(shù)據(jù)庫視圖</p><p>  (1)查詢所有學生選課的信息,包括學號、姓名、課號、課程名稱</p><p>  create view 學生選課查詢</p><p><b>  as</b&

67、gt;</p><p>  select 學生信息表.學號,姓名,課程信息表.課號,課程名稱</p><p>  from 學生信息表,學生選課表,課程信息表</p><p>  where 學生信息表.學號=學生選課表.學號</p><p>  and 課程信息表.課號=學生選課表.課號</p><p><b

68、>  go </b></p><p>  (2)查詢所有學生成績的信息,包括學號、姓名、課程名稱、成績</p><p>  create view 學生成績查詢</p><p><b>  as</b></p><p>  select 學生信息表.學號,姓名,課程信息表.課程名稱,成績</p&

69、gt;<p>  from 學生信息表,課程信息表,學生成績表,學生選課表</p><p>  where 學生信息表.學號=學生選課表.學號</p><p>  and 學生選課表.學號=學生成績表.學號</p><p>  and 學生信息表.學號=學生成績表.學號</p><p>  and 課程信息表.課號=

70、學生選課表.課號</p><p>  and 學生成績表.課號=學生選課表.課號</p><p>  and 學生成績表.課號=課程信息表.課號</p><p><b>  go </b></p><p><b>  (3)更新視圖:</b></p><p>  (1

71、)修改信息:將陳琦的名字改為陳琪琪</p><p>  Update 學生選課查詢</p><p>  set 學生名='關羽'</p><p>  where 學生名='張飛'</p><p>  (2)刪除信息:刪除視圖 學生選課查詢 中陳琪琪的記錄</p><p><b>

72、;  delete</b></p><p>  from score</p><p>  where 學生名='張飛'</p><p>  (4)刪除視圖:刪除前面的 學生選課查詢 視圖。</p><p>  drop view學生選課查詢</p><p>  6.5 數(shù)據(jù)庫的安全性&l

73、t;/p><p>  (1)把對 學生信息表 的insert權限授予用戶admin,并允許他再將此權限授予其他用戶。</p><p>  grant insert</p><p>  on table學生信息表</p><p><b>  to admin</b></p><p>  with gr

74、ant option</p><p> ?。?)把查詢表 學生選課表 的權限授給用戶陳琦。</p><p>  grant select</p><p>  on table學生信息表</p><p><b>  to 張飛</b></p><p> ?。?)把用戶陳琦查詢 學生信息表 權限收回。

75、</p><p>  revoke select </p><p>  on table學生信息表</p><p><b>  from 張飛 </b></p><p>  6.6數(shù)據(jù)庫的完整性</p><p>  對于學生成績表:成績的值應該在0和100之間:</p><p

76、>  create table 學生成績表( //創(chuàng)建學生成績表</p><p>  課號 char(10) primary key, //課號</p><p>  學號 char(10) primary key, //學號</p><p>  成績 int Not null

77、 //成績</p><p>  check (成績 >0 and 成績<=100 ) </p><p><b>  )</b></p><p><b>  7軟件實現(xiàn)</b></p><p><b>  7.1 界面設計</b>&l

78、t;/p><p>  我到網(wǎng)上找了一些管理系統(tǒng)的圖片,用PS進行了一些加工處理,再將所要用的標題和按鈕以及表格添加進去。總共12個界面,第一個是登陸界面,第二個是菜單界面,第十個是關于的界面,其余為功能界面。</p><p><b>  登錄界面一覽:</b></p><p><b>  管理界面一覽:</b></p&g

79、t;<p><b>  查詢界面一覽:</b></p><p>  7.2 數(shù)據(jù)庫連接 </p><p>  數(shù)據(jù)庫的連接要用到ADOConnection按鈕,然后用ADOTable按鈕連接數(shù)據(jù)庫的表和DataSource按鈕、DBGrid按鈕,用以顯示表的內容。連接的時候注意要將Active設置為true。做查詢表連接數(shù)據(jù)庫用ADOQuery和Dat

80、aSource、DBGrid三個按鈕,在button上鍵入相應的條件語句就能實現(xiàn)相應的查詢操作。</p><p><b>  7.3 登陸權限</b></p><p>  7.3.1 用戶登陸設計</p><p>  在用戶登錄界面的登錄按鈕上設置了具體的條件,學生只能在登錄后進行選課和成績以及課程的查詢操作,或者瀏覽關于軟件的制作團隊的信息

81、;教師則可以對學生的成績進行錄入修改等管理,對學生成績選課進行查看,以及查看統(tǒng)計和報表,瀏覽關于界面;管理員則可查看任何界面,擁有對教師、學生的信息進行修改的權限,還可以對不同的用戶進行授予權限。進入第菜單界面的時候,對于沒有權限的操作,菜單上顯示為不可操作的灰色。</p><p>  7.3.2 權限管理設計</p><p>  不同用戶的權限信息儲存在數(shù)據(jù)庫的用戶權限表格里面,管理員的

82、權限代碼為0,教師的權限代碼為1,學生的權限代碼為2。當用戶在登錄的時候,程序會與用的權限進行核對,賦予相應的權限。而這張用戶權限表則由管理員進行管理,可向其中添加、刪除、修改用戶以及權限。</p><p><b>  7.4 管理界面</b></p><p>  管理界面有教師信息管理、學生信息管理、課程信息管理、用戶權限管理以及成績管理,在各個界面有添加、刪除、

83、修改、提交、退出幾個選項,有相應權限的人可對其進行修改。</p><p><b>  7.5 查詢界面</b></p><p>  查詢界面主要是供學生進行成績和課程的查詢操作??梢暂斎胱约旱膶W號、姓名、課號、課程名稱進行成績與已選課程的查詢。</p><p>  7.6 統(tǒng)計界面 </p><p>  統(tǒng)計界面使用

84、了一個GroupBox,里面放了三個RadioButton,分別統(tǒng)計了總學生人數(shù)、不及格學生以及優(yōu)秀學生人數(shù)(成績在85分以上者)。</p><p>  7.7 報表界面 </p><p>  因為報表只用于查看打印,所以連接在學生選課查詢的視圖上。另外有預覽報表和打印報表以及退出按鈕,可實現(xiàn)報表預覽、打印。另外用函數(shù)功能顯示了總人數(shù)、最高成績、低成績以及平均成績。</p>

85、<p><b>  報表界面一覽:</b></p><p><b>  2程序測試</b></p><p><b>  8.1 測試環(huán)境</b></p><p>  Windows 7下安裝虛擬機軟件Virtualbox里面安裝WindowsXP,分配內存1GB,SQL Sever 20

86、05,Delphi7。</p><p><b>  8.2功能測試</b></p><p>  經(jīng)過測試,基本實現(xiàn)了管理、查詢、修改、更新、統(tǒng)計、報表等功能,程序比較穩(wěn)定。</p><p><b>  8.3 問題匯總</b></p><p>  本程序的不足主要在于:</p>&l

87、t;p>  選課和信息查詢只需要輸入學號或者課號就可以查詢到所有人的資料,在設計的時候考慮了很久還是沒有辦法解決這一問題。</p><p>  由于選課和成績表設置了學生、課程的外碼到學生信息表和學生選課表,所以向選課和成績表中添加學生信息表中不存在的信息時,程序會出錯,一直沒有找到有效地應對機制。</p><p>  界面在最大化之后圖片和按鈕的位置就會發(fā)生變化,與最初的界面完全不

88、一樣,也沒有找到解決辦法。</p><p><b>  結論</b></p><p>  本學生成績查詢系統(tǒng)主要參照課本,相對來說比較簡單。但是由于主要以課本為依據(jù),所以整個設計做下來基本掌握了課本上數(shù)據(jù)庫的基礎操作。首先是對SQL Sever 2005的運用有了更深一層的領悟,由于涉及的大部分時間都在使用這一款軟件,我對它的基本操作已經(jīng)很熟悉了。設計中提還是完成了,

89、學生成績管理系統(tǒng)實現(xiàn)了對學生成績以及課程的管理、查詢、基本的統(tǒng)計、報表,也實現(xiàn)了對學生、教師、管理員的權限的管理。設計過程中我也遇到了一些問題,再向其他同學請教的過程中我收獲了很多。</p><p> ?。?)操作視圖查詢,編寫代碼時發(fā)現(xiàn),一個表中的主鍵必須是另一個表的外鍵時才可以對另一個表進行引用。</p><p> ?。?)在設計表時應注意使用正確的字段類型。</p>&

90、lt;p> ?。?)在建表語句中,如果這個表的主鍵是多個屬性的組合主鍵,則必須作為表級完整性進行定義。</p><p><b>  參考文獻</b></p><p>  [1] 肖永順 劉韜 李生海等.delphi程序設計[M].北京.人民郵電出版社.2000.1</p><p>  [2] 儲啟明 周旭.delphi7典型實例開發(fā)篇

91、(基礎開發(fā)篇)[M].北京.清華大學出版社.2003.9</p><p>  [3] 段來盛 鄭城榮.delphi實戰(zhàn)演練[M].北京:人民郵電出版社.2000.11</p><p>  [4] 岳付強 羅明英 韓德.SQL Server從實戰(zhàn)到入門[M].北京:清華大學出版社.2009.9</p><p>  [5] 王珊 薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京

溫馨提示

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

評論

0/150

提交評論