




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《數(shù)據(jù)庫開發(fā)技術(shù)》
實(shí)驗(yàn)指導(dǎo)書
2010-2011學(xué)年第一學(xué)期
信管0701-0704
福建工程學(xué)院信息科學(xué)與工程學(xué)院
軟件工程教研室陳宇
實(shí)驗(yàn)一Oracle常用管理工具和DDL實(shí)踐
一、實(shí)驗(yàn)?zāi)康?/p>
1、認(rèn)識并熟悉Oracle常用的管理工具:SQLPluso
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的數(shù)據(jù)定義(DDL)語言,實(shí)現(xiàn)表的定義、刪除與修改。
4、掌握創(chuàng)建Oracle表各種約束的方式和方法。
5、掌握利用數(shù)據(jù)字典視圖查看各種有用信息的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、用Oracle的默認(rèn)用戶登錄到SQLPlus,并運(yùn)用該工具。
2、常用的SQL*Plus命令。
3、根據(jù)以下實(shí)驗(yàn)內(nèi)容的要求認(rèn)真填寫實(shí)驗(yàn)報告,記錄所有的實(shí)驗(yàn)用例。
(1)Oracle表的DDL實(shí)踐
設(shè)有如下關(guān)系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主關(guān)鍵字是SNO。
其中SNO為學(xué)號,NUMBER(5),學(xué)號不能為空,值是惟一的;SNAME為
姓名,VARCHAR2(20);SSEX為性別,char(2);SAGE為年齡,NUMBER(2);
SDEPT為所在系名,VARCHAR2(10)o寫出實(shí)現(xiàn)下列功能的SQL語句。
I)創(chuàng)建此表、插入以下數(shù)據(jù)并提交數(shù)據(jù);
INSERTINTOSTUDENTVALUES(95001:李明勇?男,,20,'CS');
INSERTINTOSTUDENTVALUES(95002:劉晨?女,,19,'IS');
INSERTINTOSTUDENTVALUES(95003,^g',k',18,'MA');
INSERTINTOSTUDENTVALUES(95004;張立?男;19,'CS');
INSERTINTO511;口£?<1'丫人口^5(95005,'張軍','男',21,'乂人');
INSERTINTO51'1;口£N1'丫人口;£5(95006,'王張鳳','女',19,下。);
INSERTINTOSTUDENTVALUES(95011:王敬,,女,18,'IS');
INSERTINTOSTUDENTVALUES(95021,'張名惠男'』9,'FL');
2)查看此表的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù);
3)向S表添加“入學(xué)時間(comedate)”列,其數(shù)據(jù)類型為日期型(date);
4)將年齡的數(shù)據(jù)類型改為NUMBER0)且默認(rèn)值為“夕,并查看這些修改后的表
結(jié)構(gòu);
5)截斷student表;
6)刪除生成的表S;
(2)創(chuàng)建約束,要求按普遍采用的約定為這些約束命名,約束創(chuàng)建后要進(jìn)行約束
測試。(參見所附的表結(jié)構(gòu)和數(shù)據(jù))
1)為COURSE表添加一個主鍵約束;
2)創(chuàng)建SC表的主鍵約束和外鍵約束(一個列級和一個表級);
3)為S表的SSEX創(chuàng)建CHECK約束;
4)為S表創(chuàng)建一個合適的Notnull和unique惟一性約束;
(3)使用數(shù)據(jù)字典視圖
利用數(shù)據(jù)字典視圖查看數(shù)據(jù)庫對象的信息,如查看表、表空間信息和約束信息等。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié)。
實(shí)驗(yàn)二SQL函數(shù)與高級查詢
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握子查詢的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE語句中;
2、掌握多列子查詢和相關(guān)子查詢的使用;
3、掌握常用函數(shù)的使用方法;
4、掌握內(nèi)連接、外連接的查詢方法。
二、實(shí)驗(yàn)內(nèi)容和要求
第一部分:使用SQL語句完成以下查詢要求。
1、查詢每一部門的職工人數(shù),要求:
1)結(jié)果顯示部門號、部門名稱和職工人數(shù);2)部門表中的所有部門都要統(tǒng)計(jì)。
2、查詢其他部門中比10號部門所有職工工資都少的職工完整信息,至少用兩種
方法實(shí)現(xiàn)。
3、從emp表中查找出和3部門中任意一個雇員的薪水和崗位完全相同的雇員,
并顯示其姓名、部門編號、薪水和傭金,但是該雇員不能來自10部門。
4、查詢哪些部門的平均工資大于該全部職工的平均工資。(兩種方法:from子
句中的子查詢和相關(guān)的子查詢)
5、查詢工資第4高的員工的工號、姓名和薪水(假設(shè)SAL子段作了惟一限制。)
(提示:使用from子查詢語句、內(nèi)嵌視圖和ROWNUM偽列)
6、設(shè)計(jì)左外連接查詢、右外連接查詢和全外連接查詢。
第一部分的附加題部分:
1、查詢emp表中各部門職工數(shù)占全部人數(shù)的百分比
2、查詢工資低于本部門平均工資的員工信息
3、顯示與30部門任何雇員薪水及崗位相匹配的雇員的姓名、部門編號、薪水。
第二部分:
自己設(shè)計(jì)實(shí)例完成在CREATE,UPDATA,INSERT,DELETE語句中使用子查
詢的實(shí)踐;
三、實(shí)驗(yàn)報告
按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)三PL/SQL程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握PL/SQL程序設(shè)計(jì)的基本知識。
2、掌握PL/SQL中控制結(jié)構(gòu)的使用。具體包括:
選擇結(jié)構(gòu)(IF語句和CASE語句);
循環(huán)結(jié)構(gòu)(三種循環(huán)語句):
3、掌握PL/SQL中SELECT語句和DML語句的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、編寫匿名塊,查詢指定條件(如員工編號、姓名、部門、工作、工資、工資等
級等)的記錄并輸出;
2、編寫匿名塊,向表中插入一條記錄,數(shù)據(jù)由鍵盤輸入;
3、編寫匿名塊,修改表中的某些數(shù)據(jù);
4、修改3,更新條件、數(shù)據(jù)等由鍵盤輸入,對不同的條件,修改的數(shù)據(jù)不同(參
考例10.19);
5、編寫匿名塊,刪除表中的記錄;
6、修改5,條件由鍵盤輸入;
7、設(shè)計(jì)循環(huán)結(jié)構(gòu)的應(yīng)用處理;
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)四過程、函數(shù)和包
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握正確使用異常處理的方法;
2、掌握存儲過程、函數(shù)的正確使用方法;
3、掌握包的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1.創(chuàng)建一個過程,向DEPT插入一個新單位,只提供單位編號和單位名稱,部門
位置為空;
2.創(chuàng)建一個過程,修改DEPT中的某一單位的單位名稱,過程應(yīng)包括異常處理;
3.創(chuàng)建一函數(shù),以確認(rèn)指定的DEPTNO是否存在,返回BOOLEAN型值;
4.創(chuàng)建一個過程,新增一員工,調(diào)用上題函數(shù)判斷DEPTNO的存在,如果不存
在發(fā)出警告,員工各數(shù)據(jù)項(xiàng)均有默認(rèn)值;
5.將以上過程、函數(shù)加到包的定義中,并查看包的有關(guān)信息,參考例12.29;
6.調(diào)用包中的過程和函數(shù);
7.刪除以上過程、函數(shù)和包,并確認(rèn)。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)五觸發(fā)器
一、實(shí)驗(yàn)?zāi)康?/p>
1、理解觸發(fā)器的功能;
2、掌握正確使用觸發(fā)器的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建一個觸發(fā)器,禁止在非工作時間段更新員工信息(參考例:12.38),檢
驗(yàn)該觸發(fā)器并查看信息-參考例:12.40;
2、創(chuàng)建一個觸發(fā)器,當(dāng)員工的工資變化時,保存工資修改前后的值以及操作者、
修改日期到指定表(需自行建立),并檢驗(yàn);
3、修改1.觸發(fā)器,根據(jù)觸發(fā)事件的不同給出相應(yīng)錯誤信息并檢驗(yàn)(參考例:
12.46);
4、創(chuàng)建一個視圖,包含員工編號、姓名,工資和部門名稱,在該視圖上創(chuàng)建INSTEAD
OF觸發(fā)器,允許通過該視圖向基表EMP和DEPT插入數(shù)據(jù),對于DEPT表應(yīng)判斷
有否該部門名稱,有則不操作,無則新增該部門,部門號為最大部門號加1。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
《數(shù)據(jù)庫開發(fā)技術(shù)》
實(shí)驗(yàn)指導(dǎo)書
2010-2011學(xué)年第一學(xué)期
計(jì)算機(jī)0905-0906
福建工程學(xué)院信息科學(xué)與工程學(xué)院
軟件工程教研室陳宇
實(shí)驗(yàn)一Oracle常用管理工具和DDL實(shí)踐
一、實(shí)驗(yàn)?zāi)康?/p>
1、認(rèn)識并熟悉Oracle常用的管理工具:SQLPluSo
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的數(shù)據(jù)定義(DDL)語言,實(shí)現(xiàn)表的定義、刪除與修改。
4、掌握創(chuàng)建Oracle表各種約束的方式和方法。
5、掌握利用數(shù)據(jù)字典視圖查看各種有用信息的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、用Oracle的默認(rèn)用戶登錄到SQLPhis,并運(yùn)用該工具。
2、常用的SQL*Plus命令。
3、根據(jù)以下實(shí)驗(yàn)內(nèi)容的要求認(rèn)真填寫實(shí)驗(yàn)報告,記錄所有的實(shí)驗(yàn)用例。
⑴Oracle表的DDL實(shí)踐
設(shè)有如下關(guān)系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主關(guān)鍵字是SNO。
其中SNO為學(xué)號,NUMBER。),學(xué)號不能為空,值是惟一的;SNAME為
姓名,VARCHAR2(20);SSEX為性別,char(2);SAGE為年齡,NUMBER(2);
SDEPT為所在系名,VARCHAR2(10)o寫出實(shí)現(xiàn)下列功能的SQL語句。
1)創(chuàng)建此表、插入以下數(shù)據(jù)并提交數(shù)據(jù);
INSERTINTOSTUDENTVALUES(95001李明勇男',20,'CS');
INSERTINTOSTUDENTVALUESQSOOZ^^',kigjS);
INSERTINTOSTUDENTVALUES(95003,Rg',k',18,'MA');
INSERTINTOSTUDENTVALUES(95004,'張立',男',19,'CS');
INSERTINTO511^£可?丫八口^5(95005,'張軍','男',21,'乂人');
INSERTINTOSTUDENT丫人口^$(95006,'王張鳳','女',19開口);
INSERTINTOSTUDENTVALUES(95011王敬','女18,'IS');
INSERTINTOSTUDENTVALUES(9502"張名惠?男:19,'FL');
2)查看此表的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù);
3)向S表添加“入學(xué)時間(comedate)”列,其數(shù)據(jù)類型為日期型(date);
4)將年齡的數(shù)據(jù)類型改為NUMBER0)且默認(rèn)值為“夕,并查看這些修改后的表
結(jié)構(gòu);
5)截斷student表;
6)刪除生成的表S;
(2)創(chuàng)建約束,要求按普遍采用的約定為這些約束命名,約束創(chuàng)建后要進(jìn)行約束
測試。(參見所附的表結(jié)構(gòu)和數(shù)據(jù))
1)為COURSE表添加一個主鍵約束;
2)創(chuàng)建SC表的主鍵約束和外鍵約束(一個列級和一個表級);
3)為S表的SSEX創(chuàng)建CHECK約束;
4)為S表創(chuàng)建一個合適的Notnull和unique惟一性約束;
(3)使用數(shù)據(jù)字典視圖
利用數(shù)據(jù)字典視圖查看數(shù)據(jù)庫對象的信息,如查看表、表空間信息和約束信息等。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié)。
實(shí)驗(yàn)二SQL函數(shù)與高級查詢
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握子查詢的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE語句中;
2、掌握多列子查詢和相關(guān)子查詢的使用;
3、掌握常用函數(shù)的使用方法;
4、掌握內(nèi)連接、外連接的查詢方法。
二、實(shí)驗(yàn)內(nèi)容和要求
第一部分:使用SQL語句完成以下查詢要求。
1、查詢每一部門的職工人數(shù),要求:
1)結(jié)果顯示部門號、部門名稱和職工人數(shù);2)部門表中的所有部門都要統(tǒng)計(jì)。
2、查詢其他部門中比10號部門所有職工工資都少的職工完整信息,至少用兩種
方法實(shí)現(xiàn)。
3、從emp表中查找出和3部門中任意一個雇員的薪水和崗位完全相同的雇員,
并顯示其姓名、部門編號、薪水和傭金,但是該雇員不能來自10部門。
4、查詢哪些部門的平均工資大于該全部職工的平均工資。(兩種方法:from子
句中的子查詢和相關(guān)的子查詢)
5、查詢工資第4高的員工的工號、姓名和薪水(假設(shè)SAL子段作了惟一限制。)
(提示:使用from子查詢語句、內(nèi)嵌視圖和ROWNUM偽列)
6、設(shè)計(jì)左外連接查詢、右外連接查詢和全外連接查詢。
第一部分的附加題部分:
1、查詢emp表中各部門職工數(shù)占全部人數(shù)的百分比
2、查詢工資低于本部門平均工資的員工信息
3、顯示與30部門任何雇員薪水及崗位相匹配的雇員的姓名、部門編號、薪水。
第二部分:
自己設(shè)計(jì)實(shí)例完成在CREATE,UPDATA,INSERT,DELETE語句中使用子查
詢的實(shí)踐;
三、實(shí)驗(yàn)報告
按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)三對象管理與控制訪問
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握表、視圖、序列、索引等數(shù)據(jù)庫對象的管理;
2、掌握對用戶訪問數(shù)據(jù)庫的權(quán)限的控制。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建用戶,密碼修改;
2、授權(quán)給用戶,驗(yàn)證用戶權(quán)限(連接數(shù)據(jù)庫、建表、查詢、更新等);
3、在數(shù)據(jù)字典中查看用戶權(quán)限;
4、新建表,設(shè)置約束;對已有表進(jìn)行添加、刪除、禁用、啟用約束;
5、修改表結(jié)構(gòu)、查詢表的基本信息;
6、建索引及查看索引信息;
7、建視圖、使用視圖、查看索引信息掌握插入、刪除和更新表中數(shù)據(jù)的方法。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)四PL/SQL程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握PL/SQL程序設(shè)計(jì)的基本知識。
2、掌握PL/SQL中控制結(jié)構(gòu)的使用。具體包括:
選擇結(jié)構(gòu)(IF語句和CASE語句);
循環(huán)結(jié)構(gòu)(三種循環(huán)語句):
3、掌握PL/SQL中SELECT語句和DML語句的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、編寫匿名塊,查詢指定條件(如員工編號、姓名、部門、工作、工資、工資等
級等)的記錄并輸出;
2、編寫匿名塊,向表中插入一條記錄,數(shù)據(jù)由鍵盤輸入;
3、編寫匿名塊,修改表中的某些數(shù)據(jù);
4、修改3,更新條件、數(shù)據(jù)等由鍵盤輸入,對不同的條件,修改的數(shù)據(jù)不同(參
考例10.19);
5、編寫匿名塊,刪除表中的記錄;
6、修改5,條件由鍵盤輸入;
7、設(shè)計(jì)循環(huán)結(jié)構(gòu)的應(yīng)用處理;
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)五異常處理
一、實(shí)驗(yàn)?zāi)康?/p>
掌握正確使用異常處理的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、檢索指定編號的員工,有則輸出員工的編號、姓名、工作、受雇日期、工資、
部門號,加入異常處理;
2、測試被0除的異常處理例:10.30;
3、參考例:10.34,刪除某一部門信息的異常處理;
4、參考例:10.35,增加一員工,處理其部門編號沒有出現(xiàn)在dept表中的情況;
5、自定義異常處理:插入一個員工記錄,設(shè)定工資超過6000時異常。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)六游標(biāo)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握游標(biāo)和參數(shù)化游標(biāo)的使用方法;
2、掌握游標(biāo)FOR循環(huán)、SELECT-FORUPDATE游標(biāo)和WHERECURRENTOF子句的
使用方法
二、實(shí)驗(yàn)內(nèi)容和要求
1.依次檢索所有的員工,逐條輸出員工的編號、姓名、工作、受雇日期、工資、
部門號,每各員工信息都應(yīng)包括行頭“編號姓名工作受雇日期工資
部門號”
2.修改1,增加一項(xiàng)管理者姓名,修改部門號的信息為部門名稱
3.輸出指定部門編號的員工信息,部門編號由鍵盤輸入,輸出信息參考要求1
4.利用游標(biāo)更新10部門員工的工資,工資在1000以下的增加15%,1001-1500的
增加10%,1501-3000的增加5%,3000以上不變
5.輸出各部門及其所有員工的信息,格式如下:
部I1號:...部門名稱:...
編號姓名工作受雇日期工資
7369JOHNCLERK......
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)七過程、函數(shù)和包
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握正確使用異常處理的方法;
2、掌握存儲過程、函數(shù)的正確使用方法;
3、掌握包的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建一個過程,向DEPT插入一個新單位,只提供單位編號和單位名稱,部
門位置為空;
2、創(chuàng)建一個過程,修改DEPT中的某一單位的單位名稱,過程應(yīng)包括異常處理;
3、創(chuàng)建一函數(shù),以確認(rèn)指定的DEPTNO是否存在,返回BOOLEAN型值;
4、創(chuàng)建一個過程,新增一員工,調(diào)用上題函數(shù)判斷DEPTNO的存在,如果不存
在發(fā)出警告,員工各數(shù)據(jù)項(xiàng)均有默認(rèn)值;
5、將以上過程、函數(shù)加到包的定義中,并查看包的有關(guān)信息,參考例12.29;
6、調(diào)用包中的過程和函數(shù);
7、刪除以上過程、函數(shù)和包,并確認(rèn)。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)八觸發(fā)器
一、實(shí)驗(yàn)?zāi)康?/p>
1、理解觸發(fā)器的功能;
2、掌握正確使用觸發(fā)器的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建一個觸發(fā)器,禁止在非工作時間段更新員工信息(參考例:12.38),檢
驗(yàn)該觸發(fā)器并查看信息-參考例:12.40;
2、創(chuàng)建一個觸發(fā)器,當(dāng)員工的工資變化時,保存工資修改前后的值以及操作者、
修改日期到指定表(需自行建立),并檢驗(yàn);
3、修改1.觸發(fā)器,根據(jù)觸發(fā)事件的不同給出相應(yīng)錯誤信息并檢驗(yàn)(參考例:
12.46);
4、創(chuàng)建一個視圖,包含員工編號、姓名,工資和部門名稱,在該視圖上創(chuàng)建INSTEAD
OF觸發(fā)器,允許通過該視圖向基表EMP和DEPT插入數(shù)據(jù),對于DEPT表應(yīng)判斷
有否該部門名稱,有則不操作,無則新增該部門,部門號為最大部門號加1。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
《數(shù)據(jù)庫開發(fā)技術(shù)》
實(shí)驗(yàn)指導(dǎo)書
2010-2011學(xué)年第二學(xué)期
計(jì)算機(jī)0801-0804
福建工程學(xué)院信息科學(xué)與工程學(xué)院
軟件工程教研室陳宇
實(shí)驗(yàn)一Oracle常用管理工具和DDL實(shí)踐
一、實(shí)驗(yàn)?zāi)康?/p>
1、認(rèn)識并熟悉Oracle常用的管理工具:SQLPluso
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的數(shù)據(jù)定義(DDL)語言,實(shí)現(xiàn)表的定義、刪除與修改。
4、掌握創(chuàng)建Oracle表各種約束的方式和方法。
5、掌握利用數(shù)據(jù)字典視圖查看各種有用信息的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、用Oracle的默認(rèn)用戶登錄到SQLPlus,并運(yùn)用該工具。
2、常用的SQL*Plus命令。
3、根據(jù)以下實(shí)驗(yàn)內(nèi)容的要求認(rèn)真填寫實(shí)驗(yàn)報告,記錄所有的實(shí)驗(yàn)用例。
(1)Oracle表的DDL實(shí)踐
設(shè)有如下關(guān)系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主關(guān)鍵字是SNO。
其中SNO為學(xué)號,NUMBER(5),學(xué)號不能為空,值是惟一的;SNAME為
姓名,VARCHAR2(20);SSEX為性別,char(2);SAGE為年齡,NUMBER(2);
SDEPT為所在系名,VARCHAR2(10)o寫出實(shí)現(xiàn)下列功能的SQL語句。
I)創(chuàng)建此表、插入以下數(shù)據(jù)并提交數(shù)據(jù);
INSERTINTOSTUDENTVALUES(95001:李明勇?男,,20,'CS');
INSERTINTOSTUDENTVALUES(95002:劉晨?女,,19,'IS');
INSERTINTOSTUDENTVALUES(95003,^g',k',18,'MA');
INSERTINTOSTUDENTVALUES(95004,‘張立','男',19,'CS');
INSERTINTO511;口£?<1'丫人口^5(95005,'張軍','男',21,'乂人');
INSERTINTO51'1;口£N1'丫人口;£5(95006,'王張鳳','女',19,下。);
INSERTINTOSTUDENTVALUES(95011:王敬,,女,18,'IS');
INSERTINTOSTUDENTVALUES(95021,'張名惠男'』9,'FL');
2)查看此表的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù);
3)向S表添加“入學(xué)時間(comedate)”列,其數(shù)據(jù)類型為日期型(date);
4)將年齡的數(shù)據(jù)類型改為NUMBER0)且默認(rèn)值為“夕,并查看這些修改后的表
結(jié)構(gòu);
5)截斷student表;
6)刪除生成的表S;
(2)創(chuàng)建約束,要求按普遍采用的約定為這些約束命名,約束創(chuàng)建后要進(jìn)行約束
測試。(參見所附的表結(jié)構(gòu)和數(shù)據(jù))
1)為COURSE表添加一個主鍵約束;
2)創(chuàng)建SC表的主鍵約束和外鍵約束(一個列級和一個表級);
3)為S表的SSEX創(chuàng)建CHECK約束;
4)為S表創(chuàng)建一個合適的Notnull和unique惟一性約束;
(3)使用數(shù)據(jù)字典視圖
利用數(shù)據(jù)字典視圖查看數(shù)據(jù)庫對象的信息,如查看表、表空間信息和約束信息等。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié)。
實(shí)驗(yàn)二SQL函數(shù)與高級查詢
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握子查詢的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE語句中;
2、掌握多列子查詢和相關(guān)子查詢的使用;
3、掌握常用函數(shù)的使用方法;
4、掌握內(nèi)連接、外連接的查詢方法。
二、實(shí)驗(yàn)內(nèi)容和要求
第一部分:使用SQL語句完成以下查詢要求。
1、查詢每一部門的職工人數(shù),要求:
1)結(jié)果顯示部門號、部門名稱和職工人數(shù);2)部門表中的所有部門都要統(tǒng)計(jì)。
2、查詢其他部門中比10號部門所有職工工資都少的職工完整信息,至少用兩種
方法實(shí)現(xiàn)。
3、從emp表中查找出和3部門中任意一個雇員的薪水和崗位完全相同的雇員,
并顯示其姓名、部門編號、薪水和傭金,但是該雇員不能來自10部門。
4、查詢哪些部門的平均工資大于該全部職工的平均工資。(兩種方法:from子
句中的子查詢和相關(guān)的子查詢)
5、查詢工資第4高的員工的工號、姓名和薪水(假設(shè)SAL子段作了惟一限制。)
(提示:使用from子查詢語句、內(nèi)嵌視圖和ROWNUM偽列)
6、設(shè)計(jì)左外連接查詢、右外連接查詢和全外連接查詢。
第一部分的附加題部分:
1、查詢emp表中各部門職工數(shù)占全部人數(shù)的百分比
2、查詢工資低于本部門平均工資的員工信息
3、顯示與30部門任何雇員薪水及崗位相匹配的雇員的姓名、部門編號、薪水。
第二部分:
自己設(shè)計(jì)實(shí)例完成在CREATE,UPDATA,INSERT,DELETE語句中使用子查
詢的實(shí)踐;
三、實(shí)驗(yàn)報告
按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)三PL/SQL程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握PL/SQL程序設(shè)計(jì)的基本知識。
2、掌握PL/SQL中控制結(jié)構(gòu)的使用。具體包括:
選擇結(jié)構(gòu)(IF語句和CASE語句);
循環(huán)結(jié)構(gòu)(三種循環(huán)語句):
3、掌握PL/SQL中SELECT語句和DML語句的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、編寫匿名塊,查詢指定條件(如員工編號、姓名、部門、工作、工資、工資等
級等)的記錄并輸出;
2、編寫匿名塊,向表中插入一條記錄,數(shù)據(jù)由鍵盤輸入;
3、編寫匿名塊,修改表中的某些數(shù)據(jù);
4、修改3,更新條件、數(shù)據(jù)等由鍵盤輸入,對不同的條件,修改的數(shù)據(jù)不同(參
考例10.19);
5、編寫匿名塊,刪除表中的記錄;
6、修改5,條件由鍵盤輸入;
7、設(shè)計(jì)循環(huán)結(jié)構(gòu)的應(yīng)用處理;
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)四過程、函數(shù)和包
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握正確使用異常處理的方法;
2、掌握存儲過程、函數(shù)的正確使用方法;
3、掌握包的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1.創(chuàng)建一個過程,向DEPT插入一個新單位,只提供單位編號和單位名稱,部門
位置為空;
2.創(chuàng)建一個過程,修改DEPT中的某一單位的單位名稱,過程應(yīng)包括異常處理;
3.創(chuàng)建一函數(shù),以確認(rèn)指定的DEPTNO是否存在,返回BOOLEAN型值;
4.創(chuàng)建一個過程,新增一員工,調(diào)用上題函數(shù)判斷DEPTNO的存在,如果不存
在發(fā)出警告,員工各數(shù)據(jù)項(xiàng)均有默認(rèn)值;
5.將以上過程、函數(shù)加到包的定義中,并查看包的有關(guān)信息,參考例12.29;
6.調(diào)用包中的過程和函數(shù);
7.刪除以上過程、函數(shù)和包,并確認(rèn)。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)五觸發(fā)器
一、實(shí)驗(yàn)?zāi)康?/p>
1、理解觸發(fā)器的功能;
2、掌握正確使用觸發(fā)器的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建一個觸發(fā)器,禁止在非工作時間段更新員工信息(參考例:12.38),檢
驗(yàn)該觸發(fā)器并查看信息-參考例:12.40;
2、創(chuàng)建一個觸發(fā)器,當(dāng)員工的工資變化時,保存工資修改前后的值以及操作者、
修改日期到指定表(需自行建立),并檢驗(yàn);
3、修改1.觸發(fā)器,根據(jù)觸發(fā)事件的不同給出相應(yīng)錯誤信息并檢驗(yàn)(參考例:
12.46);
4、創(chuàng)建一個視圖,包含員工編號、姓名,工資和部門名稱,在該視圖上創(chuàng)建INSTEAD
OF觸發(fā)器,允許通過該視圖向基表EMP和DEPT插入數(shù)據(jù),對于DEPT表應(yīng)判斷
有否該部門名稱,有則不操作,無則新增該部門,部門號為最大部門號加1。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
《數(shù)據(jù)庫開發(fā)技術(shù)》
實(shí)驗(yàn)指導(dǎo)書
2011-2012學(xué)年第一學(xué)期
計(jì)算機(jī)1005-1006
福建工程學(xué)院信息科學(xué)與工程學(xué)院
軟件工程教研室陳宇
實(shí)驗(yàn)一Oracle常用管理工具和DDL實(shí)踐
一、實(shí)驗(yàn)?zāi)康?/p>
1、認(rèn)識并熟悉Oracle常用的管理工具:SQLPlus。
2、熟悉常用的SQL*PIus命令。
3、掌握Oracle表的數(shù)據(jù)定義(DDL)語言,實(shí)現(xiàn)表的定義、刪除與修改。
4、掌握創(chuàng)建Oracle表各種約束的方式和方法。
5、掌握利用數(shù)據(jù)字典視圖查看各種有用信息的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、用Oracle的默認(rèn)用戶登錄到SQLPlus,并運(yùn)用該工具。
2、常用的SQL*Plus命令。
3、根據(jù)以下實(shí)驗(yàn)內(nèi)容的要求認(rèn)真填寫實(shí)驗(yàn)報告,記錄所有的實(shí)驗(yàn)用例。
(1)Oracle表的DDL實(shí)踐
設(shè)有如下關(guān)系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主關(guān)鍵字是SNO。
其中SNO為學(xué)號,NUMBER(5),學(xué)號不能為空,值是惟一的;SNAME為
姓名,VARCHAR2(20);SSEX為性別,char(2);SAGE為年齡,NUMBER(2);
SDEPT為所在系名,VARCHAR2(10)o寫出實(shí)現(xiàn)下列功能的SQL語句。
1)創(chuàng)建此表、插入以下數(shù)據(jù)并提交數(shù)據(jù);
INSERTINTOSTUDENTVALUES(95001:李明勇?男;20,'CS');
INSERTINTOSTUDENTVALUES(95002,‘劉晨','女
INSERTINTOSTUDENTVALUES(95003,Rg',k',18,'MA');
INSERTINTOSTUDENTVALUES(95004,'張立','男',19,'CS');
INSERTINTO51'1;口£?41'丫人1^£5(95005,'張軍','男',21,附人');
INSERTINTO511兀)£?41丫人口_;£$(95006,'王張鳳','女',19開17);
INSERTINTOSTUDENTVALUES(95011王敬','女18,'IS');
INSERTINTOSTUDENTVALUES(95021,‘張名惠男)19,'FL');
2)查看此表的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù);
3)向S表添加“入學(xué)時間(comedate)”列,其數(shù)據(jù)類型為日期型(date);
4)將年齡的數(shù)據(jù)類型改為NUMBER(3)且默認(rèn)值為"夕,并查看這些修改后的表
結(jié)構(gòu);
5)截斷student表;
6)刪除生成的表S;
(2)創(chuàng)建約束,要求按普遍采用的約定為這些約束命名,約束創(chuàng)建后要進(jìn)行約束
測試。(參見所附的表結(jié)構(gòu)和數(shù)據(jù))
1)為COURSE表添加一個主鍵約束;
2)創(chuàng)建SC表的主鍵約束和外鍵約束(一個列級和一個表級);
3)為S表的SSEX創(chuàng)建CHECK約束;
4)為S表創(chuàng)建一個合適的Notnull和unique惟一性約束;
(3)使用數(shù)據(jù)字典視圖
利用數(shù)據(jù)字典視圖查看數(shù)據(jù)庫對象的信息,如查看表、表空間信息和約束信息等。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié)。
實(shí)驗(yàn)二連接查詢與子查詢
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握子查詢的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE語句中;
2、掌握多列子查詢和相關(guān)子查詢的使用;
3、掌握TOP-N的使用方法;
4、掌握內(nèi)連接、外連接的查詢方法。
二、實(shí)驗(yàn)內(nèi)容和要求
第一部分:使用SQL語句完成以下查詢要求。
1、查詢每一部門的職工人數(shù),要求:
1)結(jié)果顯示部門號、部門名稱和職工人數(shù);2)部門表中的所有部門都要統(tǒng)計(jì)。
2、查詢其他部門中比10號部門所有職工工資都少的職工完整信息,至少用兩種
方法實(shí)現(xiàn)。
3、從emp表中查找出和3部門中任意一個雇員的薪水和崗位完全相同的雇員,
并顯示其姓名、部門編號、薪水和傭金,但是該雇員不能來自10部門。
4、查詢哪些部門的平均工資大于該全部職工的平均工資。(兩種方法:from子
句中的子查詢和相關(guān)的子查詢)
5、查詢工資第4高的員工的工號、姓名和薪水(假設(shè)SAL子段作了惟一限制。)
(提示:使用from子查詢語句、內(nèi)嵌視圖和ROWNUM偽列)
6、設(shè)計(jì)左外連接查詢、右外連接查詢和全外連接查詢。
第一部分的附加題部分:
1、查詢emp表中各部門職工數(shù)占全部人數(shù)的百分比
2、查詢工資低于本部門平均工資的員工信息
3、顯示與30部門任何雇員薪水及崗位相匹配的雇員的姓名、部門編號、薪水。
第二部分:
自己設(shè)計(jì)實(shí)例完成在CREATE,UPDATA,INSERT,DELETE語句中使用子查
詢的實(shí)踐;
三、實(shí)驗(yàn)報告
按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)三數(shù)據(jù)庫對象與控制訪問
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握表、視圖、序列、索引等數(shù)據(jù)庫對象的管理;
2、掌握對用戶訪問數(shù)據(jù)庫的權(quán)限的控制。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建用戶,密碼修改;
2、授權(quán)給用戶,驗(yàn)證用戶權(quán)限(連接數(shù)據(jù)庫、建表、查詢、更新等);
3、在數(shù)據(jù)字典中查看用戶權(quán)限;
4、新建表,設(shè)置約束;對已有表進(jìn)行添加、刪除、禁用、啟用約束;
5、修改表結(jié)構(gòu)、查詢表的基本信息;
6、建索引及查看索引信息;
7、建視圖、使用視圖、查看索引信息掌握插入、刪除和更新表中數(shù)據(jù)的方法。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)四PL/SQL程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握PL/SQL程序設(shè)計(jì)的基本知識。
2、掌握PL/SQL中控制結(jié)構(gòu)的使用。具體包括:
選擇結(jié)構(gòu)(IF語句和CASE語句);
循環(huán)結(jié)構(gòu)(三種循環(huán)語句):
3、掌握PL/SQL中SELECT語句和DML語句的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、編寫匿名塊,查詢指定條件(如員工編號、姓名、部門、工作、工資、工資等
級等)的記錄并輸出;
2、編寫匿名塊,向表中插入一條記錄,數(shù)據(jù)由鍵盤輸入;
3、編寫匿名塊,修改表中的某些數(shù)據(jù);
4、修改3,更新條件、數(shù)據(jù)等由鍵盤輸入,對不同的條件,修改的數(shù)據(jù)不同(參
考例10.19);
5、編寫匿名塊,刪除表中的記錄;
6、修改5,條件由鍵盤輸入;
7、設(shè)計(jì)循環(huán)結(jié)構(gòu)的應(yīng)用處理;
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)五游標(biāo)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握游標(biāo)和參數(shù)化游標(biāo)的使用方法;
2、掌握游標(biāo)FOR循環(huán)、SELECT-FORUPDATE游標(biāo)和WHERECURRENTOF子句的
使用方法
二、實(shí)驗(yàn)內(nèi)容和要求
1.依次檢索所有的員工,逐條輸出員工的編號、姓名、工作、受雇日期、工資、
部門號,每各員工信息都應(yīng)包括行頭“編號姓名工作受雇日期工資
部門號”
2.修改1,增加一項(xiàng)管理者姓名,修改部門號的信息為部門名稱
3.輸出指定部門編號的員工信息,部門編號由鍵盤輸入,輸出信息參考要求1
4.利用游標(biāo)更新10部門員工的工資,工資在1000以下的增加15%,1001-1500的
增加10%,1501-3000的增加5%,3000以上不變
5.輸出各部門及其所有員工的信息,格式如下:
部I1號:...部門名稱:...
編號姓名工作受雇日期工資
7369JOHNCLERK......
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)六異常處理
一、實(shí)驗(yàn)?zāi)康?/p>
掌握正確使用異常處理的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、檢索指定編號的員工,有則輸出員工的編號、姓名、工作、受雇日期、工資、
部門號,加入異常處理;
2、測試被0除的異常處理例:10.30;
3、參考例:10.34,刪除某一部門信息的異常處理;
4、參考例:10.35,增加一員工,處理其部門編號沒有出現(xiàn)在dept表中的情況;
5、自定義異常處理:插入一個員工記錄,設(shè)定工資超過6000時異常。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)七過程、函數(shù)和包
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握正確使用異常處理的方法;
2、掌握存儲過程、函數(shù)的正確使用方法;
3、掌握包的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建一個過程,向DEPT插入一個新單位,只提供單位編號和單位名稱,部
門位置為空;
2、創(chuàng)建一個過程,修改DEPT中的某一單位的單位名稱,過程應(yīng)包括異常處理;
3、創(chuàng)建一函數(shù),以確認(rèn)指定的DEPTNO是否存在,返回BOOLEAN型值;
4、創(chuàng)建一個過程,新增一員工,調(diào)用上題函數(shù)判斷DEPTNO的存在,如果不存
在發(fā)出警告,員工各數(shù)據(jù)項(xiàng)均有默認(rèn)值;
5、將以上過程、函數(shù)加到包的定義中,并查看包的有關(guān)信息,參考例12.29;
6、調(diào)用包中的過程和函數(shù);
7、刪除以上過程、函數(shù)和包,并確認(rèn)。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)八觸發(fā)器
一、實(shí)驗(yàn)?zāi)康?/p>
1、理解觸發(fā)器的功能;
2、掌握正確使用觸發(fā)器的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建一個觸發(fā)器,禁止在非工作時間段更新員工信息(參考例:12.38),檢
驗(yàn)該觸發(fā)器并查看信息-參考例:12.40;
2、創(chuàng)建一個觸發(fā)器,當(dāng)員工的工資變化時,保存工資修改前后的值以及操作者、
修改日期到指定表(需自行建立),并檢驗(yàn);
3、修改1.觸發(fā)器,根據(jù)觸發(fā)事件的不同給出相應(yīng)錯誤信息并檢驗(yàn)(參考例:
12.46);
4、創(chuàng)建一個視圖,包含員工編號、姓名,工資和部門名稱,在該視圖上創(chuàng)建INSTEAD
OF觸發(fā)器,允許通過該視圖向基表EMP和DEPT插入數(shù)據(jù),對于DEPT表應(yīng)判斷
有否該部門名稱,有則不操作,無則新增該部門,部門號為最大部門號加1。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
《數(shù)據(jù)庫開發(fā)技術(shù)》
實(shí)驗(yàn)指導(dǎo)書
2011-2012學(xué)年第一學(xué)期
信管0801-0802
福建工程學(xué)院信息科學(xué)與工程學(xué)院
軟件工程教研室陳宇
實(shí)驗(yàn)一Oracle常用管理工具和DDL實(shí)踐
一、實(shí)驗(yàn)?zāi)康?/p>
1、認(rèn)識并熟悉Oracle常用的管理工具:SQLPluSo
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的數(shù)據(jù)定義(DDL)語言,實(shí)現(xiàn)表的定義、刪除與修改。
4、掌握創(chuàng)建Oracle表各種約束的方式和方法。
5、掌握利用數(shù)據(jù)字典視圖查看各種有用信息的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、用Oracle的默認(rèn)用戶登錄到SQLPhis,并運(yùn)用該工具。
2、常用的SQL*Plus命令。
3、根據(jù)以下實(shí)驗(yàn)內(nèi)容的要求認(rèn)真填寫實(shí)驗(yàn)報告,記錄所有的實(shí)驗(yàn)用例。
⑴Oracle表的DDL實(shí)踐
設(shè)有如下關(guān)系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主關(guān)鍵字是SNO。
其中SNO為學(xué)號,NUMBER。),學(xué)號不能為空,值是惟一的;SNAME為
姓名,VARCHAR2(20);SSEX為性別,char(2);SAGE為年齡,NUMBER(2);
SDEPT為所在系名,VARCHAR2(10)o寫出實(shí)現(xiàn)下列功能的SQL語句。
1)創(chuàng)建此表、插入以下數(shù)據(jù)并提交數(shù)據(jù);
INSERTINTOSTUDENTVALUES(95001李明勇男',20,'CS');
INSERTINTOSTUDENTVALUESQSOOZ^^',kigjS);
INSERTINTOSTUDENTVALUES(95003,Rg',k',18,'MA');
INSERTINTOSTUDENTVALUES(95004,'張立',男',19,'CS');
INSERTINTO511^£可?丫八口^5(95005,'張軍','男',21,'乂人');
INSERTINTOSTUDENT丫人口^$(95006,'王張鳳','女',19開口);
INSERTINTOSTUDENTVALUES(95011王敬','女18,'IS');
INSERTINTOSTUDENTVALUES(9502"張名惠?男:19,'FL');
2)查看此表的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù);
3)向S表添加“入學(xué)時間(comedate)”列,其數(shù)據(jù)類型為日期型(date);
4)將年齡的數(shù)據(jù)類型改為NUMBER0)且默認(rèn)值為“夕,并查看這些修改后的表
結(jié)構(gòu);
5)截斷student表;
6)刪除生成的表S;
(2)創(chuàng)建約束,要求按普遍采用的約定為這些約束命名,約束創(chuàng)建后要進(jìn)行約束
測試。(參見所附的表結(jié)構(gòu)和數(shù)據(jù))
1)為COURSE表添加一個主鍵約束;
2)創(chuàng)建SC表的主鍵約束和外鍵約束(一個列級和一個表級);
3)為S表的SSEX創(chuàng)建CHECK約束;
4)為S表創(chuàng)建一個合適的Notnull和unique惟一性約束;
(3)使用數(shù)據(jù)字典視圖
利用數(shù)據(jù)字典視圖查看數(shù)據(jù)庫對象的信息,如查看表、表空間信息和約束信息等。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié)。
實(shí)驗(yàn)二連接查詢與子查詢
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握子查詢的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE語句中;
2、掌握多列子查詢和相關(guān)子查詢的使用;
3、掌握TOP-N的使用方法;
4、掌握內(nèi)連接、外連接的查詢方法。
二、實(shí)驗(yàn)內(nèi)容和要求
第一部分:使用SQL語句完成以下查詢要求。
1、查詢每一部門的職工人數(shù),要求:
1)結(jié)果顯示部門號、部門名稱和職工人數(shù);2)部門表中的所有部門都要統(tǒng)計(jì)。
2、查詢其他部門中比10號部門所有職工工資都少的職工完整信息,至少用兩種
方法實(shí)現(xiàn)。
3、從emp表中查找出和3部門中任意一個雇員的薪水和崗位完全相同的雇員,
并顯示其姓名、部門編號、薪水和傭金,但是該雇員不能來自10部門。
4、查詢哪些部門的平均工資大于該全部職工的平均工資。(兩種方法:from子
句中的子查詢和相關(guān)的子查詢)
5、查詢工資第4高的員工的工號、姓名和薪水(假設(shè)SAL子段作了惟一限制。)
(提示:使用from子查詢語句、內(nèi)嵌視圖和ROWNUM偽列)
6、設(shè)計(jì)左外連接查詢、右外連接查詢和全外連接查詢。
第一部分的附加題部分:
1、查詢emp表中各部門職工數(shù)占全部人數(shù)的百分比
2、查詢工資低于本部門平均工資的員工信息
3、顯示與30部門任何雇員薪水及崗位相匹配的雇員的姓名、部門編號、薪水。
第二部分:
自己設(shè)計(jì)實(shí)例完成在CREATE,UPDATA,INSERT,DELETE語句中使用子查
詢的實(shí)踐;
三、實(shí)驗(yàn)報告
按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)三PL/SQL程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握PL/SQL程序設(shè)計(jì)的基本知識。
2、掌握PL/SQL中控制結(jié)構(gòu)的使用。具體包括:
選擇結(jié)構(gòu)(IF語句和CASE語句);
循環(huán)結(jié)構(gòu)(三種循環(huán)語句):
3、掌握PL/SQL中SELECT語句和DML語句的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、編寫匿名塊,查詢指定條件(如員工編號、姓名、部門、工作、工資、工資等
級等)的記錄并輸出;
2、編寫匿名塊,向表中插入一條記錄,數(shù)據(jù)由鍵盤輸入;
3、編寫匿名塊,修改表中的某些數(shù)據(jù);
4、修改3,更新條件、數(shù)據(jù)等由鍵盤輸入,對不同的條件,修改的數(shù)據(jù)不同(參
考例10.19);
5、編寫匿名塊,刪除表中的記錄;
6、修改5,條件由鍵盤輸入;
7、設(shè)計(jì)循環(huán)結(jié)構(gòu)的應(yīng)用處理;
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)四過程、函數(shù)和包
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握正確使用異常處理的方法;
2、掌握存儲過程、函數(shù)的正確使用方法;
3、掌握包的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1.創(chuàng)建一個過程,向DEPT插入一個新單位,只提供單位編號和單位名稱,部門
位置為空;
2.創(chuàng)建一個過程,修改DEPT中的某一單位的單位名稱,過程應(yīng)包括異常處理;
3.創(chuàng)建一函數(shù),以確認(rèn)指定的DEPTNO是否存在,返回BOOLEAN型值;
4.創(chuàng)建一個過程,新增一員工,調(diào)用上題函數(shù)判斷DEPTNO的存在,如果不存
在發(fā)出警告,員工各數(shù)據(jù)項(xiàng)均有默認(rèn)值;
5.將以上過程、函數(shù)加到包的定義中,并查看包的有關(guān)信息,參考例12.29;
6.調(diào)用包中的過程和函數(shù);
7.刪除以上過程、函數(shù)和包,并確認(rèn)。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)五觸發(fā)器
一、實(shí)驗(yàn)?zāi)康?/p>
1、理解觸發(fā)器的功能;
2、掌握正確使用觸發(fā)器的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建一個觸發(fā)器,禁止在非工作時間段更新員工信息(參考例:12.38),檢
驗(yàn)該觸發(fā)器并查看信息-參考例:12.40;
2、創(chuàng)建一個觸發(fā)器,當(dāng)員工的工資變化時,保存工資修改前后的值以及操作者、
修改日期到指定表(需自行建立),并檢驗(yàn);
3、修改1.觸發(fā)器,根據(jù)觸發(fā)事件的不同給出相應(yīng)錯誤信息并檢驗(yàn)(參考例:
12.46);
4、創(chuàng)建一個視圖,包含員工編號、姓名,工資和部門名稱,在該視圖上創(chuàng)建INSTEAD
OF觸發(fā)器,允許通過該視圖向基表EMP和DEPT插入數(shù)據(jù),對于DEPT表應(yīng)判斷
有否該部門名稱,有則不操作,無則新增該部門,部門號為最大部門號加1。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
《數(shù)據(jù)庫開發(fā)技術(shù)》
實(shí)驗(yàn)指導(dǎo)書
2011-2012學(xué)年第二學(xué)期
計(jì)算機(jī)0901-0904,網(wǎng)絡(luò)工程0901-0902
福建工程學(xué)院信息科學(xué)與工程學(xué)院
軟件工程教研室陳宇
實(shí)驗(yàn)一Oracle常用管理工具和DDL實(shí)踐
一、實(shí)驗(yàn)?zāi)康?/p>
1、認(rèn)識并熟悉Oracle常用的管理工具:SQLPluSo
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的數(shù)據(jù)定義(DDL)語言,實(shí)現(xiàn)表的定義、刪除與修改。
4、掌握創(chuàng)建Oracle表各種約束的方式和方法。
5、掌握利用數(shù)據(jù)字典視圖查看各種有用信息的方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、用Oracle的默認(rèn)用戶登錄到SQLPhis,并運(yùn)用該工具。
2、常用的SQL*Plus命令。
3、根據(jù)以下實(shí)驗(yàn)內(nèi)容的要求認(rèn)真填寫實(shí)驗(yàn)報告,記錄所有的實(shí)驗(yàn)用例。
⑴Oracle表的DDL實(shí)踐
設(shè)有如下關(guān)系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主關(guān)鍵字是SNO。
其中SNO為學(xué)號,NUMBER。),學(xué)號不能為空,值是惟一的;SNAME為
姓名,VARCHAR2(20);SSEX為性別,char(2);SAGE為年齡,NUMBER(2);
SDEPT為所在系名,VARCHAR2(10)o寫出實(shí)現(xiàn)下列功能的SQL語句。
1)創(chuàng)建此表、插入以下數(shù)據(jù)并提交數(shù)據(jù);
INSERTINTOSTUDENTVALUES(95001李明勇男',20,'CS');
INSERTINTOSTUDENTVALUESQSOOZ^^',kigjS);
INSERTINTOSTUDENTVALUES(95003,Rg',k',18,'MA');
INSERTINTOSTUDENTVALUES(95004,'張立',男',19,'CS');
INSERTINTO511^£可?丫八口^5(95005,'張軍','男',21,'乂人');
INSERTINTOSTUDENT丫人口^$(95006,'王張鳳','女',19開口);
INSERTINTOSTUDENTVALUES(95011王敬','女18,'IS');
INSERTINTOSTUDENTVALUES(9502"張名惠?男:19,'FL');
2)查看此表的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù);
3)向S表添加“入學(xué)時間(comedate)”列,其數(shù)據(jù)類型為日期型(date);
4)將年齡的數(shù)據(jù)類型改為NUMBER0)且默認(rèn)值為“夕,并查看這些修改后的表
結(jié)構(gòu);
5)截斷student表;
6)刪除生成的表S;
(2)創(chuàng)建約束,要求按普遍采用的約定為這些約束命名,約束創(chuàng)建后要進(jìn)行約束
測試。(參見所附的表結(jié)構(gòu)和數(shù)據(jù))
1)為COURSE表添加一個主鍵約束;
2)創(chuàng)建SC表的主鍵約束和外鍵約束(一個列級和一個表級);
3)為S表的SSEX創(chuàng)建CHECK約束;
4)為S表創(chuàng)建一個合適的Notnull和unique惟一性約束;
(3)使用數(shù)據(jù)字典視圖
利用數(shù)據(jù)字典視圖查看數(shù)據(jù)庫對象的信息,如查看表、表空間信息和約束信息等。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié)。
實(shí)驗(yàn)二連接查詢與子查詢
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握子查詢的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE語句中;
2、掌握多列子查詢和相關(guān)子查詢的使用;
3、掌握TOP-N的使用方法;
4、掌握內(nèi)連接、外連接的查詢方法。
二、實(shí)驗(yàn)內(nèi)容和要求
第一部分:使用SQL語句完成以下查詢要求。
1、查詢每一部門的職工人數(shù),要求:
1)結(jié)果顯示部門號、部門名稱和職工人數(shù);2)部門表中的所有部門都要統(tǒng)計(jì)。
2、查詢其他部門中比10號部門所有職工工資都少的職工完整信息,至少用兩種
方法實(shí)現(xiàn)。
3、從emp表中查找出和3部門中任意一個雇員的薪水和崗位完全相同的雇員,
并顯示其姓名、部門編號、薪水和傭金,但是該雇員不能來自10部門。
4、查詢哪些部門的平均工資大于該全部職工的平均工資。(兩種方法:from子
句中的子查詢和相關(guān)的子查詢)
5、查詢工資第4高的員工的工號、姓名和薪水(假設(shè)SAL子段作了惟一限制。)
(提示:使用from子查詢語句、內(nèi)嵌視圖和ROWNUM偽列)
6、設(shè)計(jì)左外連接查詢、右外連接查詢和全外連接查詢。
第一部分的附加題部分:
1、查詢emp表中各部門職工數(shù)占全部人數(shù)的百分比
2、查詢工資低于本部門平均工資的員工信息
3、顯示與30部門任何雇員薪水及崗位相匹配的雇員的姓名、部門編號、薪水。
第二部分:
自己設(shè)計(jì)實(shí)例完成在CREATE,UPDATA,INSERT,DELETE語句中使用子查
詢的實(shí)踐;
三、實(shí)驗(yàn)報告
按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)三數(shù)據(jù)庫對象與控制訪問
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握表、視圖、序列、索引等數(shù)據(jù)庫對象的管理;
2、掌握對用戶訪問數(shù)據(jù)庫的權(quán)限的控制。
二、實(shí)驗(yàn)內(nèi)容和要求
1、創(chuàng)建用戶,密碼修改;
2、授權(quán)給用戶,驗(yàn)證用戶權(quán)限(連接數(shù)據(jù)庫、建表、查詢、更新等);
3、在數(shù)據(jù)字典中查看用戶權(quán)限;
4、新建表,設(shè)置約束;對已有表進(jìn)行添加、刪除、禁用、啟用約束;
5、修改表結(jié)構(gòu)、查詢表的基本信息;
6、建索引及查看索引信息;
7、建視圖、使用視圖、查看索引信息掌握插入、刪除和更新表中數(shù)據(jù)的方法。
三、實(shí)驗(yàn)報告
1、實(shí)驗(yàn)內(nèi)容與完成情況(記錄所有的實(shí)驗(yàn)過程);
2、出現(xiàn)的問題解決方案(列出遇到的主要問題和解決辦法,列出沒有解決的問
題);
3、實(shí)驗(yàn)總結(jié);
4、按模版要求規(guī)范填寫電子檔實(shí)驗(yàn)報告,按時提交。
實(shí)驗(yàn)四PL/SQL程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握PL/SQL程序設(shè)計(jì)的基本知識。
2、掌握PL/SQL中控制結(jié)構(gòu)的使用。具體包括:
選擇結(jié)構(gòu)(IF語句和CASE語句);
循環(huán)結(jié)構(gòu)(三種循環(huán)語句):
3、掌握PL/SQL中SELECT語句和DML語句的正確使用方法。
二、實(shí)驗(yàn)內(nèi)容和要求
1、編寫匿名塊,查詢指定條件(如員工編號、姓名、部門、工作、工資、工資等
級等)的記錄并輸出;
2、編寫匿名塊,向表中插入一條記錄,數(shù)據(jù)由鍵盤輸入;
3、編寫匿名塊,修改表中的某些數(shù)據(jù);
4、修改3,更新條件、數(shù)據(jù)等由鍵盤輸入,對不同的條件,修改的數(shù)據(jù)不同(參
考例10.19);
5、編寫匿名塊,刪除表中的記錄;
6、修改5,條件由鍵盤輸入;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同違約責(zé)任及典型案例分析
- 家庭用工合同模板參考范本
- 篇二:購房合同范本規(guī)范
- 室內(nèi)防水改造合同范本
- 定制旅行服務(wù)協(xié)議合同
- 房地產(chǎn)開發(fā)施工合同樣本
- 金融市場中銀行承兌質(zhì)押合同的法律效力
- 兼職市場拓展合同樣本
- 發(fā)射設(shè)備在極端環(huán)境下的穩(wěn)定性檢測考核試卷
- 塑膠跑道材料的生產(chǎn)工藝與質(zhì)量控制考核試卷
- 《智慧旅游認(rèn)知與實(shí)踐》課件-第九章 智慧旅行社
- 馬工程《刑法學(xué)(下冊)》教學(xué)課件 第16章 刑法各論概述
- GPIB控制VP-8194D收音信號發(fā)生器指令
- 建立良好師生關(guān)系
- 鋼管、扣件、絲杠租賃明細(xì)表
- 施工現(xiàn)場臨電臨水施工方案
- 員工預(yù)支現(xiàn)金與費(fèi)用報銷流程
- 唐詩三百首(楷書)
- (新版)公用設(shè)備工程師《專業(yè)知識》(給排水)考試題庫及答案
- 01-第一章運(yùn)動學(xué)緒論P(yáng)PT課件
評論
0/150
提交評論