




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、專業(yè)實(shí)習(xí)報(bào)告2013-2014學(xué)年第一學(xué)期2013 年 12 月 23 日至 2014 年 1 月 10 日題 目: 學(xué)生選課系統(tǒng) 專 業(yè): 信息與計(jì)算科學(xué) 班 級: 數(shù)學(xué)(1)班 學(xué) 號(hào): 031001110 姓 名: 王丹 合作團(tuán)隊(duì)成員: 張薇,趙燕君,姚會(huì), 指導(dǎo)教師: 張華娣 二0一四 年 一 月 目 錄1專業(yè)實(shí)習(xí)目的32概要描述和要求32.1概要簡介32.2技術(shù)要求和技術(shù)要求33本人的分工44具體內(nèi)容44.1系統(tǒng)框架44.2配置管理54.3用戶登陸64.4用戶退出64.5 學(xué)生選課管理64.5.1學(xué)生選課管理學(xué)生信息查看學(xué)生信息修改184.5.1.
2、3學(xué)生密碼修改184.5.2選課管理課程瀏覽課程詳細(xì)信息課程選課課程退選204.6管理員管理204.6.1管理員信息管理204.6.2學(xué)生信息管理204.6.3學(xué)生成績管理214.6.4課程管理214.6.5選課統(tǒng)計(jì)224.6.6授課教師管理224.6.7學(xué)院專業(yè)管理234.7數(shù)據(jù)庫設(shè)計(jì)234.8界面設(shè)計(jì)335研究與探討346參考書目351專業(yè)實(shí)習(xí)目的 熟悉大型數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu)與組成; 熟悉數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)方法和開發(fā)過程; 掌握一種大型數(shù)據(jù)庫管理系統(tǒng)(DM5、ORACLE或SQL SERVER)的應(yīng)用技術(shù)和開發(fā)工具
3、的使用; 熟悉數(shù)據(jù)庫設(shè)計(jì)工具的使用; 熟悉數(shù)據(jù)庫安全的相關(guān)知識(shí)和技術(shù); 熟悉數(shù)據(jù)庫系統(tǒng)的管理和維護(hù); 為了提高同學(xué)之間團(tuán)隊(duì)合作,動(dòng)手能力,編程能力,以及更進(jìn)一步學(xué)習(xí)java語言及熟悉oracle數(shù)據(jù)庫。2概要描述和要求2.1概要簡介選課系統(tǒng)是高校信息化建設(shè)的基本內(nèi)容,是學(xué)校校園建設(shè)的一個(gè)重要模塊,為學(xué)生在校園內(nèi)選課、管理員課程管理提供了重要的途徑,也使校園課程信息管理變得更容易、信息存儲(chǔ)變得更安全、信息修改變得更簡單、信息查找變得更迅捷。學(xué)生選課系統(tǒng)需要滿足來自兩個(gè)方面的需求,這兩個(gè)方面分別是管理員和學(xué)生。 管理員和學(xué)生以不同身份的用戶進(jìn)入不同的界面,進(jìn)行不同的操作。管理員登錄后,對系統(tǒng)進(jìn)行全
4、面的管理,可以發(fā)布本學(xué)期所要教的課程,對學(xué)生選課成績、選課進(jìn)行管理和統(tǒng)計(jì)。管理員的功能還包括可以瀏覽、查詢、修改選課的基本信息。 學(xué)生可以根據(jù)本人學(xué)號(hào)和密碼登錄系統(tǒng),學(xué)生可以通過查詢本學(xué)期所開設(shè)課程進(jìn)行選擇,還可以進(jìn)行本人學(xué)科成績情況的查詢以及對個(gè)人信息的查詢。一般情況下,學(xué)生可以查詢和維護(hù)本人的選課情況和個(gè)人信息。 2.2技術(shù)要求和技術(shù)要求本軟件系統(tǒng)采用Eclipse,Oracle,PLSQL Developer進(jìn)行開發(fā)。3本人的分工一.我主要是負(fù)責(zé)數(shù)據(jù)庫設(shè)計(jì)部分和一些具體的功能實(shí)現(xiàn),包括表的建立,存儲(chǔ)過程的實(shí)現(xiàn)和課程相關(guān)信息的增刪改查等。存儲(chǔ)過程主要實(shí)現(xiàn)以下功能:1、根據(jù)課程編號(hào)刪除課程信
5、息,同時(shí)刪除學(xué)生選課表的相關(guān)信息2、根據(jù)學(xué)號(hào)刪除學(xué)生 ,同時(shí)刪除學(xué)生課程表中的相關(guān)信息3、獲得管理員編號(hào)4、獲得平均成績5、獲得總?cè)藬?shù)6、獲得總成績7、獲得學(xué)生學(xué)號(hào),由學(xué)院編號(hào),專業(yè)編號(hào),入學(xué)時(shí)間前兩位及三位隨機(jī)數(shù)組成二.課程相關(guān)信息的增刪改查主要實(shí)現(xiàn)以下功能:1、通過課程編號(hào)查看課程信息2、通過課程編號(hào)修改課程信息3、通過課程編號(hào)添加課程信息4、通過學(xué)號(hào)、課程名、教師名字獲得課程總?cè)藬?shù)5、通過課程編號(hào)查看授課老師信息、查看上課情況6、通過課程編號(hào)刪除課程信息7、通過課程編號(hào)、課程名、教師名查詢選課情況等4具體內(nèi)容4.1系統(tǒng)框架選課系統(tǒng)學(xué)生選課模塊管理員管理模塊個(gè)人信息管理選課管理個(gè)人信息查看
6、及修改密碼修改課程查詢課程選課課程退選學(xué)員信息管理課程管理成績管理學(xué)員信息查詢學(xué)員信息增、刪、改課程信息查詢課程信息增、刪、改成績查詢成績錄入、修改選課統(tǒng)計(jì)管理員管理管理員信息查詢管理員信息增,刪,改4.2配置管理名稱配置管理操作角色學(xué)生或管理員功能描述配置Oracle服務(wù)器的信息,測試連接、保存數(shù)據(jù)操作1. 輸入U(xiǎn)RL:Oracle連接字符串URL的值應(yīng)該先從配置文件中讀取出來,如果配置文件不存在,或者被用戶誤刪,都應(yīng)重新建立系統(tǒng)默認(rèn)配置文件以保證系統(tǒng)的正常運(yùn)行。2. 單擊【測試并保存】,進(jìn)行連接驗(yàn)證并保存數(shù)據(jù),測試不通過或者保存失敗,提示保存失敗以及錯(cuò)誤原因。3. 【進(jìn)入后臺(tái)服務(wù)器】, 該
7、按鈕默認(rèn)不可用,當(dāng)測試并保存通過后,設(shè)置為可用。單擊【進(jìn)入后臺(tái)服務(wù)器】進(jìn)入登錄界面4. 整個(gè)系統(tǒng)與數(shù)據(jù)庫的連接都應(yīng)該按照用戶提供的配置進(jìn)行。嚴(yán)禁在代碼中寫死。輸出配置界面4.3用戶登陸名稱用戶登陸操作角色學(xué)生或管理員功能描述5. 用戶輸入學(xué)號(hào)/編號(hào)、密碼、選擇角色后登錄操作1. 輸入學(xué)號(hào)/編號(hào)、密碼、選擇角色后,單擊登錄按鈕,首先進(jìn)行客戶端驗(yàn)證,驗(yàn)證通過后進(jìn)行登錄;如登錄失敗進(jìn)行相應(yīng)提示并重新登錄;2. 登錄失敗三次后,退出系統(tǒng)。驗(yàn)證要求如下:1) 學(xué)號(hào)/編號(hào):必填;注:學(xué)生為學(xué)號(hào),管理員為編號(hào) 學(xué)號(hào)為9位,編號(hào)為11位 只能輸入數(shù)字。2) 密碼:必填; 3) 角色:必選,默認(rèn)為學(xué)生。4) 管
8、理員的狀態(tài)如果未凍結(jié)才可登錄輸出管理頁4.4用戶退出名稱用戶退出操作角色學(xué)生或管理員功能描述已登錄的用戶退出操作已登錄的用戶在管理頁右上角單擊關(guān)閉符號(hào)x后,提示“確定退出嗎?”確定退出后,回到登陸頁。輸出登陸頁4.5 學(xué)生選課管理(我主要負(fù)責(zé)的部分)一、數(shù)據(jù)庫的建立,所采用的軟件是oracle。具體建立六個(gè)表和六個(gè)視圖(為了方便使用者對于各信息的獲?。?shù)據(jù)的錄入。二、存儲(chǔ)過程的實(shí)現(xiàn)1、根據(jù)課程編號(hào)刪除課程信息,同時(shí)刪除學(xué)生選課表的相關(guān)信息2、根據(jù)學(xué)號(hào)刪除學(xué)生 ,同時(shí)刪除學(xué)生課程表中的相關(guān)信息3、獲得管理員編號(hào)4、獲得平均成績5、獲得總?cè)藬?shù)6、獲得總成績7、獲得學(xué)生學(xué)號(hào),由學(xué)院編號(hào),專業(yè)編號(hào),入
9、學(xué)時(shí)間前兩位及三位隨機(jī)數(shù)組成(一)建立六個(gè)表:1. 學(xué)生信息表 ( t_student ) 對應(yīng)的序列: ( seq_t_student )字段名字段類型字段中文名備注STUDENT_idVARCHAR2(20)學(xué)號(hào)主鍵,對象標(biāo)識(shí)符NAMEVARCHAR2(20)姓名SEXchar(2)性別COLLEGE_idnumber學(xué)院外鍵Specialty_idnumber專業(yè)外鍵entrance_dateDATE入學(xué)時(shí)間passwordVARCHAR2(20)密碼默認(rèn)為888888建表相關(guān)代碼:create table t_student (STUDENT_id VARCHAR2(20) prima
10、ry key,NAME VARCHAR2(20), SEX char(2), COLLEGE_id NUMBER, Specialty_id Number, entrance_date DATE, password NUMBER default 888888 );2. 管理員信息表 ( t_manager ) 對應(yīng)的序列: ( seq_t_ manager )字段名字段類型字段中文名備注MANAGER_IDNUMBER(11)編號(hào)主鍵,對象標(biāo)識(shí)符NAMEVARCHAR2(20)姓名SEXchar(2)性別ISLOCKNUMBER (1)是否凍結(jié)1是0否PasswordVARCHAR2(10)密
11、碼默認(rèn)為888888建表相關(guān)代碼:create table t_manager(MANAGER_ID NUMBER(11) primary key,NAME VARCHAR2(20), SEX char(2), ISLOCK NUMBER (1), dregdate date, password VARCHAR2(10) default 888888);3. 課程表 ( t_course) 對應(yīng)的序列: ( seq_t_ course )字段名字段類型字段中文名備注COURSE_IDnumber主鍵,對象標(biāo)識(shí)符主鍵NAMEVARCHAR2(20)課程名稱Not nullPERIODNUMBER
12、學(xué)時(shí)Not nullCREDITNUMBER學(xué)分Not nullTEACHER_idNumber授課老師Not nullCOUNT_MAXNUMBER限選人數(shù)PLACEVARCHAR2(20)上課地點(diǎn)WEEKNUMBER周次Not nulldescriptionVARCHAR2(50)課程描述建表相關(guān)代碼:create table t_course(COURSE_ID NUMBER primary key,NAME VARCHAR2(20) not null, PERIOD NUMBER not null, CREDIT NUMBER not null, TEACHER_id Number n
13、ot null, COUNT_MAX NUMBER, PLACE VARCHAR2(20), WEEK NUMBER not null, description VARCHAR2(50);4. 學(xué)生選課表( t_student_course ) 無需序列字段名字段類型字段中文名備注STUDENT_IDVARCHAR2(20)學(xué)生的ID來自學(xué)生信息表COURSE_IDnumber課程的ID來自課程表SCORENUMBER選修課程成績建表相關(guān)代碼:create table t_student_course(STUDENT_ID VARCHAR2(20),COURSE_ID NUMBER, 5. S
14、CORE NUMBER);6. 學(xué)院專業(yè)表( t_college_ specialty ) 對應(yīng)的序列: ( seq_t_ college_specialty )字段名字段類型字段中文名備注Idnumber編號(hào)主鍵sPidnumber父編號(hào)所有的學(xué)院父編號(hào)為0NameVARCHAR2(20)專業(yè)(學(xué)院)名稱 建表相關(guān)代碼:create table t_college_specialty(id NUMBER primary key,pid NUMBER, name VARCHAR2(20);6教師表 (t_teacher) 對應(yīng)的序列(sqe_t_teacher)字段名字段類型字段中文名備注Te
15、acher_idnumber教師編號(hào)主鍵Teacher_nameVarchar2(20)名稱SEXChar(2)性別TITLEVARCHAR2(20)職稱相關(guān)代碼: create table t_teacher(Teacher_id NUMBER primary key,Teacher_name VARCHAR2(20), SEX CHAR(2),TITLE VARCHAR2(20);建立外鍵約束5個(gè)alter table t_student add constraint t_student_fk1 foreign key (COLLEGE_id) references t_college_s
16、pecialty (id);alter table t_student add constraint t_student_fk2 foreign key (Specialty_id) references t_college_specialty (id);alter table t_student_course add constraint t_student_course_fk1 foreign key (student_id) references t_student (student_id);alter table t_student_course add constraint t_st
17、udent_course_fk2 foreign key (course_id) references t_course (course_id);alter table t_course add constraint t_course_fk1 foreign key (teacher_id) references t_teacher (teacher_id);物理模型截圖為學(xué)院專業(yè)表建立序列,添加時(shí)使用序列create sequence seq_college_specialty increment by 10 start with 10 nomaxvalue nominvalue;觸發(fā)器:根
18、據(jù)教師編號(hào)刪除教師信息前必須先刪除課程表的相關(guān)信息和學(xué)生課程表的相關(guān)信息create or replace trigger delete_teacherafter delete ON t_teacherFOR EACH ROWBEGIN delete from t_student_course where COURSE_ID in ( select COURSE_ID from t_course where TEACHER_ID =:old.TEACHER_ID); delete from t_course where TEACHER_ID=:old.TEACHER_ID;END;/二、為了方
19、便使用者對于各信息的獲取,建立六個(gè)視圖1、create or replace view choosecourse_view asselect sc.student_id, c.course_id, name, teacher_name, place from t_teacher t,t_coursec,t_student_course sc where c.course_id=sc.course_idand t.teacher_id=c.teacher_id;效果截圖:2、create or replace view co_spe_view asselect specialty_view.id
20、,college_name,specialty_name from college_view,specialty_view where college_view.id=specialty_view.pid;3、CREATE OR REPLACE VIEW COLLEGE_VIEW ASSELECT id, name college_nameFROM t_college_specialtyWHERE pid =00;4、create or replace view countstu asselect s.student_id,c.course_id,, courseNam
21、e ,t.teacher_name fromt_student_course,t_student s,t_course c, t_teacher t where s.student_id=t_student_course.student_id and c.course_id=t_student_course.course_id andt.teacher_id=c.teacher_id;5、CREATE OR REPLACE VIEW SPECIALTY_VIEW ASSELECT id, pid,name specialty_name FROM t_college_specialty WHER
22、E pid !=00;6、create or replace view student_score_view asselect t.student_id student_id, student_name,t.sex sex,t.college_id,t.specialty_id,c.course_id course_id, courseName,s.score score from t_student t,t_course c,t_student_course s where t.student_id=s.student_id and c.course_id=s.cou
23、rse_id;三、存儲(chǔ)過程:1、根據(jù)課程編號(hào)刪除課程信息,同時(shí)刪除學(xué)生選課表的相關(guān)信息create or replace procedure delete_t_course(v_course_id number)isbegin delete from t_student_course where course_id=v_course_id; delete from t_course where course_id=v_course_id;end;/2、根據(jù)學(xué)號(hào)刪除學(xué)生 ,同時(shí)刪除學(xué)生課程表中的相關(guān)信息create or replace procedure delete_t_student_pr
24、o(v_student_id number)isbegindelete from t_student_course where student_id=v_student_id;delete from t_student where student_id=v_student_id;end;/3、獲得管理員編號(hào)create or replace procedure get_manager_id_pro(v_manager_id out varchar2)isbeginv_manager_id:=to_char(sysdate,yyyymmdd)|lpad(trunc(dbms_random.val
25、ue(1, 999), 3, 0); insert into t_manager(manager_id) values (v_manager_id);end;/4、獲得平均成績create or replace procedure avg_score_pro(studentName varchar2,studentId varchar2,sex char,collegeId varchar2,specialtyId varchar2,avg_score out varchar2)asv_sql varchar2(1000) :=select ROUND(avg(score), 2) from
26、student_score_view where 1=1 ;beginif studentName is not null thenv_sql:=v_sql|and student_name like% | studentName| %;end if;if studentId is not null thenv_sql:=v_sql|and student_id=|studentId;end if;if sex is not null thenv_sql:=v_sql|and SEX = | sex | ;end if;if collegeId is not null thenv_sql:=v
27、_sql|and college_id=|collegeId;end if;if specialtyId is not null thenv_sql:=v_sql|and specialty_id=|specialtyId;end if; execute immediate v_sql into avg_score;end;/5、獲得總?cè)藬?shù)create or replace procedure countcourse(cid varchar2,cname varchar2,teacher varchar2,counts out number) asv_sql varchar2(1000) :=
28、select count(student_id) from choosecourse_view where 1=1 ;begin if cid is not null then v_sql:=v_sql| and course_id=|cid; end if; if cname is not null then v_sql:=v_sql| and name like %|cname|%; end if; if teacher !=全部 then v_sql:=v_sql| and teacher_name=|teacher|; end if; dbms_output.put_line(v_sq
29、l); dbms_output.put_line(); execute immediate v_sql into counts;end;/6、獲得總成績create or replace procedure sum_score_pro(studentName varchar2,studentId varchar2,sex char,collegeId varchar2,specialtyId varchar2,sum_score out varchar2)asv_sql varchar2(1000) :=select sum(score) from student_score_view whe
30、re 1=1 ;beginif studentName is not null thenv_sql:=v_sql|and student_name like % | studentName | %;end if;if studentId is not null thenv_sql:=v_sql|and student_id=|studentId;end if;if sex is not null thenv_sql:=v_sql|and SEX = |sex | ;end if;if collegeId is not null thenv_sql:=v_sql|and college_id=|
31、collegeId;end if;if specialtyId is not null thenv_sql:=v_sql|and specialty_id=|specialtyId;end if; execute immediate v_sql into sum_score;end;/7、獲得學(xué)生學(xué)號(hào),由學(xué)院編號(hào),專業(yè)編號(hào),入學(xué)時(shí)間前兩位及三位隨機(jī)數(shù)組成create or replace procedure get_student_id_pro( v_college_id number, v_specialty_id number, v_entrance_date varchar2, v_st
32、udent_id out number) isbegin v_student_id := SUBSTR(v_college_id,1,2) | SUBSTR(v_specialty_id,1,2) | SUBSTR(v_entrance_date,3,2) |lpad(trunc(dbms_random.value(1, 999), 3, 0); insert into t_student (student_id) values (v_student_id);end;/四、給各個(gè)表插入數(shù)據(jù)1、給學(xué)院專業(yè)表插入數(shù)據(jù)insert into T_COLLEGE_SPECIALTY (ID, PID,
33、 NAME)values (seq_college_specialty.nextval, 0, 土木水利學(xué)院);insert into T_COLLEGE_SPECIALTY (ID, PID, NAME)values (93, 90, 雕塑);commit;效果截圖如下:T_college_specialty2、給教師表插入數(shù)據(jù)效果截圖如下:3、給課程表插入數(shù)據(jù)效果截圖如下:4、給管理員表插入數(shù)據(jù)效果截圖如下:5、給學(xué)生信息表插入數(shù)據(jù)效果截圖如下:6、給學(xué)生選課表插入數(shù)據(jù)效果截圖如下:4.5.1學(xué)生選課管理學(xué)生信息查看名稱學(xué)生信息查看操作角色學(xué)生功能描述學(xué)生查看自己的個(gè)人信息操
34、作1. 進(jìn)入管理頁后,點(diǎn)擊選項(xiàng)卡的菜單“個(gè)人信息管理”,2. 在主界面中,可以查看到個(gè)人詳細(xì)信息3. 信息如下:學(xué)號(hào)、姓名、性別、學(xué)院、專業(yè)、入學(xué)年份4. 查看中的狀態(tài)信息必須處于無法編輯狀態(tài)輸出學(xué)生個(gè)人信息頁學(xué)生信息修改名稱學(xué)生信息修改操作角色學(xué)生功能描述學(xué)生修改本人的個(gè)人信息操作1. 可修改信息:姓名、性別;注:其他信息只允許查看2. 用戶信息驗(yàn)證:姓名不得為空,姓名不能大于10個(gè)中文3. 性別為下拉選項(xiàng)4. 在主界面中,點(diǎn)擊“確定“后,如果成功,提示”修改成功”,否則提示“修改失敗”.輸出學(xué)生個(gè)人信息修改學(xué)生密碼修改名稱學(xué)生密碼修改操作角色學(xué)生功能描述學(xué)生修改
35、本人密碼操作1. 密碼: 必填; 且長度3-15;2. 原密碼是否正確3. 確認(rèn)密碼: 值要和新密碼框的值相同4. 在主界面中,點(diǎn)擊“確定“后,如果成功,提示”修改成功”,否則提示“修改失敗”.輸出學(xué)生個(gè)人密碼修改4.5.2選課管理課程瀏覽名稱課程瀏覽操作角色學(xué)生功能描述查看所有可選課程操作1. 課程列表:默認(rèn)進(jìn)入該主頁面后,上半部分為所有可選課程,下半部分為當(dāng)前登陸用戶已選課程。2. 課程查詢:查詢條件:“課程名稱”【模糊查詢】、授課老師【下拉框】3. 授課老師中的選項(xiàng)應(yīng)從教師表中查詢而來。并且下拉框中應(yīng)有【全部】這個(gè)選項(xiàng),表示查詢?nèi)坷蠋?. 如未選中課程,則【查看】按鈕不可
36、用5. 如未選中可選課程,則【選擇課程】按鈕不可用6. 如未選中已選課程,則【退選】按鈕不可用輸出課程列表課程詳細(xì)信息名稱課程詳細(xì)信息操作角色學(xué)生功能描述查看某個(gè)課程的詳細(xì)信息操作1. 課程信息查看:從待選課程列表中選擇某記錄,點(diǎn)擊“查看”按鈕后,可查看詳細(xì)信息,2. 詳細(xì)信息包括 課程、課程名稱、授課教師、職稱、學(xué)時(shí)、學(xué)分、周次、上課地點(diǎn)、課程描述3. 查看中的狀態(tài)信息必須處于無法編輯狀態(tài)。輸出課程詳細(xì)信息課程選課名稱課程選課操作角色學(xué)生功能描述選擇課程操作1. 選課:從待選課程列表中選擇課程,加入到已選課程中a) 若該課程已選擇,則不能再選,應(yīng)做相應(yīng)提示輸出課程
37、詳細(xì)信息課程退選名稱課程退選操作角色學(xué)生功能描述退選課程操作1. 退選:從已選課程列表中選擇課程進(jìn)行退選a) 若該課程已有成績,則提示無法退選輸出課程詳細(xì)信息4.6管理員管理4.6.1管理員信息管理名稱管理員信息管理操作角色管理員功能描述1. 管理員的新增、刪除、修改、查詢操作1. 列表:姓名【模糊】、性別【下拉選項(xiàng)】、是否凍結(jié)【下拉選項(xiàng)】、查詢 【性別】下拉菜單中應(yīng)有全部這個(gè)選項(xiàng),查詢所有性別 【是否凍結(jié)】下拉菜單中應(yīng)有全部這個(gè)選項(xiàng),查詢所有2. 新增:a) 編號(hào)為11為數(shù)字,規(guī)則:當(dāng)前日期+三位隨機(jī)號(hào)b) 姓名不得為空c) 性別下拉選項(xiàng)d) 密碼默認(rèn)為888888e) 狀態(tài)默
38、認(rèn)為“未凍結(jié)”3. 修改a) 可改字段為姓名、性別、狀態(tài)4. 刪除a) 無法刪除當(dāng)前登陸用戶,并做提示輸出管理員信息管理4.6.2學(xué)生信息管理名稱學(xué)生信息列表操作角色管理員功能描述學(xué)生信息的新增、刪除、修改、查詢操作1. 列表:支持姓名【模糊】、性別【下拉】、學(xué)院【下拉】、專業(yè)【下拉】查詢。2. 新增:b) 編號(hào)為9位數(shù)字,規(guī)則:學(xué)院編號(hào)【2位】+專業(yè)編號(hào)【2位】+入學(xué)年份【2位】+三位隨機(jī)號(hào)【3位】,用數(shù)據(jù)庫函數(shù)實(shí)現(xiàn)c) 姓名必須為中文,而且最多為5個(gè)漢字,不能為空d) 密碼默認(rèn)為888888e) 性別、學(xué)院、專業(yè)、入學(xué)年份為下拉列表3. 修改 編號(hào)不能修改。4. 刪除a) 刪除時(shí)做確認(rèn)提示
39、。b) 刪除數(shù)據(jù)表為:1學(xué)生信息表2學(xué)生課程表。c) 該操作必須使用數(shù)據(jù)庫存儲(chǔ)過程實(shí)現(xiàn)輸出學(xué)生列表4.6.3學(xué)生成績管理名稱學(xué)生成績列表操作角色管理員功能描述學(xué)生成績信息的錄入/修改、查詢操作1. 列表:a) 支持學(xué)號(hào)、姓名【模糊】、性別、學(xué)院、專業(yè)查詢b) 須算出當(dāng)前列表的總成績和平均成績,該操作必須使用數(shù)據(jù)庫存儲(chǔ)過程實(shí)現(xiàn)2. 錄入/修改:a) 除成績外,其他信息無法修改。輸出學(xué)生成績列表4.6.4課程管理名稱課程列表操作角色管理員功能描述課程信息的新增、刪除、修改、查詢操作1. 列表:支持課程名稱【模糊】、授課老師【下拉】查詢。2. 新增:a) 課程名稱不能為空b) 學(xué)時(shí)、學(xué)分、周次不得為
40、空且必須為數(shù)字3. 修改a) 編碼不得修改,其他信息參考“新增”4. 刪除a) 刪除時(shí)做確認(rèn)提示。b) 刪除數(shù)據(jù)表為:1課程信息表2學(xué)生課程表。c) 該操作必須使用數(shù)據(jù)庫存儲(chǔ)過程實(shí)現(xiàn)輸出課程列表4.6.5選課統(tǒng)計(jì)名稱選課統(tǒng)計(jì)操作角色管理員功能描述統(tǒng)計(jì)各課程選修名單操作1. 列表:支持課程編號(hào)、課程名稱【模糊】、授課老師【下拉】查詢并算出總?cè)藬?shù),須使用數(shù)據(jù)庫存儲(chǔ)過程實(shí)現(xiàn)輸出選課統(tǒng)計(jì)4.6.6授課教師管理名稱授課教師管理操作角色管理員功能描述授課教師的增、刪、改查操作5. 列表:支持教師編號(hào)【精確】、教師名稱【模糊】、性別查詢。6. 新增: a) 教師名稱不能為空c) 職稱下拉選項(xiàng), 選項(xiàng)有【助教
41、,講師,副教授,教授】d) 性別,下拉選項(xiàng)【男,女】7. 修改a) 編碼不得修改,其他信息參考“新增”8. 刪除d) 刪除時(shí)做確認(rèn)提示。e) 刪除數(shù)據(jù)表為:1教師信息表2課程信息表3學(xué)生選課表。2. 該操作必須使用數(shù)據(jù)庫觸發(fā)器實(shí)現(xiàn)輸出授課教師管理4.6.7學(xué)院專業(yè)管理名稱學(xué)院專業(yè)管理操作角色管理員功能描述學(xué)院專業(yè)的增、刪、改查操作9. 列表:支持學(xué)院編號(hào)【精確】、專業(yè)編號(hào)【精確】、學(xué)院名稱【模糊】、專業(yè)名稱【模糊】查詢。10. 新增:a) 學(xué)院名稱不能為空,學(xué)院名稱不能重復(fù)e) 如添加專業(yè),專業(yè)名稱不能為空,并且在該學(xué)院下的專業(yè)名稱不能重復(fù),即,大類底下小類名稱不能重復(fù)11. 修改a) 編號(hào)不
42、得修改,其他信息參考“新增”12. 刪除f) 刪除時(shí)做確認(rèn)提示。g) 如該學(xué)院或?qū)I(yè)有學(xué)生,則不能刪除輸出學(xué)院專業(yè)管理4.7數(shù)據(jù)庫設(shè)計(jì)實(shí)現(xiàn)數(shù)據(jù)的增加、刪除、修改、查詢,我主要負(fù)責(zé)課程相關(guān)信息的增刪改查。所實(shí)現(xiàn)語言為Java功能需求說明:通過課程編號(hào)查看課程信息通過課程編號(hào)修改課程信息通過課程編號(hào)添加課程信息通過學(xué)號(hào)、課程名、教師名字獲得課程總?cè)藬?shù)通過課程編號(hào)查看授課老師信息、查看上課情況通過課程編號(hào)刪除課程信息通過課程編號(hào)、課程名、教師名查詢選課情況等一、定義六個(gè)類 主要解析其中一個(gè)類,其他五類實(shí)現(xiàn)方法類似定義專業(yè)信息這個(gè)類package bean;public class CollegeSp
43、eBean private String id;private String pid;private String name; /其中id、pid、name 是collegespecial的字段public CollegeSpeBean() super();/調(diào)用父類的構(gòu)造器CollegeSpeBean(String id, String pid, String name) super();this.id = id;this.pid = pid; = name;public String getId() return id;/獲取Idpublic void setId(Str
44、ing id) this.id = id;public String getPid() return pid;/獲取pid(學(xué)院父編號(hào))public void setPid(String pid) this.pid = pid;public String getName() return name;/獲取學(xué)院專業(yè)名稱public void setName(String name) = name;類框圖截圖:二、實(shí)現(xiàn)課程有關(guān)信息的增刪改查package inf;import java.util.Vector;import bean.CourseBean;/*=定義接口Icou
45、rse=*/public interface ICourse public CourseBean getCourse();/獲得courseBean public void modifyCourse(String courseId,String name,String period,String credit,String teacherId,String countMax,String place,String week,String description); /通過課程編號(hào)修改課程信息 public void addCourse(String courseId,String name,S
46、tring period,String credit,String teacherId,String countMax, String place,String week,String description); /添加課程信息 public Vector queryTeacher();/查詢教師信息 public VectorVector queryCourse(String coursName,String teacherName); /通過 courseName,teacherName查詢課程 public void deleteCourse(String courseId); /刪除課
47、程信息 public VectorVector queryCourseChoose(String courseId,String courseName,String teacherName); /通過 courseId,courseName,teacherName查詢選課 public VectorVector queryCourses(String courseId); /通過 courseId查詢課程 public String getCount(String courseId,String courseName,String teacherName); /通過 courseId,cour
48、seName,teacherName獲得總?cè)藬?shù)package imp;import inf.ICourse;/*=定義實(shí)現(xiàn)類CourseImpl實(shí)現(xiàn)接口ICourse=*/public class CourseImpl implements ICourse OracleTools oracleTools = new OracleTools();/*=查看課程信息=*/public CourseBean getCourse(String courseId) Connection conn = oracleTools.getConn();PreparedStatement ps = null;Co
49、urseBean bean = null;ResultSet rs = null;String sql = select course_id,name,period,credit,teacher_id,count_max,place,week,description from t_course where course_id=+courseId+;try ps=conn.prepareStatement(sql);rs=ps.executeQuery();/rs=ps.getResultSet();while (rs.next() bean = new CourseBean();bean.setCourseId(rs.getString(course_id);bean.setName(rs.getString(name);bean.setPeriod(rs.getString(period);bean.setCredit(rs.getString(credit);bean.setTeacherId(rs.getString(teacher_id);bean.setCountMax(rs.getString(count_max);bean.setPlace(rs.getString(place);bean.setWeek(rs
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)品交易居間服務(wù)協(xié)議
- 二零二五年度北京市危險(xiǎn)品倉儲(chǔ)安全評價(jià)合同范本
- 展覽館裝修合同參考模板
- 中醫(yī)護(hù)理學(xué)(第5版)課件 第二章藏象
- 特殊作業(yè)施工方案
- 餐飲業(yè)可行性分析報(bào)告
- 農(nóng)業(yè)小鎮(zhèn)規(guī)劃
- 上市公司財(cái)務(wù)報(bào)告分析表
- 出版?zhèn)髅狡髽I(yè)數(shù)字出版內(nèi)容管理與營銷解決方案
- 施工安全文明生產(chǎn)施工方案
- 航線維修工具丟失的風(fēng)險(xiǎn)管理項(xiàng)目課件
- 體育課的重要性課件
- 海南省建筑工程竣工驗(yàn)收資料
- 廣州市出租汽車駕駛員從業(yè)資格區(qū)域科目考試題庫(含答案)
- 往屆江蘇省教師公開招聘考試小學(xué)音樂真題及答案A卷
- 中醫(yī)學(xué)病因病機(jī)共53張課件
- 土的密度試驗(yàn)檢測記錄表(灌水法)
- 江西省鄱陽湖康山蓄滯洪區(qū)安全建設(shè)工程項(xiàng)目環(huán)境影響報(bào)告書
- 虛假訴訟刑事控告書(參考范文)
- 三相電知識(shí)要點(diǎn)課件
- A4橫線稿紙模板(可直接打印)-a4線條紙
評論
0/150
提交評論