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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、封面作者:PanHongliang僅供個人學習遼寧工程技術(shù)大學Oracle 數(shù)據(jù)庫課程設(shè)計報告學生考勤系統(tǒng)姓名:xxxxx班級:計 SJ08-1 班學 號:0820980113完成日期:2009-12-29指導教師:XXXX遼寧工程技術(shù)大學軟件學院目錄1 學生考勤管理系統(tǒng)背景分析.4.2 學生考勤管理系統(tǒng)需求分析.4.2.1用戶需求描述42.2.1學生用戶需求描述42.2.2任課老師用戶需求描述52.2.3班主任用戶需求描述52.2.4院系領(lǐng)導用戶需求描述52.2.5學校領(lǐng)導用戶需求描述52.2.6系統(tǒng)管理員用戶需求描述62.3功能需求描述62.4系統(tǒng)功能劃分62.4.1請假系統(tǒng)模塊62.4.

2、2考勤系統(tǒng)模塊62.4.3后臺管理管理73 學生考勤系統(tǒng)的 E-R 模型 74 數(shù)據(jù)字典設(shè)計 85 數(shù)據(jù)庫表的邏輯結(jié)構(gòu)設(shè)計 86 數(shù)據(jù)庫表空間和表設(shè)計 116.1、設(shè)計表空間116.2、創(chuàng)建表116.3、創(chuàng)建其它數(shù)據(jù)庫對象147 心得體會 158 參考文獻 15Oracle 數(shù)據(jù)庫課程設(shè)計學生考勤系統(tǒng)的 Oracle 實現(xiàn)1 學生考勤管理系統(tǒng)背景分析隨著高校校園信息化的逐步完善,有效地借助網(wǎng)絡(luò)、數(shù)據(jù)庫等技術(shù)提高工作和管理效 率。如今針對師生的成績查詢系統(tǒng)、教務(wù)管理系統(tǒng)、招生就業(yè)系統(tǒng)、BBS、校園網(wǎng)站等系統(tǒng)在各大高校紛紛出現(xiàn),對全校師生的學習、生活、管理、辦公帶來了便利。因此學生考 勤管理系統(tǒng)能

3、進一步加強高校學風建設(shè),維護正常的教案秩序,給學生創(chuàng)造一個優(yōu)良的學 習環(huán)境。目前高校學生上課考勤管理都是以任課老師上課點名,記錄學生上課情況,對于時間 比較長的請假,需要通過遞交請假申請讓班主任、院系領(lǐng)導都批準方能生效。這種模式在 目前高校管理中暴露了不可避免的弊端:1、學生請假不方便;2、 學生請假對任課老師不透明;3、 學生對自己整個學期的上課出勤情況沒有整體的統(tǒng)計信息;4、 班主任對本班學生整個學期的上課出勤情況不易查看;5、 院系領(lǐng)導、學校領(lǐng)導不容易把握學生上課的出勤情況。因此一個好的學生考勤管理系統(tǒng)在一定程度上可以解決這些弊端,本系統(tǒng)主要針對目 前高校學生在線請假以及學生上課出勤管理

4、而設(shè)計的信息系統(tǒng)。本系統(tǒng)涉及到高校六大類 用戶:學生、任課老師、班主任、院系領(lǐng)導、學校領(lǐng)導、系統(tǒng)管理員。2 學生考勤管理系統(tǒng)需求分析2.1 用戶需求描述用戶是系統(tǒng)的最終使用者,根據(jù)分析,本系統(tǒng)應(yīng)當包括學生、班主任、任課老師、院 系領(lǐng)導、學校領(lǐng)導、系統(tǒng)管理員六類用戶,這六類用戶對系統(tǒng)的需求簡要概括如下:2.2.1 學生用戶需求描述學生對本系統(tǒng)的主要需求是:在線請假以及查看在校期間所有的上課出勤信息。 在線請假需求:學生請假的全過程當中,學生可以隨時查看請假的詳細進展情況。查看出勤信息需求:學生可以查看在校期間所有學期上課出勤的詳細信息,如:查看“Oracle數(shù)據(jù)庫管理與應(yīng)用”這門課程在整個學期請

5、假、曠課多少次等信息。其它需求:查看本人的基本信息,如本人的所屬的院系、年級、專業(yè)、班級、學號、 姓名、性別等,以及修改個人用戶密碼。2.2.2 任課老師用戶需求描述任課老師對系統(tǒng)的主要需求是:管理所教班級學生的上課出勤信息以及查看所教班級 學生的上課出勤信息。管理學生上課出勤需求:隨著時間的變化,自動列出還沒有在網(wǎng)上公布的學生上課出 勤信息,系統(tǒng)自動根據(jù)學生請假系統(tǒng),決定學生上課出勤的最終結(jié)果。查看學生出勤信息需求:查看所教班級學生整個學期出勤情況。 其它需求:本人基本信息以及修改個人用戶密碼。2.2.3 班主任用戶需求描述班主任對本系統(tǒng)的主要需求是:審批本班學生本學期的在線請假以及查看本班

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

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

8、管理全校課表安排。5、管理系統(tǒng)的請假、考勤信息。2.3 功能需求描述根據(jù)各類用戶的需求描述,系統(tǒng)應(yīng)當具備請假系統(tǒng)、考勤管理系統(tǒng)、后臺管理系統(tǒng)這 三大主要功能。請假系統(tǒng)功能需求:通過班主任以及院系領(lǐng)導批準請假信息。請假最長時間不能超過1個月,特殊情況除外??记诠芾砉δ苄枨螅喝握n老師通過考勤管理系統(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)按功能劃分成

9、三大功能模塊:請假系統(tǒng)、考勤系統(tǒng)、 后臺管理模塊,涉及到六大類用戶:學生、任課教師、班主任、院系領(lǐng)導、學校領(lǐng)導、系 統(tǒng)管理員。2.4.1 請假系統(tǒng)模塊本模塊的功能是在線請假的實現(xiàn)及管理,主要涉及三大類用戶:學生、班主任及院系 領(lǐng)導用戶,學生通過此功能模塊進行在線請假及查看請假記錄信息;班主任在線審批學生 請假及查看請假記錄信息;院系領(lǐng)導在線審批學生長時間的請假及查看請假記錄信息。2.4.2 考勤系統(tǒng)模塊本模塊的功能是學生考勤信息統(tǒng)計的實現(xiàn)、查看及管理,涉及六大類用戶中的所有用 戶。學生在線查看自己所有學年的出勤信息;任課老師在線管理學生出勤信息;班主任、 院系領(lǐng)導、學校領(lǐng)導查看不同的范圍的學生

10、出勤信息。2.4.3 后臺管理管理本模塊的功能實現(xiàn)整個系統(tǒng)數(shù)據(jù)的同步更新及維護,只涉及系統(tǒng)管理員用戶。系統(tǒng)管 理員動態(tài)的管理學生信息、課表安排、學年安排等信息,是整個系統(tǒng)實現(xiàn)的基礎(chǔ)。3 學生考勤系統(tǒng)的 E-R 模型n1專業(yè)性別姓名名稱職稱姓名所屬學院所屬院系性別所屬專業(yè)學院學院領(lǐng)導聘請1班主任性別姓名班級1學號院系管理專業(yè)編號編號編號開設(shè)4 數(shù)據(jù)字典設(shè)計名字描述定義管理員信息每一位管理員的具體信息管理員信息=編號+姓名+性別+職稱+密碼名字描述定義院系信息每一個學院的具體信息院系信息-編號+院系名稱名字描述定義課程信息每一門課程的具體信息課程信息=課程號+課程名+課 程性質(zhì)名字:學院領(lǐng)導信息描

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

12、導審 批狀態(tài)+院系領(lǐng)導代號+院系領(lǐng) 導審批時間5 數(shù)據(jù)庫表的邏輯結(jié)構(gòu)設(shè)計(1)系統(tǒng)管理員表admin名字:學生信息描述:每一位學生的具體信息定義:學生信息=學號+姓名+性別+專業(yè)+院系+班級字段名數(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_ namevar

13、char(30)否學生姓名stu_sexchar(2)否性別stu_classchar(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ù)

14、據(jù)類型可否為空鍵引用備注tea_ nochar(10)否主鍵任課老師編號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)院領(lǐng)導表collegeleader字段名數(shù)據(jù)類

15、型可否為空鍵引用備注collegeleader_ nochar(5)否主鍵學院領(lǐng)導編號collegeleader_ namechar(20)否學院領(lǐng)導姓名collegeleader_sexchar(2)否性別collegeleader_facultynu mber否外鍵所屬學院titlechar(20)否職稱(8)學校領(lǐng)導表schoolleader字段名數(shù)據(jù)類型可否為空鍵引用備注schoolleader_ nochar(5)否主鍵學校領(lǐng)導編號schoolleader_namechar(20)否學校領(lǐng)導姓名schoolleader_sexchar(2)否性別deptchar(20)否所屬部門ti

16、tlechar(25)否職稱(9)學生上課出勤記錄表kaoqin 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_xzcha

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

18、nu mber否請假天數(shù)qin gjia_timedatetime否申請請假時間class_tea_idchar(5)否外鍵class_tea_sp_statuschar(10)否班主任審批狀態(tài)class_tea_sp_timedatetime否班主任審批時間coll_leader_sp_statchar(10)否院系領(lǐng)導審批狀態(tài)uscoll_leader_idchar(5)否外鍵院系領(lǐng)導代號coll_leader_sp_timedatetime否院系領(lǐng)導審批時間備注:status表示審批狀態(tài):0為等待審批,1為同意請假,2為不同意請假。6 數(shù)據(jù)庫表空間和表設(shè)計6.1、設(shè)計表空間創(chuàng)建一般的字典

19、管理類表空間,目的是為了方便利用SQL字典跟蹤磁盤的使用情況。使用如下命令創(chuàng)建表空間:create tablespace linpen g_datadatafile/u01/oracle/oradata/tab01.dbfsize 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

20、char(10) not n ull,admin_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

21、n ull,stu_sex char(2) check (stu_sex=男or stu_sex=女),stu_class char(5) foreign key references classes(class_no), stu_major number foreign keyreferences major(major_id), stu_faculty number foreign key references faculty(faculty_id),constraint pk_student primary key(stu_no)tablespace linpeng_data。3、院系表

22、facultycreate table faculty(faculty_id number not null, faculty_name char(10) not null, constraint pk_faculty primary key(faculty_id)tablespace linpeng_data。4、專業(yè)表majorcreate table major(major_id number not null,major_name char(10) not null,major_faculty number foreign key references faculty(faculty_

23、id), constraint pk_major primarykey (major_id)tablespace linpeng_data。5、教師表teachercreate table teacher(tea_no char(10) not null,tea_name char(20) not null,tea_sex char(2) check (tea_sex=男or tea_sex=女), tea_faculty number foreign keyreferences faculty(faculty_id), constraint pk_teacher primary key (t

24、ea_no)tablespace linpeng_data。6、班主任表classteachercreate table classteacher(classtea_no char(5) not null, classtea_name char(20) not null, classtea_sex char(2) check(classtea_sex or。估$上68_$6乂=女), classtea_major number foreign key referencesmajor(major_id), classtea_faculty number foreign key reference

25、s faculty(faculty_id),constraint pk_classteacher primary key (classtea_no)tablespace linpeng_data。7、院領(lǐng)導表collegeleadercreate table collegeleader(collegeleader_no char(5) primary key,collegeleader_name char(20) not null, collegeleader_sex char(2) check(collegeleader_sexin(男,女), collegeleader_faculty n

26、umber foreign key references faculty(faculty_id), titlechar(20) not null)tablespace linpeng_data。8、學校領(lǐng)導表schoolleadercreate table schoolleader(schoolleader_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 n

27、ull, title char(20) not null)tablespace linpeng_data。9、學生上課出勤記錄表kaoqin_recordcreate table kaoqin_record(kaoqin_id char(13) primary key not null,sk_time datetime not null,stu_number char(10) foreign key references student(stu_no), stu_status char(10) not null,teacher_no char(10) foreign key reference

28、s teacher(tea_no), course_no char(13) foreign keyreferences course(course_no)tablespace linpeng_data。10、課程信息表course create table course(course_no char(13) primary key,course_name char(20) not null,course_xz char(4) not null)tablespace linpeng_data。11、班級表classescreate table classes(class_no char(10)

29、primary key,class_name char(20) not null,classtea_no char(5) foreign key references classteacher(classtea_no)tablespace linpeng_data。12、請假信息表qingjia create table qingjia(id number primary key,class_id char(10) foreign key references classes(class_no), stu_no char(10) foreign keyreferences student(st

30、u_no), leave_reason varchar2(200) not null, start_time datetime not null,end_time datetime not null, day_number nubmer not null, qingjia_time datetime not null,class_tea_id char(5) foreign key references classteacher(classtea_no), class_tea_sp_statuschar(10), class_tea_sp_time datetime, coll_leader_

31、sp_status char(10), coll_leader_id char(5)foreign key references collegeleader(collegeleader_no), coll_leader_sp_time datetime)tablespace linpeng_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 outnumber) as abs

32、ence_times number。beginselect count(*) in to absence_times from kaoqin_record where stu_number=stu_no andcourse_no=course_no。total_times=absence_times。end。2、創(chuàng)建視圖,使不同院系的領(lǐng)導只能查詢到自己學院學生上課的考勤信息,假設(shè)軟學院的ID為5,以下代碼為創(chuàng)建一個用于給軟件學院領(lǐng)導查看本學院學生考勤信息的視圖。create view rjxy asselectkaoqin_record.kaoqin_id,kaoqin_record.sk_t

33、ime,kaoqin_record.stu_number,kaoqin_record.stu_status,kaoqin_record.teacher_no,kaoqin_record.course_no from kaoqin_record,student wherestudent.stu_no=kaoqin_record.stu_number and student.stu_faculty=5。3、創(chuàng)建觸發(fā)器,當某學生某課程的缺勤次數(shù)超過一定次數(shù)時給出提示信息create or replace triggeralertMessageafter in sert on kao qin _rec

34、ord for each row declare curre nt_times nu mber。beginselect coun t(*) into curre nt_times from kao qin _record where stu_ nu mber =:n ew.stu_ nu mber andcourse_ no=:n ew.course_ no。if(curre nt_times = 3) the ndbms_output.put_line(學號為:| :new.stu_number |的學生該門課程被取消考試資格!)。end if。end。7 心得體會通過本次Oracle數(shù)據(jù)庫

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

溫馨提示

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

評論

0/150

提交評論