Oracle數(shù)據(jù)庫課程方案設計書——學生考勤系統(tǒng)的Oracle實現(xiàn)1_第1頁
Oracle數(shù)據(jù)庫課程方案設計書——學生考勤系統(tǒng)的Oracle實現(xiàn)1_第2頁
Oracle數(shù)據(jù)庫課程方案設計書——學生考勤系統(tǒng)的Oracle實現(xiàn)1_第3頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、作者:Pan Hon glia ng僅供個人學習遼寧工程技術大學Oracle數(shù)據(jù)庫課程設計報告學生考勤系統(tǒng)姓名:XXXXX班級:計SJ08-1班學 號:0820980113完成日期: 2009-12-29指導教師:XXXX遼寧工程技術大學軟件學院目錄1學生考勤管理系統(tǒng)背景分析.4.2學生考勤管理系統(tǒng)需求分析4.2.1用戶需求描述4.學生用戶需求描述 4.任課老師用戶需求描述 5.班主任用戶需求描述 5.院系領導用戶需求描述 5.學校領導用戶需求描述 5.系統(tǒng)管理員用戶需求描述 6.2.3功能需求描述 6.2.4系統(tǒng)功能劃分 6.請假系統(tǒng)模塊 6.考勤系統(tǒng)模塊6.后臺管理管理7.3學生考勤系統(tǒng)的

2、E-R模型7.4數(shù)據(jù)字典設計8.5數(shù)據(jù)庫表的邏輯結構設計8.6數(shù)據(jù)庫表空間和表設計 1.16.1、設計表空間 1.16.2、創(chuàng)建表1.16.3、創(chuàng)建其它數(shù)據(jù)庫對象 147心得體會158參考文獻15Oracle數(shù)據(jù)庫課程設計學生考勤系統(tǒng)的Oracle實現(xiàn)1學生考勤管理系統(tǒng)背景分析隨著高校校園信息化的逐步完善,有效地借助網(wǎng)絡、數(shù)據(jù)庫等技術提高工作和管理效率。 如今針對師生的成績查詢系統(tǒng)、教務管理系統(tǒng)、招生就業(yè)系統(tǒng)、BBS、校園網(wǎng)站等系統(tǒng)在各大高校紛紛出現(xiàn),對全校師生的學習、生活、管理、辦公帶來了便利。因此學生考勤管理系 統(tǒng)能進一步加強高校學風建設,維護正常的教學秩序,給學生創(chuàng)造一個優(yōu)良的學習環(huán)境。

3、目前高校學生上課考勤管理都是以任課老師上課點名, 記錄學生上課情況,對于時間比 較長的請假,需要通過遞交請假申請讓班主任、 院系領導都批準方能生效。這種模式在目前 高校管理中暴露了不可避免的弊端:1、學生請假不方便;2、學生請假對任課老師不透明;3、學生對自己整個學期的上課出勤情況沒有整體的統(tǒng)計信息;4、班主任對本班學生整個學期的上課出勤情況不易查看;5、院系領導、學校領導不容易把握學生上課的出勤情況。因此一個好的學生考勤管理系統(tǒng)在一定程度上可以解決這些弊端,本系統(tǒng)主要針對目前高校學生在線請假以及學生上課出勤管理而設計的信息系統(tǒng)。 本系統(tǒng)涉及到高校六大類用戶: 學生、任課老師、班主任、院系領導

4、、學校領導、系統(tǒng)管理員。2學生考勤管理系統(tǒng)需求分析2.1用戶需求描述用戶是系統(tǒng)的最終使用者,根據(jù)分析,本系統(tǒng)應當包括學生、班主任、任課老師、院系領導、學校領導、系統(tǒng)管理員六類用戶,這六類用戶對系統(tǒng)的需求簡要概括如下:學生用戶需求描述學生對本系統(tǒng)的主要需求是:在線請假以及查看在校期間所有的上課出勤信息。 在線請假需求:學生請假的全過程當中,學生可以隨時查看請假的詳細進展情況。查看出勤信息需求:學生可以查看在校期間所有學期上課出勤的詳細信息,如:查看“Oracle數(shù)據(jù)庫管理與應用”這門課程在整個學期請假、曠課多少次等信息。其它需求:查看本人的基本信息,如本人的所屬的院系、年級、專業(yè)、班級、學號、姓

5、 名、性別等,以及修改個人用戶密碼。任課老師用戶需求描述任課老師對系統(tǒng)的主要需求是:管理所教班級學生的上課出勤信息以及查看所教班級學 生的上課出勤信息。管理學生上課出勤需求: 隨著時間的變化,自動列出還沒有在網(wǎng)上公布的學生上課出勤 信息,系統(tǒng)自動根據(jù)學生請假系統(tǒng),決定學生上課出勤的最終結果。查看學生出勤信息需求:查看所教班級學生整個學期出勤情況。其它需求:本人基本信息以及修改個人用戶密碼。班主任用戶需求描述班主任對本系統(tǒng)的主要需求是:審批本班學生本學期的在線請假以及查看本班學生本學 期所有課程的上課出勤信息。審批學生請假需求:本班學生本學期在線請假申請后,自動提示班主任有等待審批的請假信息,班

6、主任針對請假申請信息進行學生請假審批。查看學生上課出勤信息需求:查看本班學生整個學期有關課程的出勤統(tǒng)計信息及詳細信 息。其它需求:查看本班學生的基本信息、修改個人用戶密碼等。院系領導用戶需求描述院系領導對系統(tǒng)的主要需求是:審批本院系學生超過三天的請假以及查看本院系學生上 課出勤信息。審批請假需求:當學生請超過三天的假,經(jīng)班主任審批同意后, 系統(tǒng)自動提交給任何一個進入系統(tǒng)的院系領導審批請假。查看本院系學生出勤信息需求:輸入查詢條件后,系統(tǒng)根據(jù)查詢條件列出本院系學生相關的上課出勤信息。其它需求:查看本院系有關基本信息以及修改個人用戶密碼等。學校領導用戶需求描述學校領導對系統(tǒng)的主要需求是:查看全校學

7、生上課出勤信息。查看出勤信息需求:輸入查詢條件后,系統(tǒng)根據(jù)查詢條件列出本校學生相關的上課出勤 信息。其它需求:查看有關全校的基本信息以信修改個人用戶密碼等。系統(tǒng)管理員用戶需求描述系統(tǒng)管理員有系統(tǒng)的最高權限,負責系統(tǒng)所需所有數(shù)據(jù)的動態(tài)同步更新以及維護,根據(jù)系統(tǒng)針對各用戶的設計,基本功能需求如下:1、管理學校各院系、年級、專業(yè)、班級的添加、刪除、修改等。2、管理每個學期每個班級的課程安排及指定班主任和任課老師。3、管理系統(tǒng)所有用戶。4、管理全校課表安排。5、管理系統(tǒng)的請假、考勤信息。2.3功能需求描述根據(jù)各類用戶的需求描述,系統(tǒng)應當具備請假系統(tǒng)、考勤管理系統(tǒng)、后臺管理系統(tǒng)這三 大主要功能。請假系統(tǒng)

8、功能需求:通過班主任以及院系領導批準請假信息。請假最長時間不能超過1個月,特殊情況除外。考勤管理功能需求:任課老師通過考勤管理系統(tǒng),對學生上課出勤信息進行公開。請假系統(tǒng)要借助班主任才能完成,考勤管理系統(tǒng)要借助請假系統(tǒng)、班級課表安排才能完成, 然而每學年課表都在變化, 班主任安排也有在變化,學生也在變化,因此必須要求后臺管理系統(tǒng)能根據(jù)系統(tǒng)需求,動態(tài)的、準確的更新系統(tǒng)數(shù)據(jù)。2.4系統(tǒng)功能劃分根據(jù)系統(tǒng)用戶的需求,將本系統(tǒng)按功能劃分成三大功能模塊:請假系統(tǒng)、考勤系統(tǒng)、后臺管理模塊,涉及到六大類用戶:學生、任課教師、班主任、院系領導、學校領導、系統(tǒng)管 理員。請假系統(tǒng)模塊本模塊的功能是在線請假的實現(xiàn)及管理

9、,主要涉及三大類用戶:學生、班主任及院系領導用戶,學生通過此功能模塊進行在線請假及查看請假記錄信息;班主任在線審批學生請假及查看請假記錄信息;院系領導在線審批學生長時間的請假及查看請假記錄信息。考勤系統(tǒng)模塊本模塊的功能是學生考勤信息統(tǒng)計的實現(xiàn)、查看及管理,涉及六大類用戶中的所有用戶。學生在線查看自己所有學年的出勤信息;任課老師在線管理學生出勤信息;班主任、院系領導、學校領導查看不同的范圍的學生出勤信息。后臺管理管理本模塊的功能實現(xiàn)整個系統(tǒng)數(shù)據(jù)的同步更新及維護,只涉及系統(tǒng)管理員用戶。系統(tǒng)管理員動態(tài)的管理學生信息、課表安排、學年安排等信息,是整個系統(tǒng)實現(xiàn)的基礎。3學生考勤系統(tǒng)的E-R模型性別姓名名

10、稱職稱姓名所屬學院所屬院系性別所屬專業(yè)學院學院領導聘請1班主任性別姓名班級1學號院系管理專業(yè)1nn屬于學生班級屬于班主任1所屬學院n名稱請假考勤n專業(yè)名稱假條m課程教師授課原因學號姓名性別所屬院系課程性質課程名課程號編號編號編號編號編號編號編號n1專業(yè)開設4數(shù)據(jù)字典設計名字描述定義管理員信息每一位管理員的具體信息管理員信息=編號+姓名+性別+職稱+密碼名字描述定義院系信息每一個學院的具體信息院系信息-編號+院系名稱名字描述定義學院領導信息每一位學院領導的具體信息學院領導信息=編號+姓名+性別+職稱+所屬學院名字描述定義專業(yè)信息每一位管理員的具體信息專業(yè)信息=編號+姓名+所屬院系名字:課程信息描

11、述:每一門課程的具體信息定義:課程信息=課程號+課程名+課程 性質名字:教師信息描述:每一位教師的具體信息定義:教師信息=編號+姓名+性別+所 屬院系名字:班主任信息描述:每一位班主任的具體信息定義:班主任信息=編號+姓名+性別+ 所屬學院+所屬專業(yè)名字:班級信息描述:每一個班級的具體信息定義:班級信息=編號+班級名稱+班主 任名字:學生信息描述:每一位學生的具體信息定義:學生信息=學號+姓名+性別+專業(yè)+院系+班級名字:請假條信息描述:每一請假條的具體信息定義:請假條信息 =請假代號+班級代 號+學生學號+請假原因+開始 時間+結束時間+請假天數(shù)+申 請請假時間+班主任審批狀態(tài)+ 班主任審批

12、時間 +院系領導審 批狀態(tài)+院系領導代號+院系領 導審批時間5數(shù)據(jù)庫表的邏輯結構設計(1)系統(tǒng)管理員表 admin字段名數(shù)據(jù)類型可否為空鍵引用備注adm in_nochar(5)否主鍵管理員編號admin _n amechar(10)否管理員姓名admin_sexchar(2)否性別adm in _titlechar(20)否職稱adm in .passwordvarchar2(20)否登入密碼(2)學生表 student字段名數(shù)據(jù)類型可否為空鍵引用備注stu_ nochar(10)否主鍵學生學號stu_ namevarchar(30)否學生姓名stu_sexchar(2)否性別stu_cla

13、sschar(13)否外鍵所屬班級stu_majorchar(30)否外鍵所屬專業(yè)stu_facultychar(40)否外鍵所屬學院(3)院系表 faculty字段名數(shù)據(jù)類型可否為空鍵引用備注faculty_idnu mber否主鍵院系編號faculty_ namechar(20)否院系名稱(4)專業(yè)表major字段名數(shù)據(jù)類型可否為空鍵引用備注major_idnu mber否主鍵專業(yè)編號major_ namechar(20)否專業(yè)名稱major_facultynu mber否外鍵所屬院系(5)教師表 teacher字段名數(shù)據(jù)類型可否為空鍵引用備注tea_ nochar(10)否主鍵任課老師編

14、號tea_ namechar(20)否任課老師姓名tea_sexchar(2)否性別tea_facultynu mber否外鍵所屬學院(6 )班主任表 classteacher字段名數(shù)據(jù)類型可否為空鍵引用備注classtea_ nochar(5)否主鍵任課老師編號classtea_ namechar(20)否任課老師姓名classtea_sexchar(2)否性別classtea_majornu mber否外鍵所屬專業(yè)classtea_facultynu mber否外鍵所屬學院(7)院領導表 collegeleader字段名數(shù)據(jù)類型可否為空鍵引用備注collegeleader_ nochar(

15、5)否主鍵學院領導編號collegeleader_ namechar(20)否學院領導姓名collegeleader_sexchar(2)否性別collegeleader_facultynu mber否外鍵所屬學院titlechar(20)否職稱(8)學校領導表schoolleader字段名數(shù)據(jù)類型可否為空鍵引用備注schoolleader_ nochar(5)否主鍵學校領導編號schoolleader_ namechar(20)否學校領導姓名schoolleader_sexchar(2)否性別deptchar(20)否所屬部門titlechar(25)否職稱(9)學生上課出勤記錄表kaoqi

16、n record字段名數(shù)據(jù)類型可否為空鍵引用備注kao qin_idchar(13)否主鍵上課出勤編號sk_timedatetime否上課時間stu_ nu mberchar(10)否外鍵學生學號stu_statuschar(10)否學生上課考勤狀態(tài)teacher_ nochar(10)否外鍵教師編號course_ nochar(13)否外鍵課程編號(10)課程信息表course字段名數(shù)據(jù)類型可否為空鍵引用備注course_ nochar(13)否主鍵課程編號course_ namechar(20)否課程名稱course_xzchar(4)否課程性質(11)班級表 classes字段名數(shù)據(jù)類型

17、可否為空鍵引用備注class_ nochar(10)否主鍵課程編號class_ namechar(20)否課程名稱classtea_ nochar(5)否外鍵課程性質(12)請假信息表qi ngjia字段名數(shù)據(jù)類型可否為空鍵引用備注idnu mber否主鍵請假代號class_idchar(10)否外鍵班級代號stu_ novarchar2 (20)否外鍵學生學號leave_reas onvarchar2 (200)否請假原因start_timedatetime否開始時間en d_timedatetime否結束時間day_ nu mbernu mber否請假天數(shù)qin gjia_timedate

18、time否申請請假時間class_tea_idchar(5)否外鍵class_tea_sp_statuschar(10)否班主任審批狀態(tài)class_tea_sp_timedatetime否班主任審批時間coll_leader_sp_statchar(10)否院系領導審批狀態(tài)uscoll_leader_idchar(5)否外鍵院系領導代號coll_leader_sp_timedatetime否院系領導審批時間備注:status表示審批狀態(tài):0為等待審批,1為同意請假,2為不同意請假。6數(shù)據(jù)庫表空間和表設計6.1、設計表空間創(chuàng)建一般的字典管理類表空間,目的是為了方便利用 SQL字典跟蹤磁盤的使用情

19、況。 使用如下命令創(chuàng)建表空間:create tablespace linpen g_datadatafile /u01/oracle/oradata/tab01.dbf' size 100Mdefault storage(i ni tial 512K next 128K mi nexte nts 2 maxexte nts 999 pcti ncrease 0) on li ne;6.2、創(chuàng)建表1、 創(chuàng)建系統(tǒng)管理員表admincreate table admin(adm in_no char(5) not n ull,adm in_n ame char(10) not n ull,ad

20、min_sex char(2) check (admin_sex='男'or admin_sex='女'), admin_title char(20) n ot null,adm in _password varchar(20) not n ull,con stra int pk_adm in primary key (adm in_no)tablespace linpen g_data;2、學生表studentcreate table stude nt(stu_ no char(10) not nu II,stu_ name varchar(30) not n

21、 ull,stu_sex char(2) check (stu_sex='男'or stu_sex='女'),stu_class char(5) foreig n key references classes(class_ no), stu_major nu mber foreig n key refere nces major(major_id), stu_faculty nu mber foreig n key references faculty(faculty_id), con stra int pk_stude nt primary key(stu_

22、no)tablespace linpen g_data;3、院系表facultycreate table faculty(faculty_id nu mber not n ull,faculty_ name char(10) not n ull,con stra int pk_faculty primary key (faculty_id)tablespace linpen g_data;4、專業(yè)表 majorcreate table major(major_id nu mber not n ull,major_n ame char(10) not n ull,major_faculty nu

23、 mber foreig n key references faculty(faculty_id),con stra int pk_major primary key (major_id)tablespace linpen g_data;5、教師表teachercreate table teacher(tea_ no char(10) not n ull,tea_ name char(20) not n ull,tea_sex char(2) check (tea_sex='男'or tea_sex='女'), tea_faculty nu mber forei

24、g n key references faculty(faculty_id), con stra int pk_teacher primary key (tea_ no)tablespace linpen g_data;6、班主任表 classteachercreate table classteacher(classtea_ no char(5) not n ull,classtea_ name char(20) not n ull,classtea_sex char(2) check (classtea_sex' or。估$上68_$6乂=女'), classtea_maj

25、or nu mber foreig n key refere nces major(major_id), classtea_faculty nu mber foreig n key references faculty(faculty_id), con stra int pk_classteacher primary key (classtea_ no)tablespace linpen g_data;7、院領導表 collegeleadercreate table collegeleader(collegeleader_ no char(5) primary key,collegeleade

26、r_ name char(20) not n ull, collegeleader_sex char(2) check(collegeleader_sex in('男','女'), collegeleader_faculty nu mber foreig n key referen ces faculty(faculty_id), title char(20) not null)tablespace linpen g_data;8學校領導表schoolleadercreate table schoolleader(schoolleader_ no char(5)

27、 primary key not n ull,schoolleader_ name char(20) not n ull, schoolleader_sex char(2) check(schoolleader_sex in('男','女'), dept char(20) not null,title char(20) not null)tablespace linpen g_data;9、 學生上課出勤記錄表kaoqin_recordcreate table kao qin _record(kao qin_id char(13) primary key not

28、 n ull,sk_time datetime not n ull,stu_ nu mber char(10) foreig n key references stude nt(stu_ no), stu_status char(10) not n ull,teacher_ no char(10) foreig n key references teacher(tea_ no), course_ no char(13) foreig n key references course(course_ no)tablespace linpen g_data;10、課程信息表 coursecreate

29、 table course(course_ no char(13) primary key,course_ name char(20) not nu II,course_xz char(4) not n ull)tablespace linpen g_data;11、班級表 classescreate table classes(class_ no char(10) primary key,class_ name char(20) not nu II,classtea_ no char(5) foreig n key references classteacher(classtea_ no)t

30、ablespace linpen g_data;12、請假信息表 qingjiacreate table qin gjia(id nu mber primary key,class_id char(10) foreig n key references classes(class_ no), stu_ no char(10) foreig n key references stude nt(stu_ no), leave_reas on varchar2(200) not nu II, start_time datetime not n ull, en d_time datetime not

31、n ull, day_ nu mber n ubmer not nu II, qin gjia_time datetime not nu II,class_tea_id char(5) foreig n key references classteacher(classtea_ no), class_tea_sp_status char(10), class_tea_sp_time datetime, coll_leader_sp_status char(10),coll_leader_id char(5) foreig n key references collegeleader(colle

32、geleader_ no), coll_leader_sp_time datetime)tablespace linpen g_data;6.3、創(chuàng)建其它數(shù)據(jù)庫對象1、創(chuàng)建存儲過程用于統(tǒng)計學生查詢某門課程的出勤情況create or replace procedure getMessage(stu_ no in varchar2, course_ no in varchar2, total_times out nu mber) asabse nce_times nu mber;beginselect count(*) in to absence_times from kaoqin_record

33、 where stu_number=stu_no and course_ no=course_ no;total_times=abse nce_times;en d;2、創(chuàng)建視圖,使不同院系的領導只能查詢到自己學院學生上課的考勤信息,假設軟學院的 ID為5,以下代碼為創(chuàng)建一個用于給軟件學院領導查看本學院學生考勤信息的視圖。create view rjxy asselectkaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu _nu mber,kaoqin_record.stu_sta tus,kaoqin_record.

34、teacher_ no,kaoqin_record.course _nofromkao qin _record,stude ntwherestude nt.stu_ no=kao qin _record.stu_ nu mber and stude nt.stu_faculty=5;3、創(chuàng)建觸發(fā)器,當某學生某課程的缺勤次數(shù)超過一定次數(shù)時給出提示信息create or replace trigger alertMessageafter in sert on kao qin _record for each row declarecurre nt_times nu mber;beginselect

35、 coun t(*) into curre nt_times from kao qin _record where stu_ nu mber =:n ew.stu_ nu mber and course_ no=:n ew.course_ no;if(curre nt_times >= 3) the ndbms_output.put_line('學號為:'| :new.stu_number |的學生該門課程被取消考試資格!');end if;en d;7心得體會通過本次Oracle數(shù)據(jù)庫課程設計,將本學期所學的Oracle知識及數(shù)據(jù)庫基礎方面的知識得到了一綜合性的

36、應用,使我基本掌握了在軟件項目的開發(fā)過程中數(shù)據(jù)庫設計的基本流程,從需求分析到數(shù)據(jù)庫的邏輯結構設計,再到數(shù)據(jù)庫的物理結構設計等。為了提高系統(tǒng)的效率和可靠性,一些比較關鍵的功能都采用存儲過程或函數(shù)封裝在數(shù)據(jù) 庫端,在其它程序設計語言中直接調用。最后,感謝劉老師在這次課程設計中給予我支持和幫助。8參考文獻1 王永貴.Oracle數(shù)據(jù)庫管理與應用中國礦業(yè)大學出版社.20092 趙文濤,數(shù)據(jù)庫系統(tǒng)原理,中國礦業(yè)大學出版社,20063 安葳鵬,軟件工程,中國礦業(yè)大學出版社,20074 張曉東,JSP+Oracle數(shù)據(jù)庫開發(fā)與實例,清華大學出版社2008向隅編數(shù)據(jù)庫基礎及應用郵電大學出版社2008版權申明本文部分內容,包括文字、圖片、以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論