精品创建和管理其他数据库对象题目及答案doc.docx

上传人:b****9 文档编号:28773553 上传时间:2023-07-19 格式:DOCX 页数:14 大小:35.78KB
下载 相关 举报
精品创建和管理其他数据库对象题目及答案doc.docx_第1页
第1页 / 共14页
精品创建和管理其他数据库对象题目及答案doc.docx_第2页
第2页 / 共14页
精品创建和管理其他数据库对象题目及答案doc.docx_第3页
第3页 / 共14页
精品创建和管理其他数据库对象题目及答案doc.docx_第4页
第4页 / 共14页
精品创建和管理其他数据库对象题目及答案doc.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

精品创建和管理其他数据库对象题目及答案doc.docx

《精品创建和管理其他数据库对象题目及答案doc.docx》由会员分享,可在线阅读,更多相关《精品创建和管理其他数据库对象题目及答案doc.docx(14页珍藏版)》请在冰豆网上搜索。

精品创建和管理其他数据库对象题目及答案doc.docx

精品创建和管理其他数据库对象题目及答案doc

实验:

创建与管理其他数据库对象

一、实验目的

掌握创建管理索引、视图、存储过程和触发器对象的使用方法;

实验环境

已安装SQLServer2005企业版的计算机;

具有局域网环境,有固定IP;

三、实验学时

4学时

四、实验要求

1.掌握索引的创建和管理方法;

2.掌握视图的创建和管理方法;

3.掌握存储过程的创建和管理方法;

4.掌握触发器的创建和管理方法;

5・完成实验报告;

五、实验内容及步骤

请使用T-SQL语句实现进行以下操作:

1•在student表的sno列上创建唯一性聚集索引index.sno

USEstu

GO

CREATEUNIQUECLUSTEREDINDEXindex_sno

ONstudent(sno)

禺消息

I命令已成功完成.

紛查询已成功执行。

2.在student表的sname列上创建唯一性非聚集索引index.sname

USEstu

GO

CREATEUNIQUENONCLUSTEREDINDEXindex_sname

ONstudent(sname)

3.在student表的sage列上创建非聚集索引index-sage

USEstu

GO

CREATENONCLUSTEREDINDEXindex_sage

ONstudent(sage)

4.在sc表的sno列和eno列上创建复合非聚集索引index.sno-cno

USEstu

GO

CREATENONCLUSTEREDINDEXindex_sno_cno

ONsc(sno,eno)

GO

5•将索引index-o更名为index^snocno

USEstu

GO

EXECsp_rename'sc•index_sno_cno1,1index_snocno1,*index

6•删除上面的索引index-snocno

USEstu

GO

DROPindexindex_snocno

ONsc

7.查看student表的索引基本信息

USEstu

GO

EXECsp_helpindexstudent

GO

>—

13结果肉消息

index_name

index_descnption

jndex.keys

1

]index^sage

|nonclusteredlocatedonPRIfvIARY

sage

2

index_sname

nonclustered.uniquelocatedonPRIMARY

sno

3

index_sno

clustered,uniquelocatedonPRIMARY

sno

(Q查询已成功执行。

JSJ-PC29(9.0RTM)JSJ-PC29\Administrator(52)

8.创建一个只选修8号课程的学生情况的视图信息

USEstu

GO

CREATEVIEWstu_8

AS

SELECTstudent.snozstudent.snamezsage^ssex

fromstudent,sc

Wherestudent.sno=sc・snoANDcno=8

9•创建一个视图view_stu,只包含学生的学号,姓名,年龄信息

USEstu

GO

CREATEVIEWview_stu

AS

SELECTsnozsname,sage

Fromstudent

10.在上一题视图的基础上创建年龄在20岁以上的的学生的视图

USEstu

GO

SELECTsno,sname,sage

Fromview_stu

wheresage>20

I、)1.

n结果

JI消息

sno

sname

sage

1

200515001

赵菁菁

23

2

200515008

王民生

25

3

200515010

李晨

22

4

200515014

张丰毅

22

5

200515015

李蕾

21

6

200515016

刘社

21

200515020

马翔

21

8

200515021

刘峰

25

9

200515022

牛站强

22

10

200515025

朱小欧

30

©查询已成功执行.JSJ-PC29(9.0RTM)

11.创建一个包含不及格同学及90分以上同学的学号、姓名、课程名称及成绩的视图

USEstu

GO

SELECTstudent・sno,student・sname,cname,grade

Fromstudent,sc,course

wherestudent.sno=sc.snoANDsc.cno=course.enoAND(grade>90ORgrade<60)

sno

sname

cname

grade

1

200515001

赵菁菁

数据结构

58

2

200515002

李勇

信息系统

53

3

200515004

张衡

数学

46

4

200515005

张向东

数据库

58

5

200515010

李晨

数学

96

6

200515015

李蕾

大学英语

0

/

200515018

李贯

大学英语

58

8

200515021

刘峰

数据处理

58

9

200515021

刘峰

计算机网络

54

©查询己成功执行。

JSJ-PC29(9.0RTM)

JSJ*PC29\Administr

12.选择一个上面创建的视图,查看视图的信息

USEstu

GO

SELECTsno,sname,sage

FROMviewstu

sno

sname

sage

1

200515001

赵菁菁

23

2

200515002

李勇

20

J_

200515003

张力

19

4

200515004

张衡

18

5

200515005

张向东

20

6

200515006

张向丽

20

200515007

王芳

20

8

200515008

王民生

25

9

200515009

王小民

18

10

200515010

李晨

22

11

200515011

张毅

20

12

200515012

杨磊

20

13

200515013

李晨

19

14

200515014

张丰毅

22

15

200515015

李蕾

21

16

200515016

刘社

21

17

200515017

刘星耀

18

18

200515018

李贲

19

19

200515019

林自许

20

Q

200515020

马翔

21

21一

200515021

刘峰

25

22_

200515022

牛站强

22

23

200515023

李婷婷

18

24

200515024

严丽

20

25

200515025

朱小欧

30

©查询已成功执行.

JSJ-PC29(9.0RTM)

JSJ-PC29\Admin

13.选择一个上面创建的视图,修改删除其中的一列

USEstu

GO

EXECsp_renamefview_stu.sno1,1view_stu・口刖$110',1COLUMN遐消息

警告:

更改对象名的任一部分都可能会破坏脚本和存储过程。

14.选择一个上面创建的视图进行删除操作

USEstu

GO

DROPVIEWstu_8

15.从视图view_stu中查询19岁的男生记录

USEstu

GO

USEstu

GO

SELECT1view_stu•newsno1AS1snof,student.sname,student.sage

FROMview_stu,student

WHERE1view_stu.newsno1=student.snoANDstudent.sage=19ANDssex=‘男'

16.通过视图view.stu中插入一行数据。

学号:

2006010010,姓名:

赵青,年龄:

USEstu

GO

Insertintoview_stu

Values(^OOGOIOIO1,■赵青J1*)

17•将视图view.stu中姓名为“李蕾”的年龄改为“22”

USEstu

GO

UPDATEview_stu

SETsage=*22*

WHEREszme」李蕾'

18.通过视图view.stu将姓名为“李贵”的记录删除

USEstu

GO

DELETE

FROMview_stu

WHERES2me=‘李贵'

19.自行选择上面创建的一个视图插入一个记录。

USEstu

GO

Insertintoview_stu

ValuesC2006010ir;^贵;70')

20.自行选择一个视图根据一定的条件进行查询。

USEstu

GO

SELECT*

Fromview_stu

WHEREsage>=20

view_stu.newsno

sname

sage

1

2{}0515(X)1

赵菁菁

23

2_

200515002

李勇

20

3_

200515005

张向东

20

4

200515006

张向丽

20

5_

200515007

王芳

20

6

200515008

王民生

25

7

200515010

李晨

22

8_

200515011

张毅

20

9_

200515012

杨磊

20

10

200515014

张丰毅

22

11

200515015

李蕾

22

12

200515016

刘社

21

13

200515019

林自许

20

14

200515020

马翔

21

15

200515021

刘峰

25

16

200515022

牛站强

22

17

200515024

严丽

20

18

200515025

朱小欧

30

19

200601011

赵贲

20

出哇週勒功执行^巴strat0厂二54

21.自行选择联合一张表和某个视图进行复合查询。

USEstu

GO

SELECT*

Fromview_stuzsc

WHERE1view_stu.newsno1-sno

22.创建存储过程返回全部男生选课及成绩等相关信息

USEstu

GO

CREATEPROCEDUREstu_info

AS

SELECTDISTINCTa.sno,sname,eno,grade

FROMstudenta,sc

WHEREa.sno=sc・snoANDssex=,男'

EXECstuinfo

sno

sname

C...

grade

1

2站5002

李勇

1

85

2_

200515002

李勇

3

53

3_

200515002

李勇

4

85

4

200515003

张力

1

86

5_

200515004

张衡

174

6_

200515004

张衡

2

46

7

200515005

张向东

1

58

8_

200515005

张向东

10

65

9

200515005

张向东

2

89

10

200515008

王民生

2

72

11

200515016

刘社

8

NULL

12

200515017

刘星耀

8

NULL

13

200515021

刘峰

6

58

◎查询已成功执行。

JSJ-PC29(9.0RTM)JSJ-PC29Ud/ninistrator

23.创建一个带输入参数的存储过程,能够根据参数向学生表中插入一条记录

USEstu

GO

CREATEPROCEDUREstudent_insert(@snochar(9),Gsnamechar(8),@ssex

char

(2)r@sageint,Gsdeptchar(4))

AS

INSERTINTOstudent(sno,sname,ssex,sage,sdept)

VALUES(@sno,@snamez@ssexr@sagez@sdept)

EXECstudent_insert(1200666666','萧萧','男\*20','CS')

24.创建一个带输入参数的存储过程,根据不同的学生名参数,返回该学生的所有课程成绩。

USEstu

GO

CREATEPROCEDUREstu_scl(@yxchar(6))

ASSELECTDISTINCTa.sno,sname,eno,grade

FROMstudenta,sc

WHEREa-sno=sc.snoandsname=@yx

GO

Execstu_scl1张力'

L<||1

□结果

j消息

sno

sname

eno

grade

1

200515003

张力

1

86

◎查询已成功执行-JSJ

25.创建一个带输入输出参数的存储过程,根据输入的系部名,统计该系学生的

平均成绩并输出。

USEstu

GO

CREATEPROCEDUREAVERAGE2

@stu_sdeptvarchar(8),^averageintOUTPUT

AS

SELECT@average-avg(grade)

FROMstudentzsc

WHEREstudent.sno=sc・snoANDsdeptstu_sdept

GO

DECLARE@Gint

EXECAVERAGE2'CSJ@GOUTPUT

SELECT@G

26.查看第22和23题的存储过程的有关信息,并查看它们的定义。

修改第22题的存储过程,改为查询全部女生的资料。

删除第23题的存储过程。

USEstu

GO

ALTERPROCEDUREstu_info

AS

SELECTDISTINCTa.sno,sname,eno,grade

FROMstudenta,sc

WHEREa.sno^sc・snoANDssex二'女'

EXECstu_info

GO

DROPPROCEDUREstudent_insert

27•创建student表的DELETE触发器,当一个学生退学后,信息从student表中删除,触发在sc表中删除该生选课情况。

USEstu

GO

28•创建一个触发器,检查在sc表中输入一门课程成绩,必须符合在0到100分范围内。

USEstu

GO

 

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

当前位置:首页 > 外语学习 > 英语考试

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

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