赞
踩
课程名称: 数据库原理 实验名称: 表与视图的基本操作
班级学号: 姓名: 同组人:
指导教师评定: 签名:
完成实验指导书中p60-61页 “实验内容与要求”。
- CREATE TABLE PAPER
-
- (
-
- Pno CHAR(20) PRIMARY KEY, /*列级完整性约束条件,Pno为主码*/
-
- Pna CHAR(20) UNIQUE, /*Pname取唯一值*/
-
- Ppr CHAR(20)
-
- );
- CREATE TABLE CUSTOMER
-
- (
-
- Cno CHAR(20)PRIMARY KEY, /*列级完整性约束条件,Cno为主码*/
-
- Cna CHAR(20),
-
- Adr CHAR(40),
-
- );
- CREATE TABLE CP
- (
- Cno CHAR(20),
- Pno CHAR(20),
- Num CHAR(20),
- PRIMARY KEY(Pno,Cno)
- );
所建表截图如下:
其中主键图表如下:
①在DingBao数据库中,创建含有顾客编号、顾客名称、报纸编号报纸名称、订阅份数等信息的视图,视图名设定为C_P_N。
代码如下:
CREATE VIEW C_P_N
AS
SELECT customer.cno,customer.cna,paper.pna,paper.pno,cp.num
FROM cp,paper,customer
WHERE cp.pno=paper.pno and
customer.cno=cp.cno;
②修改已创建的视图C_P_N,使其含报纸单价信息。
代码如下:
ALTER VIEW C_P_N
AS
SELECT CUSTOMER.cno,cna,PAPER.pno,pna,ppr,num
FROM CUSTOMER,PAPER,CP
WHERE CP.cno=CUSTOMER.cno AND CP.pno=PAPER.pno
WITH CHECK OPTION;
③通过视图C. P _N,查询“人民日报”被订阅的情况,能通过视图C P. N实现对数据的更新操作吗?请尝试各种可行的更新操作,如修改某人订阅某报的份数,修改某报的名称等。
代码如下:
select *
from C_P_N
WHERE pna='人民日报'and
num>0;
或者将扬子晚报改为江西新闻
代码如下:
update C_P_N
set cna='江西新闻'
where pno=000005;
④删除视图C_ P_N。
代码如下:
DROP VIEW C_P_N;
1.该此次试验较为基础,无困难的地方,基本就是关于SQL的操作指令
其中注意的地方有Insert语句必须为不允许空值并且没有DEFAULT定义的基础表中的所有列指定值。
2.修改的数据必须符合对这些列的约束,删除时也要符合这些要求才可以成功。
3.对于视图的使用有了一个初步的认识
附:实验准备代码
insert into paper(pno,pna,ppr)
values('000001','人民日报',12.5) ;
insert into paper(pno,pna,ppr)
values('000002','解放军报',14.5) ;
insert into paper(pno,pna,ppr)
values('000003','光明日报',10.5) ;
insert into paper(pno,pna,ppr)
values('000004','青年报',11.5) ;
insert into paper(pno,pna,ppr)
values('000005','扬子晚报',18.5) ;
insert into customer(cno,cna,adr)
values('10000001','李涛','无锡市解放东路123号') ;
insert into customer(cno,cna,adr)
values('10000002','钱金浩','无锡市人民西路234号') ;
insert into customer(cno,cna,adr)
values('10000003','邓杰','无锡市惠河路270号') ;
insert into customer(cno,cna,adr)
values('10000004','朱海红','无锡市中山东路432号') ;
insert into customer(cno,cna,adr)
values('10000005','欧阳阳文','无锡市中山东路532号') ;
insert into cp(cno,pno,num)
values('10000001','000001',2) ;
insert into cp(cno,pno,num)
values('10000001','000005',6) ;
insert into cp(cno,pno,num)
values('10000002','000003',2) ;
insert into cp(cno,pno,num)
values('10000003','000003',2) ;
insert into cp(cno,pno,num)
values('10000004','000001',1) ;
insert into cp(cno,pno,num)
values('10000004','000005',2) ;
insert into cp(cno,pno,num)
values('10000005','000002',1) ;
insert into cp(cno,pno,num)
values('10000005','000005',5) ;
insert into cp(cno,pno,num)
values('10000001','000002',4) ;
insert into cp(cno,pno,num)
values('10000002','000001',2) ;
insert into cp(cno,pno,num)
values('10000002','000005',2) ;
insert into cp(cno,pno,num)
values('10000003','000004',4) ;
insert into cp(cno,pno,num)
values('10000004','000003',3) ;
insert into cp(cno,pno,num)
values('10000005','000003',4) ;
insert into cp(cno,pno,num)
values('10000005','000004',3) ;
insert into cp(cno,pno,num)
values('10000005','000001',4) ;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。