版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
學(xué)生學(xué)籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))1設(shè)計內(nèi)容和要求1.1設(shè)計背景伴隨中國教育體制改革深入進(jìn)行,教育系統(tǒng)得到了前所未有發(fā)展。學(xué)生管理正在逐步邁向管理信息現(xiàn)代化。不過中國學(xué)生管理信息化水平還處于初級階段,關(guān)鍵表現(xiàn)在對學(xué)生交費管理、學(xué)生檔案管理還是采取原有人工管理方法。學(xué)校規(guī)模不停擴(kuò)大,學(xué)生數(shù)量急劇增加,相關(guān)學(xué)生多種信息量也成倍增加。因為大學(xué)生類別和專業(yè)設(shè)置多樣化,大學(xué)生學(xué)籍管理一向是很繁瑣和復(fù)雜工作。面對龐大信息量,這時人工管理幾乎無法實現(xiàn),在這種情況下用數(shù)據(jù)庫進(jìn)行管理變尤為必需,這能夠發(fā)揮計算機(jī)優(yōu)勢,就需要有學(xué)生信息管理系統(tǒng)來提升學(xué)生管理工作效率.經(jīng)過這么系統(tǒng),能夠做到信息規(guī)范管理,科學(xué)統(tǒng)計和快速查詢,從而降低管理方面工作量和降低人為錯誤。1.2開發(fā)環(huán)境本學(xué)生學(xué)籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))開發(fā)和運行環(huán)境以下:開發(fā)環(huán)境:WindowsXP輔助工具:PowerDesignerTrial11數(shù)據(jù)庫管理系統(tǒng):SQLServer運行環(huán)境:Windows/XP/1.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è)機(jī)會。1.3.2系統(tǒng)功效要求(1)學(xué)生基礎(chǔ)信息系統(tǒng)能夠完成新、老生信息輸人、修改、插人、刪除等工作。能夠根據(jù)特定信息進(jìn)行查找,并根據(jù)特定要求進(jìn)行排序。能夠?qū)仙畔⑦M(jìn)行備份,方便以后查詢。能夠?qū)W(xué)生信息進(jìn)行打印輸出。提供具體幫助文件和系統(tǒng)維護(hù)功效。(2)學(xué)生成績管理系統(tǒng)此部分功效以下:學(xué)生成績輸入、修改、刪除等基礎(chǔ)操作。成績綜合統(tǒng)計功效,包含學(xué)生成績根據(jù)不一樣條件進(jìn)行排名。管理人員能夠選擇不一樣排序條件,并能夠?qū)⑴判蚪Y(jié)果進(jìn)行打印輸出。計算各班總分和平均分,并根據(jù)平均分將各班成績進(jìn)行排序。統(tǒng)計不及格考生信息,依據(jù)條件確定是重修還是補(bǔ)考。學(xué)生獎勵統(tǒng)計,自動生成每班取得獎學(xué)金同學(xué)信息,并能夠?qū)ⅹ剬W(xué)金分成不一樣等級,和所得獎學(xué)金數(shù)目。本系統(tǒng)能夠在單機(jī)上運行,也能夠應(yīng)用在網(wǎng)絡(luò)上供在線查詢成績和其它部分學(xué)生信息(此功效選做人提供給學(xué)生進(jìn)行查詢系統(tǒng)和提供給教務(wù)處使用系統(tǒng),在不一樣用戶使用時,應(yīng)該會有不一樣使用權(quán)限。提供具體幫助文件。因為數(shù)據(jù)庫內(nèi)信息會很多,注意數(shù)據(jù)庫表格設(shè)計,使得學(xué)生查詢基礎(chǔ)信息或?qū)W習(xí)成績時使用時間較短。根據(jù)數(shù)據(jù)庫系統(tǒng)開發(fā)步驟進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計。系統(tǒng)功效模塊設(shè)計圖圖所表示。圖1-1系統(tǒng)功效模塊設(shè)計圖
2需求分析2.1引言進(jìn)行數(shù)據(jù)庫設(shè)計首先必需正確了解也分析用戶需求(包含數(shù)據(jù)和處理)。目標(biāo)是為學(xué)籍管理數(shù)據(jù)庫系統(tǒng)設(shè)計打下牢牢基礎(chǔ),是數(shù)據(jù)庫開發(fā)關(guān)鍵文件依據(jù),關(guān)鍵為數(shù)據(jù)庫設(shè)計人員使用,是用戶和系統(tǒng)分析員項目依據(jù)文件。作為“地基”需求分析是否做得充足和正確,它決定了在其上構(gòu)建數(shù)據(jù)庫大廈速度和質(zhì)量。需求分析做得不好,甚至?xí)斐烧麄€數(shù)據(jù)庫設(shè)計返工重做。本系統(tǒng)開發(fā)是設(shè)計一個學(xué)生學(xué)籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))。2.2用戶需求本系統(tǒng)是針對高等院校學(xué)生學(xué)籍管理,所以學(xué)籍管理系統(tǒng)用戶包含系統(tǒng)管理員、老師和學(xué)生。關(guān)鍵包含系部信息、班級信息、任課老師信息、學(xué)生信息、課程信息和選課統(tǒng)計和成績等多個數(shù)據(jù)信息。實現(xiàn)具體功效以下:基礎(chǔ)信息管理——系統(tǒng)管理員負(fù)責(zé)對多種基礎(chǔ)信息錄入、修改、刪除等操作。學(xué)生成績管理——系統(tǒng)管理員負(fù)責(zé)對學(xué)生成績錄入、修改、刪除等操作,學(xué)生能夠查詢各科成績。信息查詢統(tǒng)計——學(xué)生能夠查詢基礎(chǔ)信息和各科考試成績,老師能夠查詢基礎(chǔ)信息和講課信息,系統(tǒng)管理員負(fù)責(zé)把老師提交學(xué)生成績進(jìn)行管理,計算總成績和平均成績,統(tǒng)計不及格學(xué)生信息和取得獎學(xué)金學(xué)生信息,最終再輸出全部信息。畢業(yè)生信息管理——系統(tǒng)管理員負(fù)責(zé)計算畢業(yè)學(xué)生在學(xué)校期間所修課程總學(xué)分,并進(jìn)行審核,最終輸出記錄表和名冊。系統(tǒng)用戶管理——系統(tǒng)管理員負(fù)責(zé)用不一樣權(quán)限來限制不一樣用戶對系統(tǒng)使用。以上是用戶對系統(tǒng)基礎(chǔ)功效要求,另外用戶還要求系統(tǒng)效率要高,查詢速度要快,比較小冗余,易維護(hù),含有較高數(shù)據(jù)安全性。2.3劃分功效模塊依據(jù)系統(tǒng)功效需求分析和高等院校學(xué)籍管理特點,經(jīng)過模塊化分析得到以下圖1-1所表示系統(tǒng)功效模塊結(jié)構(gòu)圖。學(xué)籍管理系統(tǒng)學(xué)籍管理系統(tǒng)基礎(chǔ)信息管理畢業(yè)生信息管理學(xué)生成績管理系統(tǒng)用戶管理信息查詢統(tǒng)計基礎(chǔ)信息刪除基礎(chǔ)信息修改基礎(chǔ)信息錄入學(xué)生成績刪除學(xué)生成績修改學(xué)生成績錄入修改密碼輸出相關(guān)信息統(tǒng)計學(xué)生成績計算學(xué)生成績學(xué)生成績查詢基礎(chǔ)信息查詢輸出名冊審核資格計算學(xué)分幫助信息圖2-1系統(tǒng)功效模塊圖2.4數(shù)據(jù)字典2.4.1數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述集合,是進(jìn)行具體數(shù)據(jù)搜集和數(shù)據(jù)分析所取得關(guān)鍵結(jié)果,數(shù)據(jù)字典是對系統(tǒng)所用到全部表結(jié)構(gòu)描述,學(xué)籍管理關(guān)鍵數(shù)據(jù)見下表。表2.1老師基礎(chǔ)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1tno學(xué)號char10Y2tname姓名varchar10N3tsex性別Char2N4profess職稱varchar10N5dname所屬院系varchar8N6tel電話intN表2.2學(xué)生基礎(chǔ)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1sno學(xué)號varchar10Y2sname姓名varchar10N3ssex性別Char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份證號varchar20N7Intime入課時間varchar20N8birthplace籍貫varchar10N9homeaddr家庭住址varchar30N10postcode郵政編碼intN表2.3專業(yè)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1mno專業(yè)號char10Y2sno學(xué)號varchar10N3mname專業(yè)名char10N4intime入課時間datetimeN表2.4畢業(yè)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1gno畢業(yè)證編號char10Y2sno學(xué)號varchar10N3sname姓名varchar10N4ssex性別char2N5dname所屬院系varchar10N6intime入課時間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課程號varchar5Y3grade成績floatN表2.8老師講課信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1cno課程號varchar5Y2tno教工號char10Y3ctime課時smallintN2.4.數(shù)據(jù)結(jié)構(gòu)反應(yīng)了數(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é)生基礎(chǔ)信息管理描述學(xué)生基礎(chǔ)信息學(xué)號+姓名+性別+出生日期+身份證號+入課時間+政治面貌+家庭住址+籍貫+郵政編碼+民族老師基礎(chǔ)信息管理描述老師基礎(chǔ)信息教工號+姓名+性別+職稱+所屬院系+電話學(xué)生、老師相關(guān)信息管理描述學(xué)生選課信息,畢業(yè)信息,專業(yè)、院系信息,老師講課信息,院系信息學(xué)號+課程號+成績課程號+教工號畢業(yè)證編號+學(xué)號+姓名+性別+身份證號+所屬院系+入課時間+已修學(xué)分+需修學(xué)分學(xué)生成績管理描述學(xué)生平均成績、總成績計算,統(tǒng)計相關(guān)信息學(xué)號+課程號+成績系統(tǒng)管理描述用戶修改密碼,幫助信息2.4.數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸路徑。經(jīng)過對用戶需求分析,和數(shù)據(jù)項和數(shù)據(jù)流設(shè)計,得出了對應(yīng)數(shù)據(jù)流描述以下表所表示:1、數(shù)據(jù)流定義表表2.10數(shù)據(jù)流定義表編號數(shù)據(jù)流名組成流量備注01學(xué)生信息學(xué)號+姓名+性別+出生日期+身份證號+入課時間+政治面貌+家庭住址+籍貫+郵政編碼+民族大學(xué)生基礎(chǔ)信息02老師信息教工號+姓名+性別+職稱+所屬院系+電話通常老師基礎(chǔ)信息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關(guān)鍵用于錄入學(xué)生信息2學(xué)生06關(guān)鍵用語學(xué)生查詢信息和成績3老師03關(guān)鍵用于老師提交成績4教務(wù)員06/07關(guān)鍵用于輸出查詢和統(tǒng)計信息結(jié)果2.4.數(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.處理過程具體處理邏輯通常見判定表或判定樹來描述。對于本系統(tǒng)用于學(xué)生學(xué)籍管理一共設(shè)計了四種處理方法,具體處理方法以下表所表示:表2.13數(shù)據(jù)處理過程表編號名稱輸入數(shù)據(jù)流輸出數(shù)據(jù)流備注B1插入修改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é)生信息和成績
3概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計關(guān)鍵,它經(jīng)過對用戶需求進(jìn)行綜合、歸納和抽象,形成獨立于具體DBMS概念模型。3.1數(shù)據(jù)流圖數(shù)據(jù)流圖表示了數(shù)據(jù)和處理關(guān)系,依據(jù)用戶需求分析和高校學(xué)籍管理系統(tǒng)需求,得出以下圖1-1所表示學(xué)籍管理數(shù)據(jù)流圖。學(xué)生學(xué)生老師管理員學(xué)生統(tǒng)計成績畢業(yè)送進(jìn)信息錄入查詢計算統(tǒng)計更新錄入新生?學(xué)生信息同意?成績單同意?查對信息學(xué)生名單提交申請審核信息合格圖3-1學(xué)籍管理系統(tǒng)數(shù)據(jù)流圖3.2系統(tǒng)E-R圖1.對于學(xué)生信息管理,我們能夠?qū)W(xué)生實體抽象出來,學(xué)生屬于學(xué)院能夠?qū)W(xué)院作為一個實體,學(xué)生所屬專業(yè)和畢業(yè)信息全部將能夠作為一個實體。圖3-2學(xué)生實體E-R圖圖3-3院系實體E-R圖圖3-4專業(yè)實體E-R圖圖3-5畢業(yè)實體E-R圖在學(xué)生信息管理中存在這么關(guān)系:選擇(一個學(xué)生只能選擇一個專業(yè),而一個專業(yè)能夠供多個學(xué)生選擇,故是多對一關(guān)系)、學(xué)習(xí)(一個學(xué)生只能在一個院系學(xué)習(xí),而一個院系能夠供多個學(xué)生學(xué)習(xí),故是多對一關(guān)系)。圖3-6學(xué)生關(guān)系E-R圖2.對于老師信息管理,我們能夠?qū)⒗蠋煂嶓w抽象出來,老師屬于學(xué)院能夠?qū)W(xué)院作為一個實體。圖3-7老師實體E-R圖在老師信息管理中存在這么關(guān)系:擁有(一個老師只能在一個院系工作,而一個院系能夠供多個多個老師工作,故是多對一關(guān)系)。圖3-8老師關(guān)系E-R圖3.對于教務(wù)信息管理,我們能夠?qū)⒄n程實體抽象出來。圖3-9課程實體E-R圖在教務(wù)信息管理中存在這么關(guān)系:畢業(yè)(一個學(xué)生擁有一個畢業(yè)信息,而一個畢業(yè)信息只屬于一個學(xué)生,故是一對一關(guān)系)、選修(一個學(xué)生能夠選修多門課程,而一門課程能夠被多個學(xué)生選修,故是多對多關(guān)系)、開設(shè)(一個專業(yè)能夠開設(shè)多門課程,而一門課程能夠被多個專業(yè)選擇,故是多對多關(guān)系)、講課(一門課程能夠被多個老師講授,而一個老師能夠講授多門課程,故是多對多關(guān)系)。圖3-10教務(wù)關(guān)系E-R圖以上是本系統(tǒng)中基礎(chǔ)實體和關(guān)系,本系統(tǒng)是將其分步找出來加以描述,下面是本系統(tǒng)總體E-R圖:圖3-11學(xué)籍管理系統(tǒng)E-R圖3.3概念模型概念模型是在對用戶需求分析以后,經(jīng)過畫出本系統(tǒng)抽象出E-R圖,由概念模型輔助工具PowerDesigner11進(jìn)行設(shè)計,經(jīng)過具體地設(shè)置和繪圖,最終就形成了以下所表示概念模型圖,生成概念結(jié)構(gòu)就能真實、充足地反應(yīng)現(xiàn)實世界,包含事物和事物之間聯(lián)絡(luò),能滿足用戶對數(shù)據(jù)處理要求,是對現(xiàn)實世界一個真實模型。圖3-12學(xué)籍管理系統(tǒng)概念模型圖4邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好基礎(chǔ)E-R圖轉(zhuǎn)換為和選擇DBMS產(chǎn)品所支持?jǐn)?shù)據(jù)模型相符合邏輯結(jié)構(gòu)。設(shè)計邏輯結(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)對數(shù)據(jù)模型進(jìn)行優(yōu)化。4.1關(guān)系模型將E-R圖轉(zhuǎn)換為關(guān)系模型實際上就是要獎實體型、實體屬性和實體型之間聯(lián)絡(luò)轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換通常遵照以下標(biāo)準(zhǔn):一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體屬性就是關(guān)系屬性,實體碼就是關(guān)系碼。對于實體型間聯(lián)絡(luò)則有以下不一樣情況:(1)一個1:1聯(lián)絡(luò)能夠轉(zhuǎn)換為一個獨立關(guān)系模式,也能夠和任意一端對應(yīng)關(guān)系模式合并。假如轉(zhuǎn)換為一個獨立關(guān)系模式,則和該聯(lián)絡(luò)相連個實體碼和聯(lián)絡(luò)本身屬性均轉(zhuǎn)換為關(guān)系屬性,每個實體碼均是該關(guān)系侯選碼。假如和某一端實體對應(yīng)關(guān)系模式合并,則需要在關(guān)系模式屬性中加入另一個關(guān)系模式碼和聯(lián)絡(luò)本身屬性。(2)一個1:n聯(lián)絡(luò)能夠轉(zhuǎn)換為一個獨立關(guān)系模式,也能夠和n端對應(yīng)關(guān)系模式合并。假如轉(zhuǎn)換為一個獨立關(guān)系模式,則和該聯(lián)絡(luò)相連個各實體碼和聯(lián)絡(luò)本身屬性均轉(zhuǎn)換為關(guān)系屬性,而關(guān)系碼為n端實體碼。(3)一個m:n聯(lián)絡(luò)轉(zhuǎn)換為一個關(guān)系模式。和該聯(lián)絡(luò)相連個實體碼和聯(lián)絡(luò)本身屬性均轉(zhuǎn)換為關(guān)系屬性,各實體碼組成關(guān)系碼或關(guān)系碼一部分。(4)3個或3個以上實體間一個多元聯(lián)絡(luò)能夠轉(zhuǎn)換為一個關(guān)系模式。和該多元聯(lián)絡(luò)相連各實體碼和聯(lián)絡(luò)本身屬性均轉(zhuǎn)換為關(guān)系屬性,各實體碼組成關(guān)系碼或關(guān)系碼一部分。(5)含有相同碼關(guān)系模式可合并。將概念結(jié)構(gòu)設(shè)計階段設(shè)計好基礎(chǔ)E-R圖轉(zhuǎn)換為關(guān)系模型,以下所表示:學(xué)生(學(xué)號,專業(yè)號,院系號,姓名,性別,出生日期,身份證號,入課時間,政治面貌,家庭住址,籍貫,郵政編碼,民族),此為學(xué)生實體對應(yīng)關(guān)系模式。老師(教工號,姓名,性別,職稱,所屬院系,電話),此為老師實體對應(yīng)關(guān)系模式。畢業(yè)(畢業(yè)證編號,學(xué)號,姓名,性別,身份證號,所屬院系,入課時間,已修學(xué)分,需修學(xué)分),此為畢業(yè)實體對應(yīng)關(guān)系模式。課程(課程號,課程名,學(xué)分),此為課程實體對應(yīng)關(guān)系模式。院系(院系號,院系名稱,院長名),此為院系實體對應(yīng)關(guān)系模式。選修(學(xué)號,課程號,成績),此為選修關(guān)系對應(yīng)關(guān)系模式。講課(課程號,教工號,課時),此為老師講課關(guān)系對應(yīng)關(guān)系模式。開設(shè)(專業(yè)號,課程號),此為專業(yè)開設(shè)課程關(guān)系對應(yīng)關(guān)系模式。4.2物理模型將生成概念模型經(jīng)過單擊PowerDesigner11工具菜單欄上Tools選項,再選擇GeneratePhysicalDataModel選項,就能夠轉(zhuǎn)換為物理模型,生成最終結(jié)果具體以下圖所表示:圖4-1學(xué)籍管理系統(tǒng)物理模型圖
5物理結(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ù)庫存放結(jié)構(gòu)和存取方法之前,對數(shù)據(jù)庫系統(tǒng)所支持事務(wù)要進(jìn)行仔細(xì)分析,取得優(yōu)化數(shù)據(jù)庫物理設(shè)計參數(shù)數(shù)據(jù)庫物理設(shè)計通常分為兩步:(1)確定數(shù)據(jù)庫物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中關(guān)鍵指存取方法和存取結(jié)構(gòu);(2)對物理結(jié)構(gòu)進(jìn)行評價,評價關(guān)鍵是時間和空間效率。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)通常全部是提供多個存取方法。常見存取方法有三類。第一類是索引方法,現(xiàn)在關(guān)鍵是B+樹索引方法;第二類是聚簇方法;第三類是HASH方法。數(shù)據(jù)庫索引類似書目錄。在書中,目錄許可用戶無須瀏覽全書就能快速地找到所需要位置。在數(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ù)進(jìn)行增加、刪除和修改時候,索引也要動態(tài)地維護(hù),這么就降低了數(shù)據(jù)更新速度。5.2功效實現(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ā)器是用戶定義在關(guān)系表上一類由事件驅(qū)動特殊過程。一旦定義,任何用戶對表增、刪、改操作均由服務(wù)器自動激活對應(yīng)觸發(fā)器,在DBMS關(guān)鍵層進(jìn)行集中完整性控制。因為本系統(tǒng)觸發(fā)器比較多,在這里我只寫出了其中一部分觸發(fā)器,具體以下所表示。(1)數(shù)據(jù)更新---------------------------------------------------------------------------------------------------------------------CREATETRIGGERscupdateONdbo.student//建立學(xué)生信息表更新觸發(fā)器FORUPDATEASUPDATESC//更新學(xué)生選課表SCSETSNO=(SELECTSNOFROMINSERTED)//將SC表中學(xué)號改成學(xué)生表改后WHERESNO=(SELECTSNOFROMDELETED);//更改對應(yīng)學(xué)生學(xué)號---------------------------------------------------------------------------------------------------------------------CREATETRIGGERgraduateupdateONdbo.student//建立學(xué)生信息表更新觸發(fā)器FORUPDATEASUPDATEGRADUATE//更新學(xué)生畢業(yè)信息表GRADUATESETSNO=(SELECTSNOFROMINSERTED)//將GRADUATE表中學(xué)號改成學(xué)生表修改后WHERESNO=(SELECTSNOFROMDELETED);//更改對應(yīng)學(xué)生學(xué)號---------------------------------------------------------------------------------------------------------------------CREATETRIGGERmajorupdateONdbo.student//建立學(xué)生信息表更新觸發(fā)器FORUPDATEASUPDATEMAJOR//更新專業(yè)信息表MAJORSETSNO=(SELECTSNOFROMINSERTED)//將MAJOR表中學(xué)號改成學(xué)生表修改后WHERESNO=(SELECTSNOFROMDELETED);//更改對應(yīng)學(xué)生學(xué)號---------------------------------------------------------------------------------------------------------------------CREATETRIGGERstudent1ONdbo.major//建立專業(yè)信息表更新觸發(fā)器FORUPDATEASUPDATESTUDENT//更新學(xué)生信息信息表STUDENTSETMNO=(SELECTMNOFROMINSERTED)//將STUDENT表中專業(yè)號改成專業(yè)表修改后WHEREMNO=(SELECTMNOFROMDELETED);//更改對應(yīng)專業(yè)號---------------------------------------------------------------------------------------------------------------------CREATETRIGGERstudent2updateONdbo.department//建立院系信息表更新觸發(fā)器FORUPDATEASUPDATESTUDENT//更新學(xué)生信息信息表STUDENTSETDMPNO=(SELECTDMPNOFROMINSERTED)//將STUDENT表中院系號改成專業(yè)表修改后WHEREDMPNO=(SELECTDMPNOFROMDELETED);//更改對應(yīng)院系號---------------------------------------------------------------------------------------------------------------------(2)數(shù)據(jù)刪除---------------------------------------------------------------------------------------------------------------------CREATETRIGGERteach1updateONdbo.teacher//建立老師信息表刪除觸發(fā)器FORDELETEASUPDATETEACH//刪除講課信息表TEACHSETTNO=NULL//刪除TEACH表中教工號刪除WHERETNO=(SELECTTNOFROMDELETED)//找到對應(yīng)教工號---------------------------------------------------------------------------------------------------------------------CREATETRIGGERsc1updateONdbo.course//建立課程信息表刪除觸發(fā)器FORDELETEASUPDATESC//刪除選課信息表SCSETCNO=NULL//刪除SC表中課程號刪除WHERECNO=(SELECTCNOFROMDELETED)//找到對應(yīng)課程號---------------------------------------------------------------------------------------------------------------------CREATETRIGGERstu_majorupdateONdbo.major//建立專業(yè)信息表刪除觸發(fā)器FORDELETEASUPDATESTUDENT//刪除學(xué)生信息表STUDENTSETMNO=NULL//刪除STUDENT表中專業(yè)號刪除WHEREMNO=(SELECTMNOFROMDELETED)//找到對應(yīng)專業(yè)號---------------------------------------------------------------------------------------------------------------------CREATETRIGGERteacherupdateONdbo.department//建立院系信息表刪除觸發(fā)器FORDELETEASUPDATETEACHER//刪除老師信息表TEACHERSETDMPNO=NULL//刪除TEACHER表中院系號刪除WHEREDMPNO=(SELECTDMPNOFROMDELETED)//找到對應(yīng)院系號---------------------------------------------------------------------------------------------------------------------5.2存放過程是PL/SQL語句書寫過程,這個過程經(jīng)編譯和優(yōu)化后存放在數(shù)據(jù)庫服務(wù)器中,使用時只要調(diào)用即可。(1)數(shù)據(jù)查詢--------------------------------------------------------------------------------------------------------------------- 存放過程名:老師信息查詢 入口參數(shù):@tnovarchar(10) //輸入老師教工號 出口參數(shù):@tnochar(10), @tnamevarchar(10), @professvarchar(10), @dnamevarchar(10),@telint,@tsexchar(2),//定義存放輸出老師信息變量CREATEPROCEDUREselectteacher//建立查詢老師信息存放過程@tnoASSELECT@tno=tnoFROMINSERTED//選擇和輸入教工號相等全部統(tǒng)計SELECT*//選出符合條件老師全部信息 FROMteacherGO---------------------------------------------------------------------------------------------------------------------存放過程名:院系信息查詢 入口參數(shù):@dmpno //輸入院系院系號 出口參數(shù):@dmpno, @dmpname,@dmphead,//定義存放輸出院系信息變量CREATEPROCEDUREselectdepartment//建立查詢院系信息存放過程@dmpnoASSELECT@dmpno=dmpnoFROMINSERTED//選擇和輸入院系號相等全部統(tǒng)計SELECT* //選出符合條件院系全部信息 FROMdepartmentGO---------------------------------------------------------------------------------------------------------------------(2)數(shù)據(jù)插入---------------------------------------------------------------------------------------------------------------------存放過程名:學(xué)生信息插入 入口參數(shù):@snovarchar(10), @idvarchar(20), @intimevarchar(20), @birthplacevarchar(10), @snamevarchar(10), @ssexchar(2), @birthdayvarchar(20), @symbolvarchar(8), @homeaddrvarchar(20), @postcodeint, //輸入需要插入學(xué)生全部信息 出口參數(shù):無CREATEPROCEDUREinsertstudent//建立插入學(xué)生信息存放過程 @snovarchar(10), @idvarchar(20), @intimevarchar(20), @birthplacevarchar(10), @snamevarchar(10), @ssexchar(2), @birthdayvarchar(20), @symbolvarchar(8),@homeaddrvarchar(20),@postcodeint,//定義存放插入學(xué)生信息變量ASINSERTINTOstudent(sno,sname,ssex,birthday,symbol,id,intime,birthplace,homeaddr,postcode)//插入學(xué)生表對應(yīng)列名VALUES(@snovarchar(10),@snamevarchar(10),@ssexchar(2),@birthdayvarchar(20),@symbolvarchar(8),@idvarchar(20),@intimevarchar(20),@birthplacevarchar(10),@homeaddrvarchar(20),@postcodeint)//插入學(xué)生表對應(yīng)列名值GO---------------------------------------------------------------------------------------------------------------------存放過程名:老師信息插入 入口參數(shù):@tnochar(10), @tnamevarchar(10), @professvarchar(10), @dnamevarchar(10),@telint,@tsexchar(2),//輸入需要插入老師全部信息 出口參數(shù):無CREATEPROCEDUREinsertteacher @tnochar(10), @tnamevarchar(10), @professvarchar(10), @dnamevarchar(10), @telint, @tsexchar(2),//定義存放輸出老師信息變量ASINSERTINTOteacher(tno,tname,tsex,profess,dname,tel)//插入老師表對應(yīng)列名VALUES(@tnochar(10),@tnamevarchar(10),@tsexchar(2),@professvarchar(10),@dnamevarchar(10),@telint,) //插入老師表對應(yīng)列名值GO---------------------------------------------------------------------------------------------------------------------(3)數(shù)據(jù)刪除---------------------------------------------------------------------------------------------------------------------存放過程名:學(xué)生信息刪除 入口參數(shù):@snovarchar(10)//輸入要刪除學(xué)生學(xué)號 出口參數(shù):無CREATEPROCEDUREdeletestudent//建立刪除學(xué)生信息存放過程@sno,ASSELECT@sno=snoFROMDELETED//選擇和輸入學(xué)號相等全部統(tǒng)計DELETEFROMstudent //刪除符合條件統(tǒng)計GO---------------------------------------------------------------------------------------------------------------------存放過程名:專業(yè)信息刪除 入口參數(shù):@mnovarchar(10)//輸入要刪除專業(yè)專業(yè)號 出口參數(shù):無CREATEPROCEDUREdeletemajor //建立刪除專業(yè)信息存放過程@mname,ASSELECT@mname=mnameFROMDELETED//選擇和輸入專業(yè)號相等全部統(tǒng)計DELETEFROMmajor //刪除符合條件統(tǒng)計GO---------------------------------------------------------------------------------------------------------------------(4)數(shù)據(jù)更新---------------------------------------------------------------------------------------------------------------------存放過程名:學(xué)生學(xué)號更新 入口參數(shù):@noint, //輸入要更新學(xué)生學(xué)號 出口參數(shù):@snoint, //輸出更新后學(xué)生學(xué)號CREATEPROCEDUREupdatesno//建立更新學(xué)生學(xué)號存放過程 @noint,ASSELECT@no=snoFROMINSERTED//選擇和輸入學(xué)號相等全部統(tǒng)計UPDATEstudentSETsno=@no //更新符合條件統(tǒng)計GO---------------------------------------------------------------------------------------------------------------------存放過程名:專業(yè)名更新 入口參數(shù):@mnamevarchar(20), //輸入要更新專業(yè)名稱 出口參數(shù):@namevarchar(20), //輸出更新后專業(yè)名稱CREATEPROCEDUREupdatemname//建立更新專業(yè)名存放過程 @namevarchar(20),ASSELECT@mname=mnameFROMINSERTED//選擇和輸入學(xué)號相等全部統(tǒng)計UPDATEmajorSETmname=@name //更新符合條件統(tǒng)計GO---------------------------------------------------------------------------------------------------------------------5.3數(shù)據(jù)庫實施和維護(hù)完成數(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ù)入庫了,這就是數(shù)據(jù)庫實施階段。5.3數(shù)據(jù)庫實施關(guān)鍵是依據(jù)邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計結(jié)果,在計算機(jī)系統(tǒng)上建立實際數(shù)據(jù)庫結(jié)構(gòu)、導(dǎo)入數(shù)據(jù)并進(jìn)行程序調(diào)試。它相當(dāng)于軟件工程中代碼編寫和程序調(diào)試階段。當(dāng)在PowerDesignerTrial11中設(shè)計好本系統(tǒng)物理結(jié)構(gòu)以后,就能夠向數(shù)據(jù)庫轉(zhuǎn)換為對應(yīng)表。先選擇菜單欄中DatabaseConnect,經(jīng)過添加數(shù)據(jù)源,連接數(shù)據(jù)源,輸入用戶名和密碼進(jìn)行轉(zhuǎn)換,生成相關(guān)SQL語句,在經(jīng)過運行以后,最終在SQLServer中生成了以下所表示表。學(xué)生基礎(chǔ)信息表(關(guān)鍵描述部分學(xué)生入學(xué)前基礎(chǔ)信息):圖5-1學(xué)生基礎(chǔ)信息表結(jié)構(gòu)圖老師基礎(chǔ)信息表(關(guān)鍵描述老師部分基礎(chǔ)信息):圖5-2老師基礎(chǔ)信息表結(jié)構(gòu)圖院系信息表(關(guān)鍵描述學(xué)校中各個院系部分基礎(chǔ)信息):圖5-3院系信息表結(jié)構(gòu)圖專業(yè)信息表(關(guān)鍵描述學(xué)生選擇專業(yè)信息):圖5-4專業(yè)信息表結(jié)構(gòu)圖課程信息表(關(guān)鍵描述學(xué)校開設(shè)課程基礎(chǔ)信息):圖5-5課程信息表結(jié)構(gòu)圖選課信息表(關(guān)鍵描述學(xué)生選修課程信息):圖5-6選課信息表結(jié)構(gòu)圖講課信息表(關(guān)鍵描述老師講課信息):圖5-7講課信息表結(jié)構(gòu)圖學(xué)生畢業(yè)信息表(關(guān)鍵描述學(xué)生畢業(yè)基礎(chǔ)信息):圖5-8學(xué)生畢業(yè)信息表結(jié)構(gòu)圖5.3數(shù)據(jù)庫實施階段包含兩項關(guān)鍵工作,一項是數(shù)據(jù)載入,另一項是應(yīng)用程序編碼和調(diào)試。因為此次課程設(shè)計沒有進(jìn)行應(yīng)用程序開發(fā),所以對于后一項工作在這里就不做描述了。具體輸入一部分?jǐn)?shù)據(jù)以下圖所表示:輸入學(xué)生基礎(chǔ)信息:圖5-9學(xué)生部分基礎(chǔ)信息數(shù)據(jù)圖輸入老師基礎(chǔ)信息:圖5-10老師基礎(chǔ)信息數(shù)據(jù)圖輸入課程基礎(chǔ)信息:圖5-11課程信息數(shù)據(jù)圖輸入院系基礎(chǔ)信息:圖5-12院系基礎(chǔ)信息數(shù)據(jù)圖輸入專業(yè)信息:圖5-13專業(yè)信息數(shù)據(jù)圖輸入學(xué)生畢業(yè)基礎(chǔ)信息:圖5-14學(xué)生畢業(yè)基礎(chǔ)信息數(shù)據(jù)圖輸入學(xué)生選課信息:圖5-15學(xué)生選課信息數(shù)據(jù)圖輸入老師講課信息:圖5-16老師講課基礎(chǔ)信息數(shù)據(jù)圖5.3數(shù)據(jù)庫試運行5.3.1當(dāng)一小部分?jǐn)?shù)據(jù)輸入數(shù)據(jù)庫后,就能夠開始對數(shù)據(jù)庫系統(tǒng)進(jìn)行聯(lián)合調(diào)試,這一階段要實際運行數(shù)據(jù)庫應(yīng)用程序,實施對數(shù)據(jù)庫多種操作,因為沒有應(yīng)用程序,所以只有經(jīng)過SQL語言直接在數(shù)據(jù)庫中實施對數(shù)據(jù)庫多種操作。經(jīng)過在SQLServer查詢分析器中輸入對應(yīng)SQL語句,就能夠得到對應(yīng)結(jié)果,具體以下所表示:(1)查詢學(xué)生基礎(chǔ)信息 輸入SQL語句:SELECTsno,sname,ssex,dmpno,mno,birthday,sid,intimeFROMstudent; 實施結(jié)果:圖5-17查詢學(xué)生基礎(chǔ)信息結(jié)果圖(2)插入老師基礎(chǔ)信息 輸入SQL語句:INSERTINTOteacher(tno,dmpno,tname,tsex,profess,tel)VALUES('25','05','田七','男','教授',''); 實施結(jié)果:圖5-18插入老師基礎(chǔ)信息結(jié)果圖(3)刪除課程基礎(chǔ)信息 輸入SQL語句:DELETEFROMcourseWHEREcname='大學(xué)英語'; 實施結(jié)果:圖5-19刪除課程信息結(jié)果圖(4)更新學(xué)生
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年成都銀杏酒店管理學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題及答案詳細(xì)解析
- 2026貴州畢節(jié)大方縣面向社會公開招聘事業(yè)單位工作人員210人參考考試試題及答案解析
- 2026年金華職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2026福建水投集團(tuán)平潭水務(wù)有限公司招聘7人考試參考題庫及答案解析
- 2026年渤海船舶職業(yè)學(xué)院單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年鄭州澍青醫(yī)學(xué)高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試備考試題及答案詳細(xì)解析
- 2026年江陰職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年江西青年職業(yè)學(xué)院單招職業(yè)技能考試備考題庫含詳細(xì)答案解析
- 2026年德州科技職業(yè)學(xué)院單招職業(yè)技能考試模擬試題含詳細(xì)答案解析
- 2026年朔州職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2025年黨員民主評議個人總結(jié)2篇
- 果園合伙經(jīng)營協(xié)議書
- 2026中國民營醫(yī)院集團(tuán)化發(fā)展過程中的人才梯隊建設(shè)專題報告
- 物業(yè)管理經(jīng)理培訓(xùn)課件
- 員工解除競業(yè)協(xié)議通知書
- 【語文】太原市小學(xué)一年級上冊期末試題(含答案)
- 儲能電站員工轉(zhuǎn)正述職報告
- 靜脈炎處理方法
- 不銹鋼護(hù)欄施工方案范文
- 商業(yè)地產(chǎn)物業(yè)管理運營手冊
- 2025及未來5年中國天然植物粉市場調(diào)查、數(shù)據(jù)監(jiān)測研究報告
評論
0/150
提交評論