數(shù)據(jù)庫原理、方法與應(yīng)用論文 學(xué)生學(xué)籍管理系統(tǒng)
個(gè)人資料整理 僅限學(xué)習(xí)使用
數(shù)據(jù)庫原理、方法與應(yīng)用論文
學(xué)生學(xué)籍管理系統(tǒng)
學(xué)院:衡陽師范學(xué)院 專業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué) 學(xué)號(hào):
09090128 姓名:蘇潔 b5E2RGbCAP
摘要
隨著我國教育體制改革的深入進(jìn)行,教育系統(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ì)和快速的查詢,從而減少管理方面的工作量和減少 人為的專昔誤。plEanqFDPw
關(guān)鍵詞: 學(xué)生學(xué)籍管理系統(tǒng);數(shù)據(jù)庫;數(shù)據(jù)字典;觸發(fā)器
內(nèi)容和要求
1系統(tǒng)目標(biāo)設(shè)計(jì)
使得學(xué)生的學(xué)籍管理工作更加清晰、條理化、自動(dòng)化。
很容易地完成新生信息的輸入、老生信息的備份、畢業(yè)學(xué)生的信息可以很容易地 保存。
當(dāng)學(xué)生需要查詢成績時(shí),可以很簡單地將其需要的信息從數(shù)據(jù)庫中查找出來并可 以打印查詢結(jié)果。
隨著當(dāng)今網(wǎng)絡(luò)技術(shù)的發(fā)展,提供網(wǎng)絡(luò)在線查詢功能,可以為畢業(yè)生提供更多的就 業(yè)機(jī)會(huì)。
2系統(tǒng)功能要求
(1〉學(xué)生基本信息系統(tǒng)
能夠完成新、老生信息的輸人、修改、插人、刪除等工作。
可以按照特定的信息進(jìn)行查找,并按照特定的要求進(jìn)行排序。
可以對(duì)老生的信息進(jìn)行備份,以便日后查詢。
可以對(duì)學(xué)生的信息進(jìn)行打印輸出。
提供詳細(xì)的幫助文件和系統(tǒng)維護(hù)功能。
(2>學(xué)生成績管理系統(tǒng) 此部分的功能如下:
學(xué)生成績的輸入、修改、刪除等基本操作。
成績的綜合統(tǒng)計(jì)功能,包括學(xué)生成績按照不同條件進(jìn)行排名。管理人員可以選擇 不同的排序條件,并可以將排序結(jié)果進(jìn)行打印輸出。 DXDiTa9E3d
計(jì)算各班的總分和平均分,并按照平均分將各班成績進(jìn)行排序。
統(tǒng)計(jì)不及格考生的信息,根據(jù)條件確定是重修還是補(bǔ)考。
學(xué)生獎(jiǎng)勵(lì)統(tǒng)計(jì),自動(dòng)生成每班獲得獎(jiǎng)學(xué)金的同學(xué)的信息,并可以將獎(jiǎng)學(xué)金分成不 同的等級(jí),以及所得獎(jiǎng)學(xué)金的數(shù)目。RTCrpUDGiT
本系統(tǒng)可以在單機(jī)上運(yùn)行,也可以應(yīng)用在網(wǎng)絡(luò)上供在線查詢成績和其他一些學(xué)生 的信息 <此功能選做人提供給學(xué)生進(jìn)行查詢的系統(tǒng)和提供給教務(wù)處使用的系統(tǒng),在不同用 戶使用時(shí),應(yīng)該會(huì)有不同的使用權(quán)限。5PCzVD7HxA
提供詳細(xì)的幫助文件。
由于數(shù)據(jù)庫內(nèi)的信息會(huì)很多,注意數(shù)據(jù)庫表格設(shè)計(jì),使得學(xué)生查詢基本信息或?qū)W習(xí) 成績時(shí)使用時(shí)間較短。按照數(shù)據(jù)庫系統(tǒng)開發(fā)步驟進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè) 計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。jLBHrnAILg
系統(tǒng)的功能模塊設(shè)計(jì)圖如圖所示
學(xué)籍管理系統(tǒng)
系統(tǒng)模塊
圖1-1系統(tǒng)功能模塊設(shè)計(jì)圖
幫助模塊
2 / 33
個(gè)人資料整理 僅限學(xué)習(xí)使用
需求分析
1引言
進(jìn)行數(shù)據(jù)庫設(shè)計(jì)首先必須準(zhǔn)確了解也分析用戶需求 <包括數(shù)據(jù)和處理)。目的是為學(xué)
籍管理數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)打下牢牢的基礎(chǔ),是數(shù)據(jù)庫開發(fā)的重要文件依據(jù),主要為數(shù)據(jù) 庫設(shè)計(jì)人員使用,是用戶和系統(tǒng)分析員的工程依據(jù)文件。作為 地基”的需求分析是否做得
充分與準(zhǔn)確,它決定了在其上構(gòu)建數(shù)據(jù)庫大廈的速度和質(zhì)量。需求分析做得不好,甚至 會(huì)導(dǎo)致整個(gè)數(shù)據(jù)庫設(shè)計(jì)返工重做。xHAQX74J0X
本系統(tǒng)的開發(fā)是設(shè)計(jì)一個(gè)學(xué)生學(xué)籍管理系統(tǒng) <數(shù)據(jù)庫系統(tǒng))。
2用戶需求
本系統(tǒng)是針對(duì)高等院校的學(xué)生學(xué)籍管理,因此學(xué)籍管理系統(tǒng)的用戶包括系統(tǒng)管理 員、教師和學(xué)生。主要涉及系部信息、班級(jí)信息、任課教師信息、學(xué)生信息、課程信息 以及選課記錄和成績等多種數(shù)據(jù)信息。LDAYtRyKfE 實(shí)現(xiàn)的具體功能如下:
基本信息管理——系統(tǒng)管理員負(fù)責(zé)對(duì)各種基本信息的錄入、修改、刪除等操 作。
學(xué)生成績管理——系統(tǒng)管理員負(fù)責(zé)對(duì)學(xué)生成績的錄入、修改、刪除等操作,學(xué) 生可以查詢各科成績。
信息查詢統(tǒng)計(jì)——學(xué)生可以查詢基本信息和各科的考試成績,老師可以查詢基 本信息和授課信息,系統(tǒng)管理員負(fù)責(zé)把老師提交的學(xué)生成績進(jìn)行管理,計(jì)算總 成績和平均成績,統(tǒng)計(jì)不及格學(xué)生信息和獲得獎(jiǎng)學(xué)金學(xué)生的信息,最后再輸出 所有的彳S息。Zzz6ZB2Ltk
畢業(yè)生信息管理——系統(tǒng)管理員負(fù)責(zé)計(jì)算畢業(yè)學(xué)生在學(xué)校期間所修課程的總學(xué)
分,并進(jìn)行審核,最后輸出登記表和名冊(cè)。dvzfvkwMI1
系統(tǒng)用戶管理——系統(tǒng)管理員負(fù)責(zé)用不同的權(quán)限來限制不同用戶對(duì)系統(tǒng)的使 用。
以上是用戶對(duì)系統(tǒng)的基本的功能要求,此外用戶還要求系統(tǒng)的效率要高,查詢
速度要快,比較小的冗余,易維護(hù),具有較高的數(shù)據(jù)安全性。 rqyn14ZNXI
3劃分功能模塊
根據(jù)系統(tǒng)功能的需求分析和高等院校學(xué)籍管理的特點(diǎn),經(jīng)過模塊化的分析得到如下
3 / 33
個(gè)人資料整理 僅限學(xué)習(xí)使用
圖1-1所示的系統(tǒng)功能模塊結(jié)構(gòu)圖。EmxvxOtOco
學(xué)籍管理系統(tǒng)
基 本 信 息 管 理
信 息 查 詢 統(tǒng) 計(jì)
畢業(yè)生信息管理
系 統(tǒng) 用 戶 管 理
SixE2yXPq5
圖2-1系統(tǒng)功能模塊圖
4數(shù)據(jù)字典
4.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ù)見下 表 o 6ewMyirQFL
表2.1老師基本信息表
序號(hào)
字段
別名
數(shù)據(jù)類型
數(shù)據(jù)長度
碼
1
tno
學(xué)號(hào)
char
10
Y
2
tname
姓名
varchar
10
N
3
tsex
性別
Char
2
N
4
profess
職稱
varchar
10
N
5
dname
所屬院系
varchar
8
N
6
tel
電話
int
N
表2.2學(xué)生基本信息表
序號(hào)
字段
別名
數(shù)據(jù)類型
數(shù)據(jù)長度
碼
1
sno
學(xué)號(hào)
varchar
10
Y
2
sname
姓名
varchar
10
N
3
ssex
性別
Char
2
N
4
birthday
出生日期
timestamp
20
N
5
symbol
政治面貌
varchar
8
N
6
Id
身份證號(hào)
varchar
20
N
7
Intime
入學(xué)時(shí)間
varchar
20
N
8
birthplace
籍貫
varchar
10
N
9
homeaddr
家庭住址
varchar
30 —
N
10
postcode
郵政編碼
int
N
表2.3專業(yè)信息表
序號(hào)
字段
別名
數(shù)據(jù)類型
數(shù)據(jù)長度
碼
1
mno
專業(yè)號(hào)
char
10
Y
2
sno
學(xué)號(hào)
varchar
10
N
3
mname
專業(yè)名
char
10
N
4
intime
入學(xué)時(shí)間
datetime
N
表2.4畢業(yè)信息表
序號(hào)
字段
別名
數(shù)據(jù)類
數(shù)據(jù)長度
碼
1
gno
畢業(yè)證編號(hào)
char
10
Y
2
sno
學(xué)號(hào)
varchar
10
N
3
sname
姓名
varchar
10
N
4
ssex
性別
char
2
N
5
dname
所屬院系
varchar
10
N
6
intime
入學(xué)時(shí)間
datetime
N
7
ycredit
已修學(xué)分
float
N
8
xcredit
需修學(xué)分
float
N
表2.5院系信息表
序號(hào)
字段
別名
數(shù)據(jù)類型
數(shù)據(jù)長度
碼
1
dmpno
院系號(hào)
varchar
10
Y
2
dname
院系名稱
varchar
10
N
3
dmphead
院長名
varchar
20
N
表2.6課程信息表
序號(hào)
字段
別名
數(shù)據(jù)類型
數(shù)據(jù)長度
碼
1
cno
課程號(hào)
varchar
5
Y
2
cname
課程名
varchar
15
N
3
credit
學(xué)分
smallint
N
表2.7學(xué)生選課信息表
序號(hào)
字段
別名
數(shù)據(jù)類型
數(shù)據(jù)長度
碼
1
sno
學(xué)號(hào)
varchar
10
Y
2
cno
課程號(hào)
varchar
5
Y
3
grade
成績
float
N
表2.8老師授課信息表
序號(hào)
字段
別名
數(shù)據(jù)類型
數(shù)據(jù)長度
碼
1
cno
課程號(hào)
varchar
5
Y
2
tno
教工號(hào)
char
10
Y
3
ctime
課時(shí)
smallint
N
4.2 數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也 可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。經(jīng)過數(shù)據(jù)項(xiàng)和用戶 需求的分析,我對(duì)本系統(tǒng)一共分了 5個(gè)組,具體如下表所示:kavU42VRUs
表2.9數(shù)據(jù)結(jié)構(gòu)表
數(shù)據(jù)結(jié)構(gòu)名
含義說明
組成部分
學(xué)生基本信息管理
描述學(xué)生基本信息
學(xué)號(hào)+姓名+性別+出生日 期+身份證號(hào)+入學(xué)時(shí)間+ 政治面貌+家庭住址+籍貫 +郵政編碼+民族
老師基本信息管理
描述老師基本信息
教工號(hào)+姓名+性別+職稱 +所屬院系+電話
學(xué)生、老師相關(guān)信息管理
描述學(xué)生選課信息,畢業(yè) 信息,專業(yè)、院系信息, 老師授課信息,院系信息
學(xué)號(hào)+課程號(hào)+成績 課程號(hào)+教工號(hào) 畢業(yè)證編號(hào)+學(xué)號(hào)+姓名+ 性別+身份證號(hào)+所屬院系 +入學(xué)時(shí)間+已修學(xué)分+需 修學(xué)分
學(xué)生成績管理
描述學(xué)生平均成績、總成 績的計(jì)算,統(tǒng)計(jì)相關(guān)信息,
學(xué)號(hào)+課程號(hào)+成績
系統(tǒng)管理
描述用戶修改密碼,幫助 信息
4.3數(shù)據(jù)流
數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。通過對(duì)用戶的需求分析,以及數(shù)據(jù)項(xiàng)和數(shù)
據(jù)流的設(shè)計(jì),得出了相應(yīng)的數(shù)據(jù)流描述如下表所示: y6V3ALOS89
1、數(shù)據(jù)流定義表
表2.10數(shù)據(jù)流定義表
編號(hào)
數(shù)據(jù)流名
組成
備注
01
學(xué)生信息
學(xué)號(hào)+姓名+性別+出生日期+身份 證號(hào)+入學(xué)時(shí)間+政治面貌+家庭住 址+籍貫+郵政編碼+民族
大
學(xué)生基 本信息
02
教師信息
教工號(hào)+姓名+性別+職稱+所屬院 系+電話
T殳
教師基 本信息
03
學(xué)生成績
學(xué)號(hào)+姓名+性別+學(xué)號(hào)+課程號(hào)+成 績
大
學(xué)生詳 細(xì)信息
04
科目成績
學(xué)號(hào)+課程號(hào)+成績
大
學(xué)生考 試成績
05
各門成績
學(xué)號(hào)+課程號(hào)+成績 課程號(hào)+課程名+學(xué)分
大
同上
06
查詢結(jié)果
科目成績+各門成績
大
各種信 息
07
統(tǒng)計(jì)分析
科目成績+各門成績
大
學(xué)生獎(jiǎng) 勵(lì)
2、外部項(xiàng)定義表
表2.11外部項(xiàng)定義表
編號(hào)
名稱
輸入數(shù)據(jù)流
輸出數(shù)據(jù)流
備注
1
學(xué)生處
01
主要用于錄入學(xué)生信息
2
學(xué)生
06
主要用語學(xué)生查詢信息和成績
3
老師
03
主要用于老師提交成績
4
教務(wù)員
06/07
主要用于輸出查詢和統(tǒng)計(jì)信息 的結(jié)果
4.4 數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。經(jīng)過數(shù)據(jù) 項(xiàng)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)流的設(shè)計(jì),本系統(tǒng)一共選用了三個(gè)數(shù)據(jù)存儲(chǔ),具體對(duì)數(shù)據(jù)存儲(chǔ)的描
述通常如下表所示:M2ub6vSTnP
表2.12數(shù)據(jù)存儲(chǔ)表
編號(hào)
數(shù)據(jù)存儲(chǔ)名
輸入數(shù)據(jù)流
輸出數(shù)據(jù)流
數(shù)據(jù)量
存取方式
A1
學(xué)生相關(guān)信息
01
大
批處理、順序檢索
A2
教師相關(guān)信息
03
02
批處理、順序檢索
A3
學(xué)生成績單
06, 07
大
批處理、更新、順 序檢索
4.5 處理過程
處理過程的具體處理邏輯一般用判定表或判定樹來描述。對(duì)于本系統(tǒng)用于學(xué)生學(xué)籍
管理一共設(shè)計(jì)了四種處理方法,具體處理方式如下表所示: 0YujCfmUCw
表2.13數(shù)據(jù)處理過程表
編號(hào)
名稱
輸入數(shù)據(jù)流
輸出數(shù)據(jù)流
備注
B1
插入修改
01, 02, 03 1
01, 02, 03
插入學(xué)生信息和老師信息
B2
更新修改
01, 02, 03
01, 02, 03
更新學(xué)生信息和老師信息
B3
刪除修改
01, 02, 03 :
01, 02, 03
刪除學(xué)生信息和老師信息
B4
統(tǒng)計(jì)分析
05, 06
05, 06
統(tǒng)計(jì)學(xué)生信息和成績
概念結(jié)構(gòu)設(shè)計(jì)
概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,它通過對(duì)用戶需求進(jìn)行綜合、歸納與抽 象,形成獨(dú)立于具體DBMS的概念模型。eUts8ZQVRd
1數(shù)據(jù)流圖
數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系,根據(jù)用戶的需求分析和高校學(xué)籍管理系統(tǒng)的需
求,得出如下圖1-1所示的學(xué)籍管理數(shù)據(jù)流圖。sQsAEJkW5T
GMsIasNXkA
圖3-1學(xué)籍管理系統(tǒng)數(shù)據(jù)流圖
2系統(tǒng)E-R圖
1 .對(duì)于學(xué)生信息管理,我們可以將學(xué)生實(shí)體抽象出來,學(xué)生屬于學(xué)院可以將學(xué)院作
為一個(gè)實(shí)體,學(xué)生所屬專業(yè)和畢業(yè)信息都將可以作為一個(gè)實(shí)體。 TIrRGchYzg
29 / 33
圖3-2學(xué)生實(shí)體E-R圖
圖3-3院系實(shí)體E-R圖
圖3-4專業(yè)實(shí)體 E-R圖
圖3-5畢業(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)系)。 7EqZcWLZNX
圖3-6學(xué)生關(guān)系E-R圖
2 .對(duì)于老師信息管理,我們可以將老師實(shí)體抽象出來,老師屬于學(xué)院可以將學(xué)院 作為一個(gè)實(shí)體。
圖3-7老師實(shí)體E-R圖
在老師信息管理中存在這樣的關(guān)系:擁有 <一個(gè)老師只能在一個(gè)院系工作,而一
個(gè)院系可以供多個(gè)多個(gè)老師工作,故是多對(duì)一的關(guān)系)。 lzq7IGf02E
圖3-8老師關(guān)系E-R圖
3.對(duì)于教務(wù)信息管理,我們可以將課程實(shí)體抽象出來
圖3-9課程實(shí)體E-R圖
在教務(wù)信息管理中存在這樣的關(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)系)。
zvpgeqJIhk
圖3-10教務(wù)關(guān)系E-R圖
以上是本系統(tǒng)中的基本的實(shí)體和關(guān)系,本系統(tǒng)是將其分步找出來加以描述,下
面是本系統(tǒng)總體的E-R圖:
性別
姓名
出生日期
學(xué)號(hào)
身份證號(hào)
郵政編碼
入學(xué)時(shí)間
政治面貌
身份證號(hào)
籍貫
姓名
家庭住址
學(xué)號(hào)
:業(yè)證編號(hào)
i
學(xué)生
畢業(yè)
n
n
所屬院系
1
畢業(yè)
n
院系名稱
入學(xué)時(shí)間
1
選修
已修學(xué)分
成績
院長名
1
需修學(xué)分
專業(yè)
1
院系號(hào)
開設(shè)
n
性別
n
課程
課程名
專業(yè)號(hào)
工作
n
入學(xué)時(shí)間
學(xué)分
專業(yè)名
授課
課程號(hào)
n
n
圖3-11學(xué)籍管理系統(tǒng)E-R圖
3概念模型
概念模型是在對(duì)用戶需求分析之后,通過畫出本系統(tǒng)抽象出的 E-R圖,由概念模型
輔助工具PowerDesigneU1進(jìn)行設(shè)計(jì),通過具體地設(shè)置和繪圖,最后就形成了如下所示的 概念模型圖,生成的概念結(jié)構(gòu)就能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的
聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求,是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。 NrpoJac3v1
專業(yè)
-O
專業(yè)號(hào) <pi> A10 <M>
專業(yè)名 A10
入學(xué)時(shí)間 TS
專業(yè)號(hào) <pi>
選擇
畢業(yè)證編號(hào)
<pi>
<UNDEF>
<M>
學(xué)號(hào)
VA10
<M>
姓名
VA10
<M>
性別
A2
身份證號(hào)
SI
<M>
所屬院系
VA10
<M>
入學(xué)時(shí)間
TS
已修學(xué)分
SI
<M>
需修學(xué)分
SI
<M>
畢業(yè)證編號(hào)
<pi>
畢業(yè)
離校
課程
學(xué)生
學(xué)號(hào)
<pi> VA10
<M>
姓名
VA10
<M>
性別
A2
<M>
出生日期
VA20
<M>
身份證號(hào)
VA20
<M>
政治面貌
VA8
入學(xué)時(shí)間
TS
<M>
籍貫
VA10
家庭住址
VA30
郵政編碼
I
<M>
民族
VA10
學(xué)號(hào)<pi>
選修
課程號(hào) <pi> VA5 <M>
課程名 VA15 <M>
學(xué)分 SI
課程號(hào) <pi>
圖3-12學(xué)籍管理系統(tǒng)概念模型圖
學(xué)習(xí)
授課
院系
院系號(hào) <pi> VA10 <M>
院系名稱 VA10
院長名 VA20
院系號(hào) <pi>
擁有
教師
教工號(hào)
<pi> A10
<M>
姓名
VA10
<M>
性別
A2
<M>
職稱
VA10
所屬院系
VA10
電話
I
教工號(hào)
<pi>
邏輯結(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)。1nowfTG4KI
設(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)化。
1關(guān)系模型
將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)系則有以下不同的 情況:fjnFLDa5Zo
< 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)系本身的 屬性。tfnNhnE6e5
< 2) 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與 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í)體的碼。HbmVN777sL
< 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)系碼的一部分。 V7l4jRB8Hs
< 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)系碼的一部分。83lcPA59W9
< 5)具有相同碼的關(guān)系模式可合并。
將概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本 E-R圖轉(zhuǎn)換為關(guān)系模型,如下所示:
學(xué)生<好,專業(yè)號(hào),院系號(hào),姓名,性別,出生日期,身份證號(hào),入學(xué)時(shí)間, 政治面貌,家庭住址,籍貫,郵政編碼,民族),此為學(xué)生實(shí)體對(duì)應(yīng)的關(guān)系模 式 o mZkklkzaaP
教師<教工號(hào),姓名,性別,職稱,所屬院系,電話),此為老師實(shí)體對(duì)應(yīng)的關(guān)
系模式。
畢業(yè)<畢業(yè)證編號(hào),學(xué)號(hào),姓名,性別,身份證號(hào),所屬院系,入學(xué)時(shí)間,已修
學(xué)分,需修學(xué)分),此為畢業(yè)實(shí)體對(duì)應(yīng)的關(guān)系模式。 AVktR43bpw
課程 <課程號(hào),課程名,學(xué)分),此為課程實(shí)體對(duì)應(yīng)的關(guān)系模式。
院系 <院系號(hào),院系名稱,院長名),此為院系實(shí)體對(duì)應(yīng)的關(guān)系模式。
選修< 學(xué)號(hào),課程號(hào),成績),此為選修關(guān)系對(duì)應(yīng)的關(guān)系模式。
授課 <課程號(hào),教工號(hào),課時(shí)),此為老師授課關(guān)系對(duì)應(yīng)的關(guān)系模式。
開設(shè) <專業(yè)號(hào),課程號(hào)),此為專業(yè)開設(shè)課程關(guān)系對(duì)應(yīng)的關(guān)系模式。
2物理模型
將生成的概念模型通過單擊 PowerDesigneUI工具菜單欄上的 Tools選項(xiàng),再選擇
Generate Physical Data Model選項(xiàng),就可以轉(zhuǎn)換為物理模型,生成的最后結(jié)果具體如下圖 所示:ORjBnOwcEd
畢業(yè)
畢業(yè)證編號(hào)
〈Undefined〉
<pk>
學(xué)號(hào)
varchar(10)
身份證號(hào)
smallint
學(xué)生一學(xué)號(hào)
varchar(10)
<fk>
姓名
varchar(10)
性別
char(2)
所屬院系
varchar(10)
入學(xué)時(shí)間
timestamp
已修學(xué)分
smallint
FK STUDENT GRADUATE2 GRADUATE
FK GRADUATE GRADU
ATE STUDENT
專業(yè)
專業(yè)號(hào) char(10) <pk>
專業(yè)名 char(10)
入學(xué)時(shí)間 timestamp
FK STUDENT HAVE MAJOR
FK SET SET
MAJOR
開設(shè)
專業(yè)號(hào) char(10)
<pk,fk1>
課程號(hào) varchar(5)
<pk,fk2>
學(xué)生
學(xué)號(hào)
varchar(10)
<pk>
畢業(yè)證編號(hào)
〈Undefined〉
<fk2>
院系號(hào)
varchar(10)
<fk1>
姓名
varchar(10)
性別
char(2)
出生日期
varchar(20)
身份證號(hào)
varchar(20)
政治面貌
varchar(8)
入學(xué)時(shí)間
timestamp
籍貫
varchar(10)
家庭住址
varchar(30)
郵政編碼
integer
民族
varchar(10)
FK SC
i
SC_S
iTUDENT
FK STUDENT STUDY DEPARTME
院系
院系號(hào)
varchar(10)
<pk>
院系名稱
varchar(10)
院長名
varchar(20)
FK SET SET2
FK SC SC2 COURSE
COURSE
選修
學(xué)號(hào)
varchar(10)
<pk,fk1>
課程號(hào)
varchar(5)
<pk,fk2>
成績
smallint
FK TEACHER OWN DEPARTME
課程
授課
課程號(hào) varchar(5) <pk>
課程名 varchar(15)
課程號(hào) varchar(5) <pk,fk1>
教工號(hào) char(10) <pk,fk2>
—
FK TEACH TEACH COURSE
學(xué)分
smallint
FK TEACH TEACH2 TEACHER
教師
教工號(hào)
char(10)
<pk>
院系號(hào)
varchar(10)
<fk>
姓名
varchar(10)
性別
char(2)
職稱
varchar(10)
所屬院系
varchar(10)
電話
integer
圖4-1學(xué)籍管理系統(tǒng)物理模型圖
物理結(jié)構(gòu)設(shè)計(jì)與功能實(shí)現(xiàn)
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ù) 2MiJTy0dTT
數(shù)據(jù)庫的物理設(shè)計(jì)通常分為兩步:
<1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存取結(jié)構(gòu);
<2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。
1.1 確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)
由于本系統(tǒng)的數(shù)據(jù)庫建立不是很大,所以數(shù)據(jù)存儲(chǔ)采用的是一個(gè)磁盤的一個(gè)分
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)頁號(hào)的清單。 在數(shù)據(jù)庫中,索引就是表中數(shù)據(jù)和相應(yīng)存儲(chǔ)位置的列表。使用索引可以大大減少數(shù)據(jù)的 查詢時(shí)間。gliSpiue7A
但需要注意的是索引雖然能加速查詢的速度,但是為數(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ù)的更新速度。 uEh0U1Yfmh
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可以接受的源代
碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式。然后就可以組織數(shù)據(jù)入庫,最后就在此基礎(chǔ)上編寫各個(gè) 表相關(guān)的觸發(fā)器和存儲(chǔ)過程。IAg9qLsgBX
2.1 觸發(fā)器
觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動(dòng)的特殊過程。一旦定義,任何用戶 對(duì)表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應(yīng)的觸發(fā)器,在 DBMS核心層進(jìn)行集中的 完整性控制。由于本系統(tǒng)的觸發(fā)器比較多,在這里我只寫出了其中的一部分觸發(fā)器,具 體如下所示。WwghWvVhPE (1>數(shù)據(jù)更新
asfpsfpi4k
CREATE TRIGGER scupdate ON dbo.student 處立學(xué)生信息表更新觸發(fā)器 ooeyYZTjj1
FOR UPDATE
AS
UPDATE SC //更新學(xué)生選課表 SC
SET SNO = (SELECT SNO FROM INSERTED〉//將SC表中的學(xué)號(hào)改成學(xué)生表改后的
BkeGuInkxI
WHERE SNO = (SELECT SNO FROM DELETED〉。 〃更改對(duì)應(yīng)的學(xué)生學(xué)號(hào)
PgdOOsRlMo
CREATE TRIGGER graduateupdate ON dbo.student //建立學(xué)生信息表更新觸發(fā)器
3cdXwckm15
FOR UPDATE
AS
UPDATE GRADUATE //更新學(xué)生畢業(yè)信息表 GRADUATE
SET SNO = (SELECT SNO FROM INSERTED> // 將 GRADUATE 表中的學(xué)號(hào)改成學(xué)
生表修改后的h8c52WOngM
WHERE SNO = (SELECT SNO FROM DELETED> 。 〃更改對(duì)應(yīng)的學(xué)生學(xué)號(hào)
v4bdyGious
CREATE TRIGGER majorupdate ON dbo.student 〃建立學(xué) 生信息 表更新 觸發(fā)器
J0bm4qMpJ9
FOR UPDATE
AS
UPDATE MAJOR //更新專業(yè)信息表 MAJOR
SET SNO = (SELECT SNO FROM INSERTED> //將 MAJOR 表中的學(xué)號(hào)改成學(xué)生表
修改后的XVauA9grYP
WHERE SNO = (SELECT SNO FROM DELETED> 。 〃更改對(duì)應(yīng)的學(xué)生學(xué)號(hào)
bR9c6TJscw
CREATE TRIGGER studentl ON dbo.major /健立專業(yè)信息表更新觸發(fā)器 pN9LBDdtrd
FOR UPDATE
AS
UPDATE STUDENT //更新學(xué)生信息信息表 STUDENT
SET MNO = (SELECT MNO FROM INSERTED〉// 將 STUDENT 表中的專業(yè)號(hào)改成專 業(yè)表修改后的 DJ8T7nHuGT
WHERE MNO = (SELECT MNO FROM DELETED〉。 〃更改對(duì)應(yīng)的專業(yè)號(hào)
QF81D7bvUA
CREATE TRIGGER student2updateON dbo.department //建立院系信息表更新觸發(fā)器
4B7a9QFw9h
FOR UPDATE
AS
UPDATE STUDENT //更新學(xué)生信息信息表 STUDENT
SET DMPNO = (SELECT DMPNO FROM INSERTED> // 將 STUDENT 表中的院系號(hào)
改成專業(yè)表修改后的
ix6iFA8xoX
WHERE DMPNO = (SELECT DMPNO FROM DELETED> 。 〃更改對(duì)應(yīng)的院系號(hào)
wt6qbkCyDE
Kp5zH46zRk
(2>數(shù)據(jù)刪除
Yl4HdOAA61
CREATE TRIGGER teachiupdate ON dbo.teacher //建立教師信息 表刪除 觸發(fā)器
ch4PJx4BlI
FOR DELETE
AS
UPDATE TEACH 〃刪除授課信息表 TEACH
SET TNO = NULL //刪除TEACH表中的教工號(hào)刪除
WHERE TNO = (SELECT TNO FROM DELETED> // 找至灰寸應(yīng)的教工號(hào)
qd3YfhxCzo
CREATE TRIGGER sclupdate ON dbo.course 獨(dú)立課程信息表刪除觸發(fā)器 e836liido5
FOR DELETE
AS
UPDATE SC 〃刪除選課信息表SC
SET CNO = NULL //刪除SC表中的課程號(hào)刪除
WHERE CNO = (SELECT CNO FROM DELETED〉// 找至歡寸應(yīng)的課程號(hào)
S42ehLvE3M
CREATE TRIGGER stu_majorupdate ON dbo.major //建立專業(yè)信息表刪除觸發(fā)器
501nNvZFis
FOR DELETE
AS
UPDATE STUDENT // 刪除學(xué)生信息表 STUDENT
SET MNO = NULL //刪除STUDENT表中的專業(yè)號(hào)刪除
WHERE MNO = (SELECT MNO FROM DELETED> // 找至灰寸應(yīng)的專業(yè)號(hào)
jW1viftGw9
CREATE TRIGGER teacherupdate ON dbo.department //建立院系信息表刪除觸發(fā)器 xSODOYWHLP
FOR DELETE
AS
UPDATE TEACHER 〃刪除教師信息表 TEACHER
SET DMPNO = NULL //刪除TEACHER表中的院系號(hào)刪除
WHERE DMPNO = (SELECT DMPNO FROM DELETED> 〃找至U對(duì)應(yīng)的院系號(hào) LOZMklqlOw
ZKZUQsUJed
2.2 存儲(chǔ)過程
存儲(chǔ)過程是PL/SQL語句書寫的過程,這個(gè)過程經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫服務(wù)器 中,使用時(shí)只要調(diào)用即可。dGY2mcoKtT
<1)數(shù)據(jù)查詢
rCYbSWRLIA
存儲(chǔ)過程名:教師信息查詢
入口參數(shù):@tno varchar(10> //輸入教師的
教工號(hào)
出 口 參數(shù):@tno char(10>, @tname varchar(10〉,
@profess varchar(10〉, @dname varchar(10〉,
@tel int, @tsex char(2〉,
//定義存放輸出教師信息的變量
CREATE PROCEDURE selectteacher /查立查詢教師信息存儲(chǔ)過程
@tno
AS
SELECT @tno = tno FROM INSERTED //選擇與輸入教工號(hào)相等的
所有記錄
SELECT * //選出符合條件的教師所有信息
FROM teacher
GO
FyXjoFlMWh
存儲(chǔ)過程名:院系信息查詢
入口參數(shù):@dmpno //輸入院系的
院系號(hào)
出口參數(shù):@dmpno,
@dmpname,
@dmphead, /定義存放輸出院系信息的變量
CREATE PROCEDURE selectdepartment/建立查詢?cè)合敌畔⒋鎯?chǔ)過程 @dmpno
AS
SELECT @dmpno = dmpno FROM INSERTED
//選擇與輸入院系號(hào)相等的所有記錄
SELECT * //選出符合條件的院系所有信息
FROM department
GO
TuWrUpPObX
<2)數(shù)據(jù)插入
7qWAq9jPqE
存儲(chǔ)過程名:學(xué)生信息插入
入 口 參數(shù):@sno varchar(10〉,
@intime varchar(20〉,
varchar(10>,
@sname varchar(10〉,
@birthday varchar(20〉,
@id varchar(20〉, @birthplace
@ssex char(2〉,
@symbol varchar(8〉,
@homeaddr varchar(20〉, @postcode int,
//輸入需要插入的學(xué)生所有信息
出口參數(shù):無
@sno varchar(10〉,
@id varchar(20〉,
@intime varchar(20〉,
@birthplace
CREATE PROCEDURE insertstudent/處立插入學(xué)生信息的存儲(chǔ)過程
varchar(10>,
@sname varchar(10〉,
@ssex char(2〉,
@birthday varchar(20〉,
@symbol varchar(8〉,
@homeaddr varchar(20〉,
@postcode int,
//定義存放插入學(xué)生信息的變量
AS
INSERT INTO
student(sno,sname,ssex,birthday,symbol,id,intime,birthplace,IWTNQFk homeaddr,postcode>//ff入學(xué)生表對(duì)應(yīng)的列名
VALUES (@sno varchar(10>, @sname varchar(10>, @ssex char(2>yhUQsDgRT1
@birthday varchar(20〉, @symbol varchar(8〉, @id varchar(20>MdUZYnKS8I @intime varchar(20〉, @birthplace varchar(10〉, @homeaddr varchar(20>, @postcode int>/f 入學(xué)生表對(duì)應(yīng)列名值
09T7t6eTno
varchar(10>,
varchar(10>,
UTREx49Xj9
<3)數(shù)據(jù)刪除
8PQN3NDYyP
GO
存儲(chǔ)過程名:教師信息插入
入 口 參數(shù):@tno char(10〉,
@profess varchar(10〉,
@tel int, @tsex char(2〉,
//輸入需要插入的教師所有信息
出口參數(shù):無
CREATE PROCEDURE insertteacher
@tno char(10〉,
@profess varchar(10〉, @tel int,
//定義存放輸出教師信息的變量
AS
@tname varchar(10〉,
@dname
@tname
@dname varchar(10〉,
@tsex char(2〉,
INSERT INTO teacher(tno,tname,tsex,profess,dname,tele5TZQIUB5
//插入教師表對(duì)應(yīng)的列名
VALUES (@tno char(10>, @tname varchar(10>, @tsex char(2>s1s0VAeVQM
@profess varchar(10〉, @dname varchar(10〉, @tel
int,>GXRw1kFW5s
//插入教師表對(duì)應(yīng)列名值
GO
存儲(chǔ)過程名:學(xué)生信息刪除
入口參數(shù):@sno varchar(10> /榆入要?jiǎng)h除學(xué)生的學(xué)號(hào)
出口參數(shù):無
CREATE PROCEDURE deletestudent /建立刪除學(xué)生信息的存儲(chǔ)過程 @sno,
AS
SELECT @sno = sno FROM DELETED
//選擇與輸入學(xué)號(hào)相等的所有記錄
DELETE FROM student //刪除符合條件的記錄
GO
mLPVzx7ZNw
存儲(chǔ)過程名:專業(yè)信息刪除
入口參數(shù):@mno varchar(10> /輸入要?jiǎng)h除專業(yè)的專業(yè)號(hào)
出口參數(shù):無
CREATE PROCEDURE deletemajor //建立刪除專業(yè)信息的存儲(chǔ)
過程
@ mname, AS
SELECT @mname = mname FROM DELETED
//選擇與輸入專業(yè)號(hào)相等的所有記錄
DELETE FROM major //刪除符合條件的記錄
GO
AHP35hB02d
<4)數(shù)據(jù)更新
NDOcB141gT
存儲(chǔ)過程名:學(xué)生學(xué)號(hào)更新
入口參數(shù):@no int, //輸入要更新的學(xué)生學(xué)號(hào)
出口參數(shù):@sno int, 〃輸出更新后的學(xué)生
學(xué)號(hào)
CREATE PROCEDURE updatesno /建立更新學(xué)生學(xué)號(hào)的存儲(chǔ)過程
@no int,
AS
SELECT @no = sno FROM INSERTED
//選擇與輸入學(xué)號(hào)相等的所有記錄
UPDATE student
SET sno=@no //更新符合條件的記錄
GO
1zOk7Ly2VA
存儲(chǔ)過程名:專業(yè)名更新
入口參數(shù):@mname varchar(20>, //輸入要更新的專業(yè)名稱
出口參數(shù):@name varchar(20>, //輸出更新后的專業(yè)
名稱
CREATE PROCEDURE updatemname /建立更新專業(yè)名的存儲(chǔ)過程
@name varchar(20〉,
AS
SELECT @mname = mname FROM INSERTED
//選擇與輸入學(xué)號(hào)相等的所有記錄
UPDATE major
SET mname=@name //更新符合條件的記
錄
GO
fuNsDv23Kh
3數(shù)據(jù)庫的實(shí)施和維護(hù)
完成數(shù)據(jù)庫的物理設(shè)計(jì)之后,設(shè)計(jì)人員就要用 RDBMS提供的數(shù)據(jù)定義語言和其他實(shí)
用程序?qū)?shù)據(jù)庫邏輯設(shè)計(jì)和物理設(shè)計(jì)結(jié)果嚴(yán)格描述出來,成為 DBMS可以接受的源代
碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式。然后就可以組織數(shù)據(jù)入庫了,這就是數(shù)據(jù)庫實(shí)施階段
tqMB9ew4YX
3.1數(shù)據(jù)庫的實(shí)施
數(shù)據(jù)庫的實(shí)施主要是根據(jù)邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)的結(jié)果,在計(jì)算機(jī)系統(tǒng)上建 立實(shí)際的數(shù)據(jù)庫結(jié)構(gòu)、導(dǎo)入數(shù)據(jù)并進(jìn)行程序的調(diào)試。它相當(dāng)于軟件工程中的代碼編寫和 程序調(diào)試的階段。HmMJFY05dE
當(dāng)在PowerDesigner Trial 11中設(shè)計(jì)好本系統(tǒng)的物理結(jié)構(gòu)之后,就可以向數(shù)據(jù)庫轉(zhuǎn)換 為相應(yīng)的表。先選擇菜單欄中 Database的Connect,通過添加數(shù)據(jù)源,連接數(shù)據(jù)源,輸入
用戶名和密碼進(jìn)行轉(zhuǎn)換,生成相關(guān)的 SQL語句,在通過運(yùn)行之后,最終在 SQL Server 2000中生成了如下所示的表。ViLRaIt6sk
學(xué)生基本信息表 <主要描述一些學(xué)生入學(xué)前的基本信息):
列名
數(shù)據(jù)類型
長度1
允許空
SHO
varchar
10
dmpno
var char
10
char
10
sikame
var char
10
ssex
char
2
birthday
datetime
S
symbol
var char
6
id
varchar
20
intima
S
birthplace
varchar
10
homeaddr
var char
30
poEtcode
int
4
圖5-1學(xué)生基本信息表結(jié)構(gòu)圖
教師基本信息表 <主要描述教師的一些基本信息):
列名 1
數(shù)據(jù)類型
長度允詳空
怖1
tn 口
char
10
dinpiko
vsrcKar
10 v*
tname
var ch.ar
10
tsex
char
2
profess
varchir
10 V
dname
v arcliar
10 v/
tel
4 7
圖5-2教師基本信息表結(jié)構(gòu)圖
院系信息表 <主要描述學(xué)校中各個(gè)院系的一些基本信息):
I數(shù)據(jù)類型
1長度
允許至
鬧
dmpiw
char
10
vat char
10
20
圖5-3院系信息表結(jié)構(gòu)圖
專業(yè)信息表 <主要描述學(xué)生選擇專業(yè)的信息):
列名 I
數(shù)據(jù)類型
1長度1
允詳至
??
酊「。
10
SHO
var char
10
M
mname
cKar
10
intime
tin e st"ip
6
7
圖5-4專業(yè)信息表結(jié)構(gòu)圖
課程信息表 <主要描述學(xué)校開設(shè)的課程的基本信息):
列名
數(shù)據(jù)類型
1長度1
允許至
eno
varchar 5
mno
char
10
亡nam電
var char
IS
erfidi t
2
7
圖5-5課程信息表結(jié)構(gòu)圖
選課信息表 <主要描述學(xué)生選修課程的信息):
列名 |
數(shù)據(jù)類型
1長度1
允許空
悴
mo
v&rchar
10
cna
varchar
5
grade
float
8
7
圖5-6選課信息表結(jié)構(gòu)圖
授課信息表 <主要描述教師授課的信息):
列名
數(shù)據(jù)類型
1長度1
允詳空
CAO
varchar
5
tno
char
10
ctim 欄
float
8
t/
圖5-7授課信息表結(jié)構(gòu)圖
學(xué)生畢業(yè)信息表 <主要描述學(xué)生畢業(yè)的基本信息):
個(gè)人資料整理 僅限學(xué)習(xí)使用
列名
|數(shù)據(jù)類型
1長度1
允許空
guo
v ar ch ar
10
wna
varchar
10
三0卸力電
v ar char
10
ssex
char
2
varckar
10
iikiime
timestamp
8
yer edit
smalii nt
2
itcredi t
small i nt
2
圖5-8學(xué)生畢業(yè)信息表結(jié)構(gòu)圖
3.2數(shù)據(jù)的載入
數(shù)據(jù)庫實(shí)施階段包括兩項(xiàng)重要的工作,一項(xiàng)是數(shù)據(jù)的載入,另一項(xiàng)是應(yīng)用程序的編 碼和調(diào)試。由于本次課程設(shè)計(jì)沒有進(jìn)行應(yīng)用程序的開發(fā),因此對(duì)于后一項(xiàng)工作在這里就 不做描述了。具體輸入的一部分?jǐn)?shù)據(jù)如下圖所示: 9eK0GsX7H1
輸入學(xué)生基本信息:
EM
向q
■iipno
nnu
bir thiday
|id
symbol
1
助
QI
11
Mjw
mb. L2,S
sobinokioioio
m a
醞
2
0C£
12
luoji
欣.4 1
5Ml如知戰(zhàn)
團(tuán)員
3
ttM
03
13
hiianshaji
198B.3 IS
5Q030I03M87382
4
004
陰
14
liula。
L986.2 =
印必&印就鄴
圖5-9學(xué)生部分基本信息數(shù)據(jù)圖
輸入教師基本信息:
tn。
| dmpno
tstx
profftss
ta
21
01
教授
1321312323
22
OS
副教授
儂4343442
23
03
常嬸
12322W21
24
04
副教授
1323434355
圖5-10教師基本信息數(shù)據(jù)圖
輸入課程基本信息:
cnc
nuno
engine
credit
1001
11
高等數(shù)學(xué)
4
1002
12
大學(xué)英語
4
1303
13
大學(xué)物理
3.5
1004
14
計(jì)篁機(jī)導(dǎo)論
4
圖5-11課程信息數(shù)據(jù)圖
輸入院系基本信息:
dmpno
dnanie
dmphead
01
電子信息學(xué)院
02
莒理孕除
03
體育學(xué)除
04
機(jī)械學(xué)隔
輸入專業(yè)信息:
mnQ
sno
1 mnaine
intiine
11
1
討篁機(jī)
2005-9-1
12
2
2005-9-1
13
3
20Q5-9-1
14
4
20057-1
圖5-13專業(yè)信息數(shù)據(jù)圖
輸入學(xué)生畢業(yè)基本信息:
gno
|id |融盟追
|ycredit
Iscrdit
001
l 50010601OLC1010 *jim
i-tMSt
2005-9-1
235
£35
002
Z 5003013J44E4K8 luoji
合計(jì)
2K5-9-1
228
228
on
3 5003010W4573K 向猛力 m
2005-9-1
£忖
加
OM
4 900M8T363S2B44 lintao