《大型數(shù)據(jù)庫實驗報告實驗八教育相關(guān)》由會員分享,可在線閱讀,更多相關(guān)《大型數(shù)據(jù)庫實驗報告實驗八教育相關(guān)(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、課程實驗報告(實驗8)課程名稱 大型數(shù)據(jù)庫 專業(yè)班級 軟件 姓 名 學(xué) 號 指導(dǎo)教師 計算機學(xué)院實驗教學(xué)考核和成績評定辦法1 課內(nèi)實驗考核成績,嚴(yán)格按照該課程教學(xué)大綱中明確規(guī)定的比重執(zhí)行。實驗成績不合格者,不能參加課程考試,待補做合格后方能參加考試。2 單獨設(shè)立的實驗課考核按百分制評分,考核內(nèi)容應(yīng)包括基本理論、實驗原理和實驗。3 實驗考核內(nèi)容包括:1)實驗預(yù)習(xí);2)實驗過程(包括實驗操作、實驗記錄和實驗態(tài)度、表現(xiàn));3)實驗報告;權(quán)重分別為0.2 、0.4 、 0.4;原則上根據(jù)上述三個方面進行綜合評定。學(xué)生未取得1)和2)項成績時,第3)項成績無效。4 實驗指導(dǎo)教師應(yīng)嚴(yán)格按照考核內(nèi)容分項給出
2、評定成績,并及時批改實驗報告,給出綜合成績,反饋實驗中出現(xiàn)的問題。實驗成績在教師手冊中有記載。實驗報告主要內(nèi)容一 實驗?zāi)康?二 實驗儀器及設(shè)備三 實驗原理四 實驗步驟五 實驗記錄及原始記錄六 數(shù)據(jù)處理及結(jié)論七 實驗體會(可選項)注:1. 統(tǒng)一采用A4紙,(正文采用宋體五號字)或手寫,右側(cè)裝訂。2. 實驗類別指驗證、演示、綜合、設(shè)計、創(chuàng)新(研究)、操作六種類型實驗。3. 驗證性實驗:是指為了使學(xué)生鞏固課程基本理論知識而開設(shè)的強調(diào)演示和證明,注重實驗結(jié)果(事實、概念或理論)的實驗。4. 綜合性實驗:是指實驗內(nèi)容涉及本課程的綜合知識或本課程相關(guān)的課程知識的實驗。5. 設(shè)計性實驗:是指給定實驗?zāi)康?、?/p>
3、求和實驗條件,由學(xué)生自行設(shè)計實驗方案并加以實現(xiàn)的實驗。教學(xué)f實驗題目實驗八 存儲過程、函數(shù)、程序包和觸發(fā)器實驗室機房9202實驗時間2016 年 5月 17日 實驗類別設(shè)計同組人數(shù)1 成 績指導(dǎo)教師簽字:【實驗?zāi)康摹浚?)掌握存儲過程的編輯及調(diào)用方法;(2)掌握函數(shù)的編輯及調(diào)用方法;(3)掌握程序包的編輯及調(diào)用方法;(4)掌握DML觸發(fā)器的創(chuàng)建及應(yīng)用?!緦嶒炘怼?. 存儲過程 2. 函數(shù) 3. 程序包 4. 觸發(fā)器【實驗內(nèi)容】基本任務(wù)一、存儲過程、函數(shù)和程序包設(shè)計編程1假若有一個學(xué)生成績管理系統(tǒng),其中有一個學(xué)生成績表stu_scores_XXX(學(xué)號,課程號,成績,錄入時間),其中課程號的第
4、3位代表課程類型(1:必修 2:考查 3:選修)。且要求一個學(xué)生的某一門課程只能有一個成績。(1)現(xiàn)要求設(shè)計學(xué)生成績表stu_scores_XXX的表結(jié)構(gòu)及約束,表結(jié)構(gòu)中應(yīng)至少包含以上列出的字段,設(shè)計完成后創(chuàng)建該表。(2)編寫程序包pkg_score_XXX,該程序包應(yīng)至少提供以下功能: 教師可向?qū)W生成績表中錄入學(xué)生的考試成績,在錄入記錄時要求對可能出現(xiàn)的異常進行處理。 教師可根據(jù)學(xué)號和課程號,查詢出該某個學(xué)生某門課程的成績,并返回對應(yīng)記錄。 當(dāng)輸入某課程的課程號后,可查詢出該課程的課程類型(1:必修 2:考查 3:選修); 當(dāng)輸入一個百分制成績,可返回其五級分制成績(優(yōu)、良、中、及、不及格)
5、; 當(dāng)輸入某個學(xué)生的學(xué)號時,可查詢出該生的成績信息及課程類型,要求必修課輸出百分制成績,選修課或考查課輸出五分制成績。包規(guī)范(包頭)代碼:create or replace package pkg_score_221 isfunction course_type_221(cid char)return nvarchar2;function getgreade(sid number,cid char)return number;function getfive_score(grd number)return char;procedure insert_data(sid number,cid ch
6、ar,grd number,prd varchar2);procedure sele_stuscore_221(sid number);end pkg_score_221;包體代碼:create or replace package body pkg_score_221ISfunction course_type_221(cid char) return nvarchar2 IS v_ctype nvarchar2(10); v_str char(1); begin v_str:=substr(cid, 3, 1); case v_str WHEN 1 THEN v_ctype:=必修課; W
7、HEN 2 THEN v_ctype:=考查課; WHEN 3 THEN v_ctype:=選修課; else v_ctype:=課程類型錯誤; end case; return v_ctype;end course_type_221;function getgreade(sid number,cid char)return numberiscid1 number;beginselect grade into cid1 from stu_scores_221where stuid=sid and courseid=cid; return cid1;end getgreade;function
8、getfive_score(grd number)return charis ss nvarchar2(10); BEGIN CASE WHEN grd=90 and grd=80 and grd=70 and grd=60 and grd70 THEN ss:=及格; ELSE ss:=不及格; end case;return ss;end getfive_score;procedure sele_stuscore_221(sid number) IS BEGIN FOR i IN (select * from stu_scores_221 where stuid=sid) LOOP IF
9、course_type_221(i.courseid) =必修課 THEN dbms_output.put_line(學(xué)號:| i.stuid | 課程:|i.courseid| 課程類型:|course_type_221(i.courseid)| 成績:|i.grade); ELSE dbms_output.put_line(學(xué)號:| i.stuid | 課程:|i.courseid| 課程類型:|course_type_221(i.courseid)| 成績:|getfive_score(i.grade); END IF; END LOOP;END sele_stuscore_221; p
10、rocedure insert_data(sid number,cid char,grd number,prd varchar2) IS num_null_221 exception; Pragma exception_init(num_null_221,-1400);BEGIN INSERT INTO stu_scores_221(stuid,courseid,grade,prodession) VALUES(sid,cid,grd,prd); commit; EXCEPTION WHEN DUP_VAL_ON_INDEX THEN dbms_output.put_line (該學(xué)生信息已存
11、在); WHEN num_null_221 THEN dbms_output.put_line(違反了非空約束!);END insert_data;END pkg_score_221;(3)試編寫程序塊分別調(diào)用測試程序包中的公有存儲過程。插入數(shù)據(jù):利用學(xué)號查詢信息:二、觸發(fā)器設(shè)計編程2 假若在員工考勤系統(tǒng)中有一個員工考勤表empl_kq_XXX,其表中的列內(nèi)容要求如表1所示:表1 員工考勤表empl_kq_xxx名稱備注考勤序號主鍵員工編號考勤類型可取值 “缺勤”、“遲到”、“早退”、“病假”、“事假”記錄者編號記錄日期1)設(shè)計員工考勤表empl_kq_XXX的表結(jié)構(gòu)及約束,并創(chuàng)建該表。2)要求考勤序號列的值是能夠自動生成的有序值。3)要求用戶在向員工考勤表empl_kq_XXX中錄入考勤記錄時,不用輸入考勤序號,該列值在新記錄錄入時可由系統(tǒng)自動生成。教學(xué)f