广东海洋大学数据库实验三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 索引和视图
一、 实验目的
1. 掌握利用SSMS 和T —SQL 语句创建和删除索引的两种方法。

2. 掌握利用SSMS 和T —SQL 语句创建、查询、更新及删除视图的方法。

0到100;
2.索引的建立、删除
①用SSMS的方式为Student表按Sno(学号)升序建唯一索引
②用T—SQL语句为Course表按Cno(课程号)升序建唯一索引,
③用T—SQL语句为SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。

④能否用T—SQL语句再为表Students的Sname(姓名)和Sno(学号)列上建立一个聚簇索引?
若不能说明原因?
不行。

因为一个表只能建立一个聚簇索引;
⑤用T—SQL语句删除基本表SC上的唯一索引。

3.用T—SQL完成如下视图的建立、查询、修改及删除
1)建立数学系学生的视图C_Student,并要求进行修改和插入操作时仍需保证该视图只有
数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。

2) 用SSMS的方式建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)
的视图Student_CR。

3) 定义一个反映学生出生年份的视图Student_birth(Sno, Sname, Sbirth)。

4)建立先修课程为空的课程视图v_course
5) 建立成绩高于90分的女生成绩视图v_F_grade(包括学号,姓名,课程号及成绩列)
6)建立视图S_AVGAGE(其中包括性别SSEX与平均年龄AVG_AGE两列)用以反映男生、女
生的平均年龄
7)对前面创建的视图S_AVGAGE执行更新操作:
UPDATE S_AVGAGE
SET AVG_AGE = 85
WHERE ssex = '女'
上述语句能否成功执行?为什么?
不能进行。

因为其含有派生域或常量域
8) 在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄
(Sage)。

9) 在Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称
(Cname)。

10) 将数学系学生视图C_Student中学号为S05的学生姓名改为“黄海”。

11) 向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“S09”,姓名为
“王海”,年龄为20岁。

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

四、思考题
1.在一个表中可以有多个聚簇索引吗?为什么?
答:不可以。

每个表只能建一个聚簇索引。

2.视图有哪些优点?
答:查询简单、安全保护、掩盖复杂性
3.总结创建视图的方法有几种,各种方法实现的步骤,各举一例实现。

答:两种。

(1)SSMS创建
(2)T-SQL语句创建。

相关文档
最新文档