1、数据库实验报告二 数据库原理及应用实验报告实验项目:基本表、索引与视图的定义、删除和修改 专业班级: 计科系班 姓 名: 学 号: 实验类型: 验证 20年10月 实验项目二一、实验项目名称:SQL 基本表查询基本表、索引与视图的定义、删除和修改二、实验项目的目的和任务:使学生熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表、索引与视图的创建与修改。三、实验内容: 1 基本表的建立:a) 建立一个“学生表student”,它由学号xh、姓名xm、性别xb
2、、年龄nl、所在系xi五个属性组成,其中学号属性为主属性,并且其值是唯一的。 b) 建立“课程course”包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键课程号c) 建立“选课表sc”包括学号xh,课程号kch,成绩grade,要求建立主键及与student及sc表联接的外键2 基本表的修改:a) 在选课表中增加一列“任课教师rkjs”b) 删除选课表中rkjs一列c) 将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)d) 建立一个临时表,再将其删除 3 索引的建立与删除 a)在学生表中以学生的姓名建立
3、降序索引 b)在课程表中以课程名建立升序,以学分建立降序索引 c)删除以上索引4建立、删除和更新视图a)建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。CREATE VIEW C_StudentASSELECT Sno, Sname, Sage, Sdept FROM StudentsWHERE Sdept=数学WITH CHECK OPTIONb)删除视图在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。SELECT Sname, SageFR
4、OM C_StudentWHERE Sage=0 and grade =100), foreign key(xh) references student(xh), foreign key(kch) references course(kch) )实验截图如下:建立的表sc如下所示:表sc打开填写信息如下:/*在选课表中增加一列任课教师rkjs*/alter table sc add rkjs char(20) 实验截图如下:/*在选课表中删除任课教师rkjs一列*/alter table sc drop column rkjs实验截图如下:/*将student表的xm一列允许空值的属性更改成不
5、允许为空, 将列xm的长度由char(8)改为char(10)*/alter table student alter column xm char(10) not null实验截图如下:/*建立一个临时表*/create table #lsb(id char(20) primary key not null, pass char(20)实验截图如下:/*删除临时表*/drop table #lsb实验截图如下:/*在学生表中以学生的姓名建立降序索引*/create unique index xsxm on student(xm desc)实验截图如下:/*在课程表中以课程名建立升序,以学分建立
6、降序索引*/create index kcmcxf on course(kcmc asc,xf desc)实验截图如下:/*删除索引*/drop index xsxm on studentdrop index kcmcxf on course实验截图如下:/*建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生, 视图的属性名为xh,xm,nl,xi*/create view C_student(Sno,Sname,Sage,Sdept) as select xh,xm,nl,xi from student where xi=数学系 with check option
7、实验截图如下:/*在数学系的学生视图C_Student中 找出年龄(nl)小于20岁的学生姓名(xm)和年龄(nl)*/select Sname,Sage from C_student where Sage20实验截图如下:/*将数学系学生视图C_Student中学号为S05的学生姓名改为“黄海” 删除数学系学生视图C_Student中学号为“S09”的记录。*/update C_student set Sname=黄海 where Sno=S05 delete from C_student where Sno=S09实验截图如下:5、实验总结: 通过本次实验,对SQL server 2005有了基本的了解,能用两种方法完成数据库、基本表、索引以及视图的创建,并能对其进行相应的定义、删除、修改等操作。出现问题的是临时表的建立部分,通过查询资料得知临时表的位置位于系统数据库的tempdb目录下,但是建立的临时表不支持打开,这是本次实验的一个不足之处。另外,由于本数据库的创建位置是自定义的一个新文件夹,所以运行前应该根据日志的目录地址先在E盘建立一个名为shujuku的文件夹,才能保证实验的正常执行。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1