没有合适的资源?快使用搜索试试~ 我知道了~
河北工业大学数据库原理及应用实验实验报告.docx
需积分: 5 3 下载量 86 浏览量
2022-10-16
10:28:54
上传
评论
收藏 31KB DOCX 举报
温馨提示
试读
28页
河北工业大学数据库原理及应用实验实验报告.docx
资源推荐
资源详情
资源评论
《数据库原理及应用实验》
实验报告
班级:网络 151
姓名:徐毅民
学号:153299
实验 1 数据库定义与操作语言实验
实验 1.4 数据更新实验
1、实验目的
熟悉数据库的数据更新操作,能够使用 SQL 语句对数据库进行数据的插入、删除、修改操
作。
2、实验内容和要求
针对 TPC-H 数据库设计数据单元组插入、批量数据插入、修改数据和删除数据等 SQL 语句。
理解和掌握 INSERTT、UPDATE、和 DELETE 语法结构的各个组成成分,结合嵌套 SQL 子
查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功。
3、实验重点和难点
实验重点:插入、修改和删除数据的 SQL
实验难点:与嵌套 SQL 子查询相结合的插入、修改和删除数据的 SQL 语句;利用一个表的
数据来插入、修改和删除另一个表的数据。
4、实验报告示例
(1)INSERT 基本语句(插入全部列的数据)
插入一条顾客记录,要求每列都给一个合理的值。
INSERT INTO Customer
VALUES (30,'张三','北京市',40,'010-51001199',0.00,'Northeast','VIP Customer');
(2)INSERT 基本语句(插入部分列的数据)
插入一条订单记录,给出必要的几个字段值。
INSERT INTO Lineitem(orderkey,Linenumber,partkey,suppkey,quantity,shipdate)
VALUES(862,ROUND(RANDOM()*100,0,479,1,10,'2012-3-6');
/*RANDOM()函数为随机小数生成函数,ROUND()为四舍五入函数*/
(3)批量数据 INSERT 语句
① 创建一个新的顾客表,把所有中国籍顾客插入到新的顾客表中。
INSERT INTO NewCustomer /*批量插入 SELECT 语句查询结果到 NewCustomer 表中*/
SELECT C.*
FROM Costomer C,Nation N
WHERE C.nationkey=N.nationkey AND N.name='中国';
② 创建一个顾客购物统计表,记录每个顾客及其购物总数和总价等信息。
CREATE TABLE ShoppingStat(
custkey INTEGER,
quantity REAL,
totalprice REAL);
INSERT INTO ShoppingStat
SELECT C.custkey,Sum(L.quantity),Sum(O.totalprice) /*对分组后的数据求总和*/
FROM Customer C,Order O,Lineitem L
WHERE C.custkey=O.custkey AND O.orderkey=L.orderkey
GROUP BY C.custkey
③ 倍增零件表的数据,多次重复执行,直到总记录数达到 50 万为止。
INSERT INTO Part
SELECT partkey+(SELECT COUNT(*) FROM Part),
name,mfgr,brand,type,size,container,retailprice,comment
FROM Part;
(4)UPDATE 语句(插入部分记录的部分列值)
“金仓集团”供应的所有零件的供应成本价下降 10%。
UPDATE PartSupp
SET supplycost=supplycost*0.9
WHERE suppkey=(
SELECT suppkey /*找出要修改的那些记录*/
FROM Supplier
WHERE name='金仓集团');
(5)UPDATE 语句(利用一个表中的数据修改另外一个表中的数据)
利 用 Part 表 中 的 零 售 价 格 来 修 改 Lineitem 中 的 extendedprice, 其 中
extendedprice=Part.retailprice*quantity。
UPDATE Lineitem L
SET L.extendedprice=P.retailprice*L.quantity
FROM Part P
WHERE L.partkey=P.partkey;
/*Lineitem 表也可以直接与 Part 表相连接,而不需通过 PartSupp 连接*/
(6)DELETE 基本语句(删除给定条件的所有记录)
删除顾客张三的所有订单记录。
DELECT FROM Lineitem /*先删除张三的订单明细记录*/
WHERE orderkey IN(
SELECT orderkey
FROM Order O,Customer C
WHERE O.custkey=C.custkey AND C.name='张三');
DELECT FROM Order /*再删除张三的订单记录*/
WHERE custkey=(
SELECT custkey
FROM Customer
WHERE name='张三');
实验 1.5 视图实验
1、实验目的
熟悉 SQL 语言有关视图的操作,能够熟练使用 SQL 语句来创建需要的视图,定义数据库外
模式,并能使用所创建的视图实现数据管理。
2、实验内容和要求
针对给定的数据库模式,以及相应的应用需求,创建视图和带 WITH CHECK OPTION 的视
图,并验证视图 WITH CHECK OPTION 选项的有效性。理解和掌握视图消除执行原理,掌
握可更新视图和不可更新视图的区别。
3、实验重点和难点
实验重点:创建视图。
实验难点:可更新的视图和不可更新的视图之区别,WITH CHECK OPTION 的验证。
4、实验报告示例
(1)创建视图(省略视图列名)
创建一个“海大汽配”供应商供应的零件视图 V_DLMU_PartSupp1,要求列出供应零件的编
号、零件名称、可用数量、零售价格、供应价格和备注等信息。
CREATE VIEW V_DLMU_PARTSUPP1
AS /*由 SELECT 子句目标列组成视图属性*/
SELECT P.partkey,P.name,PS.availqty,P.retailprice,PS.supplycost,P.comment
剩余27页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3649
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功