版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)大型數(shù)據(jù)庫課程設(shè)計(jì) 設(shè)計(jì)說明書教務(wù)管理系統(tǒng)起止日期: 2014 年 12月 1日 至 2014 年 12月 7 日學(xué)生姓名 關(guān)鵬舉班級(jí) 計(jì)算機(jī)1102班學(xué)號(hào) 成績(jī)指導(dǎo)教師(簽字)計(jì)算機(jī)與通信學(xué)院2014年 12月6日目 錄 TOC o 1-3 h z TOC o 1-3 h z 4.3 數(shù)據(jù)庫表的創(chuàng)建,向表中插入數(shù)據(jù)-8881緒論1.1課題背景由于計(jì)算機(jī)與通信學(xué)院的不斷發(fā)展壯大,教務(wù)管理工作的工作量越來越大,全部用員工來做這個(gè)工作不僅越來越浪費(fèi)人力、物力、財(cái)力,而且也越
2、來越難管理,迫切需要一個(gè)進(jìn)行教務(wù)管理的軟件系統(tǒng)。鑒于這種情況,計(jì)算機(jī)與通信學(xué)院在信息化建設(shè)中把教務(wù)管理系統(tǒng)也納入其中,利用網(wǎng)絡(luò)進(jìn)行教務(wù)管理工作不僅省部分人力、物力、財(cái)力,更重要的是利用網(wǎng)絡(luò)可以提高工作效率,便于整個(gè)學(xué)院教務(wù)管理工作的管理。計(jì)算機(jī)與通信學(xué)院教務(wù)管理系統(tǒng)是一個(gè)實(shí)際應(yīng)用的軟件系統(tǒng),做這樣一個(gè)軟件系統(tǒng),不僅可以使我們可以更加了解軟件開發(fā)的過程,而且把學(xué)到的理論知識(shí)應(yīng)用到實(shí)際的軟件開發(fā)過程中,進(jìn)一步了解、掌握理論知識(shí),為以后的工作學(xué)習(xí)積累經(jīng)驗(yàn)。1.2控件開發(fā)相關(guān)技術(shù)介紹本系統(tǒng)相關(guān)開發(fā)的技術(shù)是利用專門的數(shù)據(jù)庫,即Oracel數(shù)據(jù)庫。提起數(shù)據(jù)庫,第一個(gè)想到的公司,一般都會(huì)是Oracle。該公
3、司成立于1977年,最初是一家專門開發(fā)數(shù)據(jù)庫的公司。Oracle在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位。1984年,首先將關(guān)系數(shù)據(jù)庫轉(zhuǎn)到了桌面計(jì)算機(jī)上。然后,Oracle的下一個(gè)版本,版本5,率先推出了分布式數(shù)據(jù)庫、客戶/服務(wù)器結(jié)構(gòu)等嶄新的概念。Oracle的版本6首創(chuàng)行鎖定模式以及對(duì)稱多處理計(jì)算機(jī)的支持最新的Oracle8主要增加了對(duì)象技術(shù),成為關(guān)系-對(duì)象數(shù)據(jù)庫系統(tǒng)。目前,ORACLE產(chǎn)品覆蓋了大、中、小型機(jī)等幾十種機(jī)型,Oracle數(shù)據(jù)庫成為世界上使用最廣泛的關(guān)系數(shù)據(jù)系統(tǒng)之一。ORACLE是一種適用于大型、中型和微型計(jì)算機(jī)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它使用SQL(Structured guery lang
4、uage)作為它的數(shù)據(jù)庫語言。 SQL主要包括數(shù)據(jù)定義、數(shù)據(jù)操縱(包括查詢)和數(shù)據(jù)控制等三方面功能。SQL是一種非過程化程度很高的語言,用戶只需說明干什么而無需具體說明怎么干語言簡(jiǎn)潔、使用方便功能強(qiáng)大,集聯(lián)機(jī)交互與嵌入于一體,能適應(yīng)廣泛的使用環(huán)境。ORACLE數(shù)據(jù)庫由三種類型的文件組成:數(shù)據(jù)庫文件、日志文件和控制文件。2 系統(tǒng)分析2.1 工作流程學(xué)生可以根據(jù)自己的學(xué)號(hào)查詢自己的各科成績(jī),系統(tǒng)管理員可以增加學(xué)生信息和學(xué)生成績(jī)的錄入、老師信息的錄入和修改。2.2 業(yè)務(wù)需求(1)學(xué)生可以查詢自己的信息;(2)老師可以查詢自己的信息;(3)系統(tǒng)管理員可以增加/刪除/修改學(xué)生/老師/系部/學(xué)生成績(jī)/老師
5、的信息;3 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)功能結(jié)構(gòu)圖本系統(tǒng)編寫的目的,是實(shí)現(xiàn)一個(gè)教務(wù)管理系統(tǒng),提高工作效率和方便學(xué)生老師查詢自己的信息、系統(tǒng)管理員修改和錄入信息。由于程序的功能是和數(shù)據(jù)庫相關(guān)的數(shù)據(jù)查詢和數(shù)據(jù)操作,所以程序至少具有以下功能:對(duì)數(shù)據(jù)表的基本操作,如插入、修改、刪除。根據(jù)條件進(jìn)行查詢。 鑒于以上的功能,本系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如下:教務(wù)管理系統(tǒng). 管理員教師學(xué)生查詢信息查詢信息學(xué)生信息刪除學(xué)生信息修改教師信息刪除教師信息修改管理學(xué)生成績(jī)圖3.1 系統(tǒng)結(jié)構(gòu)圖 教務(wù)管理管理等級(jí)管理學(xué)生管理教師管理成績(jī)管理系部管理課程管理員查詢等級(jí) 修改等級(jí)查詢學(xué)生刪除學(xué)生修改學(xué)生添加學(xué)生查詢教師刪除教師修改教師添加教師
6、查詢成績(jī)刪除成績(jī)修改成績(jī)添加成績(jī)?cè)黾酉挡縿h除系部修改課程添加課程刪除課程更新課程添加管理員刪除管理員圖2.2 后臺(tái)功能結(jié)構(gòu)3.2 模塊功能設(shè)計(jì)系統(tǒng)功能設(shè)計(jì)是使整個(gè)系統(tǒng)能基本實(shí)現(xiàn)學(xué)生成績(jī)等級(jí)的查詢,學(xué)生管理,教師管理,成績(jī)管理等管理功能,能夠進(jìn)行有效率的管理。學(xué)生管理:學(xué)生信息的增加、修改、刪除教師管理:教師信息的增加、修改、刪除成績(jī)管理:學(xué)生成績(jī)的修改、刪除4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)學(xué)生學(xué)號(hào)學(xué)生專業(yè)4.1 數(shù)據(jù)表E-R圖學(xué)生姓名班長(zhǎng)學(xué)號(hào)學(xué)生生日學(xué)生性別學(xué)生表 圖4.1 學(xué)生表E-R模型圖系部名稱系部編號(hào)系部地址系部表 圖4.2 系部表E-R模型圖參加工作時(shí)間 獎(jiǎng)金 職稱教師表系部編號(hào)教師編號(hào) 工資教師
7、姓名圖4.3教師表E-R模型圖課程名稱課程表課程編號(hào) 學(xué)分學(xué)生學(xué)號(hào) 圖4.4 課程表E-R模型圖課程編號(hào) 成績(jī)學(xué)生成績(jī)表 圖4.5 學(xué)生成績(jī)表E-R模型圖等級(jí)下界等級(jí)編號(hào) 等 級(jí)等級(jí)上界成績(jī)等級(jí)表圖4.6 成績(jī)登記表E-R模型圖4.2 數(shù)據(jù)表的設(shè)計(jì)根據(jù)該系統(tǒng)的特點(diǎn),本次設(shè)計(jì)采用Oracle數(shù)據(jù)庫,數(shù)據(jù)庫名稱為JWGLXT,根據(jù)該系統(tǒng)的分析,包含以下幾個(gè)表:表4.1學(xué)生的相關(guān)信息列名含義數(shù)據(jù)類型和精度數(shù)據(jù)完整性Student_id學(xué)生學(xué)號(hào)Number(5)PRIMARY KEYMonitor_id班長(zhǎng)學(xué)號(hào)Number(5)name學(xué)生姓名VARCHAR2(10)NOT NULLsex學(xué)生性別VA
8、RCHAR2(6)dob學(xué)生出生日期DATEspecialty學(xué)生所學(xué)專業(yè)VARCHAR2(10)表4.2 教師的相關(guān)信息列名含義數(shù)據(jù)類型及精度數(shù)據(jù)完整性Teacher_id教師編號(hào)NUMBER(5)PRIMARY KEYname教師姓名VARCHAR2(10)NOT NULLtitle職稱VARCHAR2(6)Hire_date參加工作時(shí)間DATEbonus獎(jiǎng)金NUMBER(7,2)wage工資NUMBER(7,2)Department_id系部編號(hào)NUMBER(3)外鍵表4.3 系部的相關(guān)信息列名含義數(shù)據(jù)類型及精度數(shù)據(jù)完整性Department_id系部編號(hào)NUMBER(3)PRIMARY
9、 KEYDepartment_name系部名稱VARCHAR2(8)NOT NULLAddress系部所在地址VARCHAR2(40)表4.4 課程的相關(guān)信息列名含義數(shù)據(jù)類型及精度數(shù)據(jù)完整性Course_id課程編號(hào)NUMBER(5)PRIMARY KEYCourse_name課程名稱VARCHAR2(30)NOT NULLCredit_hour學(xué)分NUMBER(2)表4.5 學(xué)生成績(jī)的相關(guān)信息列名含義數(shù)據(jù)類型及精度數(shù)據(jù)完整性Student_id學(xué)生學(xué)號(hào)NUMBER(5)外鍵Course_id課程編號(hào)NUMBER(5)外鍵Score成績(jī)NUMBER(4,1) 表4.6 成績(jī)等級(jí)表的相關(guān)信息列名
10、含義數(shù)據(jù)類型及精度數(shù)據(jù)完整性Grade_id等級(jí)編號(hào)VARCHAR2(2,1)PROMARY KEYLow_score等級(jí)下界NUMBER(4,1)NOT NULLHigh_score等級(jí)上界NUMBER(4,1)NOT NULLGrade等級(jí)VARCHAR2(6)4.3 數(shù)據(jù)庫表的創(chuàng)建,向表中插入數(shù)據(jù)學(xué)生表create table students(student_id number(5) constraint student_pk primary key,monitor_id number(5),name varchar2(10) NOT NULL,sex varchar2(6) cons
11、traint sex_chk check(sex IN(男,女),dob DATE,specialty varchar2(10);系部表create table departments(department_id number(3) constraint department_pk primary key,department_name varchar2(8) NOT NULL,address varchar2(40);教師表create table teachers(teacher_id number(5) constraint teacher_pk primary key,name var
12、char2(8) NOT NULL,title varchar2(8),hire_date DATE default sysdate,bonus number(7,2),/獎(jiǎng)金wage number(7,2),department_id number(3) constraint teachers_fk_departments references departments(department_id);課程表create table courses(course_id number(5) constraint course_pk primary key,course_name varchar2(
13、30) not null,credit_hour number(2);學(xué)生成績(jī)表create table students_grade(student_id number(5) constraint students_grade_fk_students references students(student_id),course_id number(5) constraint students_grade_fk_courses references courses(course_id),score number(4,1);成績(jī)等級(jí)表create table grades(grade_id nu
14、mber(1) constraint grade_pk primary key,low_score number(4,1),hight_grade number(4,1),grade varchar2(6);向?qū)W生表中插入數(shù)據(jù):insert into students values(10205,NULL,李秋風(fēng),男,25-11月-1990,自動(dòng)化);insert into students values(10102,10101,劉春平,女,12-8月-1991,計(jì)算機(jī));insert into students values(10301,NULL,高山,男,08-10月-1990,機(jī)電工程);
15、insert into students values(10207,10205,王剛,男,03-4月-1987,自動(dòng)化);insert into students values(10112,10101,張三,男,21-7月-1989,計(jì)算機(jī));insert into students values(10318,10301,張東宇,男,26-12月-1990,自動(dòng)化);insert into students values(10103,10101,王天儀,男,25-11月-1989,機(jī)電工程);insert into students values(10201,10205,找風(fēng)雨,男,25-10
16、月-1990,自動(dòng)化);insert into students values(10105,10101,劉涵,女,03-8月-1991,軟件);insert into students values(10311,10301,張揚(yáng),男,08-5月-1990,計(jì)算機(jī));insert into students values(10212,10205,高淼,男,11-6月-1990,軟件);insert into students values(10312,10301,白菲菲,女,25-9月-1988,軟件);insert into students values(10128,10301,林志涵,女,
17、NULL,機(jī)電工程);insert into students values(10328,10101,白皙,男,NULL,軟件);結(jié)果如下圖所示:向系部表中插入數(shù)據(jù):insert into departments values(101,信息工程,1號(hào)公共樓);insert into departments values(102,電氣工程,2號(hào)公共樓);insert into departments values(103,機(jī)電工程,電氣樓);insert into departments values(104,軟件工程,機(jī)電樓);insert into departments values(10
18、5,網(wǎng)絡(luò)工程,3號(hào)公共樓);結(jié)果如下圖所示:向教師表中插入數(shù)據(jù):insert into teachers values(10101,王丹,教授,01-9月-1970,1000,3000,101);insert into teachers values(10102,孔世杰,講師,01-9月-1971,800,2800,101);insert into teachers values(10103,孫斌,高工,01-10月-1969,900,3000,102);insert into teachers values(10104,趙坤,副教授,23-6月-1968,600,2400,102);inse
19、rt into teachers values(10105,楊文華,講師,28-11月-1972,600,2800,103);insert into teachers values(10106,韓冬梅,教授,08-6月-1970,800,2900,103);insert into teachers values(10107,崔天,高工,24-9月-1973,700,2600,104);insert into teachers values(10108,張科,副教授,11-12月-1969,1000,3100,104);insert into teachers values(10109,王笑,工
20、程師,01-10月-1968,1000,3200,105);insert into teachers values(10110,張曉,教授,29-8月-1966,700,3000,105);insert into teachers values(10111,趙天宇,副教授,06-7月-1971,800,2900,105);結(jié)果如下圖所示:向課程表中插入數(shù)據(jù):insert into courses values(10101,計(jì)算機(jī)組成原理,4);insert into courses values(10201,自動(dòng)控制原理,4);insert into courses values(10202,
21、工程制圖,3);insert into courses values(10301,C+語言程序設(shè)計(jì),3);insert into courses values(10401,模擬電子技術(shù),4);insert into courses values(10402,數(shù)字電子技術(shù),3);insert into courses values(10302,理論力學(xué),3);insert into courses values(10303,離散數(shù)學(xué),4);結(jié)果如下圖所示:向成績(jī)表中插入數(shù)據(jù):insert into students_grade values(10102,10101,88);insert into
22、 students_grade values(10311,10201,90);insert into students_grade values(10112,10301,99);insert into students_grade values(10201,10101,100);insert into students_grade values(10318,10201,97);insert into students_grade values(10201,10201,89);insert into students_grade values(10128,10301,99);insert int
23、o students_grade values(10128,10303,99);insert into students_grade values(10103,10303,96);insert into students_grade values(10312,10301,99);insert into students_grade values(10212,10402,88);insert into students_grade values(10212,10401,100);insert into students_grade values(10318,10301,79);insert in
24、to students_grade values(10112,10202,89);結(jié)果如下圖所示:向成績(jī)等級(jí)表中插入數(shù)據(jù):insert into grades values(1,0,59,不及格);insert into grades values(2,60,69,及格);insert into grades values(3,70,79,中等);insert into grades values(4,80,89,良好);insert into grades values(5,90,100,優(yōu)秀);結(jié)果如下圖所示:4.4存儲(chǔ)過程,觸發(fā)器的設(shè)計(jì)為了提高該系統(tǒng)的運(yùn)行環(huán)境,后臺(tái)有關(guān)數(shù)據(jù)的操作使用了存
25、儲(chǔ)過程和觸發(fā)器。4.4.1 存儲(chǔ)過程定義一個(gè)過程display_teacher,以系部為參數(shù),查詢并輸出該部門的平均工資和最高工資、最低工資create or replace procedure display_teacher(v_no IN teachers.department_id%TYPE)ASv_wage teachers.wage%TYPE;v_maxwage teachers.wage%TYPE;v_minwage teachers.wage%TYPE;beginselect avg(wage) INTO v_wage from teachers where department
26、_id=v_no;select max(wage) INTO v_maxwage from teachers where department_id=v_no;select min(wage) INTO v_minwage from teachers where department_id=v_no;DBMS_OUTPUT.PUT_LINE(該系平均工資為:|v_wage);DBMS_OUTPUT.PUT_LINE(該系最高工資為:|v_maxwage);DBMS_OUTPUT.PUT_LINE(該系最低工資為:|v_minwage);exception when NO_DATA_FOUND
27、thenDBMS_OUTPUT.PUT_LINE(該系不存在!);end display_teacher;/定義一個(gè)過程app_student,實(shí)現(xiàn)在students表中插入一條新數(shù)據(jù)create or replace procedure app_student(v_no IN students.student_id%TYPE,v_monitor_id IN students.monitor_id%TYPE,v_name IN %TYPE,v_sex IN students.sex%TYPE,v_dob IN students.dob%TYPE,v_specialty IN students.
28、specialty%TYPE)ASbegininsert into students values(v_no,v_monitor_id,v_name,v_sex,v_dob,v_specialty);exceptionwhen DUP_VAL_ON_INDEX then DBMS_OUTPUT.PUT_LINE(插入學(xué)生信息時(shí),學(xué)生學(xué)號(hào)不能重復(fù)!);end app_student;/定義一個(gè)過程display_edited,功能是:在teachers表中,將教授職稱的某位教師的工資提高%10,高工和副教授的工資提高%5,否則工資提高100元create or replace procedure
29、 display_edited(v_id IN teachers.teacher_id%TYPE,v_name OUT %TYPE,v_wage OUT teachers.wage%TYPE)ASv_title teachers.title%TYPE;beginselect title into v_title from teachers where teacher_id=v_id;casewhen v_title=教授 thenupdate teachers set wage=1.1*wage where teacher_id=v_id;when v_title=高工 thenupdate
30、teachers set wage=1.05*wage where teacher_id=v_id;elseupdate teachers set wage=wage+100 where teacher_id=v_id;end case;select name,wage into v_name,v_wage from teachers where teacher_id=v_id;end display_edited;/調(diào)用存儲(chǔ)過程display_teacher;set serveroutput on;Call display_teacher(101);結(jié)果如下圖所示:調(diào)用存儲(chǔ)過程app_stu
31、dent;set serveroutput oncall app_student(10239,10101,李麗,女,10-10月-1991,計(jì)算機(jī));調(diào)用后結(jié)果如下圖所示:調(diào)用存儲(chǔ)過程display_edit:variable v_name varchar2(10)variable v_wage number;call display_edited(10101,:v_name,:v_wage);call display_edited(10103,:v_name,:v_wage);call display_edited(10104,:v_name,:v_wage);print :v_name :
32、v_wage4.4.2觸發(fā)器 定義一個(gè)觸發(fā)器s_g_change:觸發(fā)器s_g_change在表student_grade中的成績(jī)被修改后,保存學(xué)生成績(jī)修改前后值和修改日期create table students_grade_change(student_id number(5),course_id number(5),oldscore number(4,1),newscore number(4,1),time_change DATE);create or replace trigger s_g_changeafter update of score ON students_gradefor
33、 each rowbegininsert into students_grade_changevalues(:old.student_id,:old.course_id,:old.score,:new.score,SYSDATE);end s_g_change;/建立系統(tǒng)事件觸發(fā)器sys_event:當(dāng)在用戶模式下執(zhí)行drop操作時(shí),將刪除的對(duì)象信息存入event_drop表中create table event_drop(user_name varchar2(15),object_name varchar2(15),object_type varchar2(10),object_owner varchar2(15),creation_date DATE);create or replace trigger sys_eventafter drop on schemabegininsert into event_drop values(USER,ORA_DICT_OBJ_NAME,ORA_DICT_OBJ_TYPE,ORA_DICT_OBJ_OWNER,SYSDA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度醫(yī)院物業(yè)委托管理與維護(hù)合同4篇
- 2025年度個(gè)人向公司借款用于投資合作合同范本2篇
- 2025年度影視作品制作及版權(quán)運(yùn)營(yíng)合同3篇
- 2024版院長(zhǎng)聘用合同
- 2024裝修樣板間保密協(xié)議
- 2025年度智能家居產(chǎn)品承包加工合同4篇
- 2025年度智慧社區(qū)車位出售及智能停車解決方案合同4篇
- 2025年度咖啡館股權(quán)置換及品牌輸出合同3篇
- 2025年復(fù)雜斷塊油田項(xiàng)目可行性研究報(bào)告
- 2025年度體育場(chǎng)館運(yùn)營(yíng)管理承包服務(wù)合同范本4篇
- 人教版(2025新版)七年級(jí)下冊(cè)英語:寒假課內(nèi)預(yù)習(xí)重點(diǎn)知識(shí)默寫練習(xí)
- 藝術(shù)品捐贈(zèng)協(xié)議
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊(cè)+
- 高職組全國職業(yè)院校技能大賽(嬰幼兒照護(hù)賽項(xiàng))備賽試題庫(含答案)
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
- NB-T 47013.15-2021 承壓設(shè)備無損檢測(cè) 第15部分:相控陣超聲檢測(cè)
- 10KV供配電工程施工組織設(shè)計(jì)
- 終端攔截攻略
- 藥物外滲處理及預(yù)防【病房護(hù)士安全警示教育培訓(xùn)課件】--ppt課件
- 紙箱檢驗(yàn)標(biāo)準(zhǔn)新
評(píng)論
0/150
提交評(píng)論