黃思明
(廣東省電子職業(yè)技術(shù)學(xué)校,廣東 廣州 510515)
目前,學(xué)校的辦公方式仍然采用傳統(tǒng)的基于紙質(zhì)的辦公模式,既浪費時間且效率低下,也不環(huán)保,對于處理大量的學(xué)生信息來說變得流動不暢通,反饋時間變長,缺乏時效性,該模式已經(jīng)無法適應(yīng)新時期的辦公需要。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,利用計算機網(wǎng)絡(luò)技術(shù)設(shè)計一種基于Web的學(xué)生信息管理系統(tǒng),這是一種優(yōu)化的科學(xué)的辦公手段。本文的學(xué)生信息管理系統(tǒng)是基于Web的B/S結(jié)構(gòu),應(yīng)用SQL數(shù)據(jù)庫與PHP語言技術(shù)實現(xiàn)的系統(tǒng),主要包括系統(tǒng)設(shè)計目的、系統(tǒng)模塊設(shè)計、數(shù)據(jù)庫設(shè)計、系統(tǒng)的技術(shù)與實現(xiàn),重點是在SQL數(shù)據(jù)庫的設(shè)計和系統(tǒng)的技術(shù)PHP語言的實現(xiàn)。
設(shè)計學(xué)生信息管理系統(tǒng)的目的就是為了將學(xué)校的各個部門通過網(wǎng)絡(luò)緊密地聯(lián)系起來,實現(xiàn)辦公信息化,達到設(shè)備和信息實時共享,使用戶能方便得到想要的信息,使得管理工作更加清晰、條理化、自動化,最大程度地提高各個部門的工作效率。解決長期困擾學(xué)生管理中的信息的處理問題,將信息的管理分配給各部門的相關(guān)老師來處理,不用管理人員獨自處理數(shù)據(jù),不必為聘用專門的操作人員來給眾多班級編輯學(xué)生信息而精疲力竭,方便數(shù)據(jù)信息的收集、存儲、傳遞和維護,從而提高了數(shù)據(jù)的安全性、可靠性和可管理性。方便管理者、老師和學(xué)生間的信息發(fā)布、信息交流和信息共享。
學(xué)生信息管理系統(tǒng)的功能模塊設(shè)計主要由學(xué)生管理、班級管理、專業(yè)管理、課程管理、系部管理、成績管理、用戶管理和系統(tǒng)設(shè)置八個部分組成,功能模塊如圖1所示,各模塊的功能如下:
(1)學(xué)生管理包括添加學(xué)生信息注冊、修改學(xué)生信息、刪除學(xué)生信息、查看學(xué)生信息和學(xué)生檔案信息的功能。
(2)班級信息管理包括添加班級信息、修改班級信息、刪除班級信息、查詢班級信息功能。
(3)課程管理包括添加課程、修改課程、刪除課程和查詢課程功能。
(4)專業(yè)管理包括添加專業(yè)、修改專業(yè)、刪除專業(yè)和查詢專業(yè)功能。
(5)成績管理包括錄入成績、修改成績、查詢成績和成績內(nèi)部排名功能。
(6)系部管理包括添加系部、修改系部、刪除系部和查詢系部功能。
(7)用戶管理包括登錄賬戶管理和修改登錄密碼、添加登錄賬戶、刪除登錄賬戶和禁止登錄帳戶功能。
(8)系統(tǒng)設(shè)置包括數(shù)據(jù)庫備份與恢復(fù)功能。
圖1 學(xué)生信息管理系統(tǒng)圖
圖2 學(xué)生信息管理系統(tǒng)E-R圖
根據(jù)學(xué)生信息管理系統(tǒng)各模塊功能的要求,數(shù)據(jù)庫設(shè)計分五個步驟進行,它們分別是數(shù)據(jù)庫的關(guān)系數(shù)據(jù)模型設(shè)計、數(shù)據(jù)庫概念結(jié)構(gòu)(E-R圖)設(shè)計、數(shù)據(jù)庫各表邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫與表的創(chuàng)建、用戶管理和數(shù)據(jù)庫備份與恢復(fù)。
學(xué)生信息管理系統(tǒng)關(guān)系數(shù)據(jù)模型為:
(實體)系部(系部編號,系部名稱)
(實體)班級(班級編號,班級名稱,班主任,專業(yè)名稱,系部編號)
(實體)學(xué)生(班級學(xué)號,學(xué)生姓名,性別,民族,政治面貌,籍貫,出生年月日,身份證號,專業(yè)名稱,本人聯(lián)系電話,家長聯(lián)系電話,家庭住址,郵政編碼,系部名稱,班級編號)
(實體)課程(課程編號,課程名稱,專業(yè)名稱,系部編號)
(聯(lián)系)成績(班級學(xué)號,學(xué)生姓名,課程編號,分數(shù))
(1)數(shù)據(jù)庫E-R圖設(shè)計:將“實體-聯(lián)系”的概念模型轉(zhuǎn)化為E-R圖,用E-R圖描述學(xué)生信息管理系統(tǒng),如圖2所示。
(2)數(shù)據(jù)庫各表邏輯結(jié)構(gòu)設(shè)計:根據(jù)系統(tǒng)E-R圖設(shè)計數(shù)據(jù)表來存放學(xué)生信息管理系統(tǒng)的信息,各表包括系部表(department)、班級表(class)、學(xué)生表(student)、課程表(course)和成績表(score)的設(shè)計,具體情況如下各表所示。
表1 系部表(department)
表2 班級表(class)
表3 學(xué)生表(student)
表4 課程表(course)
表5 成績表(score)
4.3.1 創(chuàng)立數(shù)據(jù)庫的SQL語句
create database stuinfo
on primary
(name='Stuinfo',
filename=d:datastuinfo.mdf',size=10mb,maxsizeE=50mb,filegrow th=10%),
log on
(name='stuinfo_log',
filename=d:datalog_stuinfo.ldf',size=5mb,maxsizeE=20mb,filegrow th=10%),
collate chinese_prc_bin
4.3.2 創(chuàng)建各數(shù)據(jù)表
(1)創(chuàng)建系部表
create table department
(xb_id char(8)primary key notnull,xbmc char(10)null,)
(2)創(chuàng)建班級表
create table class
(bj_id char(8)primary key not null,bjmc char(8)null,bzr char(5)null,zymc char(5)null,Xb_id char(8)not null,constraint fk_sno foreign key references department(bj_id))
(3)創(chuàng)建學(xué)生表
create table student
(bjxh_id char(8)primary key not null,xsxm char(6)null,xb char(2)null,mz char(3)null,zzmm char(6)null,jg char(8)null,csny smalldatetime(4)null,sfzh char(18)null,zymc char(6)null,brdh char(11)null,Jzdh char(11)null,jtzz char(18)null,yzbm char(5)null,xbmc char(6)null,Bjbh_id char(8)notnull,Constraint fk_sno foreign key references class(bj_id))
(4)創(chuàng)建課程表
create table course
(kc_id char(8)primary key not null,kcmc char(8)null,zymc char(5)null,Xb_id char(8)not null,Constraint fk_sno Foreign Key references department(bj_id),fs char(3)null))
(5)創(chuàng)建成績表
create table score
(bjxh_id char(6)primary key not null,xsxm char(4)null,kc_id char(8)not null,Constraint fk_sno foreign key reference scourse(kc_id))
在使用學(xué)生信息管理系統(tǒng)中分為三個等級的用戶,其中服務(wù)器管理員(教師)是最高級的教師用戶,他們的權(quán)限是最高的,可以對數(shù)據(jù)庫進行添加、修改和刪除等的管理;一般的教師用戶沒有數(shù)據(jù)庫的管理權(quán),他們的權(quán)限是第二級的權(quán)限,只是可以通過網(wǎng)頁添加班級學(xué)生的鑒定、成績等信息;學(xué)生是最低的權(quán)限,只能通過網(wǎng)頁查看學(xué)生本人的信息,如查看成績、鑒定和通知等。根據(jù)上述權(quán)限的不同等級,為提高數(shù)據(jù)庫的安全性,在本文的數(shù)據(jù)庫系統(tǒng)中重新設(shè)置登錄賬戶管理和修改登錄密碼、添加登錄賬戶、刪除登錄賬戶和禁止登錄帳戶,對一般的教師用戶和學(xué)生不設(shè)置為登錄賬戶。
(1)登錄賬戶管理:在安裝數(shù)據(jù)庫后,數(shù)據(jù)庫提供了三個系統(tǒng)內(nèi)置的登錄賬戶,其中SA為系統(tǒng)管理員登錄賬戶,該賬戶擁有最高的管理權(quán)限,可以對數(shù)據(jù)庫進行添加、刪除登錄賬戶或修改賬戶的所有操作,必須更改SA賬戶的登錄密碼,修改 SQL代碼是 exec sp_password'zhangssan','lisi','SA',即將賬戶為SA的密碼由原先的“zhangsan”改為“l(fā)isi”。
(2)添加登錄賬戶:添加SQL代碼是exec sp_addlogin'zhangsan','xinm ima','stuinfo','simplifiedchina',即為學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫“stuinfo”添加了“zhangsan”登錄賬戶,密碼是“xinmima”,默認語言是“simplifiedchina”。
(3)刪除登錄帳戶:刪除SQL代碼是exec sp_droplogin'zhangsan',即為學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫“Stuinfo”刪除“zhangsan”登錄賬戶。
(4)禁止登錄帳戶:禁止SQL代碼是exec sp_denylogin'domain\zhangsan',即禁止“zhangsan”賬戶登錄為學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫“stuinfo”中。
數(shù)據(jù)庫中存放的是最為重要的數(shù)據(jù)信息,數(shù)據(jù)庫中的數(shù)據(jù)丟失將給用戶帶來不可估量的損失。數(shù)據(jù)丟失可能的原因有非法登錄者對數(shù)據(jù)庫進行刻意的破壞,或者是感染病毒、用戶的錯誤操作、硬件的損壞和計算機系統(tǒng)的崩潰等等。為了使系統(tǒng)在出現(xiàn)故障后能盡快恢復(fù)正常工作,把損失降為最低,必須對數(shù)據(jù)庫進行備份,以便在需要時能夠及時恢復(fù)。將學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫“Stuinfo”備份和恢復(fù)的關(guān)鍵代碼如下。
(1)數(shù)據(jù)庫備份
exec sp_adddumpdevice'disk','stuinfo','d:Stuinfo.bak'
backup database stuinfo to'disk'='d:Stuinfo.bak'with format
(2)數(shù)據(jù)庫恢復(fù)
restore database stuinfo from disk='e:Stuinfo.bak'with replace
隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,B/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)應(yīng)用非常廣泛。B/S結(jié)構(gòu)的優(yōu)點是一次開發(fā)到位,能實現(xiàn)不同人員,從不同地點,以不同的接入方式進行訪問和操作共同的數(shù)據(jù)庫,它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。因此,本文的學(xué)生信息管理系統(tǒng)是采用基于Web的B/S結(jié)構(gòu)并應(yīng)用PHP與MySQL的技術(shù)實現(xiàn)。
由于學(xué)生管理、班級管理、專業(yè)管理、課程管理、系部管理、成績管理和用戶管理七部分中添加、修改、刪除和查詢信息部分的操作方法相同,因此下面只以班級管理中添加班級信息、修改班級信息、刪除班級信息、查詢班級信息為例,列出這部分實現(xiàn)操作的關(guān)鍵性代碼。
(1)連接stuinfo數(shù)據(jù)庫公共代碼
$conn=mysql_connect("localhost","root","root")or die("數(shù)據(jù)庫服務(wù)器連接錯誤".mysql_error());
mysql_select_db("Stuinfo",$conn)or die("數(shù)據(jù)庫訪問錯誤 ".mysql_error());
mysql_query("setnamesgb2312");
(2)添加信息部分代碼
連接stuinfo數(shù)據(jù)庫公共代碼;$bjmc=$_POST[bjmc];$bzr=$_POST[bzr];$zymc=$_POST[zymc];
$sql=mysql_query("insert into class(bjmc,bzr,zymc)values('$bjmc','$bzr','$zymc')");
mysql_free_result($sql);mysql_close($conn);?>
(3)修改信息部分代碼
連接Stuinfo數(shù)據(jù)庫公共代碼;$bjmc=$_POST[bjmc];$bzr=$_POST[bzr];$zymc=$_POST[zymc];$id=$_POST[id];
$sql=mysql_query("update class set bjmc='$bjmc',bzr='$bzr',zym c=$zym c where id=$id");
}
?>
(4)刪除信息部分代碼
連接Stuinfo數(shù)據(jù)庫公共代碼;$id=$_GET[id];$sql=mysql_query("delete from classwhere id=$id");
?>
(5)查詢信息部分代碼
連接Stuinfo數(shù)據(jù)庫公共代碼;$sql=mysql_query("select*from class");
$row=mysql_fetch_object($sql);
do{
?>
}while($row=mysql_fetch_object($sql));
mysql_free_result($sql);mysql_close($conn);
?>
本文針對當(dāng)前我校的辦公情況設(shè)計了一個基于Web的B/S結(jié)構(gòu)的,使用MySQL數(shù)據(jù)庫技術(shù)和PHP技術(shù)開發(fā)的學(xué)生信息管理系統(tǒng),使學(xué)校的各個部門的辦公連成一體。系統(tǒng)通過Internet網(wǎng)絡(luò)對學(xué)生的各種信息進行采集和管理,使學(xué)生的信息高度共享,實現(xiàn)對學(xué)生信息管理的計算機化、網(wǎng)絡(luò)化,方便老師和學(xué)生查詢,同時也保證數(shù)據(jù)的安全。
本系統(tǒng)只是對學(xué)生信息進行管理,管理的范圍還是比較窄,不能完全服務(wù)整個學(xué)校的信息管理的需求。本系統(tǒng)的管理功能還不夠完善,它只涉及到學(xué)生的系部、班級、年級、課程、成績、專業(yè)、學(xué)生個人信息的添加、刪除、修改和查詢等方面的管理,缺乏對學(xué)生處分、學(xué)生檔案、學(xué)生宿舍和學(xué)生選課的管理需求;還缺乏對圖書館的借閱還書管理、教職員工管理、通知短信發(fā)送等方面的管理。另外,對數(shù)據(jù)的準(zhǔn)確分析、數(shù)據(jù)的完整性、安全性等方面的問題,都有待進一步的深入研究,最終能將本系統(tǒng)升級為功能全面的辦公自動化OA管理系統(tǒng)。
[1]胡瑩瑾,張鴻顏,李杰.S Q L S er v er2000數(shù)據(jù)庫[M].北京:化學(xué)工業(yè)出版社,2008.
[2]趙增敏,朱粹丹,趙朱曦.S Q L S er v er2000案例教程[M].北京:電子工業(yè)出版社,2005.