數(shù)據(jù)庫系統(tǒng)實驗報告_第1頁
數(shù)據(jù)庫系統(tǒng)實驗報告_第2頁
數(shù)據(jù)庫系統(tǒng)實驗報告_第3頁
數(shù)據(jù)庫系統(tǒng)實驗報告_第4頁
數(shù)據(jù)庫系統(tǒng)實驗報告_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.數(shù)據(jù)庫系統(tǒng)實驗班姓學(xué)級名號任課教師. 1. 實驗?zāi)繕?biāo)1.1. 熟練掌握基本的 SQL SQL)創(chuàng)建、刪除和修改數(shù)據(jù)庫的基本對象(表、視圖、約束和索 SQL 查詢語言(Select)對數(shù)據(jù)中數(shù)據(jù)進(jìn)行檢索,利用 SQL 修改語言(、Update、Delete)對數(shù)據(jù)中數(shù)據(jù)進(jìn)行插入、修改和刪除操作。能夠利用 SQL 控制語言()將數(shù)據(jù)庫的基本對象(表和視圖等)的各種權(quán)限授予其它用戶。熟悉 SQL Server 2000的交互式 SQL利用查詢分析器進(jìn)行 SQL語言的編輯和提交。2. 實驗要求2.1. 寫出以下各個實驗的 SQL語句。2.2. 在 SQL Server 2000的查詢分析器環(huán)境中執(zhí)行

2、SQL出每次執(zhí)行的結(jié)果。2.3. 誤的方案。2.4. SQL語句的書寫規(guī)范,要求每個查詢子句獨(dú)占一行,如:Select SNO, SNAMEFrom SWhere Sage=20 ;注意:每次實驗之后請作好數(shù)據(jù)庫備份。下次實驗之前進(jìn)行數(shù)據(jù)庫恢復(fù)。3. 實驗課時本次實驗共計 10 課時。4. 實驗數(shù)據(jù)本次實驗中用到 6 COURSEDEPTPROFPCSC.4.1. 關(guān)系模式。S4.2. 6 個關(guān)系表的定義。 COURSE(課程) (系) S(學(xué)生)字段 . (教師)類型 SC(選修), (授課), 4.3. 6 個關(guān)系表的元組數(shù)據(jù)。 COURSE(課程)CNOCNAMEPCNOCREDIT42

3、2432424C. (系)DNODNAMEDEAN S(學(xué)生)SNOSNAMESEXAGEDNO11101110 (教師)PNO PNAMESALAGEDNO SC(選修)SNOCNO. (授課)PNOCNO.5. 實驗步驟5.1. SQL Server 2000數(shù)據(jù)庫的安裝、啟動和創(chuàng)建新的數(shù)據(jù)庫。SQL Server 2000 已安裝在本機(jī),一般采用的是 Windows認(rèn)證方式。因此當(dāng)你以默認(rèn) Windows 用戶 administrator 登陸進(jìn)window 操作系統(tǒng)之后,你就可以直接通過服務(wù)管理器啟動 SQLServer 。.啟動成功之后的狀態(tài)如下(啟動成功之后,可以關(guān)閉服務(wù)管理器之后

4、可以通過打開查詢分析器登陸到 SQL Server 和 DBMS的會話。.Windows 的系統(tǒng)管理員默認(rèn)對應(yīng) 當(dāng)你以windows的系統(tǒng)管理員身份登陸到 之. 和利用企業(yè)管理器創(chuàng)建新的數(shù)據(jù)庫 。test 數(shù)據(jù)庫作為本次 test 數(shù)據(jù)庫中創(chuàng)建本次實驗的所有數(shù)據(jù)庫對象。5.2. Create語句利用 Create 語句創(chuàng)建以上 6 個關(guān)系表。同時利用 Insert 語句將實驗數(shù)據(jù)插入到相應(yīng)的表中。1) 創(chuàng)建 COURSE(課程)的 Create語句。表的創(chuàng)建 SQL語句、出現(xiàn)的主要錯誤及原因: 向表插入數(shù)據(jù)的 SQL 語句、出現(xiàn)的主要錯誤及原因:.) 4 2) 創(chuàng)建 DEPT(系)的 Crea

5、te語句。表的創(chuàng)建 SQL語句、出現(xiàn)的主要錯誤及原因: .向表插入數(shù)據(jù)的 SQL 語句、出現(xiàn)的主要錯誤及原因:3) 創(chuàng)建 S(學(xué)生)的 Create語句。表的創(chuàng)建 SQL語句、出現(xiàn)的主要錯誤及原因: , .有 外 鍵 約 束 時 格 式 為 向表插入數(shù)據(jù)的 SQL 語句、出現(xiàn)的主要錯誤及原因:.4) 創(chuàng)建 PROF(教師)的 Create語句。表的創(chuàng)建 SQL語句、出現(xiàn)的主要錯誤及原因: .向表插入數(shù)據(jù)的 SQL 語句、出現(xiàn)的主要錯誤及原因:5) 創(chuàng)建 SC(選修)的 Create語句。 .當(dāng)向表插入數(shù)據(jù)的 SQL 語句、出現(xiàn)的主要錯誤及原因: . . . 6) 創(chuàng)建 PC(授課)的 Crea

6、te語句。表的創(chuàng)建 SQL語句、出現(xiàn)的主要錯誤及原因: 向表插入數(shù)據(jù)的 SQL 語句、出現(xiàn)的主要錯誤及原因:.5.3. Select語句7) 給出所有老師的信息。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT * FROM PROF8) 出所有老師的姓名及稅后工資額(稅額 該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT PNAME,SAL*0.95FROM PROF9) 找出所有選修課程的學(xué)生。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:.SELECT distinct SNOFROM SCall在實際代碼中,不加,否則無效10) 找出工資低于 1500 的職工的姓名、工資、系名。該查

7、詢的 SQL語句、出現(xiàn)的錯誤及原因:select PNAME,SAL,DNAMEFROM PROF,DEPTWHERE SALP2.SAL16) 求選修了 C1 或 C2 課程的學(xué)生姓名。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT SNAMEFROM S,SCWHERE SC.SNO=S.SNO.AND (SC.CNO=C1 OR SC.CNO=C2)SELECT SNAMEFROM S,SCWHERE S.SNO=SC.SNOAND CNO IN (C1,C2)17) 列出姓名以“張”打頭的教師的所有信息。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT *FROM PROFW

8、HERE PNAME LIKE 張%18) 列出名稱中含有 4 個字符以上,且倒數(shù)第 3 個字符是“d倒數(shù)第 2 個字符是“_”的教師的所有信息。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT *FROM PROFWHERE PNAME LIKE %d_escape 19) 按系名升序列出老師姓名,所在系名,同一系中老師按姓名降序排列。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT PNAME,DEANFROM PROF,DEPTWHERE PROF.DNO=DEPT.DNOORDER BY DEAN ASC,PNAME DESC20) 求選修了 C1 或 C2 號而沒有選C3 號

9、課程的學(xué)生號。.該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT DISTINCT SNOFROM SCWHERE CNO IN (C1,C2)AND CNO NOT IN (C3)21) 列出各系的老師的最高、最低、平均工資。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT FROM PROFGROUP BY DNO22) 列出計算機(jī)系總分超過 300 分的學(xué)生的平均成績及學(xué)號。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT FROM S,SC,DEPTWHERE S.DNO=DEPT.DNOAND DNAME=計算機(jī)AND S.SNO=SC.SNOGROUP BY S.SNO

10、 SUM(SCORE)=30023) 列出選修了兩門課程以上的學(xué)生的平均成績及學(xué)號。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT FROM SCGROUP BY SNO COUNT(*)=224) 求選修了課程的學(xué)生人數(shù)。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT COUNT(DISTINCT SNO).FROM SC25) 求各系 60 歲以上老師的平均工資。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT FROM PROFWHERE AGE60GROUP BY DNO26) 找出年齡值為空的老師姓名。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT PNAMEF

11、ROM PROFWHERE AGE IS NULL27) 列出選修了 C1 號和 C2號課程的學(xué)生的學(xué)號。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT SNOFROM SCWHERE CNO=C1AND SNO IN(SELECT SNOFROM SCWHERE CNO=C2)28) 找出平均成績最高的學(xué)生號。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT SNOFROM SCGROUP BY SNO (SELECT FROM SCGROUP BY SNO). =之后,或子查詢用作表達(dá)式時,這種情況是不允許的。要加上all29) 求 S1 號學(xué)生所選課程的課程記錄。該查詢的 SQ

12、L語句、出現(xiàn)的錯誤及原因:SELECT *FROM COURSEWHERE EXISTS(SELECT *FROM SCWHERE SC.CNO=COURSE.CNOAND SC.SNO=S1)30) 列出選修了所有課程的學(xué)生名。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT SNAMEFROM SWHERE NOT EXISTS(SELECT *FROM COURSEWHERE NOT EXISTS(SELECT *FROM SCWHERE SC.CNO=COURSE.CNOAND SC.SNO=S.SNO)31) 列出至少選修了 S1 號學(xué)生選修的所有課程的學(xué)生名。該查詢的 SQL語

13、句、出現(xiàn)的錯誤及原因:SELECT SNAMEFROM S.WHERE NOT EXISTS(SELECT *FROM SC SC1WHERE SC1.CNO=S1AND NOT EXISTS(SELECT *FROM SC SC2WHERE SC2.CNO=SC1.CNOAND SC2.SNO=S.SNO)32) 找出所有只教授一門課程的老師姓名。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT PNAMEFROM PROFWHERE PNO IN(SELECT PNOFROM PCGROUP BY(PNO) COUNT(PNO)=1)UNIQUE IN以及 GROUP BY來實現(xiàn)相同功

14、能33) 找出至少選修了兩門課程的學(xué)生姓名。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT SNAMEFROM SWHERE SNO IN(SELECT SNOFROM SCGROUP BY(SNO) COUNT(SNO)=2).34) 找出平均成績及格的學(xué)生及其平均分?jǐn)?shù)。該查詢的 SQL語句、出現(xiàn)的錯誤及原因:SELECT FROM S,(SELECT FROM SCGROUP BY SNO AS WHERE 利用派生關(guān)系解決屬性之間的問題,重新生成一個臨時表并加以引用5.4. Insert語句35) 將平均成績大于 60 的學(xué)生加入到 EXCELLENT 中(先自行定義創(chuàng)建 EXCE

15、LLENT 該插入的 SQL語句、出現(xiàn)的錯誤及原因:CREATE TABLE EXCELLENT(SNO SCORE REAL)INSERT INTO EXCELLENT(SNO,SCORE)SELECT FROM SCGROUP BY SNO 5.5. Update 語句36) 將老師工資上調(diào) 。該更新的 SQL語句、出現(xiàn)的錯誤及原因:UPDATE PROFSET SAL=SAL*1.0537) 將 D1系系主任的工資改為該系的平均工資。.該更新的 SQL語句、出現(xiàn)的錯誤及原因:UPDATE PROFSET SAL=(SELECT FROM PROFWHERE DNO=D1)WHERE PN

16、O=(SELECT DEANFROM DEPTWHERE DNO=D1 )38) 工資超過 2000 的繳納 10%所得稅,其余的繳納 5%所得稅。求教師的稅后工資。該更新的 SQL語句、出現(xiàn)的錯誤及原因:UPDATE PROFSET SAL=SAL*0.9WHERE SAL2000UPDATE PROFSET SAL=SAL*0.95WHERE SAL=200039) 將計算機(jī)系學(xué)生的選課成績上調(diào) 20%。該更新的 SQL語句、出現(xiàn)的錯誤及原因:UPDATE SCSET SCORE=SCORE*1.2WHERE EXISTS(SELECT *FROM S,DEPTWHERE S.DNO=DE

17、PT.DNOAND 計算機(jī)AND S.SNO=SC.SNO)5.6. Delete語句40) 刪除張遼老師所有的任課記錄。.該刪除的 SQL語句、出現(xiàn)的錯誤及原因:DELETE FROM PCWHERE PNO IN(SELECT PNOFROM PROFWHERE PNAME=張遼)DELETE語句中不能使用連接,應(yīng)該考慮使用子查詢并且 from后面的表明只能為一個41) 清除 EXCELLENT表中所有記錄。該刪除的 SQL語句、出現(xiàn)的錯誤及原因:DELETE FROM EXCELLENT42) 刪除低于平均工資的老師記錄。該刪除的 SQL語句、出現(xiàn)的錯誤及原因:DELETE FROM P

18、ROFWHERE SAL92)45) 利用 Drop語句刪除 EXCELLENT關(guān)系表的定義。該刪除的 SQL語句、出現(xiàn)的錯誤及原因:DROP DATABASE EXCELLENT5.8. Grant和 Revoke語句 Grant和 Revoke 語句授予和收回表的各種權(quán)限。根據(jù)以下幾個圖示進(jìn)行實驗。46) 授權(quán) 1 的 Grant和 Revoke 語句。.AWITH GRANT OPTION1B4WITH GRANT OPTIONREVOKEREVOKE路徑2CGRANT3D該授權(quán)的 SQL語句、出現(xiàn)的錯誤及原因:47) 授權(quán) 2 的 Grant和 Revoke 語句。.123A:GRAN

19、T B:GRANTA:REVOKEC該授權(quán)的 SQL語句、出現(xiàn)的錯誤及原因:48) 授權(quán) 3 的 Grant和 Revoke 語句。.AB授權(quán)321WITH GRANT OPTION4WITH GRANT OPTIONC3D該授權(quán)的 SQL語句、出現(xiàn)的錯誤及原因:.49) 授權(quán) 4 的 Grant和 Revoke 語句。AB授權(quán)431WITH GRANT OPTION4WITH GRANT OPTIONC2D該授權(quán)的 SQL語句、出現(xiàn)的錯誤及原因:.5.9. Index50) 創(chuàng)建關(guān)系表 COURSE(課程)基于列“CNAME”的索引的Create語句。該索引創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原

20、因:CREATE INDEX CNAME_INDEX ON COURSE (CNAME)51) 創(chuàng)建關(guān)系表 (系)基于列“DNAME”的索引的 Create語句。該索引創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE INDEX DNAME_INDEX ON DEPT(DNAME)52) 創(chuàng)建關(guān)系表 SNAME”的索引的Create語句。該索引創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE INDEX SNAME_INDEX ON S(SNAME)53) 創(chuàng)建關(guān)系表 PNAMEDNO”的聯(lián)合索引的 Create語句。該索引創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE INDEX P

21、_INDEX ON PROF(PNAME,DNO)54) 創(chuàng)建關(guān)系表 SCSNOCNO”的索引的 Create語句。該索引創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE INDEX SC_INDEX ON SC(SNO,CNO).55) 創(chuàng)建關(guān)系表 PCPNOCNO”的索引的 Create語句。該索引創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE INDEX PC_INDEX ON PC(PNO,CNO)5.10. View56) 創(chuàng)建工資少于 2000 該視圖創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE VIEW P_SAL1AS (SELECT *FROM PROFWHERE

22、 SAL2000)57) 創(chuàng)建只能訪問列“PNO , PNAME , SAL ”的教工視圖(垂直該視圖創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE VIEW P_SAL2AS (SELECT PNO,PNAME,SALFROM PROF)58) 創(chuàng)建工資少于 2000 元且只能訪問列“PNO , PNAME , ”該視圖創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE VIEW P_SALAS (SELECT PNO,PNAME,SALFROM PROFWHERE SAL2000)59) SNO , SNAME , CNAME , SCORE該視圖創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:

23、.CREATE VIEW S_SC_CAS(SELECT S.SNO,SNAME,CNAME,SCOREFROM S,SC,COURSEWHERE S.SNO=SC.SNOAND SC.CNO=COURSE.CNO)SNO 不明確,要在 sno 前加限制60) 該視圖創(chuàng)建的 SQL語句、出現(xiàn)的錯誤及原因:CREATE VIEW AS (SELECT FROM SCGROUP BY SNO). 1. 實驗?zāi)繕?biāo)1.1. 熟練掌握數(shù)據(jù)庫前端開發(fā)工具 PowerBuilderPowerBuilder 工具建立和 Oracle 數(shù)據(jù)庫的連接,并利用PowerBuilder進(jìn)行關(guān)系模式的定義。1.2. 熟

24、練掌握 PowerBuilder 的各種控件的使用。1.3. 熟悉 Oracle的嵌入式 SQL SQL語言實現(xiàn)對表數(shù)據(jù)的更新和查詢。1.4. 視圖的更新和查詢。2. 實驗要求2.1. 寫出以下實驗中的嵌入式 SQL語句。2.2. 在 PowerBuilder結(jié)果。2.3. 誤的方案。3. 實驗課時本次實驗共計 10 課時。4. 實驗數(shù)據(jù)實驗一中的所有關(guān)系(1-6 USER 關(guān)系表,該表用于管理用戶的,USER 關(guān)系表的定義和元組數(shù)據(jù)如下。 USER(用戶) .USER(用戶)USERIDPWD5. 實驗步驟5.1. 安裝 PowerBuilder工具軟件。5.2. 啟動 PowerBuilder 集成開發(fā)環(huán)境 IDE。開發(fā)一個純PowerBuilderPBDemo1要求兩種功能通過菜單進(jìn)行選擇。 給出實現(xiàn)該功能所用的包括嵌入式 SQL現(xiàn)的主要錯誤及原因。. 方形的面積。給出實現(xiàn)該功能所用的包括嵌入式 SQL現(xiàn)的主要錯誤及原因。.5.3. 創(chuàng)建 SQL Server2000 的 ODBC 數(shù)據(jù)源。該數(shù)據(jù)源命名為。步驟如下:注意:在創(chuàng)建數(shù)據(jù)源之前,應(yīng)啟動數(shù)據(jù)庫服務(wù)器,并創(chuàng)建一個自己的數(shù)據(jù)庫(如 Test1、打開 ODBC數(shù)據(jù)源管理器。2、添加新的 ODBC數(shù)據(jù)源。.3、選擇新的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論