ORACLE 實驗二,oracle實驗

來源:互聯網
上載者:User

ORACLE 實驗二,oracle實驗

實驗二:資料操縱

實驗學時:4學時

實驗類型:綜合型

實驗要求:必修

一、實驗目的

1、掌握SQL資料查詢語句;

2、掌握SQL聚集合函式的使用;

3、掌握SQL插入、修改、刪除語句的使用。

二、實驗內容

1.工程項目採購資料庫,在實驗3.2的基礎上插入範例資料並完成下列操作:

(1)     求向工程J1提供零件的供應商的編號。

(2)     求向工程J1提供零件P1的供應商的編號。

(3)     求向工程J1提供紅色零件的供應商的編號。

(4)     求沒有使用天津供應商提供的紅色零件的工程號。

(5)     求至少使用了供應商S1所提供的全部零件的工程號。

(6)     統計各個供應商供應的零件總數。

(7)     求至少使用了3種以上零件的工程號。

(8)     把所有紅色零件的顏色改為粉紅色。

(9)     將向工程J1提供零件P1的供應商S1改為S2提供。

(10) 刪除全部紅色零件以及相應的供應-使用記錄。

2.產品價格資料庫,在實驗3.3的基礎上插入範例資料並完成下列操作

(1)     列出速度至少是150的那些PC機的型號。

(2)     哪些廠家生產的LAPTOP配置的硬碟不低於1。

(3)     找出由生產廠B所生產的全部產品的型號和價格。

(4)     找出所有的彩色雷射印表機的型號。

(5)     找出生產運行速度至少是450MC的PC的廠商。

(6)     找出價格最高的印表機。

(7)     找出每一個生產廠商的PC機的最高價格。

(8)     找出至少生產三種不同型號PC機的廠商。

(9)     廠商A兼并廠商B,把所有B廠商生產的產品改成由廠商A生產。

(10) 刪除所有不生產印表機的廠商生產的LAPTOP機。

 三、實驗原理、方法和手段

在實驗3定義的關係模式的基礎上,使用SQL資料動作陳述式完成資料的查詢和更新操作。在查詢和更新時要注意查詢的最佳化策略。

四、實驗組織運行要求

本實驗為綜合型實驗,採用集中授課形式,學生集中上機操作。具體要求如下:

1、學生在進行實驗前必須進行充分的預習,熟悉實驗內容;

2、教師在學生實驗過程中予以必要的輔導,學生獨立完成實驗。

五、實驗條件

1、提供一台具有WINDOWS 98/2000/NT/XP作業系統的電腦;

2、Oracle8.0以上設計環境。

六、實驗步驟

   類同實驗三。

七、思考題

    實驗比較IN與Exists兩種子查詢的區別。

八、實驗報告

1.實驗預習

在實驗前每位同學都需要對本次實驗進行認真的預習,並寫好預習報告,在預習報告中要寫出實驗目的、要求、簡要的實驗步驟,形成一個操作提綱。

2.實驗記錄

學生開始實驗時,應該將記錄本放在近旁,將實驗中所做的每一步操作、所得結果及相關條件如實地記錄下來。

3.實驗報告

主要內容包括實驗中的查詢語句、資料更新語句、運行結果以及對操作過程中出現錯誤的分析總結,回答思考題,給出實驗結論。

九、其它說明

學生嚴格遵守實驗室的各項規章制度,配合和服從實驗室人員管理。

經過實驗 我們也得到了實驗的結果

注意這個兩個SQL實驗指令碼是基於實驗一中的兩個資料庫的

代碼如下,進過驗證 實驗沒有錯誤 主要的是雙NOT EXISTS 詳細的解答見我的部落格另一章節

--2.1---------------------------------------------------------------------------------------select SNO FROM SPJWHERE JNO='J1';select SNO FROM SPJWHERE JNO='J1'AND PNO='P1';select SPJ.SNO FROM SPJ,PWHERE SPJ.JNO='J1'AND SPJ.PNO=P.PNO AND COLOR='紅';SELECT DISTINCT SPJ.JNO FROM SPJ,S,PWHERE SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO      AND S.CITY!='天津' AND P.COLOR!='紅';      SELECT DISTINCT JNOFROM  JWHERE NOT EXISTS   (      SELECT *       FROM SPJ SPJ1      WHERE SPJ1.sno='S1' AND NOT EXISTS      (        SELECT *         FROM SPJ SPJ2        WHERE SPJ2.pno= SPJ1.pno AND SPJ1.jno= J.jno      )   );      SELECT SPJ.SNO,COUNT(*) FROM SPJGROUP BY SPJ.SNO;SELECT SPJ.JNO FROM SPJGROUP BY SPJ.JNOHAVING COUNT(*) >=3;UPDATE  PSET COLOR='粉紅'WHERE COLOR='紅';UPDATE SPJSET SNO='S2'WHERE SNO='S1' AND JNO='J1' AND PNO='P1';DELETE SPJWHERE SPJ.PNO IN             (              SELECT P.PNO FROM p              WHERE P.COLOR='紅'             );            DELETE  PWHERE P.COLOR='紅';--2.2---------------------------------------------------------------------------------SELECT MODELFROM PCWHERE SPEED >= 150;SELECT DISTINCT PRODUCT.MAKER FROM PRODUCT,LAPTOPWHERE PRODUCT.MODEL=LAPTOP.MODEL AND LAPTOP.HD >= 1.0;SELECT MAKER,PRODUCT.MODEL,PRICEFROM PRODUCT,PCWHERE PRODUCT.MAKER='B' AND PRODUCT.model=PC.modelUNION(SELECT MAKER,PRODUCT.MODEL,PRICEFROM PRODUCT,LAPTOPWHERE PRODUCT.MAKER='B' AND PRODUCT.model=LAPTOP.model)UNION(SELECT MAKER,PRODUCT.MODEL,PRICEFROM PRODUCT,PRINTERWHERE PRODUCT.MAKER='B' AND PRODUCT.model=PRINTER.model);SELECT MODEL FROM PRINTERWHERE COLOR='TRUE';SELECT DISTINCT PRODUCT.MAKERFROM PRODUCT,PCWHERE TYPE='PC' AND PRODUCT.MODEL=PC.MODEL AND SPEED>450;SELECT  * FROM PRINTER WHERE PRICE >= ALL(  SELECT PRICE  FROM PRINTER);SELECT MODEL,PRICE FROM PRINTERWHERE PRICE= (  SELECT MAX(PRICE) FROM PRINTER);SELECT DISTINCT MAKER,MAX(PRICE)FROM PRODUCT ,PCWHERE PRODUCT.MODEL=PC.MODEL AND TYPE='PC'GROUP BY MAKER;SELECT DISTINCT MAKER,COUNT(*) FROM PRODUCTWHERE TYPE='PC'GROUP BY MAKERHAVING COUNT(*)>=3;UPDATE PRODUCTSET MAKER='B'WHERE MAKER='A';DELETE PRODUCT P1WHERE P1.TYPE='LAPTOP' AND EXISTS (  SELECT * FROM PRODUCT P2  WHERE P2.TYPE='Printer'  AND P1.MODEL=P2.MODEL);ROLLBACK;

如有不當之處還請多多指教...

本人勞動成果,還請轉載署名出處。。。
 


做實驗用的 oracle 個

Oracle Database 快捷版 11g 第 2 版
www.oracle.com/...x.html
因為只是做實驗用,只需下載快捷版就夠了!
找了一點10G 快捷版的介紹,但10G官方已經無下載了,希望對你有協助

Oracle 資料庫 10g 快捷版

免費開發、部署和分發
Oracle 資料庫 10g 快捷版(Oracle 資料庫 XE)是一款基於 Oracle 資料庫 10g 第 2 版程式碼程式庫的小型入門級資料庫,它具備以下優點:免費進行開發、部署和分發;下載速度快;並且管理簡單。Oracle 資料庫 XE 是一款優秀的入門級資料庫,可供以下使用者使用:

致力於 PHP、Java、.NET、XML 和開放原始碼應用程式的開發人員
需要免費的入門級資料庫進行培訓和部署的 DBA
需要入門級資料庫進行免費分發的獨立軟體廠商 (ISV) 和硬體供應商
需要在課程中使用免費資料庫的教育機構和學生
現在,利用 Oracle 資料庫 XE,您可以使用強大的、公認的、行業領先的基礎架構來開發和部署應用程式,然後在必要時進行升級而不必進行昂貴和複雜的移植。閱讀使用者對 Oracle 資料庫 XE 的評價。
Oracle 資料庫 XE 對安裝到的主機的規模和 CPU 數量不作限制(每台電腦一個資料庫),但 XE 將最多儲存 4GB 的使用者資料,最多使用 1GB 記憶體,並在主機上使用一個 CPU。
 
Oracle網上實驗室在哪可以找到?

做了好幾年的ORACLE,沒聽說有這樣的環境。

現在記憶體很便宜,加到1G就可以跑ORACLE了,我當初還用256跑過呢。

另外oracle學習中要涉及到oracle的一些檔案,所以還是自己本地安裝一個吧
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.