黃思明
(廣東省電子職業技術學校,廣東 廣州 510515)
目前,學校的辦公方式仍然采用傳統的基于紙質的辦公模式,既浪費時間且效率低下,也不環保,對于處理大量的學生信息來說變得流動不暢通,反饋時間變長,缺乏時效性,該模式已經無法適應新時期的辦公需要。隨著網絡技術的發展,利用計算機網絡技術設計一種基于Web的學生信息管理系統,這是一種優化的科學的辦公手段。本文的學生信息管理系統是基于Web的B/S結構,應用SQL數據庫與PHP語言技術實現的系統,主要包括系統設計目的、系統模塊設計、數據庫設計、系統的技術與實現,重點是在SQL數據庫的設計和系統的技術PHP語言的實現。
設計學生信息管理系統的目的就是為了將學校的各個部門通過網絡緊密地聯系起來,實現辦公信息化,達到設備和信息實時共享,使用戶能方便得到想要的信息,使得管理工作更加清晰、條理化、自動化,最大程度地提高各個部門的工作效率。解決長期困擾學生管理中的信息的處理問題,將信息的管理分配給各部門的相關老師來處理,不用管理人員獨自處理數據,不必為聘用專門的操作人員來給眾多班級編輯學生信息而精疲力竭,方便數據信息的收集、存儲、傳遞和維護,從而提高了數據的安全性、可靠性和可管理性。方便管理者、老師和學生間的信息發布、信息交流和信息共享。
學生信息管理系統的功能模塊設計主要由學生管理、班級管理、專業管理、課程管理、系部管理、成績管理、用戶管理和系統設置八個部分組成,功能模塊如圖1所示,各模塊的功能如下:
(1)學生管理包括添加學生信息注冊、修改學生信息、刪除學生信息、查看學生信息和學生檔案信息的功能。
(2)班級信息管理包括添加班級信息、修改班級信息、刪除班級信息、查詢班級信息功能。
(3)課程管理包括添加課程、修改課程、刪除課程和查詢課程功能。
(4)專業管理包括添加專業、修改專業、刪除專業和查詢專業功能。
(5)成績管理包括錄入成績、修改成績、查詢成績和成績內部排名功能。
(6)系部管理包括添加系部、修改系部、刪除系部和查詢系部功能。
(7)用戶管理包括登錄賬戶管理和修改登錄密碼、添加登錄賬戶、刪除登錄賬戶和禁止登錄帳戶功能。
(8)系統設置包括數據庫備份與恢復功能。

圖1 學生信息管理系統圖

圖2 學生信息管理系統E-R圖
根據學生信息管理系統各模塊功能的要求,數據庫設計分五個步驟進行,它們分別是數據庫的關系數據模型設計、數據庫概念結構(E-R圖)設計、數據庫各表邏輯結構設計、數據庫與表的創建、用戶管理和數據庫備份與恢復。
學生信息管理系統關系數據模型為:
(實體)系部(系部編號,系部名稱)
(實體)班級(班級編號,班級名稱,班主任,專業名稱,系部編號)
(實體)學生(班級學號,學生姓名,性別,民族,政治面貌,籍貫,出生年月日,身份證號,專業名稱,本人聯系電話,家長聯系電話,家庭住址,郵政編碼,系部名稱,班級編號)
(實體)課程(課程編號,課程名稱,專業名稱,系部編號)
(聯系)成績(班級學號,學生姓名,課程編號,分數)
(1)數據庫E-R圖設計:將“實體-聯系”的概念模型轉化為E-R圖,用E-R圖描述學生信息管理系統,如圖2所示。
(2)數據庫各表邏輯結構設計:根據系統E-R圖設計數據表來存放學生信息管理系統的信息,各表包括系部表(department)、班級表(class)、學生表(student)、課程表(course)和成績表(score)的設計,具體情況如下各表所示。

表1 系部表(department)

表2 班級表(class)

表3 學生表(student)

表4 課程表(course)

表5 成績表(score)
4.3.1 創立數據庫的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 創建各數據表
(1)創建系部表
create table department
(xb_id char(8)primary key notnull,xbmc char(10)null,)
(2)創建班級表
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)創建學生表
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)創建課程表
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)創建成績表
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))
在使用學生信息管理系統中分為三個等級的用戶,其中服務器管理員(教師)是最高級的教師用戶,他們的權限是最高的,可以對數據庫進行添加、修改和刪除等的管理;一般的教師用戶沒有數據庫的管理權,他們的權限是第二級的權限,只是可以通過網頁添加班級學生的鑒定、成績等信息;學生是最低的權限,只能通過網頁查看學生本人的信息,如查看成績、鑒定和通知等。根據上述權限的不同等級,為提高數據庫的安全性,在本文的數據庫系統中重新設置登錄賬戶管理和修改登錄密碼、添加登錄賬戶、刪除登錄賬戶和禁止登錄帳戶,對一般的教師用戶和學生不設置為登錄賬戶。
(1)登錄賬戶管理:在安裝數據庫后,數據庫提供了三個系統內置的登錄賬戶,其中SA為系統管理員登錄賬戶,該賬戶擁有最高的管理權限,可以對數據庫進行添加、刪除登錄賬戶或修改賬戶的所有操作,必須更改SA賬戶的登錄密碼,修改 SQL代碼是 exec sp_password'zhangssan','lisi','SA',即將賬戶為SA的密碼由原先的“zhangsan”改為“lisi”。
(2)添加登錄賬戶:添加SQL代碼是exec sp_addlogin'zhangsan','xinm ima','stuinfo','simplifiedchina',即為學生信息管理系統數據庫“stuinfo”添加了“zhangsan”登錄賬戶,密碼是“xinmima”,默認語言是“simplifiedchina”。
(3)刪除登錄帳戶:刪除SQL代碼是exec sp_droplogin'zhangsan',即為學生信息管理系統數據庫“Stuinfo”刪除“zhangsan”登錄賬戶。
(4)禁止登錄帳戶:禁止SQL代碼是exec sp_denylogin'domain\zhangsan',即禁止“zhangsan”賬戶登錄為學生信息管理系統數據庫“stuinfo”中。
數據庫中存放的是最為重要的數據信息,數據庫中的數據丟失將給用戶帶來不可估量的損失。數據丟失可能的原因有非法登錄者對數據庫進行刻意的破壞,或者是感染病毒、用戶的錯誤操作、硬件的損壞和計算機系統的崩潰等等。為了使系統在出現故障后能盡快恢復正常工作,把損失降為最低,必須對數據庫進行備份,以便在需要時能夠及時恢復。將學生信息管理系統數據庫“Stuinfo”備份和恢復的關鍵代碼如下。
(1)數據庫備份
exec sp_adddumpdevice'disk','stuinfo','d:Stuinfo.bak'
backup database stuinfo to'disk'='d:Stuinfo.bak'with format
(2)數據庫恢復
restore database stuinfo from disk='e:Stuinfo.bak'with replace
隨著計算機網絡技術的發展,B/S結構即瀏覽器和服務器結構應用非常廣泛。B/S結構的優點是一次開發到位,能實現不同人員,從不同地點,以不同的接入方式進行訪問和操作共同的數據庫,它能有效地保護數據平臺和管理訪問權限,服務器數據庫也很安全。因此,本文的學生信息管理系統是采用基于Web的B/S結構并應用PHP與MySQL的技術實現。
由于學生管理、班級管理、專業管理、課程管理、系部管理、成績管理和用戶管理七部分中添加、修改、刪除和查詢信息部分的操作方法相同,因此下面只以班級管理中添加班級信息、修改班級信息、刪除班級信息、查詢班級信息為例,列出這部分實現操作的關鍵性代碼。
(1)連接stuinfo數據庫公共代碼
$conn=mysql_connect("localhost","root","root")or die("數據庫服務器連接錯誤".mysql_error());
mysql_select_db("Stuinfo",$conn)or die("數據庫訪問錯誤 ".mysql_error());
mysql_query("setnamesgb2312");
(2)添加信息部分代碼
連接stuinfo數據庫公共代碼;$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數據庫公共代碼;$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數據庫公共代碼;$id=$_GET[id];$sql=mysql_query("delete from classwhere id=$id");
?>
(5)查詢信息部分代碼
連接Stuinfo數據庫公共代碼;$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);
?>
本文針對當前我校的辦公情況設計了一個基于Web的B/S結構的,使用MySQL數據庫技術和PHP技術開發的學生信息管理系統,使學校的各個部門的辦公連成一體。系統通過Internet網絡對學生的各種信息進行采集和管理,使學生的信息高度共享,實現對學生信息管理的計算機化、網絡化,方便老師和學生查詢,同時也保證數據的安全。
本系統只是對學生信息進行管理,管理的范圍還是比較窄,不能完全服務整個學校的信息管理的需求。本系統的管理功能還不夠完善,它只涉及到學生的系部、班級、年級、課程、成績、專業、學生個人信息的添加、刪除、修改和查詢等方面的管理,缺乏對學生處分、學生檔案、學生宿舍和學生選課的管理需求;還缺乏對圖書館的借閱還書管理、教職員工管理、通知短信發送等方面的管理。另外,對數據的準確分析、數據的完整性、安全性等方面的問題,都有待進一步的深入研究,最終能將本系統升級為功能全面的辦公自動化OA管理系統。
[1]胡瑩瑾,張鴻顏,李杰.S Q L S er v er2000數據庫[M].北京:化學工業出版社,2008.
[2]趙增敏,朱粹丹,趙朱曦.S Q L S er v er2000案例教程[M].北京:電子工業出版社,2005.