视图和索引数据库实验4.docx

上传人:b****6 文档编号:8425789 上传时间:2023-01-31 格式:DOCX 页数:11 大小:224.39KB
下载 相关 举报
视图和索引数据库实验4.docx_第1页
第1页 / 共11页
视图和索引数据库实验4.docx_第2页
第2页 / 共11页
视图和索引数据库实验4.docx_第3页
第3页 / 共11页
视图和索引数据库实验4.docx_第4页
第4页 / 共11页
视图和索引数据库实验4.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

视图和索引数据库实验4.docx

《视图和索引数据库实验4.docx》由会员分享,可在线阅读,更多相关《视图和索引数据库实验4.docx(11页珍藏版)》请在冰豆网上搜索。

视图和索引数据库实验4.docx

视图和索引数据库实验4

数据库基础与实践实验报告

实验四视图与索引

      班级:

惠普测试142

      学号:

********13

  *******

日期:

2016—11-13

1实验目得:

1)掌握SQL进行视图创建得方法;

2)掌握SQL进行视图更新得方法,理解视图更新受限得原因;

3)掌握SQL进行索引创建及删除得方法、

2实验平台:

操作系统:

Windows xp。

实验环境:

SQLServer2000以上版本。

3 实验内容与步骤

利用实验一创建得sch_id数据库完成下列实验内容。

1.定义视图V_TCS(定义时不加withcheckoption),存放全部计算机系老师得信息。

视图定义代码:

CREATEVIEW V_TCS AS

ﻩSELECTtno,tn,sex,age,prof,sal,comm,T.dno

FROM T,D

WHERET、dno=D.dnoAND D.dn=’计算机'

视图查询语句与查询结果截图:

SELECT*FROM V_TCS

2.定义视图V_sal,存放全体教师得教师号,教师姓名,教师酬金(工资+岗位津贴),职称信息。

视图定义代码:

CREATEVIEWV_salAS

SELECTtno教师号,tn教师姓名,sal+comm教师酬金,prof支撑信息 

FROM T

视图查询语句与查询结果截图:

SELECT* FROMV_sal

3.向V_TCS中插入一条计算机专业教师得新记录,并查询V_TCS视图得全部记录。

视图更新代码:

INSERTINTOV_TCS

SELECT'T10','良瑗’,'女’,20,'讲师',6000,8000,D.dno 

FROMD

ﻩWHERED。

dn='计算机'

视图查询语句与查询结果截图:

SELECT* FROMV_TCS

4.向V_TCS中插入一条信息专业教师得新记录,并查询V_TCS视图得全部记录。

视图更新代码:

INSERTINTOV_TCS

ﻩSELECT'T11’,'百里登风',’男',21,’讲师',6000,8000,D。

dno

FROMD

WHERE D.dn='信息’

视图查询语句与查询结果截图:

SELECT* FROMV_TCS

SELECT*FROMTWHEREtno='T11'

5.修改V_TCS中得记录,使得编号为t2得教师得职称为副教授。

视图更新代码:

UPDATE V_TCSSETprof='副教授'WHEREtno='T2’

视图查询语句与查询结果截图:

SELECT*FROMV_TCSWHEREtno='T2'

6.定义视图V_TCS_ck(定义时加with checkoption),存放全部计算机系老师得信息,对比该视图与V_TCS在进行数据更新时得差别、

视图定义代码:

CREATEVIEWV_TCS_ck AS SELECT tno,tn,sex,age,prof,sal,m,T。

dno

FROMT,D

WHERET.dno=D。

dnoANDD、dn=’计算机’

WITHCHECKOPTION

视图更新对比实验代码及运行结果截图:

—-1、能插入

INSERT INTOV_TCS_ck

SELECT ’T12','良莠','女’,20,'讲师’,4000,4000,D、dno 

ﻩFROMD

ﻩWHERED。

dn=’计算机'

——2。

不能插入(视图CHECKOPTION约束)

INSERTINTOV_TCS_ck

SELECT ’T13',’天明’,'男’,25,’讲师’,4000,4000,D.dno 

ﻩFROMD

WHERE D。

dn='信息'

7.在课程C表得课程名属性上按降序创建唯一索引I_cn、

索引定义代码:

CREATE INDEX I_cn ON C(cnDESC)

运行结果截图:

8.删除C表上得索引I_cn。

索引删除代码:

DROPINDEXC。

I_cn

运行结果截图:

4深入思考与讨论

1)请先自己定义一个视图,使定义该视图得查询中使用连接。

再更新该视图,观察视图更新受限情况。

——1、定义:

CREATEVIEWV_SCAS

ﻩSELECT sn,S、sno,cn,score

ﻩFROMS,C,SC

WHERES。

sno=SC、sno AND C.cno=SC.cno

—-2.查询:

SELECT* FROMV_SC

—-3、均无法插入(插入影响到多张表):

INSERTINTOV_SC VALUES(’笑笑',’S1','JAVA',99)

INSERTINTOV_SCVALUES('笑笑’,’S1',’RUBY',99)

INSERTINTOV_SCVALUES('良垣’,’S15’,'JAVA',99)

INSERTINTOV_SCVALUES(’良莠’,'S1',’JAVA',99)

SELECT*FROMV_SCWHEREsno='S1’

--4。

可以更新(修改分数只影响到SC一张表):

UPDATEV_SCSETV_SC、score=99 WHEREV_SC。

cn='大学英语'ANDV_SC.sno='S1’

SELECT*FROM V_SCWHEREsno='S1'

--5。

无法更新年龄(视图V_SC不包含age列):

UPDATEV_SCSETage=18 WHEREV_SC.sno='S1'

——6、无法更新,修改会影响到S与SC两张表:

UPDATEV_SCSETsn='韩笑',score=98WHEREV_SC.sno='S1’

—-7。

将成绩为NULL得课程名设为NULL,更新失败(遵守基表C得cn列得NOTNULL约束):

UPDATEV_SCSETcn=NULLWHEREscoreISNULL

2)请先自己定义一个视图,使定义该视图得查询带分组与集函数。

再更新该视图,观察视图更新受限情况。

-—1。

定义:

CREATEVIEWV_SC_gpAS 

SELECT sn,S。

sno,AVG(score)avg_score

ﻩFROMS,C,SC

ﻩWHERES。

sno=SC、snoAND C.cno=SC。

cno

ﻩGROUPBYsn,S、sno

-—2.查询:

SELECT*FROMV_SC_gp

—-3、无法插入:

INSERTINTOV_SC_gpVALUES(’刘静','S8’,88)

—-4、无法更新(avg_score集函数列):

UPDATE V_SC_gpSETavg_score=88 WHEREsn='小明’

--5、无法更新(视图包含聚集函数、GROUP BY子句):

UPDATEV_SC_gpSETsn=’小小云'WHEREsn='小明'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1