ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:278.17KB ,
资源ID:9006209      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9006209.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验三 索引和视图.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

实验三 索引和视图.docx

1、实验三 索引和视图实验三 索引和视图一、 实验目的1 掌握利用SSMS和TSQL语句创建和删除索引的两种方法。2 掌握利用SSMS和TSQL语句创建、查询、更新及删除视图的方法。二、 实验要求1 能认真独立完成实验内容;2 实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;3 验后做好实验总结,根据实验情况完成实验报告。情况完成总结报告。三、 实验学时2学时四、 实验内容1、用TSQL建立一个“学生选课数据库”,在此基础上用SQL语句建立该数据库包含的学生表,课程表,学生选修表:学生表:Student(Sno,Sname,Ssex,Sage,Sd

2、ept) 其中Sno为主键且Sname不能为空值,且取值唯一、Ssex只能取值男或女、Sage 在15到30之间:SnoSnameSsexSageSdeptS01S02S03S04S05S06王建平刘华范林军李伟黄河长江男女女男男男211918191820自动化自动化计算机数学数学数学create database 选课数据库use 选课数据库create table student(sno char(5) primary key, sname char(10) not null unique, ssex char(3) constraint ssex_ch check (ssex in(男,

3、女), sage int not null constraint sage_ch check (sage between 15 and 30), sdept char(10)课程表:Course(Cno,Cname,Cpno,Credeit) 其中Cno为主键CnoCnameCpnoCreditC01英语NULL4C02数据结构C052C03数据库C022C04DB_设计C033C05C+NULL3C06网络原理C073C07操作系统C053create table course(cno char(5) primary key, cname char(10) not null, cpno ch

4、ar(5), credit int not null)insert into coursevalues(C01,英语,null,4)insert into coursevalues(C02,数据结构,C05,2)insert into coursevalues(C03,数据库,C02,2)insert into coursevalues(C04,DB_设计,C03,3)insert into coursevalues(C05,C+,null,3)insert into coursevalues(C06,网络原理,C07,3)insert into coursevalues(C07,操作系统,C

5、05,3)学生选修表:SC(Sno,Cno,Grade) 其中Sno,Cno为主键同时又为外键、Grade值在0到100;SnoCnoGradeS01C0192S01C0384S02C0190S02C0294S02C0382S03C0172S03C0290S04C0375create table sc(sno char(5) not null, cno char(5) not null, grade int constraint grade_ch check(grade between 0 and 100), primary key(sno,cno), constraint fk_sno fo

6、reign key (sno) references student(sno), constraint fk_cno foreign key (cno) references course(cno)insert into scvalues(S01,C01,92)insert into scvalues(S01,C03,84)insert into scvalues(S02,C01,90)insert into scvalues(S02,C02,94)insert into scvalues(S02,C03,82)insert into scvalues(S03,C01,72)insert in

7、to scvalues(S03,C02,90)insert into scvalues(S04,C03,75)2.索引的建立、删除用SSMS的方式为Student表按Sno(学号)升序建唯一索引用TSQL语句为Course表按Cno(课程号)升序建唯一索引,create unique index course_cnoon course(cno asc)用TSQL语句为SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。create unique index sc_sno_cnoon sc(sno asc,cno desc)能否用TSQL语句再为表Students的Sname(姓名)和

8、Sno(学号)列上建立一个聚簇索引?若不能说明原因?不能,因为student表中主键sno唯一,则已默认存在聚集索引,而每个表只能有一个聚集索引,故不能再建立另一个聚集索引。用TSQL语句删除基本表SC上的唯一索引。drop index sc_sno_cnoon sc3.用TSQL完成如下视图的建立、查询、修改及删除1)建立数学系学生的视图C_Student,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。create view c_studentas select sno,sname,sage,sdept from stude

9、nt where sdept=数学with check option2) 用SSMS的方式建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图Student_CR。3) 定义一个反映学生出生年份的视图Student_birth(Sno, Sname, Sbirth)。create view student_birthas select sno,sname,2013-sage as sbirth from studentgo4)建立先修课程为空的课程视图v_coursecreate view v_courseas select cno,cname fr

10、om course where cpno is nullgo5)建立成绩高于90分的女生成绩视图v_F_grade(包括学号,姓名,课程号及成绩列)create view v_f_gradeas select student.sno,sname,o,grade from student,sc,course where student.sno=sc.sno and o=o and ssex=女 and grade90go6)建立视图S_AVGAGE(其中包括性别SSEX与平均年龄AVG_AGE两列)用以反映男生、女生的平均年龄create view s_avgageas select ssex,

11、avg(sage) as avg_age from student group by ssex7)对前面创建的视图S_AVGAGE执行更新操作:UPDATE S_AVGAGESET AVG_AGE = 85WHERE ssex = 女上述语句能否成功执行?为什么?对视图或函数S_AVGAGE 的更新或插入失败,因其包含派生域或常量域。8) 在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。select sname,sagefrom c_studentwhere sage8510) 将数学系学生视图C_Student中学号为S05的学

12、生姓名改为“黄海”。update c_studentset sname=黄海where sno=S0511) 向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“S09”,姓名为“王海”,年龄为20岁。insert into c_student(sno,sname,sage,sdept)values(S09,王海,20,数学)12) 删除数学系学生视图C_Student中学号为“S09”的记录。deletefrom c_studentwhere sno=S09四、思考题1. 在一个表中可以有多个聚簇索引吗?为什么?聚簇索引也叫簇类索引,是一种对磁盘上实际数据重新组织以按指定的

13、一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页。2. 视图有哪些优点?使用视图的优点如下:查询的简单性:将复杂的查询(如多表的连接查询)定义为视图,保留了用户所关心的数据内容,剔除了那些不必要的冗余数据,使其数据环境更加容易控制,从而达到简化用户浏览和操作的目的;安全保护:数据库管理员可以在限制表用户的基础上进一步限制视图用户,可以为各种不同的用户授予或撤销在视图上的操作权限,这样,视图用户只能查询或修改他们各自所能见到的数据,从而保证数据库中数据的安全;掩盖数据库的复杂性:使用视图可以把数据库的设计和用户的使用屏蔽开来,当基本表发生更改或重新组合时,只需要修改视图的定义即可。用户还能够通过视图获得和数据库中的表一致的数据。3. 总结创建视图的方法有几种,各种方法实现的步骤,各举一例实现。两种。一种是SSMS创建,另一种是TSQL语句创建。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2