




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、煙臺大學Oracle數據庫課程設計報告改進版學生考勤系統 姓 名: 萬冬冬 指導教師: 畢遠偉老師 煙臺大學 計算機學院目 錄1學生考勤管理系統背景分析32學生考勤管理系統需求分析32.1 用戶需求描述3學生用戶需求描述3任課老師用戶需求描述4班主任用戶需求描述4院系領導用戶需求描述4學校領導用戶需求描述4系統管理員用戶需求描述42.3功能需求描述52.4系統功能劃分52.4.1 請假系統模塊52.4.2 考勤系統模塊52.4.3 后臺管理管理53學生考勤系統的E-R模型64數據字典設計75數據庫表的邏輯結構設計86數據庫表空間和表設計106.1、設計表空間106.2、創建表116.3、創建其
2、它數據庫對象147部分程序實現(主要是連接數據庫)158心得體會179參考文獻17Oracle數據庫課程設計學生考勤系統的Oracle實現1學生考勤管理系統背景分析隨著高校校園信息化的逐步完善,有效地借助網絡、數據庫等技術提高工作和管理效率。如今針對師生的成績查詢系統、教務管理系統、招生就業系統、BBS、校園網站等系統在各大高校紛紛出現,對全校師生的學習、生活、管理、辦公帶來了便利。因此學生考勤管理系統能進一步加強高校學風建設,維護正常的教學秩序,給學生創造一個優良的學習環境。目前高校學生上課考勤管理都是以任課老師上課點名,記錄學生上課情況,對于時間比較長的請假,需要通過遞交請假申請讓班主任、
3、院系領導都批準方能生效。這種模式在目前高校管理中暴露了不可避免的弊端:1、學生請假不方便;2、學生請假對任課老師不透明; 3、學生對自己整個學期的上課出勤情況沒有整體的統計信息;4、班主任對本班學生整個學期的上課出勤情況不易查看;5、院系領導、學校領導不容易把握學生上課的出勤情況。因此一個好的學生考勤管理系統在一定程度上可以解決這些弊端,本系統主要針對目前高校學生在線請假以及學生上課出勤管理而設計的信息系統。本系統涉及到高校六大類用戶:學生、任課老師、班主任、院系領導、學校領導、系統管理員。2學生考勤管理系統需求分析2.1 用戶需求描述用戶是系統的最終使用者,根據分析,本系統應當包括學生、班主
4、任、任課老師、院系領導、學校領導、系統管理員六類用戶,這六類用戶對系統的需求簡要概括如下:2.2.1學生用戶需求描述學生對本系統的主要需求是:在線請假以及查看在校期間所有的上課出勤信息。在線請假需求:學生請假的全過程當中,學生可以隨時查看請假的詳細進展情況。查看出勤信息需求:學生可以查看在校期間所有學期上課出勤的詳細信息,如:查看“Oracle數據庫管理 應用于開發”這門課程在整個學期請假、曠課多少次等信息。其它需求:查看本人的基本信息,如本人的所屬的院系、年級、專業、班級、學號、姓名、性別等,以及修改個人用戶密碼。2.2.2任課老師用戶需求描述任課老師對系統的主要需求是:管理所教班級學生的上
5、課出勤信息以及查看所教班級學生的上課出勤信息。管理學生上課出勤需求:隨著時間的變化,自動列出還沒有在網上公布的學生上課出勤信息,系統自動根據學生請假系統,決定學生上課出勤的最終結果。查看學生出勤信息需求:查看所教班級學生整個學期出勤情況。其它需求:本人基本信息以及修改個人用戶密碼。2.2.3班主任用戶需求描述班主任對本系統的主要需求是:審批本班學生本學期的在線請假以及查看本班學生本學期所有課程的上課出勤信息。審批學生請假需求:本班學生本學期在線請假申請后,自動提示班主任有等待審批的請假信息,班主任針對請假申請信息進行學生請假審批。查看學生上課出勤信息需求:查看本班學生整個學期有關課程的出勤統計
6、信息及詳細信息。其它需求:查看本班學生的基本信息、修改個人用戶密碼等。2.2.4院系領導用戶需求描述院系領導對系統的主要需求是:審批本院系學生超過三天的請假以及查看本院系學生上課出勤信息。審批請假需求:當學生請超過三天的假,經班主任審批同意后,系統自動提交給任何一個進入系統的院系領導審批請假。查看本院系學生出勤信息需求:輸入查詢條件后,系統根據查詢條件列出本院系學生相關的上課出勤信息。其它需求:查看本院系有關基本信息以及修改個人用戶密碼等。2.2.5學校領導用戶需求描述學校領導對系統的主要需求是:查看全校學生上課出勤信息。查看出勤信息需求:輸入查詢條件后,系統根據查詢條件列出本校學生相關的上課
7、出勤信息。其它需求:查看有關全校的基本信息以信修改個人用戶密碼等。2.2.6系統管理員用戶需求描述系統管理員有系統的最高權限,負責系統所需所有數據的動態同步更新以及維護,根據系統針對各用戶的設計,基本功能需求如下:1、管理學校各院系、年級、專業、班級的添加、刪除、修改等。2、管理每個學期每個班級的課程安排及指定班主任和任課老師。3、管理系統所有用戶。4、管理全校課表安排。5、管理系統的請假、考勤信息。2.3功能需求描述根據各類用戶的需求描述,系統應當具備請假系統、考勤管理系統、后臺管理系統這三大主要功能。請假系統功能需求:通過班主任以及院系領導批準請假信息。請假最長時間不能超過1個月,特殊情況
8、除外。考勤管理功能需求:任課老師通過考勤管理系統,對學生上課出勤信息進行公開。請假系統要借助班主任才能完成,考勤管理系統要借助請假系統、班級課表安排才能完成,然而每學年課表都在變化,班主任安排也有在變化,學生也在變化,因此必須要求后臺管理系統能根據系統需求,動態的、準確的更新系統數據。2.4系統功能劃分根據系統用戶的需求,將本系統按功能劃分成三大功能模塊:請假系統、考勤系統、后臺管理模塊,涉及到六大類用戶:學生、任課教師、班主任、院系領導、學校領導、系統管理員。2.4.1 請假系統模塊本模塊的功能是在線請假的實現及管理,主要涉及三大類用戶:學生、班主任及院系領導用戶,學生通過此功能模塊進行在線
9、請假及查看請假記錄信息;班主任在線審批學生請假及查看請假記錄信息;院系領導在線審批學生長時間的請假及查看請假記錄信息。2.4.2 考勤系統模塊本模塊的功能是學生考勤信息統計的實現、查看及管理,涉及六大類用戶中的所有用戶。學生在線查看自己所有學年的出勤信息;任課老師在線管理學生出勤信息;班主任、院系領導、學校領導查看不同的范圍的學生出勤信息。2.4.3 后臺管理管理本模塊的功能實現整個系統數據的同步更新及維護,只涉及系統管理員用戶。系統管理員動態的管理學生信息、課表安排、學年安排等信息,是整個系統實現的基礎。3學生考勤系統的E-R模型n1n1nmn1n1m1nnn1教師班級學生學院領導學院專業課
10、程假條開設考勤屬于屬于授課聘請班主任管理請假學號姓名性別班級專業院系編號名稱編號專業名稱所屬學院編號姓名性別所屬院系課程號課程名課程性質編號名稱編號姓名性別所屬院系職稱編號姓名性別所屬專業所屬學院班主任編號學號原因4數據字典設計名字:管理員信息描述:每一位管理員的具體信息定義:管理員信息=編號+姓名+性別+職稱+密碼名字:學院領導信息描述:每一位學院領導的具體信息定義:學院領導信息=編號+姓名+性別+職稱+所屬學院名字:院系信息描述:每一個學院的具體信息定義:院系信息=編號+院系名稱名字:專業信息描述:每一位管理員的具體信息定義:專業信息=編號+姓名+所屬院系名字:課程信息描述:每一門課程的具
11、體信息定義:課程信息=課程號+課程名+課程性質名字:教師信息描述:每一位教師的具體信息定義:教師信息=編號+姓名+性別+所屬院系名字:班級信息描述:每一個班級的具體信息定義:班級信息=編號+班級名稱+班主任名字:班主任信息描述:每一位班主任的具體信息定義:班主任信息=編號+姓名+性別+所屬學院+所屬專業名字:學生信息描述:每一位學生的具體信息定義:學生信息=學號+姓名+性別+專業+院系+班級名字:請假條信息描述:每一請假條的具體信息定義:請假條信息=請假代號+班級代號+學生學號+請假原因+開始時間+結束時間+請假天數+申請請假時間+班主任審批狀態+班主任審批時間+院系領導審批狀態+院系領導代號
12、+院系領導審批時間5數據庫表的邏輯結構設計(1)系統管理員表admin字段名數據類型可否為空鍵引用備注admin_nochar(5)否主鍵管理員編號admin_namechar(10)否管理員姓名admin_sexchar(2)否性別admin_titlechar(20)否職稱admin_passwordvarchar2(20)否登入密碼(2)學生表student字段名數據類型可否為空鍵引用備注stu_nochar(10)否主鍵學生學號stu_namevarchar(30)否學生姓名stu_sexchar(2)否性別stu_classchar(13)否外鍵所屬班級stu_majorchar(3
13、0)否外鍵所屬專業stu_facultychar(40)否外鍵所屬學院(3)院系表faculty字段名數據類型可否為空鍵引用備注faculty_idnumber否主鍵院系編號faculty_namechar(20)否院系名稱(4)專業表major字段名數據類型可否為空鍵引用備注major_idnumber否主鍵專業編號major_namechar(20)否專業名稱major_facultynumber否外鍵所屬院系(5)教師表teacher字段名數據類型可否為空鍵引用備注tea_nochar(10)否主鍵任課老師編號tea_namechar(20)否任課老師姓名tea_sexchar(2)否性
14、別tea_facultynumber否外鍵所屬學院(6)班主任表classteacher字段名數據類型可否為空鍵引用備注classtea_nochar(5)否主鍵任課老師編號classtea_namechar(20)否任課老師姓名classtea_sexchar(2)否性別classtea_majornumber否外鍵所屬專業classtea_facultynumber否外鍵所屬學院(7)院領導表collegeleader字段名數據類型可否為空鍵引用備注collegeleader_nochar(5)否主鍵學院領導編號collegeleader_namechar(20)否學院領導姓名colleg
15、eleader_sexchar(2)否性別collegeleader_facultynumber否外鍵所屬學院titlechar(20)否職稱(8)學校領導表schoolleader字段名數據類型可否為空鍵引用備注schoolleader_nochar(5)否主鍵學校領導編號schoolleader_namechar(20)否學校領導姓名schoolleader_sexchar(2)否性別deptchar(20)否所屬部門titlechar(25)否職稱(9)學生上課出勤記錄表kaoqin_record字段名數據類型可否為空鍵引用備注kaoqin_idchar(13)否主鍵上課出勤編號sk_t
16、imedate否上課時間stu_numberchar(10)否外鍵 學生學號stu_statuschar(10)否學生上課考勤狀態teacher_nochar(10)否外鍵教師編號course_nochar(13)否外鍵課程編號(10)課程信息表course字段名數據類型可否為空鍵引用備注course_nochar(13)否主鍵課程編號course_namechar(20)否課程名稱course_xzchar(4)否課程性質(11)班級表classes字段名數據類型可否為空鍵引用備注class_nochar(10)否主鍵課程編號class_namechar(20)否課程名稱class
17、tea_nochar(5)否外鍵課程性質(12)請假信息表qingjia字段名數據類型可否為空鍵引用備注idnumber否主鍵請假代號class_idchar(10)否外鍵班級代號stu_novarchar2 (20)否外鍵學生學號leave_reasonvarchar2 (200)否請假原因start_timedate否開始時間end_timedate否結束時間day_numbernumber否請假天數qingjia_timedate否申請請假時間class_tea_idchar(5)否外鍵class_tea_sp_statuschar(10)否班主任審批狀態class_tea_sp_tim
18、edate否班主任審批時間coll_leader_sp_statuschar(10)否院系領導審批狀態coll_leader_idchar(5)否外鍵院系領導代號coll_leader_sp_timedate否院系領導審批時間備注:status 表示審批狀態:0為等待審批,1為同意請假,2為不同意請假。6數據庫表空間和表設計6.1、設計表空間創建一般的字典管理類表空間,目的是為了方便利用SQL字典跟蹤磁盤的使用情況。使用如下命令創建表空間:create tablespace wandong_datadatafile f:Wandongdongoracleab01.dbf size 100Mde
19、fault storage(initial 512K next 128K minextents 2 maxextents 999 pctincrease 0)online;6.2、創建表1、創建系統管理員表admincreate table admin(admin_no char(5) not null,admin_name char(10) not null,admin_sex char(2) check (admin_sex='男' or admin_sex='女'),admin_title char(20) not null,admin_password
20、varchar(20) not null,constraint pk_admin primary key (admin_no)tablespace wandong_data;2、學生表studentcreate table student(stu_no char(10) not null,stu_name varchar(30) not null,stu_sex char(2) check (stu_sex='男' or stu_sex='女'),stu_class char(5) references classes(class_no),stu_major n
21、umber references major(major_id),stu_faculty number references faculty(faculty_id),constraint pk_student primary key(stu_no)tablespace wandong_data;3、院系表facultycreate table faculty(faculty_id number not null,faculty_name char(10) not null,constraint pk_faculty primary key (faculty_id)tablespace wand
22、ong_data;4、專業表majorcreate table major(major_id number not null,major_name char(10) not null,major_faculty number references faculty(faculty_id),constraint pk_major primary key (major_id)tablespace wandong_data;5、教師表teachercreate table teacher(tea_no char(10) not null,tea_name char(20) not null,tea_s
23、ex char(2) check (tea_sex='男' or tea_sex='女'),tea_faculty number references faculty(faculty_id),constraint pk_teacher primary key (tea_no)tablespace wandong_data;6、班主任表classteachercreate table classteacher(classtea_no char(5) not null,classtea_name char(20) not null,classtea_sex char
24、(2) check (classtea_sex='男' or classtea_sex='女'),classtea_major number references major(major_id),classtea_faculty number references faculty(faculty_id),constraint pk_classteacher primary key (classtea_no)tablespace wandong_data;7、院領導表collegeleadercreate table collegeleader(collegele
25、ader_no char(5) primary key,collegeleader_name char(20) not null,collegeleader_sex char(2) check(collegeleader_sex in('男','女'),collegeleader_faculty number references faculty(faculty_id),title char(20) not null)tablespace wandong_data;8、學校領導表schoolleadercreate table schoolleader(scho
26、olleader_no char(5) primary key not null,schoolleader_name char(20) not null,schoolleader_sex char(2) check(schoolleader_sex in('男','女'),dept char(20) not null,title char(20) not null)tablespace wandong_data;9、學生上課出勤記錄表kaoqin_recordcreate table kaoqin_record(kaoqin_id char(13) primar
27、y key not null,sk_time date not null,stu_number char(10) references student(stu_no),stu_status char(10) not null,teacher_no char(10) references teacher(tea_no),course_no char(13) references course(course_no)tablespace wandong_data;10、課程信息表coursecreate table course(course_no char(13) primary key,cour
28、se_name char(20) not null,course_xz char(4) not null)tablespace wandong_data;11、班級表classescreate table classes(class_no char(10) primary key,class_name char(20) not null,classtea_no char(5) references classteacher(classtea_no)tablespace wandong_data;12、請假信息表qingjiacreate table qingjia(id number prim
29、ary key,class_id char(10) references classes(class_no),stu_no char(10) references student(stu_no),leave_reason varchar2(200) not null,start_time date not null,end_time date not null,day_number number not null,qingjia_time date not null,class_tea_id char(5) references classteacher(classtea_no),class_
30、tea_sp_status char(10),class_tea_sp_time date,coll_leader_sp_status char(10),coll_leader_id char(5) references collegeleader(collegeleader_no),coll_leader_sp_time date)tablespace wandong_data;6.3、創建其它數據庫對象1、創建存儲過程用于統計學生查詢某門課程的出勤情況create or replace procedure getMessage(stu_no in varchar2, course_no i
31、n varchar2, total_times out number)is absence_times number;begin select count(*) into absence_times from kaoqin_record where stu_number=stu_no and course_no=course_no; total_times:=absence_times; exception when no_data_found thendbms_output.put_line(對不起,你的輸入有誤!);end;2、創建視圖,使不同院系的領導只能查詢到自己學院學生上課的考勤信息
32、,假設計算機軟件學院的ID為5,以下代碼為創建一個用于給計算機軟件學院領導查看本學院學生考勤信息的視圖。create view rjxy as select kaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu_number,kaoqin_record.stu_status,kaoqin_record.teacher_no,kaoqin_record.course_no from kaoqin_record,student where student.stu_no=kaoqin_record.stu_number and
33、 student.stu_faculty=5;3、創建一個包,在網頁中實現數據的集合和調用create or replace package use_data_package as type data_cursor is ref cursor;end use_data_package;4、創建一個過程用來實現從數據庫中提取數據的集合以及實現分頁create or replace procedure fenye(table_name in varchar2,-表名pagesize in number,-頁的條數pagenow in number,-當前頁myrows out number,-總記
34、錄數mypagecount out number,-總頁數P_cursor out use_data_package.data_cursor) isv_sql varchar2(1000); -定義要執行的數據庫語句v_begin number:=(pagenow-1)*pagesize +1;v_end number:=pagenow*pagesize;beginv_sql:='(select t1.* , rownum rn from(select * from'|table_name|')t1 where rownum <='|v_end|'
35、)where rn>='|v_begin;-打開游標open P_cursor for v_sql; -計算myrows和mypagecount v_sql:='select count(*) from'|table_name; -執行語句 execute immediate v_sql into myrows; -計算pagecount if mod(myrows,pagesize)=0 then mypagecount:=myrows/pagesize; else mypagecount:=myrows/pagesize+1; end if; -關閉游標 cl
36、ose P_cursor; end;5、創建觸發器,當某學生某課程的缺勤次數超過一定次數時給出提示信息create or replace trigger alertMessageafter insert on kaoqin_record for each rowdeclare current_times number;begin select count(*) into current_times from kaoqin_record where stu_number=:new.stu_number and course_no=:new.course_no; if(current_times
37、>= 3) then dbms_output.put_line('學號為:' | :new.stu_number | '的學生該門課程被取消考試資格!'); end if;end; 7部分程序實現(主要是連接數據庫以及分頁程序)java實現:import java.sql.*; public class DB/加載驅動tryClass.forName(“”); /得到連接Connection ct=DriverManager.getConnection(“jdbc:oracle:thin:127.0.0.1:1521:wandongdong”,”wan”,”wan123”);/創建一個CallableStatement CallableStatement cs=ct.prepareCall(“call fenye(?,?,?,?,?,?)”);/給問號賦值 cs.setString(1,”qingjia ”); cs.setInt(2,5); cs.setInt(3,1);/接收總記錄數 cs
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐廳連鎖品牌授權與區域經營合同
- 個人借款信息咨詢服務與合同
- 教育機構場地租賃合同終止及學生安置保障協議
- 老妖精消防課件內容概覽
- 美洲說課課件
- 美術生職業規劃
- 美術欣賞中國結小班課件
- 防汛事故應急預案
- 安全生產事故案例分析及事故教訓
- 水下作業安全操作規程
- 《江西省城市體檢工作技術指南(2024版)》
- 探究情侶關系中禮物形象一致性產生的原因及其對禮物交換體驗的影響
- 2025年山西華陽新材料科技集團有限公司招聘筆試參考題庫附帶答案詳解
- 績效考核合同協議書范本
- 保安員考試題庫500道加解析答案
- 2025年公路水運工程重大事故隱患判定標準深度解析
- 【信得科技】2025豬細菌病防控手冊
- 罐頭食品制造企業數字化轉型與智慧升級戰略研究報告
- 罐體制作合同協議
- 電動車維修與保養考核試卷
- “住改商”登記利害關系業主同意證明(參考樣本)
評論
0/150
提交評論