实验三 索引和视图讲解Word格式文档下载.docx

上传人:b****6 文档编号:19640793 上传时间:2023-01-08 格式:DOCX 页数:25 大小:2.22MB
下载 相关 举报
实验三 索引和视图讲解Word格式文档下载.docx_第1页
第1页 / 共25页
实验三 索引和视图讲解Word格式文档下载.docx_第2页
第2页 / 共25页
实验三 索引和视图讲解Word格式文档下载.docx_第3页
第3页 / 共25页
实验三 索引和视图讲解Word格式文档下载.docx_第4页
第4页 / 共25页
实验三 索引和视图讲解Word格式文档下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

实验三 索引和视图讲解Word格式文档下载.docx

《实验三 索引和视图讲解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验三 索引和视图讲解Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。

实验三 索引和视图讲解Word格式文档下载.docx

王建平刘华范林军李伟黄河长江

男女女男男男

211918191820

自动化自动化计算机

Student(10)primarykey,(10)notnullunique,

)),,男'

'

女'

(in(check2()Ssex

),

Sagecheck(>

Sageand15<

30)20(

语句建立该数据库不能为空值,数数数

)'

21'

,'

自动化'

王建平(Studentinsertintovalues'

S01'

'

男'

)刘华(Studentinsertintovalues'

S02'

19'

)'

18'

计算机'

范林军,(Studentinsertintovalues'

S03'

女)(Studentinsertintovalues'

S04'

'

李伟'

男,,'

数学'

)'

数学,'

男'

黄河,'

S05'

(Studentintoinsertvalues'

)'

'

20'

长江'

S06'

(valuesStudentintoinsert

徐龙琴、刘双印设计制作实验三索引和视图

课程表:

Course(Cno,Cname,Cpno,Credeit)其中Cno为主键

Cno

Cname

Cpno

Credit

C01

英语

NULL

4

C02

数据结构

C05

2

C03

数据库

C04

DB_设计

3

C++

C06

网络原理

C07

操作系统

C05

Course

tablecreate(

keyprimary)(charCno4

null,

not10(charCname)10(char)Cpno

)2(charCredit,

).

徐龙琴、刘双印设计制作索引和视图实验三

4'

NULL,'

英语'

insertintoCoursevalues('

C01'

)'

2'

C05'

intoCoursevalues('

C02'

数据结构insert)'

values('

C03'

数据库,intoinsertCourse

3'

'

DB_'

C04'

设计'

insertintoCoursevalues()'

C05'

(,'

C++'

insertintoCoursevalues),'

C07'

insertintoCoursevalues('

C06'

网络原理)

操作系统'

intoinsertCoursevalues

100;

0到Sno,Cno为主键同时又为外键、Grade值在学生选修表:

SC(Sno,Cno,Grade)其中

create()insertinsertinsertinsertinsertinsertinsertinsert建立数学系学生的视图数学系的学生,视图的属性名为C_Student指定的一个或多个列的值排序。

由于聚簇索引的索引页面指针指

Sno

Grade

S01

92

84

S02

90

S02

94

82

S03

72

S04

75

SCtable,)(Snochar10,

)char(Cno4

checkint1000Gradebetweenand),

Grade(),

Cno(Sno,primarykeyforeignkey(Sno)referencesStudent(Sno),

foreignkey(Cno)referencesCourse(Cno)),(SCintovalues'

92'

valuesSC(,,'

84'

into

),(SCintovalues'

90'

94'

valuesintoSC(,),'

82'

(SCintovalues)intoSC'

72'

(values)'

(valuesSCinto'

(valuesSCinto'

75'

Sno(学号)升序和Cno(SCnoSCSno姓名(Sname)、选修课程名建立先修课程为空的课程视图v_course

上述语句能否成功执行?

为什么?

S_AVGAGE'

的更新或插入失败,视图中查询成绩在85向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“,年龄为20岁。

在一个表中可以有多个聚簇索引吗?

聚簇索引也叫簇类索引,

徐龙琴、刘双印设计制作实验三索引和视图

2.索引的建立、删除

①用SSMS的方式为Student表按Sno(学号)升序建唯一索引

实验三索引和视图徐龙琴、刘双印设计制作

)升序建唯一索引,Course表按Cno(课程号②用T—SQL语句为)

ASCCourse(Cnouniqueindex课程号oncreate

课程号)SQL③用T—语句为SC表按号降序建唯一索引。

createuniqueindexon(ASC,CnoDESC)

和Sno(学号)列上建立一个聚簇索引?

语句再为表Students的Sname(姓名)④能否用T—SQL若不能说明原因?

答:

不能,一个表最多只能一个聚集索引。

⑤用T—SQL语句删除基本表SC上的唯一索引。

SCnoSC.indexdrop

3.用T—SQ完成如下视图的建立、查询、修改及删除

1)C_Student,并要求进行修改和插入操作时仍需保证该视图只有Sno,Sname,Sage,Sdept。

createviewC_Student(Sno,Sname,Sage,Sdept)

as

selectSno,Sname,Sage,Sdept

fromStudent

whereSdept='

optioncheckwith

2)用SSMS的方式建立学生的学号(Sno)、(Cname)及成绩(Grade)的视图Student_CR。

Student_birth(Sno,Sname,Sbirth)。

3)定义一个反映学生出生年份的视图,Sname,SnoSbirth)(createviewStudent_birthas

selectSno,Sname,2013-Sage

4)

v_courseviewcreateas

*select

Coursefrom=NULLCpnowhere

v_F_grade(包括学号,姓名,课程号及成绩列)建立成绩高于90分的女生成绩视图5)

)Grade,Cno,Snameviewv_F_grade(Sno,createas

Grade,Course.Cno.Sno,Sname,StudentselectSC

,CoursefromStudent'

andGrade>

90andSsex=Student.Sno=SC.SnowhereandSC.Cno=Course.Cno

6)建立视图S_AVGAGE(其中包括性别SSEX与平均年龄AVG_AGE两列)用以反映男生、女

生的平均年龄

createviewS_AVGAGE(SSEX,AVG_AGE)

selectSsex,avg(Sage)

Ssexbygroup

7)对前面创建的视图S_AVGAGE执行更新操作:

UPDATES_AVGAGE

SETAVG_AGE=85

WHEREssex='

不能。

对视图或函数因其包含派生域或常量域。

和年龄岁的学生姓名(Sname)C_Student中找出年龄(Sage)小于20在数学系的学生视图8)

(Sage)。

SnameSageselectfromC_Student

whereSage<

20

9)在Student_CR分以上的学生学号(Sno)、姓名(Sname)和课程名称

(Cname)

CnameSname,selectSno,Student_CRfrom85

Gradewhere>

的学生姓名改为“黄海”。

C_Student中学号为S0510)将数学系学生视图C_Studentupdate'

黄海Sname='

set'

Sno=where

,姓名为S09”11)“王海”

insert

into

S09'

王海'

12)删除数学系学生视图C_Student中学号为“S09”的记录。

delete

fromC_Student

whereSno='

四、思考题

1.

是一种对磁盘上实际数据重新组织以按向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。

每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页。

2.视图有哪些优点?

视图是一个由SELECT语句指定,用以检索数据库表中某些行或答:

查询。

SQL列数据的语句存储定义。

从本质上说,视图其实是一种

使用视图的优点如下:

查询的简单性:

将复杂的查询(如多表的连接查询)定义为视图,保留了用户所关心的数据内容,剔除了那些不必要的冗余数据,使其数据环境更加容易控制,从而达到简化用户浏览和操作的目的;

安全保护:

数据库管理员可以在限制表用户的基础上进一步限制视图用户,可以为各种不同的用户授予或撤销在视图上的操作权限,这样,视图用户只能查询或修改他们各自所能见到的数据,从而保证数据库中数据的安全;

掩盖数据库的复杂性:

使用视图可以把数据库的设计和用户的使用屏蔽开来,当基本表发生更改或重新组合时,只需要修改视图的定义即可。

用户还能够通过视图获得和数据库中的表一致的数据。

3.总结创建视图的方法有几种,各种方法实现的步骤,各举一例实现。

两种。

一种是SSMS创建,另一种是T—SQL语句创建。

具体实现步骤见上面实验。

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

当前位置:首页 > 人文社科 > 哲学历史

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

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