资源描述:
《SQL 基本表查询基本表、索引与视图的定义、删除和修改》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库实验报告实验二实验题目:SQL基本表查询基本表、索引与视图的定义、删除和修改指导老师:杨秀荣专业班级:计算机科学与技术系网络工程方向1002班 姓名:张磊(2010100244)2012年10月8日实验类型__验证性__实验室_软件实验室一__一、实验题目5SQL基本表查询基本表、索引与视图的定义、删除和修改二、实验目的和要求使学生熟悉SQLServer的企业管理器的用法,初步了解SQLServer查询分析器的使用方法,熟悉SQLSERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表、索引与视图的
2、创建与修改。三、实验内容1.基本表的建立:a)建立一个“学生表student”,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性为主属性,并且其值是唯一的。b)建立“课程course”包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键课程号c)建立“选课表sc”包括学号xh,课程号kch,成绩grade,要求建立主键及与student及sc表联接的外键2.基本表的修改:d)在选课表中增加一列“任课教师rkjs”e)删除选课表中rkjs一列f)将student表的xm一列允许空值
3、的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)g)建立一个临时表,再将其删除3.索引的建立与删除a)在学生表中以学生的姓名建立降序索引b)在课程表中以课程名建立升序,以学分建立降序索引c)删除以上索引4.建立、删除和更新视图a)建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。CREATEVIEWC_StudentASSELECTSno,Sname,Sage,SdeptFROMStudentsWHERESdept=’数学’
4、WITHCHECKOPTIONb)删除视图在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。SELECTSname,SageFROMC_StudentWHERESage<20;5c)更新视图将数学系学生视图C_Student中学号为S05的学生姓名改为“黄海”。删除数学系学生视图C_Student中学号为“S09”的记录。四、实验步骤1.打开SQLServerManagementStudio,在左边数据库文件夹上单击鼠标右键,选择新建数据库,在数据库名称中写学生-课程数据库
5、,单击确定。a)单击新建查询,在窗口中输入以下代码:createtablestudent(xhchar(9)primarykey,xmchar(20),xbchar(2),nlsmallint,xichar(20));/*单击执行,实现了student表的建立。*/b)单击新建查询,输入以下代码:createtablecourse(kchchar(4)primarykey,kcmcchar(40),xxkcchar(4),xfsmallint,);/*单击执行,建立course表。*/c)单击新建查询,输入以下代码:createtab
6、lesc(xhchar(9),kchchar(4),gradesmallint,primarykey(xh,kch),foreignkey(xh)referencesstudent(xh),foreignkey(kch)referencescourse(kch));/*单击执行,建立sc表。*/2.基本表的修改,以下代码分别单击新建查询后输入,然后执行。d)altertablescaddrkjschar;/*实现在选课表中增加一列“任课教师rkjs”。*/e)altertablescdropcolumnrkjs;/*实现删除选课表中r
7、kjs一列。*/f)altertablestudentaltercolumnxmNOTNULL;5altertablestudentaltercolumnxmchar(10);/*实现将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)。*/g)createtablelinshibiao(xingmingchar(20)primarykey,xingbiechar(2),nianlinsmallint,);/*建立一个临时表。*/droptablelinshibiao;/*将临
8、时表删除。*/3.索引的建立与删除。以下代码分别单击新建查询后输入,然后执行。a)createuniqueindexstuxmonstudent(xmdesc);/*实现在学生表中以学生的姓名建立降序索引。*/b)cre