欢迎投稿

今日深度:

ORACLE 实验二,oracle实验

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)     找出生产运行速度至少是450MCPC的厂商。

(6)     找出价格最高的打印机。

(7)     找出每一个生产厂商的PC机的最高价格。

(8)     找出至少生产三种不同型号PC机的厂商。

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

(10) 删除所有不生产打印机的厂商生产的LAPTOP机。

 三、实验原理、方法和手段

在实验3定义的关系模式的基础上,使用SQL数据操作语句完成数据的查询和更新操作。在查询和更新时要注意查询的优化策略。

四、实验组织运行要求

本实验为综合型实验,采用集中授课形式,学生集中上机操作。具体要求如下:

1、学生在进行实验前必须进行充分的预习,熟悉实验内容;

2、教师在学生实验过程中予以必要的辅导,学生独立完成实验。

五、实验条件

1、提供一台具有WINDOWS 98/2000/NT/XP操作系统的计算机;

2Oracle8.0以上设计环境。

六、实验步骤

   类同实验三。

七、思考题

    实验比较INExists两种子查询的区别。

八、实验报告

1.实验预习

在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求、简要的实验步骤,形成一个操作提纲。

2.实验记录

学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、所得结果及相关条件如实地记录下来。

3.实验报告

主要内容包括实验中的查询语句、数据更新语句、运行结果以及对操作过程中出现错误的分析总结,回答思考题,给出实验结论。

九、其它说明

学生严格遵守实验室的各项规章制度,配合和服从实验室人员管理。

经过试验 我们也得到了实验的结果

注意这个两个SQL实验脚本是基于实验一中的两个数据库的

代码如下,进过验证 实验没有错误 主要的是双NOT EXISTS 详细的解答见我的博客另一章节

--2.1---------------------------------------------------------------------------------------
select SNO FROM SPJ
WHERE JNO='J1';

select SNO FROM SPJ
WHERE JNO='J1'AND PNO='P1';

select SPJ.SNO FROM SPJ,P
WHERE SPJ.JNO='J1'AND SPJ.PNO=P.PNO AND COLOR='红';

SELECT DISTINCT SPJ.JNO FROM SPJ,S,P
WHERE SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO
      AND S.CITY!='天津' AND P.COLOR!='红';
      
SELECT DISTINCT JNO
FROM  J
WHERE 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 SPJ
GROUP BY SPJ.SNO;


SELECT SPJ.JNO FROM SPJ
GROUP BY SPJ.JNO
HAVING COUNT(*) >=3;

UPDATE  P
SET COLOR='粉红'
WHERE COLOR='红';

UPDATE SPJ
SET SNO='S2'
WHERE SNO='S1' AND JNO='J1' AND PNO='P1';

DELETE SPJ
WHERE SPJ.PNO IN 
            (
              SELECT P.PNO FROM p
              WHERE P.COLOR='红' 
            );
            
DELETE  P
WHERE P.COLOR='红';

--2.2---------------------------------------------------------------------------------
SELECT MODEL
FROM PC
WHERE SPEED >= 150;

SELECT DISTINCT PRODUCT.MAKER FROM PRODUCT,LAPTOP
WHERE PRODUCT.MODEL=LAPTOP.MODEL AND LAPTOP.HD >= 1.0;

SELECT MAKER,PRODUCT.MODEL,PRICE
FROM PRODUCT,PC
WHERE PRODUCT.MAKER='B' AND PRODUCT.model=PC.model
UNION
(
SELECT MAKER,PRODUCT.MODEL,PRICE
FROM PRODUCT,LAPTOP
WHERE PRODUCT.MAKER='B' AND PRODUCT.model=LAPTOP.model
)
UNION
(SELECT MAKER,PRODUCT.MODEL,PRICE
FROM PRODUCT,PRINTER
WHERE PRODUCT.MAKER='B' AND PRODUCT.model=PRINTER.model
);


SELECT MODEL FROM PRINTER
WHERE COLOR='TRUE';

SELECT DISTINCT PRODUCT.MAKER
FROM PRODUCT,PC
WHERE TYPE='PC' AND PRODUCT.MODEL=PC.MODEL AND SPEED>450;

SELECT  * FROM PRINTER 
WHERE PRICE >= ALL
(
  SELECT PRICE  FROM PRINTER
);

SELECT MODEL,PRICE 
FROM PRINTER
WHERE PRICE= 
(
  SELECT MAX(PRICE) FROM PRINTER
);

SELECT DISTINCT MAKER,MAX(PRICE)
FROM PRODUCT ,PC
WHERE PRODUCT.MODEL=PC.MODEL AND TYPE='PC'
GROUP BY MAKER;

SELECT DISTINCT MAKER,COUNT(*) FROM PRODUCT
WHERE TYPE='PC'
GROUP BY MAKER
HAVING COUNT(*)>=3;

UPDATE PRODUCT
SET MAKER='B'
WHERE MAKER='A';

DELETE PRODUCT P1
WHERE 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的一些文件,所以还是自己本地安装一个吧
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4235.html NewsArticle ORACLE 实验二,oracle实验 实验二:数据操纵 实验学时: 4 学时 实验类型:综合型 实验要求:必修 一、实验目的 1 、掌握 SQL 数据查询语句; 2 、掌握 SQL 聚集函数的使用; 3 、掌握 S...
评论暂时关闭