學(xué)生學(xué)籍管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析(共36頁)_第1頁
學(xué)生學(xué)籍管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析(共36頁)_第2頁
學(xué)生學(xué)籍管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析(共36頁)_第3頁
學(xué)生學(xué)籍管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析(共36頁)_第4頁
學(xué)生學(xué)籍管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析(共36頁)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用課程設(shè)計(jì)題目: 學(xué)生學(xué)籍管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)院 系: 基礎(chǔ)與信息工程學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 姓 名: 年 級(jí) : 指導(dǎo)教師: 摘要隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來,就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng),面對(duì)大量的學(xué)生數(shù)據(jù)、報(bào)表,手工處理方式已經(jīng)很難跟上現(xiàn)代化的步伐,隨著計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)通訊技術(shù)的飛速發(fā)展,許多學(xué)校已經(jīng)有了較好的計(jì)算機(jī)應(yīng)用甚至網(wǎng)絡(luò)硬件基礎(chǔ)建設(shè)。因此為提高學(xué)校管理工作的現(xiàn)代

2、化、科學(xué)化水平,保證信息處理的即時(shí)化、準(zhǔn)確化,開發(fā)一套對(duì)學(xué)生學(xué)籍進(jìn)行管理的軟件是極其重要的。 本文介紹了在Microsoft Visual Basic和Microsoft SQL Server環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個(gè)管理信息系統(tǒng)的過程。通過分析訪客管理的不足,創(chuàng)建了一套行之有效的計(jì)算機(jī)管理學(xué)生的方案。文章介紹了訪客管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務(wù)流程分析等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)及代碼設(shè)計(jì)。關(guān)鍵詞:SQL Server、Visual Basic1 設(shè)計(jì)內(nèi)容和要求1.1設(shè)計(jì)背景隨著我國教育體制改革的深入進(jìn)行,教育系

3、統(tǒng)得到了前所未有的發(fā)展。學(xué)生管理正在逐步邁向管理信息現(xiàn)代化。但是我國的學(xué)生管理信息化水平還處在初級(jí)階段,主要表現(xiàn)在對(duì)學(xué)生的交費(fèi)管理、學(xué)生的檔案管理還是采用原有的人工管理方式。學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。由于大學(xué)生類別和專業(yè)的設(shè)置的多樣化,大學(xué)生的學(xué)籍管理歷來是非常繁瑣和復(fù)雜的的工作。面對(duì)龐大的信息量, 這時(shí)的人工管理幾乎無法實(shí)現(xiàn),在這種情況下用數(shù)據(jù)庫進(jìn)行管理變的尤為必要,這可以發(fā)揮計(jì)算機(jī)的優(yōu)勢(shì),就需要有學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率.通過這樣的系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速的查詢,從而減少管理方面的工作量和減少人為的錯(cuò)誤。1.2

4、開發(fā)環(huán)境本學(xué)生學(xué)籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))的開發(fā)與運(yùn)行環(huán)境如下:開發(fā)環(huán)境:Windows XP輔助工具:Microsoft Visual Basic 6.0 中文版數(shù)據(jù)庫管理系統(tǒng):SQL Server 運(yùn)行環(huán)境:Windows 2000/XP/20031.3內(nèi)容和要求1.3.1系統(tǒng)目標(biāo)設(shè)計(jì)(1)使得學(xué)生的學(xué)籍管理工作更加清晰、條理化、自動(dòng)化。(2)很容易地完成新生信息的輸入、老生信息的備份、畢業(yè)學(xué)生的信息可以很容易地 保存。(3)當(dāng)學(xué)生需要查詢成績(jī)時(shí),可以很簡(jiǎn)單地將其需要的信息從數(shù)據(jù)庫中查找出來并可以打印查詢結(jié)果。(4)隨著當(dāng)今網(wǎng)絡(luò)技術(shù)的發(fā)展,提供網(wǎng)絡(luò)在線查詢功能,可以為畢業(yè)生提供更多的就業(yè)機(jī)會(huì)

5、。1.4編寫目的學(xué)生信息管理系統(tǒng)的開發(fā)更方便了老師對(duì)學(xué)生的查詢管理,對(duì)學(xué)生的基本情況進(jìn)行了解,再次添加了對(duì)學(xué)生的考試情況分?jǐn)?shù)的管理,這樣更好的讓老師對(duì)學(xué)生的每次考試成績(jī)進(jìn)行了解比較,了解該學(xué)生的近期學(xué)習(xí)情況。同時(shí)在有權(quán)限的老師登錄以后可以輕松的查詢到要找的學(xué)生的具體班級(jí).年所在年級(jí)和他們的學(xué)號(hào),因此而開發(fā)此系統(tǒng)是為了老師更好的管理。1.5項(xiàng)目背景a. 所建議開發(fā)軟件的名稱:學(xué)生學(xué)籍管理系統(tǒng)(student information management system)b. 項(xiàng)目的任務(wù)提出者:學(xué)校.c. 開發(fā)者:趙鵬、趙丹、李福燦。d. 用戶:學(xué)校、 學(xué)生e. 實(shí)現(xiàn)軟件的單位:計(jì)算機(jī)基礎(chǔ)與信息工程

6、學(xué)院。f. 項(xiàng)目與其他軟件或其他系統(tǒng)的關(guān)系:Student information management system 是一功能比較完善的數(shù)據(jù)管理軟件,具有數(shù)據(jù)操作方便高效迅速等優(yōu)點(diǎn)。該軟件采用功能強(qiáng)大的數(shù)據(jù)庫軟件開發(fā)工具SQL Server 進(jìn)行開發(fā),具有很好的可移植性,可在應(yīng)用范圍較廣的WINDOWS 系列操作系統(tǒng)上使用。在學(xué)籍管理中,需要從大量的日常教學(xué)活動(dòng)中提取相關(guān)信息,以反映教學(xué)情況。傳統(tǒng)的手工操作方式,易發(fā)生數(shù)據(jù)丟失,統(tǒng)計(jì)錯(cuò)誤,勞動(dòng)強(qiáng)度高,且速度慢。使用計(jì)算機(jī)可以高速,快捷地完成以上工作。在計(jì)算機(jī)聯(lián)網(wǎng)后,數(shù)據(jù)在網(wǎng)上傳遞,可以實(shí)現(xiàn)數(shù)據(jù)共享,避免重復(fù)勞動(dòng),規(guī)范教學(xué)管理行為,從而提高了管

7、理效率和水平。學(xué)籍管理信息系統(tǒng)以計(jì)算機(jī)為工具,通過對(duì)學(xué)生信息管理所需的信息管理,把管理人員從繁瑣的數(shù)據(jù)計(jì)算處理中解脫出來,使其有更多的精力從事教務(wù)管理政策的研究實(shí)施,教學(xué)計(jì)劃的制定執(zhí)行和教學(xué)質(zhì)量的監(jiān)督檢查,從而全面提高教學(xué)質(zhì)量。2 需求分析2.1 需求規(guī)定該系統(tǒng)面向的用戶有:學(xué)校的管理人員,普通用戶。不同的用戶可以根據(jù)自己的權(quán)限對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行相關(guān)操作,比如瀏覽和修改,系統(tǒng)預(yù)先定義好各種用戶的權(quán)限。加入網(wǎng)絡(luò)模塊以后,所有操作都可以通過網(wǎng)絡(luò)進(jìn)行。系統(tǒng)要能夠抵制來自于網(wǎng)絡(luò)的非法訪問甚至攻擊。2.2 系統(tǒng)功能要求(1)學(xué)生學(xué)籍的錄入可以在開學(xué)的時(shí)候利用某些電子裝置批量錄入,以節(jié)約人員加快速度;當(dāng)在學(xué)期

8、中需要增加或減少學(xué)籍記錄時(shí),可由系統(tǒng)管理員在得到學(xué)校相關(guān)人員的同意后單獨(dú)進(jìn)行操作,要保留操作記錄。       (2)學(xué)生學(xué)籍的修改在得到學(xué)校相關(guān)人員的同意后,由系統(tǒng)管理員修改記錄,系統(tǒng)本身要記錄該事件并保存原始數(shù)據(jù)。       (3)學(xué)生學(xué)籍的刪除       在得到學(xué)校相關(guān)人員的同意后,由系統(tǒng)管理員刪除記錄,系統(tǒng)本身要記錄該事件并保存原始數(shù)據(jù)。   &

9、#160;   (4)學(xué)生學(xué)籍的查詢用戶憑用戶名和對(duì)應(yīng)的密碼登陸系統(tǒng),然后可以根據(jù)其權(quán)限查看對(duì)應(yīng)的相關(guān)信息,密碼由專門的部門負(fù)責(zé),系統(tǒng)對(duì)每次用戶操作的數(shù)據(jù)應(yīng)該在一定的時(shí)間段內(nèi)保留。       系統(tǒng)可以方便的進(jìn)行對(duì)學(xué)生的基本信息進(jìn)行添加.修改.以及查詢。幫助學(xué)生對(duì)學(xué)生的考試情況進(jìn)行更好的管理和了解。方便了學(xué)生對(duì)學(xué)生的查詢管理,更快的知道要查詢學(xué)生在校的具體班級(jí).學(xué)號(hào).姓名.專業(yè)等信息情況?,F(xiàn)在采用手工的方式已經(jīng)無法管理成千上萬的學(xué)生的學(xué)籍信息,好在我們有計(jì)算機(jī)系統(tǒng),它可以代替我們完成這項(xiàng)復(fù)雜而又

10、枯燥的工作,而且可以保證極好的效率和正確性,這是手工作業(yè)所無法比及的。目前,我國這方面的應(yīng)用還處于起步階段,大部分學(xué)校還在用紙質(zhì)材料,這無疑是一種巨大的浪費(fèi)。因此,這個(gè)系統(tǒng)的廣泛應(yīng)用將會(huì)帶來巨大的利益,同時(shí),將提高管理的人員的工作效率和質(zhì)量。普通人只要學(xué)習(xí)操作說明,就會(huì)使用這個(gè)系統(tǒng)。2.2.1功能要求: 系統(tǒng)管理:添加用戶,刪除用戶,修改密碼,重新登錄。 學(xué)籍管理:檔案瀏覽,檔案添加,檔案刪除,檔案查詢,檔案修改。 課程管理:課程設(shè)置,選課設(shè)置。23 學(xué)生學(xué)籍管理信息系統(tǒng)特點(diǎn)(1)采用 Windows 的操作界面,簡(jiǎn)單易用,用戶可以在使用的同時(shí)獲得實(shí)時(shí)幫助。(2)采用數(shù)據(jù)庫和程序分開設(shè)計(jì)的方式

11、,他們之間通過驅(qū)動(dòng)程序連接,以使系統(tǒng)達(dá)到較高的可靠性和擴(kuò)展性。(3)如果有需要,可以給系統(tǒng)加上一個(gè)網(wǎng)絡(luò)模塊,用戶可以遠(yuǎn)程登陸,然后根據(jù)其擁有的權(quán)限執(zhí)行相應(yīng)的功能,比如瀏覽信息或修改信息。2·4 用戶平臺(tái)要求系統(tǒng)主要使用于高校的局域網(wǎng),Win98、Win2000 、WinNT等環(huán)境下, Vb連接數(shù)據(jù)庫,本系統(tǒng)需要DBMS放入學(xué)生學(xué)籍?dāng)?shù)據(jù)庫??蛇M(jìn)行查詢,修改、處理等。3 業(yè)務(wù)邏輯和數(shù)據(jù)流圖3·1 數(shù)據(jù)流圖管理人員學(xué)生學(xué)籍管理信息系統(tǒng) 輸入添加用戶 刪除用戶 當(dāng)前輸入修改密碼學(xué)生重新登錄 學(xué)生信息0層數(shù)據(jù)流圖2處理要求查詢要求 檢查有效性 有效的管理要求 有效的查詢要求3處理查詢

12、學(xué)籍管理要求 學(xué)生情況無效輸入 當(dāng)前輸入 1層數(shù)據(jù)流圖 檔案查詢目錄文件 2.1要求處理類型 檔案瀏覽 管理要求 檔案添加 檔案刪除 檔案修改 3.2學(xué)生信息查詢 學(xué)生情況 3.1查詢類型處理 查詢學(xué)生情況 數(shù)據(jù)文件 查詢要求 3.3統(tǒng)計(jì)處理 學(xué)生情況 統(tǒng)計(jì)表 2層數(shù)據(jù)流圖學(xué)生檔案學(xué)籍學(xué)生地址信息專業(yè)信息學(xué)號(hào)姓名院系血型出生日期專業(yè)民族家庭住址班級(jí)郵編電話籍貫 學(xué)生學(xué)籍管理系統(tǒng)E-R圖4. 數(shù)據(jù)調(diào)查及分析4·1原始數(shù)據(jù)編寫說明:本節(jié)描述原始數(shù)據(jù)調(diào)查的結(jié)果,列出數(shù)據(jù)清單。原始數(shù)據(jù)的描述:數(shù)據(jù)名稱:學(xué)生學(xué)籍管理信息系統(tǒng)簡(jiǎn)述:系統(tǒng)中隨時(shí)可以查詢。來源:每學(xué)期考試完畢由各系錄入成績(jī),然后由教

13、務(wù)科收集去處:學(xué)生,老師組成:存儲(chǔ)學(xué)生信息的檔案,學(xué)生的課程設(shè)置等,用于存放學(xué)生在校期間的有關(guān)信息。登錄成功選擇操作開始用戶管理學(xué)籍管理班級(jí)管理退出系統(tǒng)添加修改查詢結(jié)束NY4.2 數(shù)據(jù)字典4.2.1數(shù)據(jù)項(xiàng)數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果,數(shù)據(jù)字典是對(duì)系統(tǒng)所用到的所有表結(jié)構(gòu)的描述,學(xué)籍管理的主要數(shù)據(jù)見下表。專業(yè)信息表學(xué)期信息表學(xué)生信息表學(xué)生成績(jī)、班級(jí)課程課程設(shè)計(jì)5 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,它通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成獨(dú)立于具體DBMS的概念模型。5.1數(shù)據(jù)流圖數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系,根據(jù)用戶的需求分析

14、和高校學(xué)籍管理系統(tǒng)的需求,得出如下圖1-1所示的學(xué)籍管理數(shù)據(jù)流圖。學(xué)生信息管理系統(tǒng)學(xué)籍管理功能課程管理功能成績(jī)管理功能學(xué)籍添加學(xué)籍修改學(xué)籍查詢課程添加課程修改課程查詢成績(jī)添加成績(jī)修改成績(jī)查詢系統(tǒng)的功能模塊設(shè)計(jì)圖如圖所示5.2 系統(tǒng)E-R圖對(duì)于學(xué)生信息管理,我們可以將學(xué)生實(shí)體抽象出來,學(xué)生屬于學(xué)院可以將學(xué)院作為一個(gè)實(shí)體,學(xué)生所屬專業(yè)和畢業(yè)信息都將可以作為一個(gè)實(shí)體。學(xué)生實(shí)體E-R圖專業(yè)實(shí)體E-R圖在學(xué)生信息管理中存在這樣的關(guān)系:選擇(一個(gè)學(xué)生只能選擇一個(gè)專業(yè),而一個(gè)專業(yè)可以供多個(gè)學(xué)生選擇,故是多對(duì)一的關(guān)系)、學(xué)習(xí)(一個(gè)學(xué)生只能在一個(gè)院系學(xué)習(xí),而一個(gè)院系可以供多個(gè)學(xué)生學(xué)習(xí),故是多對(duì)一的關(guān)系)。學(xué)生關(guān)

15、系E-R圖老師關(guān)系E-R圖對(duì)于學(xué)生學(xué)籍管理信息管理,我們可以將課程實(shí)體抽象出來。課程實(shí)體E-R圖在信息管理中存在這樣的關(guān)系:畢業(yè)(一個(gè)學(xué)生擁有一個(gè)畢業(yè)信息,而一個(gè)畢業(yè)信息只屬于一個(gè)學(xué)生,故是一對(duì)一的關(guān)系)、選修(一個(gè)學(xué)生可以選修多門課程,而一門課程可以被多個(gè)學(xué)生選修,故是多對(duì)多的關(guān)系)、開設(shè)(一個(gè)專業(yè)可以開設(shè)多門課程,而一門課程可以被多個(gè)專業(yè)選擇,故是多對(duì)多的關(guān)系)、授課(一門課程可以被多個(gè)老師講授,而一個(gè)老師可以講授多門課程,故是多對(duì)多的關(guān)系)。選修管理關(guān)系E-R圖以上是本系統(tǒng)中的基本的實(shí)體和關(guān)系,本系統(tǒng)是將其分步找出來加以描述。5.3 ado 的鏈接技術(shù)代碼的實(shí)現(xiàn):Public txtsq

16、l As StringPublic username As StringPublic qxstr As StringPublic qxstra As String'執(zhí)行相應(yīng)的SQL命令Public Function ExecuteSQL(ByVal sql As String) As ADODB.Recordset Dim mycon As ADODB.Connection Dim rst As ADODB.Recordset Set mycon = New ADODB.Connection mycon.ConnectionString = connstring mycon.Open

17、Dim stokens() As String On Error GoTo exectuesql_error stokens = Split(sql) If InStr("INSERT,DELETE,UPDATE", UCase(stokens(0) Then mycon.Execute sql Else Set rst = New ADODB.Recordset rst.Open Trim(sql), mycon, adOpenKeyset, adLockOptimistic Set ExecuteSQL = rst End Ifexectuesql_exit: Set

18、rst = Nothing Set mycon = Nothing Exit Functionexectuesql_error: Resume exectuesql_exitEnd Function'連接字符串,用戶可以根據(jù)自己的數(shù)據(jù)庫進(jìn)行修改相應(yīng)參數(shù)Public Function connstring() As String connstring = "Provider=SQLOLEDB.1;Persist Security Info=False;UID=sa;PWD=;Initial Catalog=StuMIS;Data Source=(local)"End

19、Function'檢查用戶的權(quán)限Public Function Executeqx(ByVal txt As String) As String Dim sql As String Dim mycon As ADODB.Connection Dim rst As ADODB.Recordset Set mycon = New ADODB.Connection mycon.ConnectionString = connstring mycon.Open Set rst = New ADODB.Recordset sql = "select 標(biāo)識(shí) from 用戶 where 用戶

20、名='" & username & "'" rst.Open Trim(sql), mycon, adOpenKeyset, adLockOptimistic If rst.EOF = True Then MsgBox "非法用戶!", vbExclamation + vbOKOnly, "警告" Executeqx = "nothing" Exit Function End If If rst.Fields(0) = "1" Then Executeq

21、x = "admin" Exit Function End If If rst.Fields(0) = "0" Then Executeqx = "readonly" Exit Function End If On Error GoTo exectuesql_errorexectuesql_exit: Set rst = Nothing Set mycon = Nothing Exit Functionexectuesql_error: Resume exectuesql_exitEnd Function5.4 概念模型概念模型是在對(duì)

22、用戶需求分析之后,通過畫出本系統(tǒng)抽象出的E-R圖,由概念模型輔助工具Visual Basic進(jìn)行設(shè)計(jì),通過具體地設(shè)置和繪圖,最后就形成了如下所示的概念模型圖,生成的概念結(jié)構(gòu)就能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求,是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。6 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。設(shè)計(jì)邏輯結(jié)構(gòu)一般分為3步進(jìn)行:(1)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;(2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3)對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。6.1 關(guān)

23、系模型將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要獎(jiǎng)實(shí)體型、實(shí)體的屬性和實(shí)體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。對(duì)于實(shí)體型間的聯(lián)系則有以下不同的情況:(1)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的個(gè)實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)體的碼均是該關(guān)系的侯選碼。如果與某一端實(shí)體對(duì)應(yīng)的關(guān)系模式合并,則需要在關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的碼和聯(lián)系本身的屬性。(2)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,

24、也可以與n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的個(gè)各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼。(3)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的個(gè)實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。(4)3個(gè)或3個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。(5)具有相同碼的關(guān)系模式可合并。將概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為關(guān)系模型,如下所示:n 學(xué)生(學(xué)號(hào),專業(yè)號(hào),院系號(hào),姓名

25、,性別,出生日期,入學(xué)時(shí)間,政治面貌,家庭住址,籍貫,郵政編碼,民族),此為學(xué)生實(shí)體對(duì)應(yīng)的關(guān)系模式。n 課程(課程號(hào),課程名,學(xué)分),此為課程實(shí)體對(duì)應(yīng)的關(guān)系模式。n 開設(shè)(專業(yè)號(hào),課程號(hào)),此為專業(yè)開設(shè)課程關(guān)系對(duì)應(yīng)的關(guān)系模式。7 物理結(jié)構(gòu)設(shè)計(jì)與功能實(shí)現(xiàn)7.1 物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫的物理設(shè)計(jì)就是為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。物理結(jié)構(gòu)設(shè)計(jì)階段實(shí)現(xiàn)的是數(shù)據(jù)庫系統(tǒng)的內(nèi)模式,它的質(zhì)量直接決定了整個(gè)系統(tǒng)的性能。因此在確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取方法之前,對(duì)數(shù)據(jù)庫系統(tǒng)所支持的事務(wù)要進(jìn)行仔細(xì)分析,獲得優(yōu)化數(shù)據(jù)庫物理設(shè)計(jì)的參數(shù)數(shù)據(jù)庫的物理設(shè)計(jì)通常分為兩步:(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu)

26、,在關(guān)系數(shù)據(jù)庫中主要指存取方法和存取結(jié)構(gòu);(2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。7.1.1 確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)由于本系統(tǒng)的數(shù)據(jù)庫建立不是很大,所以數(shù)據(jù)存儲(chǔ)采用的是一個(gè)磁盤的一個(gè)分區(qū)。7.1.2 存取方法和優(yōu)化方法存取方法是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術(shù)。數(shù)據(jù)庫管理系統(tǒng)一般都是提供多種存取方法。常用的存取方法有三類。第一類是索引方法,目前主要是B+樹索引方法;第二類是聚簇方法;第三類是HASH方法。數(shù)據(jù)庫的索引類似書的目錄。在書中,目錄允許用戶不必瀏覽全書就能迅速地找到所需要的位置。在數(shù)據(jù)庫中,索引也允許應(yīng)用程序迅速找到表中的數(shù)據(jù),而不必掃描整個(gè)數(shù)據(jù)庫。在書中,目錄就是內(nèi)容和相應(yīng)頁

27、號(hào)的清單。在數(shù)據(jù)庫中,索引就是表中數(shù)據(jù)和相應(yīng)存儲(chǔ)位置的列表。使用索引可以大大減少數(shù)據(jù)的查詢時(shí)間。但需要注意的是索引雖然能加速查詢的速度,但是為數(shù)據(jù)庫中的每張表都設(shè)置大量的索引并不是一個(gè)明智的做法。這是因?yàn)樵黾铀饕灿衅洳焕囊幻妫菏紫?,每個(gè)索引都將占用一定的存儲(chǔ)空間,如果建立聚簇索引(會(huì)改變數(shù)據(jù)物理存儲(chǔ)位置的一種索引),占用需要的空間就會(huì)更大;其次,當(dāng)對(duì)表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時(shí)候,索引也要?jiǎng)討B(tài)地維護(hù),這樣就降低了數(shù)據(jù)的更新速度。7.2 功能實(shí)現(xiàn)完成數(shù)據(jù)庫的物理設(shè)計(jì)之后,設(shè)計(jì)人員就要用RDBMS提供的數(shù)據(jù)定義語言和其他實(shí)用程序?qū)?shù)據(jù)庫邏輯設(shè)計(jì)和物理設(shè)計(jì)結(jié)果嚴(yán)格描述出來,成為DBMS可以

28、接受的源代碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式。然后就可以組織數(shù)據(jù)入庫,最后就在此基礎(chǔ)上編寫各個(gè)表相關(guān)的觸發(fā)器和存儲(chǔ)過程。7.2.1 觸發(fā)器觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動(dòng)的特殊過程。一旦定義,任何用戶對(duì)表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應(yīng)的觸發(fā)器,在DBMS核心層進(jìn)行集中的完整性控制。由于本系統(tǒng)的觸發(fā)器比較多,在這里我只寫出了其中的一部分觸發(fā)器。主窗體代碼實(shí)現(xiàn):Private Sub bjcx_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation

29、 + vbOKOnly, "警告"Exit SubEnd If班級(jí)查詢.ShowEnd SubPrivate Sub bjkcsz_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If課程設(shè)置.ShowEnd SubPrivate Sub bjll_Click(Index As Integer)班級(jí)瀏覽.ShowEnd SubPrivate Sub b

30、jsc_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If班級(jí)刪除.ShowEnd SubPrivate Sub bjtj_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"

31、;Exit SubEnd If班級(jí)添加.ShowEnd SubPrivate Sub cjll_Click(Index As Integer)成績(jī)?yōu)g覽.ShowEnd SubPrivate Sub cjsc_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If成績(jī)刪除.ShowEnd SubPrivate Sub cjtj_Click(Index As Integer)I

32、f qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If成績(jī)添加.ShowEnd SubPrivate Sub cjxg_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If成績(jī)修改.ShowEnd

33、SubPrivate Sub cxdl_Click(Index As Integer)登錄窗口.ShowUnload MeEnd SubPrivate Sub dacx_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If檔案查詢.ShowEnd SubPrivate Sub dall_Click(Index As Integer)檔案瀏覽.ShowEnd SubPriv

34、ate Sub dasc_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If檔案刪除.ShowEnd SubPrivate Sub datj_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, &quo

35、t;警告"Exit SubEnd If檔案添加.ShowEnd SubPrivate Sub daxg_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If檔案修改.ShowEnd SubPrivate Sub kcsz_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)

36、限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If課程設(shè)置.ShowEnd SubPrivate Sub Picture1_Click()End SubPrivate Sub scyh_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If刪除用戶.ShowEnd SubPrivate S

37、ub tc_Click(Index As Integer)Unload MeEnd SubPrivate Sub tjyh_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If添加用戶.ShowEnd SubPrivate Sub xgmm_Click(Index As Integer)修改密碼.ShowEnd SubPrivate Sub xksz_Click()If

38、qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If選課設(shè)置.ShowEnd SubPrivate Sub xqsz_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If學(xué)期設(shè)置.ShowEnd Su

39、bPrivate Sub yxsz_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly, "警告"Exit SubEnd If院系設(shè)置.ShowEnd SubPrivate Sub zysz_Click(Index As Integer)If qxstra = "0" ThenMsgBox " 你沒有權(quán)限進(jìn)行操作!", vbExclamation + vbOKOnly,

40、 Exit SubEnd If專業(yè)設(shè)置.ShowEnd Sub(1)數(shù)據(jù)更新CREATE TRIGGER scupdate ON dbo.student /建立學(xué)生信息表更新觸發(fā)器FOR UPDATE ASUPDATE SC /更新學(xué)生選課表SCSET SNO = (SELECT SNO FROM INSERTED) /將SC表中的學(xué)號(hào)改成學(xué)生表改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對(duì)應(yīng)的學(xué)生學(xué)號(hào)CREATE TRIGGER graduateupdate ON dbo.student /建立學(xué)生信息表更新觸發(fā)器FOR UPDATE ASUPD

41、ATE GRADUATE /更新學(xué)生畢業(yè)信息表GRADUATESET SNO = (SELECT SNO FROM INSERTED) /將GRADUATE表中的學(xué)號(hào)改成學(xué)生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對(duì)應(yīng)的學(xué)生學(xué)號(hào)CREATE TRIGGER majorupdate ON dbo.student /建立學(xué)生信息表更新觸發(fā)器FOR UPDATE ASUPDATE MAJOR /更新專業(yè)信息表MAJORSET SNO = (SELECT SNO FROM INSERTED) /將MAJOR表中的學(xué)號(hào)改成學(xué)生表修改后的WHERE S

42、NO = (SELECT SNO FROM DELETED); /更改對(duì)應(yīng)的學(xué)生學(xué)號(hào)CREATE TRIGGER student1 ON dbo.major /建立專業(yè)信息表更新觸發(fā)器FOR UPDATE ASUPDATE STUDENT /更新學(xué)生信息信息表STUDENTSET MNO = (SELECT MNO FROM INSERTED) /將STUDENT表中的專業(yè)號(hào)改成專業(yè)表修改后的WHERE MNO = (SELECT MNO FROM DELETED); /更改對(duì)應(yīng)的專業(yè)號(hào)CREATE TRIGGER student2update ON dbo.department /建立院系信

43、息表更新觸發(fā)器FOR UPDATE ASUPDATE STUDENT /更新學(xué)生信息信息表STUDENTSET DMPNO = (SELECT DMPNO FROM INSERTED) /將STUDENT表中的院系號(hào)改成專業(yè)表修改后的WHERE DMPNO = (SELECT DMPNO FROM DELETED); /更改對(duì)應(yīng)的院系號(hào) (2) 數(shù)據(jù)刪除CREATE TRIGGER sc1update ON dbo.course /建立課程信息表刪除觸發(fā)器FOR DELETEASUPDATE SC /刪除選課信息表SCSET CNO = NULL /刪除SC表中的課程號(hào)刪除WHERE CNO

44、= (SELECT CNO FROM DELETED) /找到對(duì)應(yīng)的課程號(hào)CREATE TRIGGER stu_majorupdate ON dbo.major /建立專業(yè)信息表刪除觸發(fā)器FOR DELETE ASUPDATE STUDENT /刪除學(xué)生信息表STUDENT SET MNO = NULL /刪除STUDENT 表中的專業(yè)號(hào)刪除WHERE MNO = (SELECT MNO FROM DELETED) /找到對(duì)應(yīng)的專業(yè)號(hào)CREATE TRIGGER teacherupdate ON dbo.department /建立院系信息表刪除觸發(fā)器FOR DELETE ASUPDATE T

45、EACHER /刪除教師信息表TEACHER SET DMPNO = NULL /刪除TEACHER表中的院系號(hào)刪除WHERE DMPNO = (SELECT DMPNO FROM DELETED) /找到對(duì)應(yīng)的院系號(hào)登錄窗體代碼實(shí)現(xiàn):Private Sub Command1_Click() Dim mrc As ADODB.Recordset txtsql = "select 用戶名,標(biāo)識(shí) from 用戶 where 用戶名='" & Trim(Text1.Text) & "" Set mrc = ExecuteSQL(txts

46、ql) If mrc.EOF = True Then MsgBox " 用戶名錯(cuò)誤!", vbExclamation + vbOKOnly, "警告" Text1.SetFocus 'Text1.SelStart = 0 'Text1.SelLength = Len(Text1.Text) Exit Sub End If username = mrc.Fields(0) qxstra = mrc.Fields(1) mrc.Close txtsql = "select 密碼 from 用戶 where 密碼='"

47、; & Trim(Text2.Text) & "'" Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then MsgBox " 密碼錯(cuò)誤!", vbExclamation + vbOKOnly, Text2.SetFocus 'Text2.SelStart = 0 'Text2.SelLength = Len(Text2.Text) Exit Sub End If 主窗體.Show Unload MeEnd SubPrivate Sub Command2_Click(

48、) Unload MeEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""End SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub Label3_Click()End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End I

49、fEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1.SetFocus End IfEnd Sub代碼實(shí)現(xiàn):Dim mrc As ADODB.RecordsetPrivate Sub Command1_Click()If Text14.Text = "" ThenMsgBox " 輸入查找學(xué)號(hào)!", vbExclamation + vbOKOnly, "警告"Text14.SetFocusExit SubEnd If

50、If Text15.Text = "" ThenMsgBox " 輸入查找姓名!", vbExclamation + vbOKOnly, "警告"Text15.SetFocusExit SubEnd Iftxtsql = "select a.學(xué)號(hào),a.姓名,a.性別,a.民族,a.血型,a.出生年月,b.院系名稱,c.專業(yè)名稱,d.班級(jí)名稱,a.聯(lián)系電話,a.郵編,a.籍貫,a.家庭住址,a.備注 from 學(xué)生基本信息 a,院系 b,專業(yè) c,班級(jí) d where a.院系代碼=b.院系代碼 and a.專業(yè)代碼=c.專業(yè)

51、代碼 and a.班級(jí)代碼=d.班級(jí)代碼 and a.學(xué)號(hào)='" & Trim(Text14.Text) & "' and a.姓名='" & Trim(Text15.Text) & "'"Set mrc = ExecuteSQL(txtsql)If Not mrc.EOF ThenMe.fzMe.szElseMsgBox " 不存在該檔案!", vbExclamation + vbOKOnly, "警告"Text14.SetFocusExi

52、t SubEnd IfText14.Text = ""Text15.Text = ""mrc.Close'使用一組按鈕,不是按某一個(gè)值來查找txtsql = "select a.學(xué)號(hào),a.姓名,a.性別,a.民族,a.血型,a.出生年月,b.院系名稱,c.專業(yè)名稱,d.班級(jí)名稱,a.聯(lián)系電話,a.郵編,a.籍貫,a.家庭住址,a.備注 from 學(xué)生基本信息 a,院系 b,專業(yè) c,班級(jí) d where a.院系代碼=b.院系代碼 and a.專業(yè)代碼=c.專業(yè)代碼 and a.班級(jí)代碼=d.班級(jí)代碼 "Set mrc = E

53、xecuteSQL(txtsql)Command3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = TrueEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click()'txtsql = "select a.學(xué)號(hào),a.姓名,a.性別,a.民族,a.血型,a.出生年月,b.院系名稱,c.專業(yè)名稱,d.班級(jí)名稱,a.聯(lián)系電話,a.郵編,a.籍貫,a.家庭住址,a.備注 fro

54、m 學(xué)生基本信息 a,院系 b,專業(yè) c,班級(jí) d where a.院系代碼=b.院系代碼 and a.專業(yè)代碼=c.專業(yè)代碼 and a.班級(jí)代碼=d.班級(jí)代碼 "'Set mrc = ExecuteSQL(txtsql)mrc.MoveFirstMe.fz'mrc.CloseEnd SubPrivate Sub Command4_Click()'txtsql = "select a.學(xué)號(hào),a.姓名,a.性別,a.民族,a.血型,a.出生年月,b.院系名稱,c.專業(yè)名稱,d.班級(jí)名稱,a.聯(lián)系電話,a.郵編,a.籍貫,a.家庭住址,a.備注 fro

55、m 學(xué)生基本信息 a,院系 b,專業(yè) c,班級(jí) d where a.院系代碼=b.院系代碼 and a.專業(yè)代碼=c.專業(yè)代碼 and a.班級(jí)代碼=d.班級(jí)代碼 "'Set mrc = ExecuteSQL(txtsql)mrc.MovePreviousIf mrc.BOF Thenmrc.MoveFirstMsgBox " 到第一條記錄!", vbExclamation + vbOKOnly, "提示"End IfMe.fz'mrc.CloseEnd SubPrivate Sub Command5_Click()'txtsql = "select a.學(xué)號(hào),a.姓名,a.性別,a.民族,a.血型,a.出生年月,b.院系名稱,c.專業(yè)名稱,d.班級(jí)名稱,a.聯(lián)系電話,a.郵編,a.籍貫,a.家庭住

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論