【正文】
登錄表中type字段不等于1的用戶查看個人信息:系統(tǒng)通過該學生的ID號,查詢出相關(guān)的個人信息。查詢可選課程:系統(tǒng)通過該學生的ID號,找到專業(yè)ID號,進而找到該專業(yè)下的可選課程,該結(jié)果集以列表形式表示。學生選擇課程:將該課程的ID號,學生的ID號輸入到學生選課表中,記錄到數(shù)據(jù)庫中。查詢已選課程:通過該學生的ID號,從選課表中找到已選課程,該結(jié)果集以列表型時表示。輸入個人信息:學生注冊成功后,跳到輸入個人信息頁面,數(shù)據(jù)將被記錄到學生信息表中,可以做查詢用。教師模塊:針對用戶登錄表中type字段等于1的用戶教師添加課程:將該課程的ID號,所屬的專業(yè)ID號輸入到選課信息表中,此課程可以被學生選擇。修改課程信息:通過專業(yè)ID號和課程ID號,找到要修改的課程,設(shè)置課程是否可以被學生選擇。修改專業(yè)信息:通過專業(yè)ID號,找到要修改的專業(yè),設(shè)置此專業(yè)是否已結(jié)業(yè)。教師信息統(tǒng)計:通過專業(yè)ID號、課程ID號找到相對應(yīng)的課程,查看學生選課情況,設(shè)置上課人數(shù)。 數(shù)據(jù)庫設(shè)計 在系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫的設(shè)計是整個系統(tǒng)的基礎(chǔ)。良好的數(shù)據(jù)結(jié)構(gòu)設(shè)計不僅可以減少數(shù)據(jù)冗余、提高查詢效率,而且還可以降低應(yīng)用程序的編寫難度,提高工作效率?!嶓wER圖 網(wǎng)上選課系統(tǒng)主要實體間關(guān)系ER圖如圖32所示圖32 網(wǎng)上選課系統(tǒng)主要實體間關(guān)系ER圖用戶(教師)實體ER圖如圖33所示:圖33 用戶(教師)實體ER圖學生除了具有上述用戶屬性外還具有其他屬性,ER圖如下34所示:圖34 學生實體ER圖課程實體ER圖如圖35所示:圖35 課程實體ER圖專業(yè)實體ER圖如圖36所示:圖36 專業(yè)實體ER圖 數(shù)據(jù)庫的邏輯結(jié)構(gòu)將設(shè)計好的ER圖轉(zhuǎn)換為相應(yīng)的關(guān)系模型??梢缘玫揭韵聨讉€關(guān)系模式:l User( Id,loginName,pwd, type,mail)用戶信息(Id號,用戶名,密碼,權(quán)限,郵箱)l Student( Id,Stuname,Stuno,Specialtyid,Stusex,Birthday,Homeaddr,Tel,Addr)學生信息(學生ID號,學生姓名,學號,專業(yè)編號,性別,生日,家庭住址,聯(lián)系電話,現(xiàn)住址)l Course(Id,Name,Schooltime,Addr,Credit,Courseinfo,Teachername,Teacherinfo, Isfinish,Specialtyid ) 課程信息(課程ID號,課程名稱,上課時間,上課地點,課程學分,課程介紹,授課老師,老師介紹,是否可選,專業(yè)編號)l Specialty(Id,Enteryear,Name,Langthyear,Isfinish) 專業(yè)信息表(專業(yè)ID號,入學年份,專業(yè)名稱,學制,是否畢業(yè))l SC (Id,StuId,CourseId )課程與學生的關(guān)聯(lián)表(關(guān)聯(lián)號,對應(yīng)學生表的外鍵號,對應(yīng)課程表的外鍵號)通過關(guān)系模型的轉(zhuǎn)換,設(shè)計網(wǎng)上選課系統(tǒng)的數(shù)據(jù)庫為五個表,如表31所示:表31 數(shù)據(jù)庫的五個表數(shù)據(jù)庫表名說明tb_Userlogin用來存放用戶的登錄信息tb_stuuser用來存放學生的個人信息tb_course用來存放課程的相關(guān)信息tb_specialty用來存放專業(yè)的相關(guān)信息tb_stucourse用來存放學生選課的信息 數(shù)據(jù)庫表的設(shè)計用戶登錄表:圖37 用戶登錄表建表語句為:create table tb_userlogin(id integer not null primary key auto_increment, loginName varchar(20) not null, pwd varchar(20) not null, type varchar(1) not null, mail varchar(50) not null)。學生信息表:圖38 學生信息表建表語句為:create table tb_stuuser(id integer not null primary key auto_increment, stuName varchar(20) not null, stuNo varchar(15) not null, specialtyId integer not null, stuSex varchar(2) not null, birthday varchar(10) not null, homeAddr varchar(50) not null, tel varchar(20) not null, addr varchar(50) not null)。課程信息表:圖39 課程信息表建表語句為:create table tb_course(id integer primary key auto_increment not null, name varchar(40) not null, schooltime varchar(40) not null, addr varchar(50) not null, credit decimal(3,0) not null, courseInfo varchar(100) not null, teacherName varchar(20) not null, teacherInfo varchar(100) not null,