版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2010/2011學(xué)年第1學(xué)期oracle實(shí)訓(xùn)報(bào)告課程名稱 : oracle數(shù)據(jù)庫(kù)實(shí)訓(xùn) 班 級(jí) : 軟 件 111 班 姓 名: 浦 江 峰 學(xué) 號(hào): 1132304112 教學(xué)周數(shù) : 17 周 地 點(diǎn) : b10-509教室 指導(dǎo)教師 : 龍浩 一 實(shí)訓(xùn)對(duì)象1、實(shí)訓(xùn)班級(jí):軟件111班2、計(jì)劃實(shí)訓(xùn)周期:一個(gè)星期3、計(jì)劃受訓(xùn)人數(shù): 37人4二 實(shí)訓(xùn)目的1.知識(shí)目標(biāo)通過(guò)綜合實(shí)訓(xùn)進(jìn)一步鞏固、深化和擴(kuò)展大家的oracle 11g數(shù)據(jù)庫(kù)管理和開(kāi)發(fā)的基本知識(shí)和技能。(1)熟練掌握oracle 11g數(shù)據(jù)庫(kù)的操作;(2)熟練掌握oracle 11g表的操作;(3)熟練掌握oracle 11g視圖的操作和應(yīng)
2、用;(4)掌握oracle 11g索引的操作;(5)熟練掌握pl/sql變成技術(shù)和oracle 11g儲(chǔ)存過(guò)程的操作和使用;(6)熟練掌握oracle 11g觸發(fā)器的操作和應(yīng)用;(7)掌握oracle 11g數(shù)據(jù)安全性操作;(8)熟練掌握oracle 11g數(shù)據(jù)管理操作;(9)了解oracle 11g數(shù)據(jù)庫(kù)程序開(kāi)發(fā)技術(shù)。2.能力目標(biāo)培養(yǎng)學(xué)生運(yùn)用所學(xué)的知識(shí)和技能解決oracle 11g數(shù)據(jù)庫(kù)管理和開(kāi)發(fā)過(guò)程中所遇到的實(shí)際問(wèn)題的能力、掌握基本的sql腳本編寫(xiě)規(guī)范、養(yǎng)成良好的數(shù)據(jù)庫(kù)操作習(xí)慣。(1)培養(yǎng)學(xué)生通過(guò)各種媒體搜集資料、閱讀資料和利用資料的能力;(2)培養(yǎng)學(xué)生基本的數(shù)據(jù)庫(kù)應(yīng)用能力;(3)培養(yǎng)學(xué)生
3、基本的編程邏輯思想;(4)培養(yǎng)學(xué)生通過(guò)各種媒體進(jìn)行自主學(xué)習(xí)的能力。三 實(shí)訓(xùn)內(nèi)容studentmis教務(wù)管理系統(tǒng)是用來(lái)實(shí)現(xiàn)學(xué)生學(xué)籍的管理、學(xué)生成績(jī)的管理、課程的管理、學(xué)生選課管理等功能的信息系統(tǒng)。該系統(tǒng)采用oracle 11g為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),該系統(tǒng)主要滿足來(lái)自3方面的需求,這3個(gè)方面分別是學(xué)生、教務(wù)管理人員和系統(tǒng)管理員。學(xué)生:l 注冊(cè)入學(xué);l 選擇每學(xué)期學(xué)習(xí)課程;l 查詢每學(xué)期課程考試成績(jī);教務(wù)管理人員l 管理學(xué)生學(xué)籍信息異動(dòng);l 管理學(xué)生選課信息;l 管理每學(xué)期課程考試成績(jī);系統(tǒng)管理員l 管理系統(tǒng)用戶;l 管理課程;l 管理部門(mén);l 管理專業(yè);l 管理班級(jí);作為一個(gè)數(shù)據(jù)庫(kù)管理員或數(shù)據(jù)庫(kù)
4、程序開(kāi)發(fā)人員,需要從以下幾個(gè)方面完成數(shù)據(jù)庫(kù)的管理操作。(一) 數(shù)據(jù)庫(kù)對(duì)象的管理1. 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)實(shí)例名稱:student.2. 表創(chuàng)建student數(shù)據(jù)庫(kù)中的所有表。添加樣本數(shù)據(jù)到所創(chuàng)建的表中。(1) 學(xué)生信息表create table scott.student-學(xué)生信息表(x_id char(12) not null primary key,x_name varchar2(30) not null unique,x_sex char(2) check (x_sex=男 or x_sex=女),x_cardid varchar2(18) not null,b_id char(50) not
5、null references scott.banji(b_id),jiguan varchar2(10) not null,xueji varchar2(10) not null,x_brith date not null,m_id char(6) not null);-插入三條記錄insert into scott.student values(200503100101,袁潔芳,女2005031001,湖南省,在籍,to_date(1982-05-18,yyyy-mm-dd),04);insert into scott.student values(
6、200503100102,王華寶,男2005031002,江蘇省,在籍,to_date(1993-05-18,yyyy-mm-dd),03);insert into scott.student values(200503100103,王浩,男2005031003,江蘇省,在籍,to_date(1992-05-18,yyyy-mm-dd),02);commit;(2) 課程信息表create table scott.class1-課程信息表(c_id char(6) not null primary key,c_na
7、me varchar2(30) unique not null,d_id char(5) not null references scott.discipline(d_id),xuefen char(2) not null,xueshi char(5) not null,c_style char(2) not null,bianhao char(5) not null);-插入三條記錄insert into scott.class1 values(03107,軟件工程,0310,4,60,01,01);insert into scott.class1 values(03106,軟件工程1,03
8、11,5,70,02,02);insert into scott.class1 values(03108,軟件工程2,0312,6,80,03,03);commit;(3) 專業(yè)信息表create table discipline-專業(yè)信息表(d_id char(5) not null primary key,d_name varchar2(20) unique not null,d_fuzeren varchar(30) not null,phone varchar2(15) not null,xuezhi char(2) not null,s_id char(5) not null ref
9、erences scott.section(s_id),d_year char(10) not null);-插入三條記錄insert into scott.discipline values(0310,軟件技術(shù),劉志成,8208290,3,03,2003); insert into scott.discipline values(0311,軟件技術(shù)1,王浩,8208291,4,01,2004); insert into scott.discipline values(0312,軟件技術(shù)2,王化寶,8208292,2,02,2005);(4)部門(mén)信息表create table scott.se
10、ction -部門(mén)表(s_id char(5) not null primary key,s_name varchar2(20) not null unique,s_fuzeren varchar2(30) not null,phone varchar2(15) not null);-插入三條記錄insert into scott.section values(03,信息工程系,彭勇,2783857);insert into scott.section values(01,信息系,王化寶,2783856);insert into scott.section values(02,信息管理系,王浩
11、,2783855);commit;(5) 班級(jí)信息表create table banji-班級(jí)信息表(b_id char(50) not null primary key,b_name varchar2(15) unique not null,s_id char(5) not null references scott.section(s_id),d_id char(5) not null references scott.discipline(d_id);-插入三條記錄insert into scott.banji values(2005031001,軟件051,03,0310);inser
12、t into scott.banji values(2005031002,軟件111,01,0311);insert into scott.banji values(2005031003,軟件112,02,0312);commit;(6)學(xué)生成績(jī)表create table xuesheng1-學(xué)生成績(jī)表(x_id char(12) not null references scott.student(x_id),c_id char(6) not null references scott.class1(c_id) ,zhengkao char(5),bukao char(5),chongxiu
13、char(5);-插入三條記錄insert into scott.xuesheng1 values(200503100101,03107,87,0,0);insert into scott.xuesheng1 values(200503100102,03106,88,1,1);insert into scott.xuesheng1 values(200503100103,03108,89,2,2);(7)管理員信息表create table admins-管理員信息表(a_id char(5) not null primary key,c_name varchar2(30) unique,mi
14、ma varchar2(15),a_style varchar2(30),a_date date not null);-插入三條記錄insert into scott.admins values(1,admin,123,系統(tǒng)管理員,to_date(2007-02-10,yyyy-mm-dd);insert into scott.admins values(2,a類用戶,123,超級(jí)用戶,to_date(2007-02-10,yyyy-mm-dd);insert into scott.admins values(3,b類用戶,123,超級(jí)用戶,to_date(2007-02-10,yyyy-mm
15、-dd);commit;3. 視圖(1) 創(chuàng)建指定部門(mén)的專業(yè)信息的視圖vw_majorcreate view scott.vw_majorasselect d_name,d_fuzeren,discipline.phone,s_name,s_fuzeren,section.phone,d_year from scott.discipline ,scott.section where scott.discipline.s_id=scott.section.s_idwith read only; (2)創(chuàng)建學(xué)生成績(jī)的視圖vw_scorecreate view scott.vw_scoreassel
16、ect scott.student.x_id,student.x_name,class1.c_id,class1.c_name,xuesheng1.zhengkao from scott.studentjoin scott.xuesheng1 on xuesheng1.x_id=student.x_id join scott.class1 on xuesheng1.c_id=class1.c_idwith read only;4.索引-創(chuàng)建學(xué)生名稱為關(guān)鍵字的唯一索引-create index scott.is_studenton scott.student(s_name);-創(chuàng)建課程名稱為關(guān)鍵
17、字的唯一索引-create unique index scott.is_classon scott.class1(c_name);-創(chuàng)建專業(yè)名稱為關(guān)鍵字的唯一索引-create unique index scott.is_disciplineon scott.discipline(d_name);-創(chuàng)建班級(jí)名稱為關(guān)鍵字的唯一索引-create unique index scott.is_banjion scott.banji(b_name);5.存儲(chǔ)過(guò)程(1)-創(chuàng)建根據(jù)指定的學(xué)號(hào)查詢學(xué)生所有課程成績(jī)信息的存儲(chǔ)過(guò)程up_myscore,并執(zhí)行該存儲(chǔ)過(guò)程查詢學(xué)號(hào)為“200503100101”的學(xué)生
18、的成績(jī)信息create or replaceprocedure up_myscore( st in varchar2,kid out xuesheng1.c_id%type,x_zhengkao out xuesheng1.zhengkao%type,x_bukao out xuesheng1.bukao%type,x_chongxiu out xuesheng1.chongxiu%type) asbeginselect c_id,zhengkao,bukao,chongxiu into kid,x_zhengkao,x_bukao,x_chongxiufrom scott.xuesheng1
19、where x_id=st;end up_myscore;(2)-創(chuàng)建根據(jù)指定的管理員信息實(shí)現(xiàn)添加管理員的儲(chǔ)存過(guò)程up_addadmin,并執(zhí)行該儲(chǔ)存過(guò)程,將管理員添加到管理員列表中create or replace procedure up_addadmin(aid in char,aname in varchar2,mima1 in varchar2,aleixing in varchar2,ayear in date)asbegininsert into scott.admins values(aid,aname,mima1,aleixing,ayear);end up_addadmin
20、;-將一條管理員記錄插入到管理員表中exec up_addadmin(8,a用戶,888,超級(jí)用戶,to_date(2007-10-10,yyyy-mm-dd);select * from scott.admins(3)-創(chuàng)建統(tǒng)計(jì)每門(mén)課程總成績(jī)和平均成績(jī)的存儲(chǔ)過(guò)程,并將課程總成績(jī)和平均成績(jī)以輸出參數(shù)形式輸出-create or replaceprocedure up_xuesheng(kid in char)astotal number;total2 number;beginselect sum(zhengkao ) into total from scott.xuesheng1 where
21、c_id=kid;select avg(zhengkao ) into total2 from scott.xuesheng1 where c_id=kid;dbms_output.put_line(total);dbms_output.put_line(total2);end;exec up_xuesheng(03107);6.觸發(fā)器(1) -創(chuàng)建在刪除“學(xué)生信息表”中的學(xué)生信息時(shí),刪除“學(xué)生成績(jī)表”中該學(xué)生信息的觸發(fā)器tr_deletestudent,并設(shè)置刪除語(yǔ)句驗(yàn)證該觸發(fā)器工作-create or replace trigger scott.tr_deletestudentafter
22、deleteon scott.studentfor each rowbegindelete from scott.xuesheng1 where x_id=:old.x_id;dbms_output.put_line(成功刪除學(xué)生信息及其成績(jī)信息);end tr_deletestudent;-刪除語(yǔ)句delete from scott.xuesheng1where x_id=200503100103;commit;(2)-創(chuàng)建在修改部門(mén)信息表中的部門(mén)標(biāo)號(hào)時(shí),修改班級(jí)信息表和專業(yè)信息表的觸發(fā)器tr_updatedeptno,并設(shè)置修改語(yǔ)句驗(yàn)證該觸發(fā)器的工作create or replacetri
23、gger scott.tr_updatedeptnoafter updateon scott.section for each row begin update banjiset s_id=:new.s_idwhere s_id=:old.s_id;update disciplineset s_id=:new.s_idwhere s_id=:old.s_id;end tr_updatedeptno;(二) 數(shù)據(jù)庫(kù)安全策略(1)-創(chuàng)建用戶mylogin,并將該用戶添加到connect角色中create user myloginidentified by student;grant connect
24、 to mylogin;(2) -查看用戶mylogin的基本信息-select * from all_userswhere username = mylogin;(3) -創(chuàng)建數(shù)據(jù)庫(kù)角色myrole-create role myroleidentified by student;(4) -為角色myrole添加系統(tǒng)權(quán)限-grant create session to myrole;(5) -為角色myrole添加student數(shù)據(jù)庫(kù)中表的相關(guān)權(quán)限-grant select on scott.student to myrole;(查詢權(quán)限)grant insert on scott.stude
25、nt to myrole;(插入權(quán)限)grant update on scott.student to myrole;(更新權(quán)限)grant delete on scott.student to myrole;(刪除權(quán)限)(6) -查看角色myrole的基本信息-select * from session_roleswhere role = myrole;(三) 數(shù)據(jù)查詢(1) -查詢學(xué)生信息表中的所有數(shù)據(jù)-select * from scott.student;(2)-查詢部門(mén)編號(hào)“03”,專業(yè)負(fù)責(zé)人為“劉志成”的專業(yè)信息并顯示漢字標(biāo)題-select d_id 專業(yè)編號(hào),d_name 專業(yè)名
26、稱,d_fuzeren 專業(yè)負(fù)責(zé)人,discipline.phone 聯(lián)系電話,xuezhi 學(xué)制,d_year 開(kāi)設(shè)年份,s_id 部門(mén)編號(hào)from scott.disciplinewhere d_fuzeren=劉志成and s_id=07;(3)-查詢所有年齡在20歲以下的學(xué)生的名稱、籍貫和年齡-select x_name 姓名,jiguan 籍貫,to_char(sysdate,yyyy)-to_char(x_brith,yyyy) nlfrom scott.studentwhere to_char(sysdate,yyyy)-to_char(x_brith,yyyy)=(select
27、 to_char(sysdate,yyyy)-to_char(x_brith,yyyy)from scott.studentwhere student.x_name=袁潔芳);(9)-查詢每個(gè)班級(jí)男女學(xué)生的平均年齡,并將結(jié)果保存到“t_age”表中-create table t_age(x_name varchar2(30),b_avg float);insert into t_age(x_name,b_avg)select x_name,avg(to_char(sysdate,yyyy)-to_char(x_brith,yyyy)from scott.student group by x_n
28、ame;(10)-查詢年齡到20歲以上以及班級(jí)編號(hào)為“2005031001”的學(xué)生信息(使用聯(lián)合查詢)-select x_id,x_name,x_sex,x_cardid,b_id,jiguan,xueji,to_char(sysdate,yyyy)-to_char(x_brith,yyyy) nl,m_idfrom scott.studentwhere to_char(sysdate,yyyy)-to_char(x_brith,yyyy)=19unionselect x_id,x_name,x_sex,x_cardid,b_id,jiguan,xueji,to_char(sysdate,yyyy)-to_char(x_brith,yyyy) nl,m_idfrom scott.studentwhere b_id=2003031001;(四) 數(shù)據(jù)管理(1)將student數(shù)據(jù)庫(kù)中的“學(xué)生信息表”的信息導(dǎo)出到stu.dmp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年工業(yè)地產(chǎn)有償轉(zhuǎn)讓協(xié)議
- 2024年度南京二手房交易合同
- 2024年度水果交易合同模板
- 【初中生物】病毒教學(xué)課件2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 2024年度法律服務(wù)委托合同
- 2024年度工程監(jiān)理合同標(biāo)的及服務(wù)內(nèi)容具體描述
- 2024年工程勞務(wù)分包補(bǔ)充協(xié)議
- 2024個(gè)人向公司借款合同范本(簡(jiǎn)單版)
- 2024冷卻塔填料生產(chǎn)工藝優(yōu)化合同
- 2024年度CFG樁基工程水土保持合同
- 安全生產(chǎn)專(兼)職管理人員職責(zé)
- 湖南省長(zhǎng)沙市長(zhǎng)沙市長(zhǎng)郡集團(tuán)聯(lián)考2024-2025學(xué)年九年級(jí)上學(xué)期11月期中語(yǔ)文試題(含答案)
- 家具制造業(yè)售后服務(wù)預(yù)案
- 電子產(chǎn)品維修合同范本1
- 《籃球原地雙手胸前傳接球》教案 (三篇)
- 第7章-機(jī)器學(xué)習(xí)
- 2024年T電梯修理考試100題及答案
- 第1課 課題一《課外生活小調(diào)查·周末生活我采訪》(教案)-2024-2025學(xué)年三年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)浙教版
- 世界的氣溫和降水課件
- DBJ-T15-60-2019建筑地基基礎(chǔ)檢測(cè)規(guī)范
- 2024年秋季1530安全教育記錄
評(píng)論
0/150
提交評(píng)論