數(shù)據(jù)庫學(xué)籍管理系統(tǒng)(SQL)(共32頁)_第1頁
數(shù)據(jù)庫學(xué)籍管理系統(tǒng)(SQL)(共32頁)_第2頁
數(shù)據(jù)庫學(xué)籍管理系統(tǒng)(SQL)(共32頁)_第3頁
數(shù)據(jù)庫學(xué)籍管理系統(tǒng)(SQL)(共32頁)_第4頁
數(shù)據(jù)庫學(xué)籍管理系統(tǒng)(SQL)(共32頁)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)庫原理與應(yīng)用大作業(yè)題目:數(shù)據(jù)庫系統(tǒng)學(xué)院:信息與計算科學(xué)學(xué)院班級: 08級統(tǒng)計二班姓名:孔令太學(xué)號:指導(dǎo)老師:張昇 成績: 二一年六月 學(xué)生學(xué)籍管理系統(tǒng)(數(shù)據(jù)庫系統(tǒng))1 設(shè)計內(nèi)容和要求1.1設(shè)計背景隨著我國教育體制改革的深入進(jìn)行,教育系統(tǒng)得到了前所未有的發(fā)展。學(xué)生管理正在逐步邁向管理信息現(xiàn)代化。但是我國的學(xué)生管理信息化水平還處在初級階段,主要表現(xiàn)在對學(xué)生的交費管理、學(xué)生的檔案管理還是采用原有的人工管理方式。學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。由于大學(xué)生類別和專業(yè)的設(shè)置的多樣化,大學(xué)生的學(xué)籍管理歷來是非常繁瑣和復(fù)雜的的工作。面對龐大的

2、信息量, 這時的人工管理幾乎無法實現(xiàn),在這種情況下用數(shù)據(jù)庫進(jìn)行管理變的尤為必要,這可以發(fā)揮計算機(jī)的優(yōu)勢,就需要有學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率.通過這樣的系統(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)境: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)目標(biāo)設(shè)計² 使得學(xué)生的學(xué)籍管理工作更加清晰、條理化、自

3、動化。² 很容易地完成新生信息的輸入、老生信息的備份、畢業(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é)生基本信息系統(tǒng)² 能夠完成新、老生信息的輸人、修改、插人、刪除等工作。² 可以按照特定的信息進(jìn)行查找,并按照特定的要求進(jìn)行排序。² 可以對老生的信息進(jìn)行備份,以便日后查詢。² 可以對學(xué)生的信息進(jìn)行打印輸出。² 提供詳細(xì)的幫助文件和系

4、統(tǒng)維護(hù)功能。(2)學(xué)生成績管理系統(tǒng) 此部分的功能如下:² 學(xué)生成績的輸入、修改、刪除等基本操作。² 成績的綜合統(tǒng)計功能,包括學(xué)生成績按照不同條件進(jìn)行排名。管理人員可以選擇不同的排序條件,并可以將排序結(jié)果進(jìn)行打印輸出。² 計算各班的總分和平均分,并按照平均分將各班成績進(jìn)行排序。² 統(tǒng)計不及格考生的信息,根據(jù)條件確定是重修還是補(bǔ)考。² 學(xué)生獎勵統(tǒng)計,自動生成每班獲得獎學(xué)金的同學(xué)的信息,并可以將獎學(xué)金分成不同的等級,以及所得獎學(xué)金的數(shù)目。² 本系統(tǒng)可以在單機(jī)上運行,也可以應(yīng)用在網(wǎng)絡(luò)上供在線查詢成績和其他一些學(xué)生的信息(此功能選做人提供給學(xué)生

5、進(jìn)行查詢的系統(tǒng)和提供給教務(wù)處使用的系統(tǒng),在不同用戶使用時,應(yīng)該會有不同的使用權(quán)限。² 提供詳細(xì)的幫助文件。由于數(shù)據(jù)庫內(nèi)的信息會很多,注意數(shù)據(jù)庫表格設(shè)計,使得學(xué)生查詢基本信息或?qū)W習(xí)成績時使用時間較短。按照數(shù)據(jù)庫系統(tǒng)開發(fā)步驟進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計。系統(tǒng)的功能模塊設(shè)計圖如圖所示。2 需求分析2.1 引言 進(jìn)行數(shù)據(jù)庫設(shè)計首先必須準(zhǔn)確了解也分析用戶需求(包括數(shù)據(jù)和處理)。目的是為學(xué)籍管理數(shù)據(jù)庫系統(tǒng)的設(shè)計打下牢牢的基礎(chǔ),是數(shù)據(jù)庫開發(fā)的重要文件依據(jù),主要為數(shù)據(jù)庫設(shè)計人員使用,是用戶和系統(tǒng)分析員的項目依據(jù)文件。作為“地基”的需求分析是否做得充分與準(zhǔn)確,它決定了在其上構(gòu)建數(shù)

6、據(jù)庫大廈的速度和質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個數(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é)生。主要涉及系部信息、班級信息、任課教師信息、學(xué)生信息、課程信息以及選課記錄和成績等多種數(shù)據(jù)信息。實現(xiàn)的具體功能如下:l 基本信息管理系統(tǒng)管理員負(fù)責(zé)對各種基本信息的錄入、修改、刪除等操作。l 學(xué)生成績管理系統(tǒng)管理員負(fù)責(zé)對學(xué)生成績的錄入、修改、刪除等操作,學(xué)生可以查詢各科成績。l 信息查詢統(tǒng)計學(xué)生可以查詢基本信息和各科的考試成績,老師可以查詢基本信息和授課信息,系統(tǒng)管理員負(fù)

7、責(zé)把老師提交的學(xué)生成績進(jìn)行管理,計算總成績和平均成績,統(tǒng)計不及格學(xué)生信息和獲得獎學(xué)金學(xué)生的信息,最后再輸出所有的信息。l 畢業(yè)生信息管理系統(tǒng)管理員負(fù)責(zé)計算畢業(yè)學(xué)生在學(xué)校期間所修課程的總學(xué)分,并進(jìn)行審核,最后輸出登記表和名冊。l 系統(tǒng)用戶管理系統(tǒng)管理員負(fù)責(zé)用不同的權(quán)限來限制不同用戶對系統(tǒng)的使用。以上是用戶對系統(tǒng)的基本的功能要求,此外用戶還要求系統(tǒng)的效率要高,查詢速度要快,比較小的冗余,易維護(hù),具有較高的數(shù)據(jù)安全性。2.3 劃分功能模塊根據(jù)系統(tǒng)功能的需求分析和高等院校學(xué)籍管理的特點,經(jīng)過模塊化的分析得到如下圖1-1所示的系統(tǒng)功能模塊結(jié)構(gòu)圖。學(xué)籍管理系統(tǒng)基本信息管理畢業(yè)生信息管理學(xué)生成績管理系統(tǒng)用戶

8、管理信息查詢統(tǒng)計基本信息刪除基本信息修改基本信息錄入學(xué)生成績刪除學(xué)生成績修改學(xué)生成績錄入修改密碼輸出相關(guān)信息統(tǒng)計學(xué)生成績計算學(xué)生成績學(xué)生成績查詢基本信息查詢輸出名冊審核資格計算學(xué)分幫助信息圖 2-1 系統(tǒng)功能模塊圖2.4 數(shù)據(jù)字典2.4.1 數(shù)據(jù)項數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(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所屬

9、院系varchar8N6tel電話intN表 2.2 學(xué)生基本信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1sno學(xué)號varchar10Y2sname姓名varchar10N3ssex性別Char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份證號varchar20N7Intime入學(xué)時間varchar20N8birthplace籍貫varchar10N9homeaddr家庭住址varchar30N10postcode郵政編碼intN表 2.3 專業(yè)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1mno專業(yè)號char10Y2sno學(xué)號varchar10N3

10、mname專業(yè)名char10N4intime入學(xué)時間datetimeN表 2.4 畢業(yè)信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1gno畢業(yè)證編號char10Y2sno學(xué)號varchar10N3sname姓名varchar10N4ssex性別char2N5dname所屬院系varchar10N6intime入學(xué)時間datetimeN7ycredit已修學(xué)分floatN8xcredit需修學(xué)分floatN表 2.5 院系信息表序號字段別名數(shù)據(jù)類型數(shù)據(jù)長度碼1dmpno院系號varchar10Y2dname院系名稱varchar10N3dmphead院長名varchar20N表 2.6 課程信息表序號字

11、段別名數(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.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ù)項和用戶需求的

12、分析,我對本系統(tǒng)一共分了5個組,具體如下表所示:表 2.9 數(shù)據(jù)結(jié)構(gòu)表數(shù)據(jù)結(jié)構(gòu)名含義說明組成部分學(xué)生基本信息管理描述學(xué)生基本信息學(xué)號+姓名+性別+出生日期+身份證號+入學(xué)時間+政治面貌+家庭住址+籍貫+郵政編碼+民族老師基本信息管理描述老師基本信息教工號+姓名+性別+職稱+所屬院系+電話學(xué)生、老師相關(guān)信息管理描述學(xué)生選課信息,畢業(yè)信息,專業(yè)、院系信息,老師授課信息,院系信息學(xué)號+課程號+成績課程號+教工號畢業(yè)證編號+學(xué)號+姓名+性別+身份證號+所屬院系+入學(xué)時間+已修學(xué)分+需修學(xué)分學(xué)生成績管理描述學(xué)生平均成績、總成績的計算,統(tǒng)計相關(guān)信息學(xué)號+課程號+成績系統(tǒng)管理描述用戶修改密碼,幫助信息2.4

13、.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é)號+姓名+性別+出生日期+身份證號+入學(xué)時間+政治面貌+家庭住址+籍貫+郵政編碼+民族大學(xué)生基本信息02教師信息教工號+姓名+性別+職稱+所屬院系+電話一般教師基本信息03學(xué)生成績學(xué)號+姓名+性別+學(xué)號+課程號+成績大學(xué)生詳細(xì)信息04科目成績學(xué)號+課程號+成績大學(xué)生考試成績05各門成績學(xué)號+課程號+成績課程號+課程名+學(xué)分大同上06查詢結(jié)果科目成績+各門成績大各種信息07統(tǒng)計分析科目成績+

14、各門成績大學(xué)生獎勵2、外部項定義表表 2.11 外部項定義表編號名稱輸入數(shù)據(jù)流輸出數(shù)據(jù)流備注1學(xué)生處01主要用于錄入學(xué)生信息2學(xué)生06主要用語學(xué)生查詢信息和成績3老師03主要用于老師提交成績4教務(wù)員06/07主要用于輸出查詢和統(tǒng)計信息的結(jié)果2.4.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,0

15、7大批處理、更新、順序檢索2.4.5處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。對于本系統(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ìn)行綜合、歸納與抽象,形成獨立于具體DBMS的概念模型。

16、3.1數(shù)據(jù)流圖數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系,根據(jù)用戶的需求分析和高校學(xué)籍管理系統(tǒng)的需求,得出如下圖1-1所示的學(xué)籍管理數(shù)據(jù)流圖。學(xué)生教師管理員學(xué)生記錄成績畢業(yè)送進(jìn)信息錄入查詢計算統(tǒng)計更新錄入新生?學(xué)生信息批準(zhǔn)?成績單批準(zhǔn)?核對信息學(xué)生名單提交申請審核信息合格圖 3-1 學(xué)籍管理系統(tǒng)數(shù)據(jù)流圖3.2 系統(tǒng)E-R圖1 對于學(xué)生信息管理,我們可以將學(xué)生實體抽象出來,學(xué)生屬于學(xué)院可以將學(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é)生

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

18、屬于一個學(xué)生,故是一對一的關(guān)系)、選修(一個學(xué)生可以選修多門課程,而一門課程可以被多個學(xué)生選修,故是多對多的關(guān)系)、開設(shè)(一個專業(yè)可以開設(shè)多門課程,而一門課程可以被多個專業(yè)選擇,故是多對多的關(guān)系)、授課(一門課程可以被多個老師講授,而一個老師可以講授多門課程,故是多對多的關(guān)系)。 圖 3-10 教務(wù)關(guān)系E-R圖以上是本系統(tǒng)中的基本的實體和關(guān)系,本系統(tǒng)是將其分步找出來加以描述,下面是本系統(tǒng)總體的E-R圖:圖 3-11 學(xué)籍管理系統(tǒng)E-R圖3.3 概念模型概念模型是在對用戶需求分析之后,通過畫出本系統(tǒng)抽象出的E-R圖,由概念模型輔助工具PowerDesigner11進(jìn)行設(shè)計,通過具體地設(shè)置和繪圖,

19、最后就形成了如下所示的概念模型圖,生成的概念結(jié)構(gòu)就能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求,是對現(xiàn)實世界的一個真實模型。圖 3-12 學(xué)籍管理系統(tǒng)概念模型圖 專心-專注-專業(yè)4 邏輯結(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步進(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)系模型實際上就是要獎實體型、實體的屬性和實體型

20、之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體型間的聯(lián)系則有以下不同的情況:(1)一個1:1聯(lián)系可以轉(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)

21、系相連的個各實體的碼以及聯(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)系的屬性,各實體的碼組成關(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è)計好的基本E-R圖轉(zhuǎn)換為關(guān)系模型,如下所示:n 學(xué)生(學(xué)號,專業(yè)號,院系號,姓名,性別,出生日期,身份證號,入學(xué)時間,政治面貌,家庭住址,籍貫,郵政編

22、碼,民族),此為學(xué)生實體對應(yīng)的關(guān)系模式。n 教師(教工號,姓名,性別,職稱,所屬院系,電話),此為老師實體對應(yīng)的關(guān)系模式。n 畢業(yè)(畢業(yè)證編號,學(xué)號,姓名,性別,身份證號,所屬院系,入學(xué)時間,已修學(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)系模式。4.2 物理模型將生成的概念模型通過單擊

23、PowerDesigner11工具菜單欄上的Tools選項,再選擇Generate Physical Data Model選項,就可以轉(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ù)

24、庫中主要指存取方法和存取結(jié)構(gòu);(2)對物理結(jié)構(gòu)進(jì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)一般都是提供多種存取方法。常用的存取方法有三類。第一類是索引方法,目前主要是B+樹索引方法;第二類是聚簇方法;第三類是HASH方法。數(shù)據(jù)庫的索引類似書的目錄。在書中,目錄允許用戶不必瀏覽全書就能迅速地找到所需要的位置。在數(shù)據(jù)庫中,索引也允許應(yīng)用程序迅速找到表中的數(shù)據(jù),而不必掃描整個數(shù)據(jù)庫。在書中,目錄就是內(nèi)容和相應(yīng)頁號的清單。在

25、數(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可以接受的源代碼

26、,再經(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核心層進(jìn)行集中的完整性控制。由于本系統(tǒng)的觸發(fā)器比較多,在這里我只寫出了其中的一部分觸發(fā)器,具體如下所示。(1)數(shù)據(jù)更新-CREATE TRIGGER scupdate ON dbo.student /建立學(xué)生信息表更新觸發(fā)器FOR UPDATE ASUPDATE SC /更新學(xué)生選課表SCSET SNO = (SELECT SNO FROM IN

27、SERTED) /將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) /將GRADUATE表中的學(xué)號改成學(xué)生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對應(yīng)的學(xué)生學(xué)號-CREATE TR

28、IGGER 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 dbo.major /建立專業(yè)信息表更新觸發(fā)器FOR UPDATE ASUPDATE STUDENT /更新學(xué)生信息信息表STUDENTSET MNO = (S

29、ELECT 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 = (SELECT DMPNO FROM INSERTED) /將STUDENT表中的院系號改成專業(yè)表修改后的WHERE DMPNO = (SELECT DMPNO FRO

30、M 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 sc1update ON dbo.course /建立課程信息表刪除觸發(fā)器FOR DELETEASUPDATE SC /刪除選課信息表SCSET CNO = N

31、ULL /刪除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 MNO FROM DELETED) /找到對應(yīng)的專業(yè)號-CREATE TRIGGER teacherupdate ON dbo.department /建立院系

32、信息表刪除觸發(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ù)查詢-存儲過程名:教師信息查詢?nèi)肟趨?shù):tno varchar(10)/輸入教師的教工號出口參數(shù):tno char(10), tname varchar(10), profess varch

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

34、rtment/建立查詢院系信息存儲過程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), sname varchar(10),ssex char(2), birthday varchar(20),symbol varchar(8), homeaddr

35、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),symbol varchar(8),homeaddr varchar(20), postcode int,/定義存放插入學(xué)生信息的變量ASINSERT INT

36、O 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(20), birthplace varchar(10),homeaddr varchar(20), postcode int)/插入學(xué)生表對應(yīng)列名值GO-存儲過程

37、名:教師信息插入入口參數(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 varchar(10), tel int,tsex char(2),/定義存放輸出教師信息的變量ASINSERT INTO teacher(tno,tname,

38、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 PROCEDURE deletestudent /建立刪除學(xué)生信息的存儲過程sno,ASSELECT sno = sno FROM DELETED /選擇與輸入學(xué)號

39、相等的所有記錄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-(4)數(shù)據(jù)更新-存儲過程名:學(xué)生學(xué)號更新入口參數(shù): no int, /輸入要更新的學(xué)生學(xué)號 出口參數(shù): sno int,/輸出更新后的學(xué)生學(xué)號CREATE

40、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 updatemname /建立更新專業(yè)名的存儲過程 name varchar(20),ASSELECT mname = mname FROM INSERTED

41、/選擇與輸入學(xué)號相等的所有記錄UPDATE majorSET mname=name/更新符合條件的記錄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.1 數(shù)據(jù)庫的實施數(shù)據(jù)庫的實施主要是根據(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)在PowerDesigner Trial 11中

42、設(shè)計好本系統(tǒng)的物理結(jié)構(gòu)之后,就可以向數(shù)據(jù)庫轉(zhuǎn)換為相應(yīng)的表。先選擇菜單欄中Database的Connect,通過添加數(shù)據(jù)源,連接數(shù)據(jù)源,輸入用戶名和密碼進(jìn)行轉(zhuǎn)換,生成相關(guān)的SQL語句,在通過運行之后,最終在SQL Server 2000中生成了如下所示的表。u 學(xué)生基本信息表(主要描述一些學(xué)生入學(xué)前的基本信息):圖 5-1 學(xué)生基本信息表結(jié)構(gòu)圖u 教師基本信息表(主要描述教師的一些基本信息):圖 5-2 教師基本信息表結(jié)構(gòu)圖u 院系信息表(主要描述學(xué)校中各個院系的一些基本信息):圖 5-3 院系信息表結(jié)構(gòu)圖u 專業(yè)信息表(主要描述學(xué)生選擇專業(yè)的信息):圖 5-4 專業(yè)信息表結(jié)構(gòu)圖u 課程信息表(

43、主要描述學(xué)校開設(shè)的課程的基本信息):圖 5-5 課程信息表結(jié)構(gòu)圖u 選課信息表(主要描述學(xué)生選修課程的信息):圖 5-6 選課信息表結(jié)構(gòu)圖u 授課信息表(主要描述教師授課的信息):圖 5-7 授課信息表結(jié)構(gòu)圖u 學(xué)生畢業(yè)信息表(主要描述學(xué)生畢業(yè)的基本信息):圖 5-8 學(xué)生畢業(yè)信息表結(jié)構(gòu)圖5.3.2 數(shù)據(jù)的載入數(shù)據(jù)庫實施階段包括兩項重要的工作,一項是數(shù)據(jù)的載入,另一項是應(yīng)用程序的編碼和調(diào)試。由于本次課程設(shè)計沒有進(jìn)行應(yīng)用程序的開發(fā),因此對于后一項工作在這里就不做描述了。具體輸入的一部分?jǐn)?shù)據(jù)如下圖所示:S 輸入學(xué)生基本信息:圖 5-9 學(xué)生部分基本信息數(shù)據(jù)圖S 輸入教師基本信息:圖 5-10 教師

44、基本信息數(shù)據(jù)圖S 輸入課程基本信息:圖 5-11 課程信息數(shù)據(jù)圖S 輸入院系基本信息:圖 5-12 院系基本信息數(shù)據(jù)圖S 輸入專業(yè)信息:圖 5-13 專業(yè)信息數(shù)據(jù)圖S 輸入學(xué)生畢業(yè)基本信息:圖 5-14 學(xué)生畢業(yè)基本信息數(shù)據(jù)圖S 輸入學(xué)生選課信息:圖 5-15 學(xué)生選課信息數(shù)據(jù)圖S 輸入教師授課信息:圖 5-16 教師授課基本信息數(shù)據(jù)圖5.3 數(shù)據(jù)庫的試運行5.3.1 通過SQL語句進(jìn)行簡單測試當(dāng)一小部分?jǐn)?shù)據(jù)輸入數(shù)據(jù)庫后,就可以開始對數(shù)據(jù)庫系統(tǒng)進(jìn)行聯(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論