學(xué)生學(xué)籍管理系統(tǒng)_第1頁
學(xué)生學(xué)籍管理系統(tǒng)_第2頁
學(xué)生學(xué)籍管理系統(tǒng)_第3頁
學(xué)生學(xué)籍管理系統(tǒng)_第4頁
學(xué)生學(xué)籍管理系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué)生學(xué)籍管理子系統(tǒng)1題目名稱:學(xué)生學(xué)籍管理子系統(tǒng)學(xué)生姓名:余四輩,嚴(yán)文元學(xué)號 2007051222、2007051220 系部: 計算機與信息科學(xué)學(xué)院 專業(yè)年級:07級(2)班指導(dǎo)教師: 段紅英 2010年06月20日摘 要學(xué)生學(xué)籍管理系統(tǒng)是典型的管理信息系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)1致性和完整性強、數(shù)據(jù)安全性好的庫.而對于后者則要求應(yīng)用程序功能完備,易使用等特點。本系統(tǒng)主要完成對學(xué)籍的管理,包括添加、修改、刪除,查詢,打印信息以用戶管理等6個方面。系統(tǒng)可以完成對各類信息的瀏覽、查詢、添加、刪除、修改等功能.系統(tǒng)的核

2、心是添加、修改和刪除3者之間的聯(lián)系,每1個表的修改都將聯(lián)動的影響其它的表,當(dāng)完成添加或刪除操作時系統(tǒng)會自動地完成學(xué)籍的修改。查詢功能也是系統(tǒng)的核心之1,在系統(tǒng)中主要根據(jù)學(xué)生姓名和學(xué)號進行查詢,其目的都是為了方便用戶使用。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,并具備報表打印功能。系統(tǒng)采用Microsoft的SQL 2000來設(shè)計數(shù)據(jù)庫,并使用當(dāng)前優(yōu)秀的開發(fā)工具: Microsoft Visual Basic 6。0,它有著最為靈活的數(shù)據(jù)庫結(jié)構(gòu),對數(shù)據(jù)庫應(yīng)用有著良好的支持.論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點的說明了系統(tǒng)設(shè)計的重點、設(shè)計思想、難點技術(shù)和解決方案.關(guān)鍵

3、詞:學(xué)生;學(xué)籍;管理信息系統(tǒng);Microsoft Visual Basic 6。0第一章 緒論1。1前言學(xué)生學(xué)籍管理是學(xué)校管理的重要組成部分,對于學(xué)校和政府教育單位來說都至關(guān)重要,所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。傳統(tǒng)的人工方式管理方式效率低、保密性差,不利于查找、更新和維護.使用計算機對學(xué)生信息進行管理,能夠極大地提高學(xué)生管理的效率,節(jié)約教育經(jīng)費,這也是適應(yīng)學(xué)校信息化建設(shè)發(fā)展趨勢的重要因素。作為計算機應(yīng)用的1部分,使用計算機對學(xué)生學(xué)籍信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能

4、夠極大地提高學(xué)生學(xué)籍管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣的管理軟件成為很有必要的事情。學(xué)生學(xué)籍信息管理系統(tǒng)其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面,對于前者要求建立起數(shù)據(jù)庫1致性和完整性、安全性好的數(shù)據(jù)庫。而對于后者則要求應(yīng)用程序功能完備,易使用的特點。經(jīng)過分析,我們使用易于與數(shù)據(jù)庫連接的Microsoft Visual Basic 6。0開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)庫窗口這1功能強大而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原形,然后對初始原型系統(tǒng)進行需求分析,不斷修正和改進,直到形

5、成用戶滿意的可行系統(tǒng)。學(xué)生學(xué)籍管理系統(tǒng)要實現(xiàn)的目標(biāo)是為學(xué)校提供學(xué)生管理解決方案。具體目標(biāo)如下:l 提高學(xué)生信息管理效率,節(jié)約管理成本,增強學(xué)生管理的安全性。l 滿足學(xué)校學(xué)生管理的人員、老師和學(xué)生的不同層次和不同方面的需要。l 為學(xué)校將來的信息化建設(shè)提供必要的支持??傊?,通過該系統(tǒng)的建設(shè)來提高學(xué)校的學(xué)生信息管理效率,使得學(xué)校的發(fā)展能夠適應(yīng)社會發(fā)展的腳步.1。2開發(fā)環(huán)境本學(xué)生學(xué)籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))的開發(fā)與運行環(huán)境如下:開發(fā)環(huán)境:Windows XP輔助工具:PowerDesigner Trial 11數(shù)據(jù)庫管理系統(tǒng):SQL Server 2000運行環(huán)境:Wind

6、ows 2000/XP/20031。3內(nèi)容和要求1.3.1系統(tǒng)目標(biāo)設(shè)計² 使得學(xué)生的學(xué)籍管理工作更加清晰、條理化、自動化。² 很容易地完成新生信息的輸入、老生信息的備份、畢業(yè)學(xué)生的信息可以很容易地保存。² 當(dāng)學(xué)生需要查詢成績時,可以很簡單地將其需要的信息從數(shù)據(jù)庫中查找出來并可以打印查詢結(jié)果.² 隨著當(dāng)今網(wǎng)絡(luò)技術(shù)的發(fā)展,提供網(wǎng)絡(luò)在線查詢功能,可以為畢業(yè)生提供更多的就業(yè)機會。1。3。2系統(tǒng)功能要求(1)學(xué)生基本信息系統(tǒng)² 能夠完成新、老生信息的輸人、修改、插人、刪除等工作。² 可以按照特定的信息進行查找,并按照特定的要求進行排序。

7、8; 可以對老生的信息進行備份,以便日后查詢。² 可以對學(xué)生的信息進行打印輸出。² 提供詳細的幫助文件和系統(tǒng)維護功能。(2)學(xué)生成績管理系統(tǒng) 此部分的功能如下:² 學(xué)生成績的輸入、修改、刪除等基本操作.² 成績的綜合統(tǒng)計功能,包括學(xué)生成績按照不同條件進行排名。管理人員可以選擇不同的排序條件,并可以將排序結(jié)果進行打印輸出。² 計算各班的總分和平均分,并按照平均分將各班成績進行排序。² 統(tǒng)計不及格考生的信息,根據(jù)條件確定是重修還是補考。² 學(xué)生獎勵統(tǒng)計,自動生成每班獲得獎學(xué)金的同學(xué)的信息,并可以將獎學(xué)金分成不同的等級,以及所得獎

8、學(xué)金的數(shù)目。² 本系統(tǒng)可以在單機上運行,也可以應(yīng)用在網(wǎng)絡(luò)上供在線查詢成績和其他一些學(xué)生的信息(此功能選做人提供給學(xué)生進行查詢的系統(tǒng)和提供給教務(wù)處使用的系統(tǒng),在不同用戶使用時,應(yīng)該會有不同的使用權(quán)限.² 提供詳細的幫助文件.由于數(shù)據(jù)庫內(nèi)的信息會很多,注意數(shù)據(jù)庫表格設(shè)計,使得學(xué)生查詢基本信息或?qū)W習(xí)成績時使用時間較短。按照數(shù)據(jù)庫系統(tǒng)開發(fā)步驟進行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計.系統(tǒng)的功能模塊設(shè)計圖如圖所示.圖 11 系統(tǒng)功能模塊設(shè)計圖2需求分析第二章 用戶及數(shù)據(jù)字典2.1 用戶需求本系統(tǒng)是針對高等院校的學(xué)生學(xué)籍管理,因此學(xué)籍管理系統(tǒng)的用戶包括系統(tǒng)管理員、教師和學(xué)生。

9、主要涉及系部信息、班級信息、任課教師信息、學(xué)生信息、課程信息以及選課記錄和成績等多種數(shù)據(jù)信息。實現(xiàn)的具體功能如下:l 基本信息管理-系統(tǒng)管理員負責(zé)對各種基本信息的錄入、修改、刪除等操作。l 學(xué)生成績管理系統(tǒng)管理員負責(zé)對學(xué)生成績的錄入、修改、刪除等操作,學(xué)生可以查詢各科成績。l 信息查詢統(tǒng)計學(xué)生可以查詢基本信息和各科的考試成績,老師可以查詢基本信息和授課信息,系統(tǒng)管理員負責(zé)把老師提交的學(xué)生成績進行管理,計算總成績和平均成績,統(tǒng)計不及格學(xué)生信息和獲得獎學(xué)金學(xué)生的信息,最后再輸出所有的信息。l 畢業(yè)生信息管理系統(tǒng)管理員負責(zé)計算畢業(yè)學(xué)生在學(xué)校期間所修課程的總學(xué)分,并進行審核,最后輸出登記表和名冊。l

10、系統(tǒng)用戶管理-系統(tǒng)管理員負責(zé)用不同的權(quán)限來限制不同用戶對系統(tǒng)的使用.以上是用戶對系統(tǒng)的基本的功能要求,此外用戶還要求系統(tǒng)的效率要高,查詢速度要快,比較小的冗余,易維護,具有較高的數(shù)據(jù)安全性。22 劃分功能模塊根據(jù)系統(tǒng)功能的需求分析和高等院校學(xué)籍管理的特點,經(jīng)過模塊化的分析得到如下圖11所示的系統(tǒng)功能模塊結(jié)構(gòu)圖。學(xué)籍管理系統(tǒng)基本信息管理畢業(yè)生信息管理學(xué)生成績管理系統(tǒng)用戶管理信息查詢統(tǒng)計基本信息刪除基本信息修改基本信息錄入學(xué)生成績刪除學(xué)生成績修改學(xué)生成績錄入修改密碼輸出相關(guān)信息統(tǒng)計學(xué)生成績計算學(xué)生成績學(xué)生成績查詢基本信息查詢輸出名冊審核資格計算學(xué)分幫助信息圖 21 系統(tǒng)功能模塊圖2。3數(shù)據(jù)字典2。

11、3。1 數(shù)據(jù)項數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果,數(shù)據(jù)字典是對系統(tǒng)所用到的所有表結(jié)構(gòu)的描述,學(xué)籍管理的主要數(shù)據(jù)見下表。表 2。1 老師基本信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1tno學(xué)號char10Y2tname姓名varchar10N3tsex性別Char2N4profess職稱varchar10N5dname所屬院系varchar8N6tel電話intN表 2。2 學(xué)生基本信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1sno學(xué)號varchar10Y2sname姓名varchar10N3ssex性別Char2N4birthday出生日期timestam

12、p20N5symbol政治面貌varchar8N6Id身份證號varchar20N7Intime入學(xué)時間varchar20N8birthplace籍貫varchar10N9homeaddr家庭住址varchar30N10postcode郵政編碼intN表 2.3 專業(yè)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1mno專業(yè)號char10Y2sno學(xué)號varchar10N3mname專業(yè)名char10N4intime入學(xué)時間datetimeN表 2.4 畢業(yè)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1gno畢業(yè)證編號char10Y2sno學(xué)號varchar10N3sname姓名varchar10N4ssex性

13、別char2N5dname所屬院系varchar10N6intime入學(xué)時間datetimeN7ycredit已修學(xué)分floatN8xcredit需修學(xué)分floatN表 2。5 院系信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1dmpno院系號varchar10Y2dname院系名稱varchar10N3dmphead院長名varchar20N表 2。6 課程信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1cno課程號varchar5Y2cname課程名varchar15N3credit學(xué)分smallintN表 2。7 學(xué)生選課信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1sno學(xué)號varchar10Y2cno課程號v

14、archar5Y3grade成績floatN表 2.8 老師授課信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1cno課程號varchar5Y2tno教工號char10Y3ctime課時smallintN2。3.2數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。經(jīng)過數(shù)據(jù)項和用戶需求的分析,我對本系統(tǒng)一共分了5個組,具體如下表所示:表 2。9 數(shù)據(jù)結(jié)構(gòu)表數(shù)據(jù)結(jié)構(gòu)名含義說明組成部分學(xué)生基本信息管理描述學(xué)生基本信息學(xué)號+姓名+性別+出生日期+身份證號+入學(xué)時間+政治面貌+家庭住址+籍貫+郵政編碼+民族老師基本信息管理描

15、述老師基本信息教工號+姓名+性別+職稱+所屬院系+電話學(xué)生、老師相關(guān)信息管理描述學(xué)生選課信息,畢業(yè)信息,專業(yè)、院系信息,老師授課信息,院系信息學(xué)號+課程號+成績課程號+教工號畢業(yè)證編號+學(xué)號+姓名+性別+身份證號+所屬院系+入學(xué)時間+已修學(xué)分+需修學(xué)分學(xué)生成績管理描述學(xué)生平均成績、總成績的計算,統(tǒng)計相關(guān)信息學(xué)號+課程號+成績系統(tǒng)管理描述用戶修改密碼,幫助信息2.4.3數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健Mㄟ^對用戶的需求分析,以及數(shù)據(jù)項和數(shù)據(jù)流的設(shè)計,得出了相應(yīng)的數(shù)據(jù)流描述如下表所示:1、數(shù)據(jù)流定義表表 2。10 數(shù)據(jù)流定義表編號數(shù)據(jù)流名組成流量備注01學(xué)生信息學(xué)號+姓名+性別+出生日期+

16、身份證號+入學(xué)時間+政治面貌+家庭住址+籍貫+郵政編碼+民族大學(xué)生基本信息02教師信息教工號+姓名+性別+職稱+所屬院系+電話一般教師基本信息03學(xué)生成績學(xué)號+姓名+性別+學(xué)號+課程號+成績大學(xué)生詳細信息04科目成績學(xué)號+課程號+成績大學(xué)生考試成績05各門成績學(xué)號+課程號+成績課程號+課程名+學(xué)分大同上06查詢結(jié)果科目成績+各門成績大各種信息07統(tǒng)計分析科目成績+各門成績大學(xué)生獎勵2、外部項定義表表 2。11 外部項定義表編號名稱輸入數(shù)據(jù)流輸出數(shù)據(jù)流備注1學(xué)生處01主要用于錄入學(xué)生信息2學(xué)生06主要用語學(xué)生查詢信息和成績3老師03主要用于老師提交成績4教務(wù)員06/07主要用于輸出查詢和統(tǒng)計信息

17、的結(jié)果2。5。4數(shù)據(jù)存儲數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。經(jīng)過數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)流的設(shè)計,本系統(tǒng)一共選用了三個數(shù)據(jù)存儲,具體對數(shù)據(jù)存儲的描述通常如下表所示:表 2.12 數(shù)據(jù)存儲表編號數(shù)據(jù)存儲名輸入數(shù)據(jù)流輸出數(shù)據(jù)流數(shù)據(jù)量存取方式A1學(xué)生相關(guān)信息01大批處理、順序檢索A2教師相關(guān)信息0302一般批處理、順序檢索A3學(xué)生成績單06,07大批處理、更新、順序檢索2.4。5處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。對于本系統(tǒng)用于學(xué)生學(xué)籍管理一共設(shè)計了四種處理方法,具體處理方式如下表所示:表 2。13數(shù)據(jù)處理過程表編號名稱輸入數(shù)據(jù)流輸出數(shù)據(jù)流備注B1插入

18、修改01,02,0301,02,03插入學(xué)生信息和老師信息B2更新修改01,02,0301,02,03更新學(xué)生信息和老師信息B3刪除修改01,02,0301,02,03刪除學(xué)生信息和老師信息B4統(tǒng)計分析05,0605,06統(tǒng)計學(xué)生信息和成績第三章 概念及結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進行綜合、歸納與抽象,形成獨立于具體DBMS的概念模型.3。1數(shù)據(jù)流圖數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關(guān)系,根據(jù)用戶的需求分析和高校學(xué)籍管理系統(tǒng)的需求,得出如下圖11所示的學(xué)籍管理數(shù)據(jù)流圖.學(xué)生教師管理員學(xué)生記錄成績畢業(yè)送進信息錄入查詢計算統(tǒng)計更新錄入新生?學(xué)生信息批準(zhǔn)?成績單批準(zhǔn)?核對信息

19、學(xué)生名單提交申請審核信息合格圖 3-1 學(xué)籍管理系統(tǒng)數(shù)據(jù)流圖3。2系統(tǒng)ER圖1對于學(xué)生信息管理,我們可以將學(xué)生實體抽象出來,學(xué)生屬于學(xué)院可以將學(xué)院作為一個實體,學(xué)生所屬專業(yè)和畢業(yè)信息都將可以作為一個實體。圖 3-2 學(xué)生實體ER圖圖 3-3院系實體E-R圖圖 3-4 專業(yè)實體ER圖圖 3-5 畢業(yè)實體ER圖在學(xué)生信息管理中存在這樣的關(guān)系:選擇(一個學(xué)生只能選擇一個專業(yè),而一個專業(yè)可以供多個學(xué)生選擇,故是多對一的關(guān)系)、學(xué)習(xí)(一個學(xué)生只能在一個院系學(xué)習(xí),而一個院系可以供多個學(xué)生學(xué)習(xí),故是多對一的關(guān)系).圖 36 學(xué)生關(guān)系ER圖2 對于老師信息管理,我們可以將老師實體抽象出來,老師屬于學(xué)院可以將學(xué)

20、院作為一個實體.圖 3-7 老師實體ER圖在老師信息管理中存在這樣的關(guān)系:擁有(一個老師只能在一個院系工作,而一個院系可以供多個多個老師工作,故是多對一的關(guān)系).圖 3-8 老師關(guān)系ER圖3 對于教務(wù)信息管理,我們可以將課程實體抽象出來.圖 3-9 課程實體E-R圖在教務(wù)信息管理中存在這樣的關(guān)系:畢業(yè)(一個學(xué)生擁有一個畢業(yè)信息,而一個畢業(yè)信息只屬于一個學(xué)生,故是一對一的關(guān)系)、選修(一個學(xué)生可以選修多門課程,而一門課程可以被多個學(xué)生選修,故是多對多的關(guān)系)、開設(shè)(一個專業(yè)可以開設(shè)多門課程,而一門課程可以被多個專業(yè)選擇,故是多對多的關(guān)系)、授課(一門課程可以被多個老師講授,而一個老師可以講授多門

21、課程,故是多對多的關(guān)系)。第四章 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。設(shè)計邏輯結(jié)構(gòu)一般分為3步進行:(1)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;(2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3)對數(shù)據(jù)模型進行優(yōu)化。4。1 關(guān)系模型將ER圖轉(zhuǎn)換為關(guān)系模型實際上就是要獎實體型、實體的屬性和實體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體型間的聯(lián)系則有以下不同的情況:(1)一個1:1聯(lián)

22、系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的個實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個實體的碼均是該關(guān)系的侯選碼。如果與某一端實體對應(yīng)的關(guān)系模式合并,則需要在關(guān)系模式的屬性中加入另一個關(guān)系模式的碼和聯(lián)系本身的屬性。(2)一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并.如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的個各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。(3)一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的個實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,

23、各實體的碼組成關(guān)系的碼或關(guān)系碼的一部分.(4)3個或3個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體的碼組成關(guān)系的碼或關(guān)系碼的一部分。(5)具有相同碼的關(guān)系模式可合并.將概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本ER圖轉(zhuǎn)換為關(guān)系模型,如下所示:n 學(xué)生(學(xué)號,專業(yè)號,院系號,姓名,性別,出生日期,身份證號,入學(xué)時間,政治面貌,家庭住址,籍貫,郵政編碼,民族),此為學(xué)生實體對應(yīng)的關(guān)系模式.n 教師(教工號,姓名,性別,職稱,所屬院系,電話),此為老師實體對應(yīng)的關(guān)系模式。n 畢業(yè)(畢業(yè)證編號,學(xué)號,姓名,性別,身份證號,所屬院系,入學(xué)時

24、間,已修學(xué)分,需修學(xué)分),此為畢業(yè)實體對應(yīng)的關(guān)系模式。n 課程(課程號,課程名,學(xué)分),此為課程實體對應(yīng)的關(guān)系模式。n 院系(院系號,院系名稱,院長名),此為院系實體對應(yīng)的關(guān)系模式.n 選修(學(xué)號,課程號,成績),此為選修關(guān)系對應(yīng)的關(guān)系模式。n 授課(課程號,教工號,課時),此為老師授課關(guān)系對應(yīng)的關(guān)系模式。n 開設(shè)(專業(yè)號,課程號),此為專業(yè)開設(shè)課程關(guān)系對應(yīng)的關(guān)系模式。第五章 物理結(jié)構(gòu)設(shè)計與功能實現(xiàn)5。1 物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的物理設(shè)計就是為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程.物理結(jié)構(gòu)設(shè)計階段實現(xiàn)的是數(shù)據(jù)庫系統(tǒng)的內(nèi)模式,它的質(zhì)量直接決定了整個系統(tǒng)的性能。因此在確定數(shù)據(jù)庫

25、的存儲結(jié)構(gòu)和存取方法之前,對數(shù)據(jù)庫系統(tǒng)所支持的事務(wù)要進行仔細分析,獲得優(yōu)化數(shù)據(jù)庫物理設(shè)計的參數(shù)數(shù)據(jù)庫的物理設(shè)計通常分為兩步:(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存取結(jié)構(gòu);(2)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率.5.1。1 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)由于本系統(tǒng)的數(shù)據(jù)庫建立不是很大,所以數(shù)據(jù)存儲采用的是一個磁盤的一個分區(qū).5.1。2 存取方法和優(yōu)化方法存取方法是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術(shù)。數(shù)據(jù)庫管理系統(tǒng)一般都是提供多種存取方法.常用的存取方法有三類。第一類是索引方法,目前主要是B+樹索引方法;第二類是聚簇方法;第三類是HASH方法。數(shù)據(jù)庫的索引類似書的目錄。在書中,目

26、錄允許用戶不必瀏覽全書就能迅速地找到所需要的位置.在數(shù)據(jù)庫中,索引也允許應(yīng)用程序迅速找到表中的數(shù)據(jù),而不必掃描整個數(shù)據(jù)庫。在書中,目錄就是內(nèi)容和相應(yīng)頁號的清單。在數(shù)據(jù)庫中,索引就是表中數(shù)據(jù)和相應(yīng)存儲位置的列表。使用索引可以大大減少數(shù)據(jù)的查詢時間。但需要注意的是索引雖然能加速查詢的速度,但是為數(shù)據(jù)庫中的每張表都設(shè)置大量的索引并不是一個明智的做法。這是因為增加索引也有其不利的一面:首先,每個索引都將占用一定的存儲空間,如果建立聚簇索引(會改變數(shù)據(jù)物理存儲位置的一種索引),占用需要的空間就會更大;其次,當(dāng)對表中的數(shù)據(jù)進行增加、刪除和修改的時候,索引也要動態(tài)地維護,這樣就降低了數(shù)據(jù)的更新速度。5.2

27、功能實現(xiàn)完成數(shù)據(jù)庫的物理設(shè)計之后,設(shè)計人員就要用RDBMS提供的數(shù)據(jù)定義語言和其他實用程序?qū)?shù)據(jù)庫邏輯設(shè)計和物理設(shè)計結(jié)果嚴(yán)格描述出來,成為DBMS可以接受的源代碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式。然后就可以組織數(shù)據(jù)入庫,最后就在此基礎(chǔ)上編寫各個表相關(guān)的觸發(fā)器和存儲過程.5。2。1 觸發(fā)器觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動的特殊過程。一旦定義,任何用戶對表的增、刪、改操作均由服務(wù)器自動激活相應(yīng)的觸發(fā)器,在DBMS核心層進行集中的完整性控制。由于本系統(tǒng)的觸發(fā)器比較多,在這里我只寫出了其中的一部分觸發(fā)器,具體如下所示。(1)數(shù)據(jù)更新-CREATE TRIGGER scupdate ON dbo。st

28、udent /建立學(xué)生信息表更新觸發(fā)器FOR UPDATE ASUPDATE SC /更新學(xué)生選課表SCSET SNO = (SELECT SNO FROM INSERTED) /將SC表中的學(xué)號改成學(xué)生表改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對應(yīng)的學(xué)生學(xué)號-CREATE TRIGGER graduateupdate ON dbo.student /建立學(xué)生信息表更新觸發(fā)器FOR UPDATE ASUPDATE GRADUATE /更新學(xué)生畢業(yè)信息表GRADUATESET SNO = (SELECT SNO FROM INSERTED) /將

29、GRADUATE表中的學(xué)號改成學(xué)生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對應(yīng)的學(xué)生學(xué)號-CREATE TRIGGER majorupdate ON dbo。student /建立學(xué)生信息表更新觸發(fā)器FOR UPDATE ASUPDATE MAJOR /更新專業(yè)信息表MAJORSET SNO = (SELECT SNO FROM INSERTED) /將MAJOR表中的學(xué)號改成學(xué)生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對應(yīng)的學(xué)生學(xué)號-CREATE TRIGGER student1 ON

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

31、LECT DMPNO FROM INSERTED) /將STUDENT表中的院系號改成專業(yè)表修改后的WHERE DMPNO = (SELECT DMPNO FROM DELETED); /更改對應(yīng)的院系號-(2) 數(shù)據(jù)刪除-CREATE TRIGGER teach1update ON dbo。teacher /建立教師信息表刪除觸發(fā)器FOR DELETE ASUPDATE TEACH /刪除授課信息表TEACHSET TNO = NULL /刪除TEACH表中的教工號刪除WHERE TNO = (SELECT TNO FROM DELETED) /找到對應(yīng)的教工號-CREATE TRIGGER

32、 sc1update ON dbo.course /建立課程信息表刪除觸發(fā)器FOR DELETEASUPDATE SC /刪除選課信息表SCSET CNO = NULL /刪除SC表中的課程號刪除WHERE CNO = (SELECT CNO FROM DELETED) /找到對應(yīng)的課程號-CREATE TRIGGER stu_majorupdate ON dbo。major /建立專業(yè)信息表刪除觸發(fā)器FOR DELETE ASUPDATE STUDENT /刪除學(xué)生信息表STUDENT SET MNO = NULL /刪除STUDENT 表中的專業(yè)號刪除WHERE MNO = (SELECT

33、 MNO FROM DELETED) /找到對應(yīng)的專業(yè)號-CREATE TRIGGER teacherupdate ON dbo.department /建立院系信息表刪除觸發(fā)器FOR DELETE ASUPDATE TEACHER /刪除教師信息表TEACHER SET DMPNO = NULL /刪除TEACHER表中的院系號刪除WHERE DMPNO = (SELECT DMPNO FROM DELETED) /找到對應(yīng)的院系號-5。2.2 存儲過程存儲過程是PL/SQL語句書寫的過程,這個過程經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務(wù)器中,使用時只要調(diào)用即可。(1)數(shù)據(jù)查詢-存儲過程名:教師信息查

34、詢?nèi)肟趨?shù):tno varchar(10)/輸入教師的教工號出口參數(shù):tno char(10), tname varchar(10), profess varchar(10), dname varchar(10), tel int, tsex char(2),/定義存放輸出教師信息的變量CREATE PROCEDURE selectteacher /建立查詢教師信息存儲過程tnoASSELECT tno = tno FROM INSERTED /選擇與輸入教工號相等的所有記錄SELECT * /選出符合條件的教師所有信息 FROM teacher GO-存儲過程名:院系信息查詢?nèi)肟趨?shù):dmp

35、no/輸入院系的院系號出口參數(shù):dmpno, dmpname,dmphead, /定義存放輸出院系信息的變量CREATE PROCEDURE selectdepartment/建立查詢院系信息存儲過程dmpnoASSELECT dmpno = dmpno FROM INSERTED/選擇與輸入院系號相等的所有記錄SELECT */選出符合條件的院系所有信息 FROM department GO-(2)數(shù)據(jù)插入-存儲過程名:學(xué)生信息插入入口參數(shù):sno varchar(10), id varchar(20), intime varchar(20),birthplace varchar(10),

36、sname varchar(10),ssex char(2), birthday varchar(20),symbol varchar(8), homeaddr varchar(20), postcode int,/輸入需要插入的學(xué)生所有信息 出口參數(shù): 無CREATE PROCEDURE insertstudent/建立插入學(xué)生信息的存儲過程 sno varchar(10), id varchar(20),intime varchar(20),birthplace varchar(10), sname varchar(10),ssex char(2), birthday varchar(20

37、),symbol varchar(8),homeaddr varchar(20), postcode int,/定義存放插入學(xué)生信息的變量ASINSERT INTO student(sno,sname,ssex,birthday,symbol,id,intime,birthplace,homeaddr,postcode)/插入學(xué)生表對應(yīng)的列名VALUES (sno varchar(10), sname varchar(10), ssex char(2),birthday varchar(20), symbol varchar(8), id varchar(20),intime varchar(

38、20), birthplace varchar(10),homeaddr varchar(20), postcode int)/插入學(xué)生表對應(yīng)列名值GO-存儲過程名:教師信息插入入口參數(shù):tno char(10), tname varchar(10), profess varchar(10), dname varchar(10), tel int, tsex char(2), /輸入需要插入的教師所有信息 出口參數(shù): 無CREATE PROCEDURE insertteacher tno char(10), tname varchar(10),profess varchar(10),dname

39、 varchar(10), tel int,tsex char(2),/定義存放輸出教師信息的變量ASINSERT INTO teacher(tno,tname,tsex,profess,dname,tel)/插入教師表對應(yīng)的列名VALUES (tno char(10), tname varchar(10), tsex char(2),profess varchar(10), dname varchar(10), tel int,)/插入教師表對應(yīng)列名值GO(3)數(shù)據(jù)刪除存儲過程名:學(xué)生信息刪除入口參數(shù):sno varchar(10) /輸入要刪除學(xué)生的學(xué)號 出口參數(shù): 無CREATE PRO

40、CEDURE deletestudent /建立刪除學(xué)生信息的存儲過程sno,ASSELECT sno = sno FROM DELETED /選擇與輸入學(xué)號相等的所有記錄DELETE FROM student/刪除符合條件的記錄GO存儲過程名:專業(yè)信息刪除入口參數(shù):mno varchar(10) /輸入要刪除專業(yè)的專業(yè)號 出口參數(shù): 無CREATE PROCEDURE deletemajor/建立刪除專業(yè)信息的存儲過程 mname,ASSELECT mname = mname FROM DELETED/選擇與輸入專業(yè)號相等的所有記錄DELETE FROM major/刪除符合條件的記錄GO(

41、4)數(shù)據(jù)更新存儲過程名:學(xué)生學(xué)號更新入口參數(shù): no int, /輸入要更新的學(xué)生學(xué)號 出口參數(shù): sno int,/輸出更新后的學(xué)生學(xué)號CREATE PROCEDURE updatesno /建立更新學(xué)生學(xué)號的存儲過程 no int,ASSELECT no = sno FROM INSERTED/選擇與輸入學(xué)號相等的所有記錄UPDATE studentSET sno=no/更新符合條件的記錄GO-存儲過程名:專業(yè)名更新入口參數(shù):mname varchar(20),/輸入要更新的專業(yè)名稱 出口參數(shù):name varchar(20),/輸出更新后的專業(yè)名稱CREATE PROCEDURE upd

42、atemname /建立更新專業(yè)名的存儲過程 name varchar(20),ASSELECT mname = mname FROM INSERTED/選擇與輸入學(xué)號相等的所有記錄UPDATE majorSET mname=name/更新符合條件的記錄GO5。3 數(shù)據(jù)庫的試運行5。3。1 通過SQL語句進行簡單測試當(dāng)一小部分?jǐn)?shù)據(jù)輸入數(shù)據(jù)庫后,就可以開始對數(shù)據(jù)庫系統(tǒng)進行聯(lián)合調(diào)試,這一階段要實際運行數(shù)據(jù)庫應(yīng)用程序,執(zhí)行對數(shù)據(jù)庫的各種操作,由于沒有應(yīng)用程序,所以只有通過SQL語言直接在數(shù)據(jù)庫中執(zhí)行對數(shù)據(jù)庫的各種操作。通過在SQL Server 2000的查詢分析器中輸入相應(yīng)的SQL語句,就可以得到相應(yīng)的結(jié)果,具體如下所示:(1)查詢學(xué)生的基本信息輸入SQL語句:SELECT sno,sname,ssex,dmpno,mn

溫馨提示

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

評論

0/150

提交評論