![學生學籍管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)SQL_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/3/58fca217-9688-4bbe-86f9-ca108710a97d/58fca217-9688-4bbe-86f9-ca108710a97d1.gif)
![學生學籍管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)SQL_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/3/58fca217-9688-4bbe-86f9-ca108710a97d/58fca217-9688-4bbe-86f9-ca108710a97d2.gif)
![學生學籍管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)SQL_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/3/58fca217-9688-4bbe-86f9-ca108710a97d/58fca217-9688-4bbe-86f9-ca108710a97d3.gif)
![學生學籍管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)SQL_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/3/58fca217-9688-4bbe-86f9-ca108710a97d/58fca217-9688-4bbe-86f9-ca108710a97d4.gif)
![學生學籍管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)SQL_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/3/58fca217-9688-4bbe-86f9-ca108710a97d/58fca217-9688-4bbe-86f9-ca108710a97d5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、學生學籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))1 設計內(nèi)容和要求1.1 設計背景隨著我國教育體制改革的深入進行,教育系統(tǒng)得到了前所未有的發(fā)展。學生管理正在 逐步邁向管理信息現(xiàn)代化。但是我國的學生管理信息化水平還處在初級階段,主要表現(xiàn)在 對學生的交費管理、 學生的檔案管理還是采用原有的人工管理方式。 學校的規(guī)模不斷擴大 , 學生數(shù)量急劇增加 , 有關學生的各種信息量也成倍增長。由于大學生類別和專業(yè)的設置的 多樣化,大學生的學籍管理歷來是非常繁瑣和復雜的的工作。面對龐大的信息量 , 這時的 人工管理幾乎無法實現(xiàn),在這種情況下用數(shù)據(jù)庫進行管理變的尤為必要,這可以發(fā)揮計算 機的優(yōu)勢,就需要有學生信息管理系統(tǒng)來提高學生
2、管理工作的效率 . 通過這樣的系統(tǒng) , 可以 做到信息的規(guī)范管理 , 科學統(tǒng)計和快速的查詢 , 從而減少管理方面的工作量和減少人為的 錯誤。1.2 開發(fā)環(huán)境本學生學籍管理系統(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)境: Windows 2000/XP/20031.3 內(nèi)容和要求1.3.1 系統(tǒng)目標設計使得學生的學籍管理工作更加清晰、條理化、自動化。很容易地完成新生信息的輸入、老生信息的備份、畢業(yè)學生的信息可以很容易地保存。當學生需要查詢成績時,可以很簡單
3、地將其需要的信息從數(shù)據(jù)庫中查找出來并可 以打印查詢結果。隨著當今網(wǎng)絡技術的發(fā)展,提供網(wǎng)絡在線查詢功能,可以為畢業(yè)生提供更多的就 業(yè)機會。132系統(tǒng)功能要求(1)學生基本信息系統(tǒng)能夠完成新、老生信息的輸人、修改、插人、刪除等工作。 可以按照特定的信息進行查找,并按照特定的要求進行排序。 可以對老生的信息進行備份,以便日后查詢??梢詫W生的信息進行打印輸出。提供詳細的幫助文件和系統(tǒng)維護功能。(2)學生成績管理系統(tǒng)此部分的功能如下:學生成績的輸入、修改、刪除等基本操作。成績的綜合統(tǒng)計功能,包括學生成績按照不同條件進行排名。管理人員可以選擇 不同的排序條件,并可以將排序結果進行打印輸出。計算各班的總分
4、和平均分,并按照平均分將各班成績進行排序。統(tǒng)計不及格考生的信息,根據(jù)條件確定是重修還是補考。學生獎勵統(tǒng)計,自動生成每班獲得獎學金的同學的信息,并可以將獎學金分成不 同的等級,以及所得獎學金的數(shù)目。本系統(tǒng)可以在單機上運行,也可以應用在網(wǎng)絡上供在線查詢成績和其他一些學生 的信息(此功能選做人提供給學生進行查詢的系統(tǒng)和提供給教務處使用的系統(tǒng),在不同用 戶使用時,應該會有不同的使用權限。提供詳細的幫助文件。由于數(shù)據(jù)庫內(nèi)的信息會很多,注意數(shù)據(jù)庫表格設計,使得學生查詢基本信息或?qū)W習成 績時使用時間較短。按照數(shù)據(jù)庫系統(tǒng)開發(fā)步驟進行數(shù)據(jù)庫概念結構設計、邏輯結構設計、 物理結構設計。系統(tǒng)的功能模塊設計圖如圖所示
5、。圖 1-1 系統(tǒng)功能模塊設計圖2 需求分析2.1 引言進行數(shù)據(jù)庫設計首先必須準確了解也分析用戶需求(包括數(shù)據(jù)和處理)。目的是為學 籍管理數(shù)據(jù)庫系統(tǒng)的設計打下牢牢的基礎,是數(shù)據(jù)庫開發(fā)的重要文件依據(jù),主要為數(shù)據(jù)庫 設計人員使用,是用戶和系統(tǒng)分析員的項目依據(jù)文件。作為“地基”的需求分析是否做得 充分與準確,它決定了在其上構建數(shù)據(jù)庫大廈的速度和質(zhì)量。需求分析做得不好,甚至會 導致整個數(shù)據(jù)庫設計返工重做。本系統(tǒng)的開發(fā)是設計一個學生學籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))。2.2 用戶需求本系統(tǒng)是針對高等院校的學生學籍管理,因此學籍管理系統(tǒng)的用戶包括系統(tǒng)管理員、教師和學生。主要涉及系部信息、班級信息、任課教師信息、學
6、生信息、課程信息以及選 課記錄和成績等多種數(shù)據(jù)信息。實現(xiàn)的具體功能如下:基本信息管理系統(tǒng)管理員負責對各種基本信息的錄入、修改、刪除等操作。學生成績管理系統(tǒng)管理員負責對學生成績的錄入、修改、刪除等操作,學生 可以查詢各科成績。信息查詢統(tǒng)計學生可以查詢基本信息和各科的考試成績, 老師可以查詢基本 信息和授課信息, 系統(tǒng)管理員負責把老師提交的學生成績進行管理, 計算總成績 和平均成績, 統(tǒng)計不及格學生信息和獲得獎學金學生的信息, 最后再輸出所有的 信息。畢業(yè)生信息管理系統(tǒng)管理員負責計算畢業(yè)學生在學校期間所修課程的總學 分,并進行審核,最后輸出登記表和名冊。系統(tǒng)用戶管理系統(tǒng)管理員負責用不同的權限來限制
7、不同用戶對系統(tǒng)的使用。以上是用戶對系統(tǒng)的基本的功能要求,此外用戶還要求系統(tǒng)的效率要高,查詢速度要快,比較小的冗余,易維護,具有較高的數(shù)據(jù)安全性。2.3 劃分功能模塊根據(jù)系統(tǒng)功能的需求分析和高等院校學籍管理的特點,經(jīng)過模塊化的分析得到如下圖1-1 所示的系統(tǒng)功能模塊結構圖。學籍管理系統(tǒng)圖2-1系統(tǒng)功能模塊圖2.4數(shù)據(jù)字典2.4.1 數(shù)據(jù)項表2.1老師基本信息表數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的 主要成果,數(shù)據(jù)字典是對系統(tǒng)所用到的所有表結構的描述,學籍管理的主要數(shù)據(jù)見下表。序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1tno學號char10Y2tn ame姓名varcha
8、r10N3tsex性別Char2N4profess職稱varchar10N5dn ame所屬院系varchar8N6tel申話intN表2.2學生基本信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1sno學號varchar10Y2sn ame姓名varchar10N3ssex性別Char2N4birthday出生日期timesta mp20N5symbol政治面貌varchar8N6Id身份證號varchar20N7In time入學時間varchar20N8birth place籍貫varchar10N9homeaddr家庭住址varchar30N10postcode郵政編碼intN表2.3專業(yè)信息表
9、序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1mno專業(yè)號char10Y2sno學號varchar10N3mn ame專業(yè)名char10N4in time入學時間datetimeN表2.4 畢業(yè)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1gno畢業(yè)證編號char10Y2sno學號varchar10N3sn ame姓名varchar10N4ssex性別char2N5dn ame所屬院系varchar10N6in time入學時間datetimeN7ycredit已修學分floatN8xcredit需修學分floatN表2.5院系信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1dmpno院系號varchar10Y2dn ame
10、院系名稱varchar10N3dmp head院長名varchar20N表2.6課程信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1eno課程號varchar5Y2cn ame課程名varchar15N3credit學分smalli ntN表2.7學生選課信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1sno學號varchar10Y2eno課程號varchar5Y3grade成績floatN表2.8老師授課信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1eno課程號varchar5Y2tno教工號char10Y3ctime課時smalli ntN2.4.2數(shù)據(jù)結構數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合關系。一個數(shù)據(jù)結構可以由若干個數(shù)
11、據(jù)項組成,也可 以由若干個數(shù)據(jù)結構組成,或若干個數(shù)據(jù)項和數(shù)據(jù)結構混合組成。經(jīng)過數(shù)據(jù)項和用戶需求 的分析,我對本系統(tǒng)一共分了 5個組,具體如下表所示:表2.9數(shù)據(jù)結構表數(shù)據(jù)結構名含義說明組成部分學生基本信息管理描述學生基本信息學號+姓名+性別+出生日 期+身份證號+入學時間+ 政治面貌+家庭住址+籍貫 +郵政編碼+民族老師基本信息管理描述老師基本信息教工號+姓名+性別+職稱+ 所屬院系+電話學生、老師相關信息管理描述學生選課信息,畢業(yè) 信息,專業(yè)、院系信息, 老師授課信息,院系信息學號+課程號+成績 課程號+教工號 畢業(yè)證編號+學號+姓名+ 性別+身份證號+所屬院系 +入學時間+已修學分+需 修
12、學分學生成績管理描述學生平均成績、總成 績的計算,統(tǒng)計相關信息.學號+課程號+成績系統(tǒng)管理描述用戶修改密碼,幫助 信息243數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)結構在系統(tǒng)內(nèi)傳輸?shù)穆窂健Mㄟ^對用戶的需求分析,以及數(shù)據(jù)項和數(shù)據(jù) 流的設計,得出了相應的數(shù)據(jù)流描述如下表所示:1、數(shù)據(jù)流定義表表2.10數(shù)據(jù)流定義表編號數(shù)據(jù)流名組成流量備注01學生信息學號+姓名+性別+出生日期+身份 證號+ 入學時間+政治面貌+家庭住 址+籍貫+郵政編碼+民族大學生基 本信息02教師信息教工號+姓名+性別+職稱+所屬院 系+電話一般教師基 本信息03學生成績學號+姓名+性別+學號+課程號+成 績大學生詳 細信息04科目成績學號+課程號+成
13、績大學生考 試成績05各門成績學號+課程號+成績 課程號+課程名+學分大同上06查詢結果科目成績+各門成績大各種信 息07統(tǒng)計分析科目成績+各門成績大學生獎 勵2、外部項定義表表2.11外部項定義表編號名稱輸入數(shù)據(jù)流輸出數(shù)據(jù)流備注1學生處01主要用于錄入學生信息2學生06主要用語學生查詢信息和成績3老師03主要用于老師提交成績4教務員06/07主要用于輸出查詢和統(tǒng)計信息 的結果244數(shù)據(jù)存儲數(shù)據(jù)存儲是數(shù)據(jù)結構停留或保存的地方, 也是數(shù)據(jù)流的來源和去向之一。經(jīng)過數(shù)據(jù)項、 數(shù)據(jù)結構和數(shù)據(jù)流的設計,本系統(tǒng)一共選用了三個數(shù)據(jù)存儲,具體對數(shù)據(jù)存儲的描述通常 如下表所示:表2.12數(shù)據(jù)存儲表編號數(shù)據(jù)存儲名
14、輸入數(shù)據(jù)流輸出數(shù)據(jù)流數(shù)據(jù)量存取方式A1學生相關信息01大批處理、順序檢索A2教師相關信息0302一般批處理、順序檢索A3學生成績單06,07大批處理、更新、順序檢索2.4.5處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。對于本系統(tǒng)用于學生學籍管理一共設計了四種處理方法,具體處理方式如下表所示:表2.13數(shù)據(jù)處理過程表編號名稱輸入數(shù)據(jù)流輸出數(shù)據(jù)流備注B1插入修改01, 02, 0301, 02, 03插入學生信息和老師信息B2更新修改01, 02, 0301, 02, 03更新學生信息和老師信息B3刪除修改01, 02, 0301, 02, 03刪除學生信息和老師信息B4統(tǒng)計分析05
15、,0605,06統(tǒng)計學生信息和成績3概念結構設計概念結構設計是整個數(shù)據(jù)庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象, 形成獨立于具體DBMS勺概念模型。3.1數(shù)據(jù)流圖數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關系,根據(jù)用戶的需求分析和高校學籍管理系統(tǒng)的需 求,得出如下圖1-1所示的學籍管理數(shù)據(jù)流圖。3.2系統(tǒng)E-R圖1. 對于學生信息管理,我們可以將學生實體抽象出來,學生屬于學院可以將學院作 為一個實體,學生所屬專業(yè)和畢業(yè)信息都將可以作為一個實體。院系名稱圖3-4專業(yè)實體E-R圖圖3-5 畢業(yè)實體E-R圖在學生信息管理中存在這樣的關系:選擇(一個學生只能選擇一個專業(yè),而一個 專業(yè)可以供多個學生選擇,故是
16、多對一的關系)、學習(一個學生只能在一個院系學 習,而一個院系可以供多個學生學習,故是多對一的關系)。圖3-6學生關系E-R圖2. 對于老師信息管理,我們可以將老師實體抽象出來,老師屬于學院可以將學院作 為一個實體。姓名圖3-7老師實體E-R圖在老師信息管理中存在這樣的關系:擁有(一個老師只能在一個院系工作,而一 個院系可以供多個多個老師工作,故是多對一的關系)。圖3-8老師關系E-R圖3. 對于教務信息管理,我們可以將課程實體抽象出來。在教務信息管理中存在這樣的關系:畢業(yè)(一個學生擁有一個畢業(yè)信息,而一個 畢業(yè)信息只屬于一個學生,故是一對一的關系)、選修(一個學生可以選修多門課程, 而一門課
17、程可以被多個學生選修,故是多對多的關系)、開設(一個專業(yè)可以開設多門課程,而一門課程可以被多個專業(yè)選擇,故是多對多的關系)、授課(一門課程可以被多個老師講授,而一個老師可以講授多門課程,故是多對多的關系)。圖3-10教務關系E-R圖以上是本系統(tǒng)中的基本的實體和關系,本系統(tǒng)是將其分步找出來加以描述,下面 是本系統(tǒng)總體的E-R圖:CE別姓名出生日期學號身份證號郵政編碼入學時間民族政治面貌籍貫家庭住址姓名學號業(yè)證編號學生,所屬院系學習入學時間選修已修學分院系需修學分開設性別課程專業(yè)號工作授課專業(yè)名畢業(yè)專業(yè)1n入學時間院系名稱院長名院系號教師電話姓名所屬院系性另I職稱教工號圖3-11學籍管理系統(tǒng)E-R
18、圖E-R圖,由概念模型輔3.3概念模型概念模型是在對用戶需求分析之后,通過畫出本系統(tǒng)抽象出的助工具PowerDesigner11進行設計,通過具體地設置和繪圖,最后就形成了如下所示的概念模型圖,生成的概念結構就能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求,是對現(xiàn)實世界的一個真實模型。專業(yè)號 專業(yè)名 入學時間A10A10TS專業(yè)號專業(yè)畢業(yè)畢業(yè)證編號 學號VA10姓名VA10性別A2身份證號SI所屬院系VA10入學時間TS已修學分SI需修學分SI畢業(yè)證編號選擇學生學號VA10姓名VA10性別A2出生日期VA20身份證號VA20政治面貌VA8入學時間TS籍貫VA1
19、0家庭住址VA30郵政編碼I民族VA10學號 選,課程課程號 VA5課程名 學分VA15 SI課程號 授課教師教工號 A10姓名VA10性別A2職稱VA10所屬院系VA10電話I教工號i圖3-12學籍管理系統(tǒng)概念模型圖4邏輯結構設計邏輯結構設計就是把概念結構設計階段設計好的基本E-R圖轉(zhuǎn)換為與選用DBM薩品所支持的數(shù)據(jù)模型相符合的邏輯結構。設計邏輯結構一般分為3步進行:(1)將概念結構轉(zhuǎn)換為一般的關系、網(wǎng)狀、層次模型;(2)將轉(zhuǎn)換來的關系、網(wǎng)狀、層次模型向特定 DBM支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3)對數(shù)據(jù)模型進行優(yōu)化。4.1關系模型將E-R圖轉(zhuǎn)換為關系模型實際上就是要獎實體型、實體的屬性和實體型之
20、間的聯(lián)系轉(zhuǎn) 換為關系模式,這種轉(zhuǎn)換一般遵循如下原則:一個實體型轉(zhuǎn)換為一個關系模式。實體的屬 性就是關系的屬性,實體的碼就是關系的碼。對于實體型間的聯(lián)系則有以下不同的情況:(1) 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關系模式,也可以與任意一端對應的關系 模式合并。如果轉(zhuǎn)換為一個獨立的關系模式,則與該聯(lián)系相連的個實體的碼以及聯(lián)系本身 的屬性均轉(zhuǎn)換為關系的屬性,每個實體的碼均是該關系的侯選碼。如果與某一端實體對應 的關系模式合并,貝嚅要在關系模式的屬性中加入另一個關系模式的碼和聯(lián)系本身的屬 性。(2) 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關系模式,也可以與n端對應的關系模式 合并。如果轉(zhuǎn)換為一個獨立的關
21、系模式,則與該聯(lián)系相連的個各實體的碼以及聯(lián)系本身的 屬性均轉(zhuǎn)換為關系的屬性,而關系的碼為 n端實體的碼。(3)一個m:n聯(lián)系轉(zhuǎn)換為一個關系模式。與該聯(lián)系相連的個實體的碼以及聯(lián)系本身 的屬性均轉(zhuǎn)換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。(4) 3個或3個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關系模式。與該多元聯(lián)系 相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關系的屬性,各實體的碼組成關系的碼或 關系碼的一部分。(5)具有相同碼的關系模式可合并。將概念結構設計階段設計好的基本 E-R圖轉(zhuǎn)換為關系模型,如下所示:學生(學號 專業(yè)號,院系號,姓名,性別,出生日期,身份證號,入學時間, 政治
22、面貌,家庭住址,籍貫,郵政編碼,民族),此為學生實體對應的關系模式。教師(教工號,姓名,性別,職稱,所屬院系,電話),此為老師實體對應的關 系模式。畢業(yè)(畢業(yè)證編號,學號,姓名,性別,身份證號,所屬院系,入學時間,已修學分,需修學分),此為畢業(yè)實體對應的關系模式。(課程號,課程名,學分),此為課程實體對應的關系模式。(院系號,院系名稱,院長名),此為院系實體對應的關系模式。選修此為選修關系對應的關系模式。(課程號,教工號,課時),此為老師授課關系對應的關系模式。開設(專業(yè)號,課程號),此為專業(yè)開設課程關系對應的關系模式。4.2物理模型將生成的概念模型通過單擊PowerDesigner11工具菜
23、單欄上的Tools選項,再選擇Gen erate P hysical Data Model選項,就可以轉(zhuǎn)換為物理模型,生成的最后結果具體如下圖所示:畢業(yè)畢業(yè)證編號學號varchar(10)身份證號smalli nt學生_學號varchar(10)姓名varchar(10)性別char(2)所屬院系varchar(10)入學時間timestam p已修學分smalli ntfk_student_graduate2_graduateFK_GRADUATE_GRADLATE STUDENTFK_STUDENT_HAVE_MAJOR專業(yè)專業(yè)號專業(yè)名cha(10)cha(10)入學時間timestam
24、pFK_SET_SE1_MAJOR學生學號varchar(10)畢業(yè)證編號fk2;院系號varchar(10)fk1;姓名varchar(10)性別char(2)出生日期varchar(20)身份證號varchar(20)政治面貌varchar(8)入學時間timestam p-fefe-Eg-籍貫varchar(10)家庭住址varchar(30)郵政編碼in teger民族varchar(10)FK STUDENT STUDY DEPARTME院系號 院系名稱 院長名開設專業(yè)號 char(10)課程號 varchar(5) FK_SC_SC2_COURSE院系varchar(10) var
25、char(10)varchar(20)IkFK SET SET2COURSE選修學號varchar(10)課程號varchar(5)成績smalli ntFK_SC_SC_STUDENTFK TEACHER OWN DEPARTME課程授課課程號 課程名varchar(5)varchar(15)4課程號 varchar(5) vp k,fk1 教工號 char(10)學分smalli ntFK_TEACH_TEACH_COURSEFK_TEACH_TEACH2_TEACHER教師教工號char(10)院系號varchar(10)姓名varchar(10)性別char(2)職稱varchar(1
26、0)所屬院系varchar(10)電話in teger圖4-1學籍管理系統(tǒng)物理模型圖5 物理結構設計與功能實現(xiàn)5.1 物理結構設計數(shù)據(jù)庫的物理設計就是為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應用要求的物理 結構的過程。物理結構設計階段實現(xiàn)的是數(shù)據(jù)庫系統(tǒng)的內(nèi)模式,它的質(zhì)量直接決定了整個 系統(tǒng)的性能。因此在確定數(shù)據(jù)庫的存儲結構和存取方法之前,對數(shù)據(jù)庫系統(tǒng)所支持的事務 要進行仔細分析,獲得優(yōu)化數(shù)據(jù)庫物理設計的參數(shù)數(shù)據(jù)庫的物理設計通常分為兩步:1)確定數(shù)據(jù)庫的物理結構,在關系數(shù)據(jù)庫中主要指存取方法和存取結構;2)對物理結構進行評價,評價的重點是時間和空間效率。5.1.1 確定數(shù)據(jù)庫的存儲結構由于本系統(tǒng)的
27、數(shù)據(jù)庫建立不是很大,所以數(shù)據(jù)存儲采用的是一個磁盤的一個分區(qū)。5.1.2 存取方法和優(yōu)化方法存取方法是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術。數(shù)據(jù)庫管理系統(tǒng)一般都是提供多種存取方法。常用的存取方法有三類。第一類是索引方法,目前主要是B+樹索引方法;第二類是聚簇方法;第三類是HASH方法。數(shù)據(jù)庫的索引類似書的目錄。在書中,目錄允許用戶不必 瀏覽全書就能迅速地找到所需要的位置。在數(shù)據(jù)庫中,索引也允許應用程序迅速找到表中 的數(shù)據(jù), 而不必掃描整個數(shù)據(jù)庫。 在書中, 目錄就是內(nèi)容和相應頁號的清單。 在數(shù)據(jù)庫中, 索引就是表中數(shù)據(jù)和相應存儲位置的列表。使用索引可以大大減少數(shù)據(jù)的查詢時間。刪除和修改的時候,索引也要動態(tài)
28、但需要注意的是索引雖然能加速查詢的速度,但是為數(shù)據(jù)庫中的每張表都設置大量的 索引并不是一個明智的做法。這是因為增加索引也有其不利的一面:首先,每個索引都將 占用一定的存儲空間,如果建立聚簇索引 (會改變數(shù)據(jù)物理存儲位置的一種索引 ) ,占用需 要的空間就會更大;其次,當對表中的數(shù)據(jù)進行增加、 地維護,這樣就降低了數(shù)據(jù)的更新速度。5.2 功能實現(xiàn)RDBM提供的數(shù)據(jù)定義語言和其他實用成為DBMS可以接受的源代碼,再完成數(shù)據(jù)庫的物理設計之后,設計人員就要用 程序?qū)?shù)據(jù)庫邏輯設計和物理設計結果嚴格描述出來, 經(jīng)過調(diào)試產(chǎn)生目標模式。然后就可以組織數(shù)據(jù)入庫,最后就在此基礎上編寫各個表相關的 觸發(fā)器和存儲過
29、程。5.2.1 觸發(fā)器觸發(fā)器是用戶定義在關系表上的一類由事件驅(qū)動的特殊過程。一旦定義,任何用戶對 表的增、刪、改操作均由服務器自動激活相應的觸發(fā)器,在DBMS核心層進行集中的完整性控制。由于本系統(tǒng)的觸發(fā)器比較多,在這里我只寫出了其中的一部分觸發(fā)器,具體如下 所示。(1) 數(shù)據(jù)更新CREATE TRIGGER scupdate ON dbo.student / 建立學生信息表更新觸發(fā)器FOR UPDATEASUPDATE SC /更新學生選課表 SCSET SNO = (SELECT SNO FROM INSERTED將/ SC表中的學號改成學生表改后的WHERE SNO = (SELECT S
30、NO FROM DELETED更/改 對應的學生學號CREATE TRIGGER graduateupdate ON dbo.student / 建立學生信息表更新觸發(fā)器FOR UPDATEASUP DATE GRADUATE更新學生畢業(yè)信息表GRADUATESET SNO = (SELECT SNO FROM INSERTED)將 GRADUAT表中的學號改成學生表修 改后的WHERE SNO = (SELECT SNO FROM DELETED更改對應的學生學號CREATE TRIGGER majorupdate ON dbo.student / 建立學生信息表更新觸發(fā)器FOR UPDAT
31、EASUPDATE MAJOR /更/ 新專業(yè)信息表 MAJORSET SNO = (SELECT SNO FROM INSERTED將/ MAJORS中的學號改成學生表修改后 的WHERE SNO = (SELECT SNO FROM DELETED更/改 對應的學生學號CREATE TRIGGER student1 ON dbo.major / 建立專業(yè)信息表更新觸發(fā)器FOR UPDATEASUP DATE STUDENT更新學生信息信息表 STUDENTSET MNO = (SELECT MNO FROM INSERTED將/ STUDEN表中的專業(yè)號改成專業(yè)表修 改后的WHERE MN
32、O = (SELECT MNO FROM DELETED更 改對應的專業(yè)號CREATE TRIGGER student2update ON dbo.department / 建立院系信息表更新觸發(fā)器FOR UPDATEASUP DATE STUDENT更新學生信息信息表 STUDENTSET DMPNO = (SELECT DMPNO FROM INSERTED將 /STUDEN表 中的院系號改成專業(yè)表修改后的WHERE DMPNO = (SELECT DMPNO FROM DELETES):改對應的院系號(2) 數(shù)據(jù)刪除CREATE TRIGGER teach1update ON dbo.t
33、eacher / 建立教師信息表刪除觸發(fā)器FOR DELETEASUPDATE TEACH /刪除授課信息表 TEACHSET TNO = NULL /刪除TEACHft中的教工號刪除WHERE TNO = (SELECT TNO FROM DELETED)到對應的教工號CREATE TRIGGER sc1update ON dbo.course / 建立課程信息表刪除觸發(fā)器FOR DELETEASUPDATE SC /刪除選課信息表 SCSET CNO = NULL /刪除SC表中的課程號刪除WHERE CNO = (SELECT CNO FROM DELETED找 到對應的課程號CREAT
34、E TRIGGER stu_majorupdate ON dbo.major / 建立專業(yè)信息表刪除觸發(fā)器FOR DELETEASUPDATE STUDENT /刪/ 除學生信息表 STUDENTSET MNO = NULL /刪除STUDENTS中的專業(yè)號刪除WHERE MNO = (SELECT MNO FROM DELETED找 到對應的專業(yè)號CREATE TRIGGER teacherupdate ON dbo.department / 建立院系信息表刪除觸發(fā) 器FOR DELETEASUPDATE TEACHER /刪/ 除教師信息表 TEACHERSET DMPNO = NULL
35、刪除TEACHES中的院系號刪除WHERE DMPNO = (SELECT DMPNO FROM DELET找D)對應的院系號5.2.2 存儲過程存儲過程是 PL/SQL 語句書寫的過程,這個過程經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務器 中,使用時只要調(diào)用即可。(1)數(shù)據(jù)查詢存儲過程名: 教師信息查詢?nèi)肟趨?shù): tno varchar(10)/ 輸入教師的教工號tname varchar(10),profess varchar(10),dname varchar(10),出口參數(shù): tno char(10),tel int, tsex char(2),/ 定義存放輸出教師信息的變量CREATE PRO
36、CEDURE selectteacher /建立查詢教師信息存儲過程tnoASSELECT tno = tno FROM INSERTED /選擇與輸入教工號相等的所有 記錄SELECT */選出符合條件的教師所有信息FROM teacherGO存儲過程名: 院系信息查詢?nèi)肟趨?shù): dmpno出口參數(shù): dmpno,/ 輸入院系的院系號dmpname,dmphead, / 定義存放輸出院系信息的變量CREATE P ROCEDURE selectde partme nt建立查詢院系信息存儲過程dmpnoASSELECT dmpno = dmpno FROM INSERTED/ 選擇與輸入院系號
37、相等的所有記錄SELECT */ 選出符合條件的院系所有信息FROM departmentGO2) 數(shù)據(jù)插入存儲過程名: 學生信息插入入口參數(shù): sno varchar(10),id varchar(20),intime varchar(20),birthplace varchar(10),sname varchar(10),ssex char(2),birthday varchar(20),symbol varchar(8),postcode int,homeaddr varchar(20),/ 輸入需要插入的學生所有信息出口參數(shù): 無CREATE P ROCEDURE in sertstu
38、de nt建立插入學生信息的存儲過程sno varchar(10),id varchar(20),intime varchar(20),birthplace varchar(10),sname varchar(10),ssex char(2),birthday varchar(20),symbol varchar(8),postcode int,homeaddr varchar(20),/ 定義存放插入學生信息的變量ASINTOINSERT student(sno,sname,ssex,birthday,symbol,id,intime,birthplace,homeaddr,postcode
39、)/ 插入學生表對應的列名VALUES (sno varchar(10), sname varchar(10), ssex char(2),birthday varchar(20),symbol varchar(8),id名值GO存儲過程名: 教師信息插入varchar(20),intime varchar(20), birthplace varchar(10),入口參數(shù): tno char(10),tname varchar(10),homeaddr varchar(20), postcode int)/ 插入學生表對應列存儲過程名: 專業(yè)信息刪除profess varchar(10),dn
40、ame varchar(10),tel int, tsex char(2),/ 輸入需要插入的教師所有信息出口參數(shù): 無CREATE PROCEDURE insertteachertno char(10),tname varchar(10),profess varchar(10),dname varchar(10),tsex char(2),tel int,/ 定義存放輸出教師信息的變量ASINSERT INTO teacher(tno,tname,tsex,profess,dname,tel)/ 插入教師表對應的列名VALUES (tno char(10), tname varchar(10
41、), tsex char(2),profess varchar(10), dname varchar(10), tel int,)/ 插入教師表對應列名值GO3) 數(shù)據(jù)刪除存儲過程名: 學生信息刪除 入口參數(shù): sno varchar(10) / 輸入要刪除學生的學號 出口參數(shù): 無CREATE PROCEDURE deletestudent /建立刪除學生信息的存儲過程sno,ASSELECT sno = sno FROM DELETED / 選擇與輸入學號相等的所有記錄DELETE FROM student / 刪除符合條件的記錄GO輸入要刪除專業(yè)的專業(yè)號入口參數(shù): mno varchar
42、(10) /出口參數(shù): 無CREATE PROCEDURE deletemajor / 建立刪除專業(yè)信息的存儲過程 mname,ASSELECT mname = mname FROM DELETED/ 選擇與輸入專業(yè)號相等的所有記錄DELETE FROM major/ 刪除符合條件的記錄GO4)數(shù)據(jù)更新存儲過程名: 學生學號更新入口參數(shù): no int,/ 輸入要更新的學生學號出口參數(shù): sno int,/ 輸出更新后的學生學號CREATE P ROCEDURE up dates no建立更新學生學號的存儲過程no int,ASSELECT no = sno FROM INSERTED/ 選擇
43、與輸入學號相等的所有記錄UPDATE studentSET sno=no/ 更新符合條件的記錄GO/ 輸入要更新的專業(yè)名稱存儲過程名: 專業(yè)名更新 入口參數(shù): mname varchar(20),出口參數(shù): name varchar(20),/ 輸出更新后的專業(yè)名稱CREATE P ROCEDURE up date mn ame建/立更新專業(yè)名的存儲過程name varchar(20),ASSELECT mname = mname FROM INSERTED/ 選擇與輸入學號相等的所有記錄UPDATE majorSET mname=nameGO/ 更新符合條件的記錄5.3 數(shù)據(jù)庫的實施和維護完
44、成數(shù)據(jù)庫的物理設計之后,設計人員就要用程序?qū)?shù)據(jù)庫邏輯設計和物理設計結果嚴格描述出來,RDBM提供的數(shù)據(jù)定義語言和其他實用成為DBMS可以接受的源代碼,再經(jīng)過調(diào)試產(chǎn)生目標模式。然后就可以組織數(shù)據(jù)入庫了,這就是數(shù)據(jù)庫實施階段。5.3.1 數(shù)據(jù)庫的實施數(shù)據(jù)庫的實施主要是根據(jù)邏輯結構設計和物理結構設計的結果,在計算機系統(tǒng)上建立實際的數(shù)據(jù)庫結構、導入數(shù)據(jù)并進行程序的調(diào)試。它相當于軟件工程中的代碼編寫和程序 調(diào)試的階段。當在 PowerDesigner Trial 11 中設計好本系統(tǒng)的物理結構之后,就可以向數(shù)據(jù)庫轉(zhuǎn) 換為相應的表。先選擇菜單欄中 Database的Connect,通過添加數(shù)據(jù)源,連接數(shù)
45、據(jù)源,輸 入用戶名和密碼進行轉(zhuǎn)換,生成相關的SQL語句,在通過運行之后,最終在SQLServer 2000 中生成了如下所示的表。學生基本信息表(主要描述一些學生入學前的基本信息)丨數(shù)據(jù)類型1按廈1允許空wikizivaj-cRar10dmpTLOvurchar10mnoch.u*10511 am eVar char10ssaxchar2birthdaysymliol.vaj-ctiarsV-idVar char20intiirtti(n4stunpbir thplaceVar char10homeadirVar char旳postcodaint4學生基本信息表結構圖圖5-1教師基本信息表(主
46、要描述教師的一些基本信息)列名tnokip no tnue tsel profess dnajie141I數(shù)據(jù)型I長度I101010z10104char var char vur cliar chur var char var char int圖5-2教師基本信息表結構圖院系信息表(主要描述學校中各個院系的一些基本信息)課程信息表(主要描述學校開設的課程的基本信息)mziocKar10SUQvaichar10rrnarechar10intimaSZ允許空圖5-4專業(yè)信息表結構圖列名1數(shù)類型1罷度丨允許空2?imp novaj-cLar10dnajievarctiar10dmphiiivu* 史
47、 hir0圖5-3院系信息表結構圖專業(yè)信息表(主要描述學生選擇專業(yè)的信息):列名I 數(shù)據(jù)類型 I冬度I列名1數(shù)類塑1氏度丨允許空enovardiarSninochar10cumevarchar15吐點di覽2圖5-5課程信息表結構圖選課信息表(主要描述學生選修課程的信息)1數(shù)據(jù)鑒型允許空ZflOvar ctar10?endvarcliar5gradefloat6*圖5-6選課信息表結構圖授課信息表(主要描述教師授課的信息)學生畢業(yè)信息表(主要描述學生畢業(yè)的基本信息)數(shù)搭英型KJS 1允許空griovarcKsrLa5F0varch10ErLS0varcharLOchar2ilnajrevarcliarLCiintimetime stain peyerftditEiFttllint2Kcrtdit2學生畢業(yè)信息表結構圖圖5-8列名1數(shù)類塑1栓度丨允洋空enoVHcKarJgochar10cti恥floate圖5-7授課信息表結構圖5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京民間個人借款合同書
- 居間采購合同居間行紀
- 全新房屋買賣作廢合同下載
- 二手房標準買賣合同
- 工業(yè)機器人系統(tǒng)集成項目合同
- 電瓶買賣合同模板
- 公司駕駛員聘用合同
- 物流運輸合同范本年
- 全新餐飲承包合同范文下載
- 二級建造師考試內(nèi)部培訓班講義《建設工程法規(guī)及相關知識》
- 調(diào)料廠工作管理制度
- 人教版《道德與法治》四年級下冊教材簡要分析課件
- 2023年MRI技術操作規(guī)范
- 辦公用品、易耗品供貨服務方案
- 自行聯(lián)系單位實習申請表
- 醫(yī)療廢物集中處置技術規(guī)范
- 媒介社會學備課
- 三相分離器原理及操作
- 新教科版五年級下冊科學全冊每節(jié)課后練習+答案(共28份)
- 葫蘆島尚楚環(huán)??萍加邢薰踞t(yī)療廢物集中處置項目環(huán)評報告
- 全國物業(yè)管理項目經(jīng)理考試試題
評論
0/150
提交評論