java課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(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>  學(xué)號(hào):</b></p><p><b>  姓名:</b></p><p><b>  班級(jí):</b></p><p><b>  完成日期:</b></p><p><b>  目 錄</b><

2、/p><p><b>  1 緒 論6</b></p><p>  1.1學(xué)生信息管理系統(tǒng)開(kāi)發(fā)背景6</p><p>  1.2學(xué)生信息管理系統(tǒng)的設(shè)計(jì)目標(biāo)6</p><p>  2系統(tǒng)環(huán)境開(kāi)發(fā)工具7</p><p>  2.1 Visual Studio2005簡(jiǎn)介7</p>

3、<p>  2.2 SQL SERVER 2000簡(jiǎn)介7</p><p>  2.3系統(tǒng)運(yùn)行環(huán)境7</p><p><b>  3需求分析8</b></p><p><b>  3.1功能需求8</b></p><p>  3.2系統(tǒng)模塊劃分9</p><p&

4、gt;  4數(shù)據(jù)庫(kù)的實(shí)現(xiàn)11</p><p>  4.1數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)及范式分析11</p><p>  4.1.1數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)12</p><p>  4.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)范式分析12</p><p>  4.2 SQL語(yǔ)言介紹13</p><p>  4.2.1 SQL基礎(chǔ)13</p>

5、<p>  4.2.2 SQL語(yǔ)句15</p><p>  4.3定義系統(tǒng)表的結(jié)構(gòu)15</p><p>  4.4數(shù)據(jù)庫(kù)的實(shí)現(xiàn)15</p><p>  5系統(tǒng)具體的實(shí)現(xiàn)18</p><p>  5.1登錄窗口18</p><p>  5.2學(xué)生信息系統(tǒng)主窗口19</p><p&

6、gt;  5.3學(xué)籍管理窗口20</p><p>  5.3.1學(xué)籍添加20</p><p>  5.3.2學(xué)籍修改20</p><p>  5.3.3學(xué)籍查詢20</p><p>  5.4課程查詢窗口21</p><p>  5.5課程修改窗口22</p><p>  5.6添加

7、課程窗口24</p><p>  5.7成績(jī)管理窗口25</p><p><b>  5.8報(bào)表27</b></p><p><b>  6結(jié)束語(yǔ)29</b></p><p><b>  參考文獻(xiàn)30</b></p><p><b>

8、  致 謝31</b></p><p><b>  1 緒 論</b></p><p><b>  系統(tǒng)開(kāi)發(fā)背景</b></p><p>  學(xué)生信息管理系統(tǒng)(Student Information Management System),以下簡(jiǎn)稱SIMS,是針對(duì)學(xué)校人事處的大量業(yè)務(wù)處理工作而開(kāi)發(fā)的管理軟件,是

9、典型的管理信息系統(tǒng)(Management Information System)。它是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,它能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。能有效的幫助學(xué)校和老師掌握學(xué)生的情況,為學(xué)生提供成績(jī)跟課程方面的查詢。在傳統(tǒng)模式下利用人工進(jìn)行學(xué)生信息管理,存在著較多的缺點(diǎn),如:效率底,保密性差,時(shí)間一長(zhǎng)將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護(hù)等。諸如這些情況,令學(xué)校管理者

10、對(duì)學(xué)生的信息管理帶來(lái)了很大困難,嚴(yán)重影響了教育工作者的工作效率。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟, 使用日趨成熟的計(jì)算機(jī)技術(shù)來(lái)代替?zhèn)鹘y(tǒng)的人工模式,來(lái)實(shí)現(xiàn)學(xué)生信息的現(xiàn)代化管理,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、易修改、可靠性</p><p><

11、;b>  設(shè)計(jì)目標(biāo)</b></p><p>  建立一個(gè)統(tǒng)一的在校學(xué)生信息管理庫(kù),讓各部門使用同一套信息數(shù)據(jù),各部門根據(jù)各自的權(quán)限對(duì)同一套信息數(shù)據(jù)進(jìn)行更新維護(hù),這樣便可以通過(guò)共享數(shù)據(jù)信息,減少許多無(wú)謂的重復(fù)工作,這樣既提高了計(jì)算機(jī)軟、硬件的使用效率,同時(shí)也提高了統(tǒng)計(jì)信息的準(zhǔn)確性、真實(shí)性,而且還能大大方便我們對(duì)學(xué)生信息的管理,提高我們的管理質(zhì)量。</p><p>  在系統(tǒng)

12、啟動(dòng)后,普通用戶可以在客戶端根據(jù)自己的需要進(jìn)行查詢,而管理員能在服務(wù)器端根據(jù)提供的信息進(jìn)行修改,更新等操作。管理學(xué)生的基本信息,成績(jī),所修課程的詳細(xì)情況。</p><p>  2 環(huán)境系統(tǒng)開(kāi)發(fā)工具</p><p>  2.1 Visual Studio 2005簡(jiǎn)介</p><p>  Visual Studio 是微軟公司推出的開(kāi)發(fā)環(huán)境,是目前最流行的 Wind

13、ows 平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。它是語(yǔ)言,集成開(kāi)發(fā)環(huán)境,構(gòu)建以數(shù)據(jù)為中心的應(yīng)用程序,構(gòu)建用戶界面,構(gòu)建web應(yīng)用程序和部署應(yīng)用程序。</p><p>  2.2 SQL SERVER 2000簡(jiǎn)介</p><p>  系統(tǒng)的服務(wù)器采用的是Microsoft SQL SERVER 2000,這是一個(gè)最新開(kāi)發(fā)的大型的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),具有非常強(qiáng)大的關(guān)系數(shù)據(jù)庫(kù)創(chuàng)建,開(kāi)發(fā),設(shè)計(jì)及管理

14、功能。2.3 系統(tǒng)運(yùn)行環(huán)境</p><p><b>  軟件:</b></p><p>  操作系統(tǒng):Windows 2000/2003/XP</p><p>  數(shù)據(jù)庫(kù):SQL SERVER 2000</p><p><b>  硬件:</b></p><p>  CPU

15、:PIV 500</p><p><b>  內(nèi)存:最少256M</b></p><p><b>  硬盤:10G以上</b></p><p><b>  3 需求分析</b></p><p><b>  3.1功能需求</b></p>&l

16、t;p>  學(xué)生信息管理系統(tǒng)主要功能:學(xué)籍信息管理,班級(jí)信息管理,課程信息管理,成績(jī)信息管理,用戶信息管理。具體系統(tǒng)功能需求描述如下: </p><p><b>  1.學(xué)籍信息管理</b></p><p>  每年的大量新生入學(xué),老生畢業(yè)都需要處理大量的學(xué)生信息。通過(guò)這一模塊,可以實(shí)現(xiàn)學(xué)生基本情況的添加、刪除、更新。還能查詢各個(gè)學(xué)生的情況,姓名、家

17、庭電話、家庭住址、學(xué)號(hào)等各個(gè)消息。</p><p><b>  2.班級(jí)信息管理</b></p><p>  實(shí)現(xiàn)班級(jí)的添加、刪除、更新。查詢班級(jí)的所在系別,輔導(dǎo)員等。</p><p><b>  3.課程信息管理</b></p><p>  每個(gè)學(xué)期都會(huì)增加一些新的科目,通過(guò)本模塊可以輕松的添加以

18、及更新課程??梢愿鶕?jù)學(xué)期條件或者班級(jí)條件的選擇,也可根據(jù)課程名課程號(hào)的輸入,可以看到數(shù)據(jù)集中顯示符合條件的課程數(shù)據(jù)信息,而且可以根據(jù)教工的修改要求進(jìn)行數(shù)據(jù)的添加、刪除、修改的操作。</p><p>  該項(xiàng)管理對(duì)課程的屬性進(jìn)行了具體化的分類,比如可以分辨是考試科還是考察課,而且根據(jù)條件的選擇大大得提高了對(duì)各學(xué)期課程數(shù)據(jù)的記錄操作,很大得幫助了教工們工作效率的提高。</p><p><

19、b>  4.成績(jī)信息管理</b></p><p>  本模塊實(shí)現(xiàn)了成績(jī)的輸入、刪除、更新。還能查詢到平均成績(jī)以及單科最高最低成績(jī)以及個(gè)人成績(jī)。把成績(jī)統(tǒng)計(jì)這個(gè)繁瑣的工作簡(jiǎn)單化,為學(xué)生成績(jī)的管理方面提高工作效率。</p><p><b>  5.用戶信息管理</b></p><p>  因?yàn)楸鞠到y(tǒng)是供多人一起使用的,必須對(duì)某一些人

20、進(jìn)行限制。于是設(shè)置了管理員,非管理員只能進(jìn)行查詢操作,不能進(jìn)行更改。</p><p><b>  3.2 模塊劃分</b></p><p>  圖1-1系統(tǒng)功能模塊圖</p><p><b>  登陸窗口</b></p><p>  賬戶密碼:輸入正確的賬戶密碼才可以進(jìn)入主窗口。</p>

21、<p><b>  學(xué)籍管理</b></p><p>  添加學(xué)生信息:根據(jù)程序所提供的信息填寫所需的信息,對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行添加。</p><p>  修改學(xué)生信息:用戶可以對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行修改。</p><p>  刪除學(xué)生信息:用戶可以對(duì)數(shù)據(jù)進(jìn)行刪除操作。</p><p><b>  

22、成績(jī)管理</b></p><p>  學(xué)生成績(jī)查詢:根據(jù)學(xué)號(hào)查詢?cè)撋某煽?jī).</p><p>  學(xué)生成績(jī)添加:根據(jù)程序所提供的信息填寫所需的信息,對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行添加</p><p>  學(xué)生成績(jī)修改:根據(jù)學(xué)號(hào)來(lái)修改數(shù)據(jù)庫(kù)中的信息。</p><p>  學(xué)生成績(jī)刪除:根據(jù)學(xué)號(hào)來(lái)刪除數(shù)據(jù)庫(kù)中不需要的信息.</p>

23、<p><b>  課程管理</b></p><p>  課程查詢:可以按照課程號(hào)或者課程名來(lái)查詢所需的信息。</p><p>  添加課程:根據(jù)程序所提供的信息填寫所需的信息,對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行添加。</p><p>  修改課程:根據(jù)課程號(hào)或者課程名來(lái)修改數(shù)據(jù)庫(kù)中的信息。</p><p>  刪除課程:

24、根據(jù)課程號(hào)或者課程名來(lái)刪除數(shù)據(jù)庫(kù)中的信息。</p><p><b>  報(bào)表</b></p><p>  報(bào)表:可以方便管理員制作出各種需要的表單。</p><p><b>  4 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  一個(gè)成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫(kù)是其中一個(gè)非常重要的條

25、件和關(guān)鍵技術(shù)。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫(kù)設(shè)計(jì)分五個(gè)步驟:數(shù)據(jù)庫(kù)需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)與加載測(cè)試。數(shù)據(jù)庫(kù)需求分析的任務(wù)是將業(yè)務(wù)管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應(yīng)的數(shù)據(jù)字典。概念設(shè)計(jì)的任務(wù)是從DFD出發(fā),繪制出本主題的實(shí)體-關(guān)系圖,并列出各個(gè)實(shí)體與關(guān)系的綱要表。邏輯設(shè)計(jì)的任務(wù)是從E-R圖與對(duì)應(yīng)的綱要表出發(fā),確定各個(gè)實(shí)體及關(guān)系的表名屬性物理設(shè)計(jì)的任務(wù)是確定所有屬性的類型、寬度與取值范圍,設(shè)計(jì)出

26、基本表的主鍵,將所有的表名與字段名英文化(現(xiàn)在很多軟件能支持中文字段,如MS SQL Server,我就是用的中文字段名),實(shí)現(xiàn)物理建庫(kù),完成數(shù)據(jù)庫(kù)物理設(shè)計(jì)字典。加載測(cè)試工作貫穿于程序測(cè)試工作的全過(guò)程,整個(gè)錄入、修改、查詢、處理工作均可視為對(duì)數(shù)據(jù)庫(kù)的加載測(cè)試工作。</p><p>  要設(shè)計(jì)出一個(gè)好的信息管理系統(tǒng)數(shù)據(jù)庫(kù),除滿足系統(tǒng)所要求的功能外,還必須遵守下列原則:</p><p>  基

27、本表的個(gè)數(shù)越少越好。</p><p>  主鍵的個(gè)數(shù)越少越好。鍵是表間連接的工具,主鍵越少,表間的連接就 越簡(jiǎn)單。</p><p>  字段的個(gè)數(shù)越少越好。</p><p>  所有基本表的設(shè)計(jì)均應(yīng)盡量符合第三范式。</p><p>  數(shù)據(jù)庫(kù)的設(shè)計(jì)中,如何處理多對(duì)多的關(guān)系和如何設(shè)計(jì)主鍵,是兩個(gè)有著較大難度、需要重點(diǎn)考慮的問(wèn)題。下面我們

28、著重從SQL應(yīng)用、數(shù)據(jù)庫(kù)設(shè)計(jì)范式和查詢優(yōu)化等方面來(lái)分析本課題的系統(tǒng)關(guān)鍵技術(shù)和實(shí)現(xiàn)難點(diǎn)并加以解決。</p><p>  4.1數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)及范式分析</p><p>  信息系統(tǒng)的主要任務(wù)是通過(guò)大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲(chǔ)和管理大量的數(shù)據(jù)。因此建立一個(gè)良好的數(shù)據(jù)組織結(jié)構(gòu)和數(shù)據(jù)庫(kù),使整個(gè)系統(tǒng)都可以迅速、方便、準(zhǔn)確地調(diào)用和管理所需的數(shù)據(jù),是衡量信息系統(tǒng)開(kāi)發(fā)工作好壞的主要指標(biāo)之一

29、。</p><p>  4.1.1數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)主要是進(jìn)行數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來(lái),是面向用戶的。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)需要綜合企業(yè)各個(gè)部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個(gè)數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計(jì)出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。</p>

30、<p>  為了更好地組織數(shù)據(jù)和設(shè)計(jì)出實(shí)際應(yīng)用數(shù)據(jù)庫(kù),應(yīng)該注意如下問(wèn)題:</p><p>  規(guī)范化地重組數(shù)據(jù)結(jié)構(gòu):對(duì)數(shù)據(jù)進(jìn)行規(guī)范化表達(dá),這在后面將會(huì)具體討論。</p><p>  關(guān)系數(shù)據(jù)結(jié)構(gòu)的建立:在進(jìn)行了數(shù)據(jù)基本結(jié)構(gòu)的規(guī)范化重組后,還必須建立整體數(shù)據(jù)的關(guān)系結(jié)構(gòu)。這一步設(shè)計(jì)完成后數(shù)據(jù)庫(kù)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)工作基本完成,只待系統(tǒng)實(shí)現(xiàn)時(shí)將數(shù)據(jù)分析和數(shù)據(jù)字典的內(nèi)容代入到所設(shè)計(jì)的數(shù)據(jù)整

31、體關(guān)系結(jié)構(gòu)中,一個(gè)規(guī)范化數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)就建立起來(lái)了。 </p><p>  建立關(guān)系數(shù)據(jù)結(jié)構(gòu)涉及三方面內(nèi)容:確定關(guān)聯(lián)的關(guān)鍵指標(biāo)項(xiàng)并建立關(guān)聯(lián)表;確定單一的父系記錄結(jié)構(gòu);建立整個(gè)數(shù)據(jù)庫(kù)的關(guān)系結(jié)構(gòu)。 </p><p>  確定數(shù)據(jù)資源的安全保密屬性:</p><p>  一般DBMS都提供給我們自己定義數(shù)據(jù)安全保密性的功能。系統(tǒng)所提供的安全保密功能一般有8個(gè)等級(jí)(0-7級(jí)

32、),4種不同方式(只讀、只寫、刪除、修改),而且允許用戶利用這8個(gè)等級(jí)的4種方式對(duì)每一個(gè)表自由地進(jìn)行定義。 </p><p>  4.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)范式分析</p><p>  建立起一個(gè)良好的數(shù)據(jù)指標(biāo)體系,是建立數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)的最重要的一環(huán)。一個(gè)良好的數(shù)據(jù)指標(biāo)體系是建立DB的必要條件,但不是充分條件。我們完全可以認(rèn)為所建指標(biāo)體系中的一個(gè)指標(biāo)類就是關(guān)系數(shù)據(jù)庫(kù)中的一個(gè)基本表,而這個(gè)指標(biāo)類

33、下面的一個(gè)個(gè)具體指標(biāo)就是這個(gè)基本表中的一個(gè)字段。但如果直接按照這種方式建庫(kù)顯然還不能算最佳。對(duì)于指標(biāo)體系中數(shù)據(jù)的結(jié)構(gòu)在建庫(kù)前還必須進(jìn)行規(guī)范化的重新組織。 </p><p>  數(shù)據(jù)組織的規(guī)范化形式 </p><p>  在數(shù)據(jù)的規(guī)范化表達(dá)中,一般將一組相互關(guān)聯(lián)的數(shù)據(jù)稱為一個(gè)關(guān)系(relation),而在這個(gè)關(guān)系下的每個(gè)數(shù)據(jù)指標(biāo)項(xiàng)則被稱為數(shù)據(jù)元素(data element),這種關(guān)系落實(shí)到具

34、體數(shù)據(jù)庫(kù)上就是基本表,而數(shù)據(jù)元素就是基本表中的一個(gè)字段(field)。規(guī)范化表達(dá)還規(guī)定在每一個(gè)基本表中必須定義一個(gè)數(shù)據(jù)元素為關(guān)鍵字(key),它可以唯一地標(biāo)識(shí)出該表中其它相關(guān)的數(shù)據(jù)元素 </p><p>  在對(duì)表的形式進(jìn)行了規(guī)范化定義后,數(shù)據(jù)結(jié)構(gòu)還有五種規(guī)范化定義,定名為規(guī)范化模式,稱為范式。在這五種范式中,一般只用前三種,對(duì)于常用系統(tǒng)就足夠了。而且這五種范式是“向上兼容”的,即滿足第五范式的數(shù)據(jù)結(jié)構(gòu)自動(dòng)滿足一

35、、二、三、四范式,滿足第四范式的數(shù)據(jù)結(jié)構(gòu)自動(dòng)滿足第一、二、三范式,……,依此類推。</p><p>  4.2SQL語(yǔ)言介紹</p><p>  4.2.1SQL基礎(chǔ)</p><p>  SQL(Structured Query Language,結(jié)構(gòu)查詢語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。SQL通常使用于數(shù)據(jù)庫(kù)的通訊。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱,SQL是關(guān)系數(shù)

36、據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句通常用于完成一些數(shù)據(jù)庫(kù)的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。使用SQL的常見(jiàn)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫(kù)系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴(kuò)展功能用于它們的系統(tǒng)。但是,標(biāo)準(zhǔn)的SQL命令,比如"Select"、 "In

37、sert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù)的操作。MS SQL Server 就是用的Transact- SQL。</p><p>  SQL語(yǔ)言有著非常突出的優(yōu)點(diǎn),主要是:</p><p><b>  非過(guò)程化語(yǔ)言&l

38、t;/b></p><p><b>  統(tǒng)一的語(yǔ)言</b></p><p>  是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言</p><p>  非過(guò)程化語(yǔ)言:SQL是一個(gè)非過(guò)程化的語(yǔ)言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集,所有SQL 語(yǔ)句接受集合作為輸入,返回集合作為輸出

39、。SQL的集合特性允許一條SQL語(yǔ)句的結(jié)果作為另一條SQL語(yǔ)句的輸入。</p><p>  SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法, 這種特性使用戶更易集中精力于要得到的結(jié)果;所有SQL語(yǔ)句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。</p><p>  統(tǒng)

40、一的語(yǔ)言:SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。</p><p>  SQL為許多任務(wù)提供了命令,其中包括:</p><p><b>  查詢數(shù)據(jù)</b></p><p>  在表中插入、修改和刪除記錄</p><p>  建立、修改和刪

41、除數(shù)據(jù)對(duì)象</p><p>  控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取</p><p>  保證數(shù)據(jù)庫(kù)一致性和完整性</p><p>  以前的數(shù)據(jù)庫(kù)管理系統(tǒng)為上述各類操作提供單獨(dú)的語(yǔ)言,而SQL 將全部任務(wù)統(tǒng)一在一種語(yǔ)言中。</p><p>  所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言:由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶可將使用SQL的技能從一個(gè)R

42、DBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))轉(zhuǎn)到另一個(gè),所有用SQL編寫的程序都是可以移植的。</p><p>  4.2.2SQL語(yǔ)句</p><p>  SQL功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語(yǔ)言,不僅用于數(shù)據(jù)庫(kù)查詢,而且用于數(shù)據(jù)庫(kù)中的數(shù)據(jù)修改和更新,概括起來(lái),它可以分成以下幾組:</p><p>  DML(Data Manipulation Language,數(shù)據(jù)操作語(yǔ)言)

43、:用于檢索或者修改數(shù)據(jù); </p><p>  DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言): 用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象; </p><p>  DCL(Data Control Language,數(shù)據(jù)控制語(yǔ)言):用于定義數(shù)據(jù)庫(kù)用戶的權(quán)限。</p><p>  DML組可以細(xì)分為以下的幾個(gè)語(yǔ)句:</p&

44、gt;<p>  SELECT:用于檢索數(shù)據(jù);</p><p>  INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫(kù);</p><p>  UPDATE:用于從數(shù)據(jù)庫(kù)中修改現(xiàn)存的數(shù)據(jù);</p><p>  DELETE:用于從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)。</p><p>  DDL語(yǔ)句可以用于創(chuàng)建用戶和重建數(shù)據(jù)庫(kù)對(duì)象。下面是DDL命令:</p&g

45、t;<p>  CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX</p><p>  4.3定義系統(tǒng)表的結(jié)構(gòu)</p><p><b>  定義賬戶表</b></p><p><b>  表4.1</b></p><p&g

46、t;<b>  定義學(xué)籍表</b></p><p><b>  表4.2</b></p><p><b>  定義成績(jī)表</b></p><p><b>  表4.3</b></p><p><b>  定義課程表</b></p

47、><p><b>  4.4數(shù)據(jù)庫(kù)的實(shí)現(xiàn)</b></p><p>  前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。就可以在SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)該邏輯結(jié)構(gòu),利用SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)中SQL查詢分析器實(shí)現(xiàn)的。</p><p>  (1)創(chuàng)建系統(tǒng)用戶表格user_info</p>&

48、lt;p>  CREATE TABLE [dbo].[user_Info] (</p><p>  [user_ID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><p>  [user_PWD] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p&g

49、t;  [user_Des] [char] (10) COLLATE Chinese_PRC_CI_AS NULL</p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  (2) 創(chuàng)建學(xué)生基本信息表格student_info</p><p>  CREATE TAB

50、LE [dbo].[student_Info] (</p><p>  [student_ID] [int] NOT NULL ,</p><p>  [student_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [student_Sex] [char] (2) COLLATE Chine

51、se_PRC_CI_AS NULL ,</p><p>  [born_Date] [datetime] NULL ,</p><p>  [class_NO] [int] NULL ,</p><p>  [tele_Number] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p> 

52、 [ru_Date] [datetime] NULL ,</p><p>  [address] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [comment] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL</p><p>  ) ON [PRIM

53、ARY]</p><p><b>  GO</b></p><p>  (3) 創(chuàng)建班級(jí)信息表格class-info</p><p>  CREATE TABLE [dbo].[class_Info] (</p><p>  [class_No] [int] NOT NULL ,</p><p>

54、  [grade] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [director] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [classroom_No] [char] (10) COLLATE Chinese_PRC_CI_AS NULL</p&g

55、t;<p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  (4) 創(chuàng)建課程基本信息表格course-info</p><p>  CREATE TABLE [dbo].[course_Info] (</p><p>  [course_No] [int] N

56、OT NULL ,</p><p>  [course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [course_Type] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [course_Des] [char] (50) C

57、OLLATE Chinese_PRC_CI_AS NULL</p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  (5)創(chuàng)建年級(jí)課程設(shè)置信息表gradecourse-info</p><p>  CREATE TABLE [dbo].[gradecourse_In

58、fo] (</p><p>  [grade] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL</p><p>  ) ON [PRIMARY]</p><p><

59、;b>  GO</b></p><p>  (6) 創(chuàng)建學(xué)生成績(jī)信息表result-info</p><p>  CREATE TABLE [dbo].[result_Info] (</p><p>  [exam_No] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,</p><

60、;p>  [student_ID] [int] NOT NULL ,</p><p>  [student_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,</p><p>  [class_No] [int] NULL ,</p><p>  [course_Name] [char] (10) COLLAT

61、E Chinese_PRC_CI_AS NULL ,</p><p>  [result] [float] NULL</p><p>  ) ON [PRIMARY]5 系統(tǒng)具體的實(shí)現(xiàn)</p><p><b>  5.1 登錄系統(tǒng)</b></p><p>  本界面的主要功能是為了對(duì)系統(tǒng)進(jìn)行安全性管理,本系統(tǒng)的用戶名和密

62、碼保存在SQL Server表中,本系統(tǒng)根據(jù)不同的用戶而設(shè)置了不同的權(quán)限,可以用admin、admin為用戶名和密碼來(lái)登陸本系統(tǒng)。</p><p>  主要功能:輸入用戶名和密碼實(shí)現(xiàn)系統(tǒng)的登陸。</p><p><b>  部分代碼如下:</b></p><p>  Dim sread As SqlDataReader</p>&

63、lt;p><b>  Try</b></p><p>  SqlConnection1.Open()</p><p>  sread = SqlCommand1.ExecuteReader()</p><p>  If sread.Read Then</p><p>  If Trim(TextBox1.Text)

64、 = Trim(sread.Item(0)) And Trim(TextBox2.Text) = Trim(sread.Item(1)) Then</p><p><b>  Me.Hide()</b></p><p>  form2.Show()</p><p>  TextBox2.Text = ""</p>

65、<p><b>  Else</b></p><p>  MsgBox("密碼錯(cuò)誤!")</p><p>  TextBox2.Text = ""</p><p>  TextBox2.Focus()</p><p><b>  End If</b&g

66、t;</p><p><b>  Else</b></p><p>  MsgBox("帳號(hào)錯(cuò)誤!")</p><p>  TextBox1.Text = ""</p><p>  TextBox1.Focus()</p><p><b>  En

67、d If</b></p><p>  Catch ex As Exception</p><p>  MsgBox(ex.Message)</p><p><b>  Finally</b></p><p>  SqlConnection1.Close()</p><p><b&

68、gt;  End Try</b></p><p>  5.2學(xué)生信息管理主窗口</p><p>  主要功能:這是系統(tǒng)的主窗口,可以實(shí)現(xiàn)各種用戶想要實(shí)現(xiàn)的操作。</p><p><b>  部分代碼如下:</b></p><p>  Private Sub 添加課程ToolStripMenuItem_Clic

69、k(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 添加課程ToolStripMenuItem.Click</p><p>  Dim frm4 As New Form4</p><p>  Form4.Show()</p><p><b>  End Sub</

70、b></p><p>  Private Sub 查詢ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查詢ToolStripMenuItem.Click</p><p>  Dim frm3 As New Form3</p><p

71、>  Form3.Show()</p><p><b>  End Sub</b></p><p>  Private Sub 修改課程ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 修改課程ToolStripMenuItem.

72、Click</p><p>  Dim frm6 As New Form6</p><p>  Form6.Show()</p><p><b>  End Sub</b></p><p>  Private Sub 課程查詢ToolStripMenuItem_Click(ByVal sender As System.O

73、bject, ByVal e As System.EventArgs) Handles 課程查詢ToolStripMenuItem.Click</p><p>  Dim frm7 As New Form7</p><p>  Form7.Show()</p><p><b>  End Sub</b></p><p>

74、  5.3 學(xué)籍管理窗口</p><p>  主要功能:學(xué)籍管理界面,可以實(shí)現(xiàn)學(xué)生學(xué)籍的添加,刪除和查詢等操作。</p><p><b>  部分代碼如下:</b></p><p>  Dim strsql As String</p><p><b>  Try</b></p><

75、;p><b>  '打開(kāi)連接</b></p><p>  SCon.Open()</p><p>  '如果表中已有此學(xué)號(hào),退出過(guò)程</p><p>  '將用戶的輸入組織成SQL語(yǔ)言字符串,注意&和單引號(hào)的使用</p><p>  '對(duì)于字符型字段要加單引號(hào)</p&g

76、t;<p>  strsql = "Delete 學(xué)生表 " & _</p><p>  "Where 學(xué)號(hào) =" & TextBox1.Text.Trim</p><p>  '為CommandText設(shè)置查詢字符串</p><p>  SCom.CommandText = strsq

77、l</p><p>  '將sCom對(duì)象和sCon對(duì)象相關(guān)聯(lián)</p><p>  SCom.Connection = SCon</p><p><b>  '執(zhí)行操作查詢</b></p><p>  SCom.ExecuteNonQuery()</p><p>  MsgBox(&

78、quot;刪除成功?。?!")</p><p>  Catch ex As Exception</p><p>  MsgBox(ex.Message)</p><p><b>  Finally</b></p><p><b>  '關(guān)閉連接()</b></p>&l

79、t;p>  SCon.Close()</p><p><b>  End Try</b></p><p>  TextBox1.Text = ""</p><p>  ComboBox1.Text = ""</p><p><b>  End Sub</b&g

80、t;</p><p>  5.4 課程查詢窗口</p><p>  主要功能:本窗口可以通過(guò)班級(jí)號(hào)和學(xué)期對(duì)課程情況進(jìn)行查詢。</p><p><b>  部分代碼如下:</b></p><p>  If TextBox1.Text = "" Or ComboBox1.Text = "&quo

81、t; Then</p><p>  MsgBox("查詢條件不能為空")</p><p><b>  Else</b></p><p>  queryCourseInfo()</p><p><b>  End If</b></p><p><b&g

82、t;  End Sub</b></p><p>  Sub queryCourseInfo()</p><p>  Dim str As String</p><p>  Dim ds As New DataSet</p><p>  Dim da As SqlClient.SqlDataAdapter</p>&l

83、t;p>  str = "Data Source=(local);Initial Catalog=學(xué)生管理;Integrated Security=True"</p><p>  Dim con As New SqlClient.SqlConnection(str)</p><p>  con.Open()</p><p>  Dim sq

84、l As String = "select * from 課程表 where 課程號(hào)=" & TextBox1.Text.ToString().Trim()</p><p>  da = New SqlClient.SqlDataAdapter(sql, con)</p><p>  da.Fill(ds)</p><p>  DataG

85、rid1.DataSource = ds.Tables(0)</p><p>  5.5 課程修改窗口</p><p>  主要功能:通過(guò)課程號(hào)可以對(duì)課程的具體信息進(jìn)行修改和刪除等操作。</p><p><b>  部分代碼如下:</b></p><p>  If TextBox1.Text = ""

86、 Then</p><p>  MsgBox("課程號(hào)不能為空")</p><p><b>  Else</b></p><p>  changCourseInfo()</p><p>  MsgBox("添加成功??!")</p><p><b>

87、  clear()</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p><b>  b</b></p><p>  Sub changCourseInfo()</p><p

88、>  Dim str As String</p><p>  str = "Data Source=(local);Initial Catalog=學(xué)生管理;Integrated Security=True"</p><p>  Dim scon As New SqlClient.SqlConnection(str)</p><p>  s

89、con.Open()</p><p>  Dim sql As String = "select * from 課程表 where 課程號(hào)='" & TextBox1.Text.ToString().Trim() & "' "</p><p>  Dim sql2 As String = "update 課程

90、表 set 課程名='" & TextBox2.Text.ToString().Trim() & "',course_Type='" & ComboBox1.Text.ToString.Trim() & "',course_Des='" & TextBox3.Text.ToString.Trim() &

91、; "' where course_No='" & TextBox1.Text.ToString().Trim() & "'"</p><p>  Dim cmd As New SqlClient.SqlCommand(sql, scon)</p><p>  Dim cmd2 As New SqlClien

92、t.SqlCommand(sql2, scon)</p><p>  Dim reader As SqlClient.SqlDataReader</p><p>  reader = cmd.ExecuteReader</p><p>  5.6 添加課程窗口</p><p>  主要功能:通過(guò)填寫課程信息實(shí)現(xiàn)課程的添加。</p>

93、<p><b>  部分代碼如下:</b></p><p>  If TextBox1.Text = "" Then</p><p>  MsgBox("班級(jí)代號(hào)不能為空!")</p><p><b>  Else</b></p><p>  s

94、ingleYanzheng()</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Sub clear()</p><p>  TextBox1.Text = ""</p><p>  

95、ComboBox1.Text = ""</p><p>  TextBox3.Text = ""</p><p>  ComboBox1.Text = ""</p><p><b>  End Sub</b></p><p><b>  5.7 成績(jī)管

96、理</b></p><p>  主要功能:可以通過(guò)學(xué)號(hào),姓名等關(guān)鍵字對(duì)學(xué)生成績(jī)信息進(jìn)行查詢,添加和刪除等操作。</p><p><b>  部分代碼如下:</b></p><p>  Dim strsql As String</p><p><b>  Try</b></p>

97、<p><b>  '打開(kāi)連接</b></p><p>  SCon.Open()</p><p>  '如果表中已有此學(xué)號(hào),退出過(guò)程</p><p>  '將用戶的輸入組織成SQL語(yǔ)言字符串,注意&和單引號(hào)的使用</p><p>  '對(duì)于字符型字段要加單引號(hào)

98、 </p><p>  strsql = "Insert Into 成績(jī)表" & _</p><p>  "(學(xué)號(hào),姓名,班級(jí),多媒體,Web,[C++],數(shù)據(jù)庫(kù))" & _</p><p>  " values ('" & TextBox1.Text.

99、Trim & "','" & TextBox2.Text.Trim & "','" & TextBox3.Text.Trim & "','" & _</p><p>  TextBox4.Text.Trim & "','&qu

100、ot; & TextBox5.Text.Trim & " ','" & TextBox6.Text.Trim & " ', '" & TextBox7.Text.Trim & " ')"</p><p>  '為CommandText設(shè)置查詢字符串</p

101、><p>  SCom.CommandText = strsql</p><p>  '將sCom對(duì)象和sCon對(duì)象相關(guān)聯(lián)</p><p>  SCom.Connection = SCon</p><p><b>  '執(zhí)行操作查詢</b></p><p>  SCom.Execute

102、NonQuery()</p><p>  MsgBox("添加成功?。?!")</p><p>  Catch ex As Exception</p><p>  MsgBox(ex.Message)</p><p><b>  Finally</b></p><p><b

103、>  '關(guān)閉連接()</b></p><p>  SCon.Close()</p><p><b>  End Try</b></p><p><b>  End Sub</b></p><p><b>  5.8 報(bào)表</b></p>

溫馨提示

  • 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)論