摘 要:本文主要對數(shù)據(jù)庫進行了具體分析,從建立基本表,連接虛擬表,具體字段的理解、定義,以及在建表過程中出現(xiàn)的錯誤并改正。根據(jù)用戶的需求,得到滿足需求的各個實體,畫出了各個實體的E-R圖和建立基本表。通過本文的研究分析,希望對計算機網(wǎng)絡(luò)數(shù)據(jù)庫的系統(tǒng)設(shè)計有更加清晰的思路。
關(guān)鍵詞:計算機網(wǎng)絡(luò);數(shù)據(jù)庫;系統(tǒng);設(shè)計
一、數(shù)據(jù)庫的邏輯設(shè)計
使用SQL Server2005實現(xiàn)關(guān)系型數(shù)據(jù)庫。數(shù)據(jù)庫之間的關(guān)系指明兩個庫之間共享一個共同的關(guān)鍵字值。一個連接是指一種虛擬的表,這種表是在當(dāng)用戶要求從相互關(guān)聯(lián)的各個不同的表中獲取信息時建立的,關(guān)鍵字段用于在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個字段,或在不同的紀(jì)錄中由重復(fù)數(shù)據(jù)的組合字段。數(shù)據(jù)庫中有三種不同類型的關(guān)鍵字:主關(guān)鍵字和外關(guān)鍵字。在表中使用的關(guān)鍵字類型用于描述庫表示什么以及在數(shù)據(jù)庫中如何與其它的庫建立關(guān)系。
數(shù)據(jù)庫設(shè)計是整個系統(tǒng)設(shè)計的關(guān)鍵,它關(guān)系到系統(tǒng)的功能是否全面、性能是否優(yōu)秀、程序設(shè)計的復(fù)雜程度等。學(xué)生工作的繁雜決定了數(shù)據(jù)庫中需要繁多的表和字段,但是在這么多的表和字段中如何既保證程序設(shè)計的簡便(這關(guān)系到整個系統(tǒng)的可靠性和穩(wěn)定性),又盡量減少數(shù)據(jù)冗余是數(shù)據(jù)庫設(shè)計的中心問題。本系統(tǒng)通過合理安排各個字段和表之間的關(guān)聯(lián)關(guān)系,達到兩者的平衡。
用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能夠充分滿足各種信息的輸入和輸出。
有了用戶的需求分析之后,就能夠得到滿足用戶需求的各種實體,以及它們之間的關(guān)系。比如管理員也就是教務(wù)人員實體、學(xué)生就是學(xué)生實體、所選課程就是選課信息實體、課程情況就是課程信息實體、考試安排就是考試信息實體。下面具體畫了三個實體關(guān)系圖。
二、建立數(shù)據(jù)表
學(xué)生信息,包括查詢。成績插入和刪除。
在建立學(xué)生表時,學(xué)號(stu_no)的類型為number而且不為空,即為not null。中一定要寫。
事物的四個特性:原子性、一致性、隔離性、完整性。在數(shù)據(jù)庫的設(shè)計中一定要保持數(shù)據(jù)的完整性和一致性,否則數(shù)據(jù)會發(fā)生紊亂。
數(shù)據(jù)庫需求分析根據(jù)所需內(nèi)容設(shè)計數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下。
1.課程信息,包括的數(shù)據(jù)項有:課程號、課程名、代課老師、課程信息。邏輯結(jié)構(gòu)如表1所示。
表1 課程信息表
字段名 字段說明 類型 寬度 備注
cno 課程號 整型 5 主關(guān)鍵字
Cname 課程名 文本 10 外關(guān)鍵字
TeacherId 代課老師 整型 5 不能為空
info 課程信息 文本 50 不能為空
2.考試信息表,包括的數(shù)據(jù)項有:考試號、課程號、考試時間、課程性質(zhì)。邏輯結(jié)構(gòu)如表2所示。
表2 考試信息表
字段名 字段說明 類型 寬度 備注
cid 考試號 整型 10 主關(guān)鍵字
cno 課程號 文本 10 外關(guān)鍵字
ctime 考試時間 日期 8 不能為空
xingzhi 課程性質(zhì) 文本 50 不能為空
3.選課信息表,包括的數(shù)據(jù)項有:選課號、學(xué)號、課程號、成績。邏輯結(jié)構(gòu)如表3所示。
表3 選課信息表
字段名 字段說明 類型 寬度 備注
scno 選課號 整型 10 主關(guān)鍵字
sno 學(xué)號 整型 10 外關(guān)鍵字
cno 課程號 整型 5 外關(guān)鍵字
grade 成績 整型 5 可以為空
4.學(xué)生基本信息,包括數(shù)據(jù)項有:學(xué)生號、學(xué)生姓名、性別、出生日期、祖籍、所在系和家庭。邏輯結(jié)構(gòu)如表4所示。
表4 學(xué)生信息表
字段名 字段說明 類型 寬度 備注
sno 學(xué)號 整型 10 主關(guān)鍵字
sname 姓名 文本 20 不能為空
mima 密碼 文本 10 不能為空
ssex 性別 文本 3 不能為空
sage 年齡 整型 3 不能為空
img 照片 文本 20 可以為空
beizhu 備注 文本 50 可以為空
三、創(chuàng)建數(shù)據(jù)庫過程中出現(xiàn)的錯誤
1.在SQL Server2005 中建表時因把STUDENT表中的SNO這項的數(shù)據(jù)結(jié)構(gòu)設(shè)為了CHAR型,所以再輸入數(shù)據(jù)時應(yīng)加上引號,另外在插入日期時也遇到了困難,后來發(fā)現(xiàn)可以用TOUPDATE函數(shù)來進行轉(zhuǎn)變。例如插入數(shù)據(jù)時:insert into student values(‘李,0000101,女,1981/01/03,0205689012,上海,信息);
2.在插入數(shù)據(jù)的過程中要注意數(shù)據(jù)和定義的范圍,不能使插入的數(shù)據(jù)過大。 (course_id number(3) null, foreign key(sno) references(sno);
3.在插入數(shù)據(jù)的時候,如遇到字符型的數(shù)據(jù)應(yīng)用單引號括上。
四、結(jié)語
數(shù)據(jù)庫設(shè)計是整個系統(tǒng)設(shè)計的關(guān)鍵,它關(guān)系到系統(tǒng)的功能是否全面、性能是否優(yōu)秀、程序設(shè)計的復(fù)雜程度等。本文主要說明了數(shù)據(jù)庫,并對其進行了具體介紹,先對數(shù)據(jù)庫的分析,建立基本表,連接虛擬表,具體字段的理解、定義進行分析,以及在建表過程中出現(xiàn)的錯誤并改正。根據(jù)用戶的需求,得到滿足需求的各個實體,畫出了各個實體的E-R圖,建立基本表。
參考文獻:
[1]陳剛.構(gòu)建綜合信息管理系統(tǒng)[J].安徽:蚌埠醫(yī)學(xué)院,2005,15(4).
[2]李霞,管建和.基于ADO_NET的數(shù)據(jù)綁定技術(shù)[J].上海:電腦編程技巧及維護, 2006,(8):32-35.
[3]RuiMin Shen, Yiyang Tang, Tongzhen Zhang, “The Students Synthetic Management Information System in Distance Learning Education”[J].FIE2001.
[4]王秀華,徐元柵,學(xué)生管理信息系統(tǒng)的開發(fā)及實現(xiàn)[J].成都:西南民族大學(xué)學(xué)報[自然科學(xué)版] ,2004:1.
[5]Thomas R.Peltier. Information Security Risk Analysis[M]. Rothstein Associates Inc, 2001.
作者簡介:盧秋華(1965-8),男,本科學(xué)歷,現(xiàn)在江西省贛州農(nóng)業(yè)學(xué)校工作,職稱:實驗師,研究方向:計算機教學(xué)。