还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机学院计科专业5班学号3110006058姓名王翊剑协__________教师评定实验题目
一、数据库及基本表的建立
一、实验目的
1、掌握SQLSERVER的查询分析器和企业管理器的使用;
2、掌握创建数据库和表的操作;
二、实验内容和要求
1、分别使用SQL语句、企业管理器(Enterprise__nager)创建数据库;
2、使用SQL语句、企业管理器(Enterprise__nager)创建数据库表;
三、实验主要仪器设备和材料1.计算机及操作系统PC机,Windows2000/xp;2.数据库管理系统SQLsever2000/2003/2005;
四、实验方法、步骤及结果测试创建一个教学管理数据库SC,其描述的信息有学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息创建student表学生信息表、course表(课程信息表、teacher表(教师信息表、student_course表(学生选课成绩表、teacher_course表(教师上课课表)等
1、创建数据库确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长
(1)、利用查询分析器(Query____yzer),使用SQL语句指定参数创建数据库;实现代码及截图SQL语句CREATEDATABASESCONname=SCfilename=E:\DMS\sc.mdfsize=30MBfilegrowth=20%LOGONname=SC_logfilename=E:\DMS\SCLOG.ldfsize=3MBfilegrowth=1MB;查询分析器执行情况SQL语句及执行结果截图显示
2、创建基本表利用查询分析器,使用SQL语句方式创建方式将下面各表建立到教学管理数据库中1创建student表字段名代码类型约束学号s_nochar8主键姓名snamechar8非空性别___char2出生日期__irthday__alldatetime学生所在院系编号dnochar6外键专业代码spnochar8外键班级编码class_nochar42创建Course表字段名代码类型约束课程编号cnochar10主键课程名称cnamechar20非空专业代码spnochar8外键课程类型编号ctnotinyint理论学时lecturetinyint实验学时experimenttinyint开课学期semestertinyint课程学分credittinyint
(3)创建student_course表字段名代码类型约束学号s_nochar8主键与student表中s_no外键关联级联删除上课编号tcid__allint主键学生成绩scoretinyint4创建teacher表字段名代码类型约束教师编号t_nochar8主键教师姓名t_namechar8非空性别t____char2出生日期t_birthday__alldatetime教师所在院系编号dnochar6外键职称tech_titlechar105创建系部表department字段名代码类型约束院系编号dnochar6主键院系名称dept_namechar20非空院系负责人headerchar86创建专业信息表speciality字段名代码类型约束专业代码spnochar8主键院系编号dnochar6外键非空专业名称spnamechar20非空7创建teacher_course表字段名代码类型约束上课编号tcid__allint主键教师编号t_nochar8外键专业代码spnochar8外键班级编码class_nochar4课程编号cnochar10非空外键学期semesterChar6学年schoolyearChar108创建班级表class字段名代码类型约束专业代码spnochar8主键,与speciality表中spno外键关联班级编码class_nochar4主键班负责人headerchar
83、查看各数据表之间的关系,生成数据库关系图生成数据库关系图截图显示
4、创建各表的实现代码及截图SQL语句createtabledepartmentdnochar6pri__rykeydept_namechar20notnullheaderchar8;createtablespecialityspnochar8pri__rykeydnochar6notnullspnamechar20notnullforeignkeydnoreferen__sdepartmentdno;createtablestudents_nochar8pri__rykeysnamechar8notnull___char2dnochar6spnochar8class_nochar4__irthday__alldatetimeforeignkeyspnoreferen__sspecialityspnoforeignkeydnoreferen__sdepartmentdno;createtableCoursecnochar10pri__rykeycnamechar20notnullspnochar8ctnotinyintlecturetinyintexperimenttinyintsemestertinyintcredittinyintforeignkeyspnoreferen__sspecialityspno;createtablestudent_courses_nochar8tcid__allintscoretinyintpri__rykeys_notcidforeignkeys_noreferen__sstudents_noondeletecascade;createtableteachert_nochar8pri__rykeyt_namechar8notnullt____char2t_birthday__alldatetimednochar6tech_titlechar10foreignkeydnoreferen__sdepartmentdno;createtableteacher_coursetcid__allintpri__rykeyt_nochar8spnochar8class_nochar4cnochar10notnullsemesterchar6schoolyearchar10foreignkeyt_noreferen__steachert_noforeignkeyspnoreferen__sspecialityspnoforeignkeycnoreferen__sCoursecno;createtableclassspnochar8class_nochar4headerchar8pri__rykeyspnoclass_noforeignkeyspnoreferen__sspecialityspno;查询分析器执行情况SQL语句及执行结果截图显示
5、利用查询分析器修改上述各表
1、用INSERT语句向各个表中插入数据录入5条记录录入时注意体会外键约束实现代码及截图查询分析器执行情况SQL语句及执行结果显示insertintodepartmentvalues1计算机系唐一;insertintodepartmentvalues2自动化系唐二;insertintodepartmentvalues3信工系唐三;insertintodepartmentvalues4机电系唐四;insertintodepartmentvalues5通信系唐五;insertintospecialityvalues101计科;insertintospecialityvalues112软件;insertintospecialityvalues123化工;insertintospecialityvalues134自动化;insertintospecialityvalues145通信;insertintostudentvalues1011王一男11011992-1-1;insertintostudentvalues1012王二男11111992-1-2;insertintostudentvalues1013王三女21321992-1-3;insertintostudentvalues1014王四女31211992-1-4;insertintostudentvalues1015王五男51411992-1-5insertintoCoursevalues01数据结构1015412;insertintoCoursevalues02编译原理1125412;insertintoCoursevalues03操作系统1235412;insertintoCoursevalues04嵌入式1345412;insertintoCoursevalues05数据库1455412;insertintostudent_coursevalues101110060;insertintostudent_coursevalues101210160;insertintostudent_coursevalues101310260;insertintostudent_coursevalues101410360;insertintostudent_coursevalues101510460;insertintoteachervalues001张一男198501011教师;insertintoteachervalues002张二男198501022教授;insertintoteachervalues003张三女198501033教师;insertintoteachervalues004张四女198501044副教授;insertintoteachervalues005张五男198501055教师;insertintoteacher_coursevalues1000011010111;insertintoteacher_coursevalues1010021010211;insertintoteacher_coursevalues1020031210311;insertintoteacher_coursevalues1030041210411;insertintoteacher_coursevalues1040051410511;insertintoclassvalues101苏一;insertintoclassvalues112苏二;insertintoclassvalues123苏三;insertintoclassvalues134苏四;insertintoclassvalues145苏五实验结果截图显示(插入数据的表格)因为长度太长,所以截图两半同上截图两半因为太长,同样截成两半同上截两半共8组(共8个表)
2、用UPDATE语句更改student表中数据;实现代码selects_no__irthdayfromstudentwheres_no=1011;updatestudentset__irthday=1993/1/1wheres_no=1011;student表更改前的内容截图显示查询分析student表更改后的内容截图显示
3、用DELETE语句删除student表中数据;实现代码deletefromstudentwheres_no=1011;student表更改前的内容截图显示查询分析student表更改后的内容截图显示
五、实验中出现的问题及解决方案
1.按照实验指导书的顺序写好代码执行,发现一大堆错误原因及解决因为主键与外键的关系,因而某些表必须先于外键表先构建,不然数据出错,按照主外键原则的顺序构建即可
2.在进行插入语句时,发现不能插入数据原因及解决一条insert语句只能插入一个元组,不能批插入在每个元组前加入insert语句
3.在student表的插入数据时,发现系统总是提醒字符截断原因及解决其实是疏忽大意,因为列属性的值是按照代码的顺序生成的,而我是按着实验指导书的顺序插入数据,因而出错只要按代码顺序插入即可
4.执行提醒student表与student-course表插入冲突原因及解决这是因为软件在执行两个相关联的代码时并不一定是一前一后地顺序构建成功,因为当前表没有构建成功时,而后表在构建时将因为无关联数据而出错解决方法是按照表的关联顺序一个一个插入数据
六、思考题
1、说明数据库中的表和数据文件的关系答表是按照数据文件的逻辑关系所构建的二维的标示图
2、数据库中的日志文件能否单独修改答不能计算机学院计科专业5班学号3110006058姓名王翊剑协____________教师评定实验题目
二、设计数据完整性
一、实验目的
1、掌握使用约束实现数据完整性的方法;
2、掌握使用触发器实现数据完整性的方法;
二、实验内容和要求
1、设置主键约束、设置唯一约束、设置外键约束、设置检查约束、设置默认值约束;
2、使用企业管理器创建触发器、使用SQL__创建触发器;
三、实验主要仪器设备和材料1.计算机及操作系统PC机,Windows2000/xp;2.数据库管理系统SQLsever2000/2003/2005;
四、实验方法、步骤及结果测试
(一)、使用约束实现数据的完整性(针对实验一中的所建的基本表)要求
1、定义student表、course表、student_course表、teacher表、department表、speciality表、teacher_course表、class表的主键写出相应的SQL语句student表createtablestudents_nochar8pri__rykeysnamechar8notnull___char2dnochar6spnochar8class_nochar4__irthday__alldatetimeforeignkeyspnoreferen__sspecialityspnoforeignkeydnoreferen__sdepartmentdno;course表createtableCoursecnochar10pri__rykeycnamechar20notnullspnochar8ctnotinyintlecturetinyintexperimenttinyintsemestertinyintcredittinyintforeignkeyspnoreferen__sspecialityspno;teacher表createtableteachert_nochar8pri__rykeyt_namechar8notnullt____char2t_birthday__alldatetimednochar6tech_titlechar10foreignkeydnoreferen__sdepartmentdno;teacher_course表createtableteacher_coursetcid__allintpri__rykeyt_nochar8spnochar8class_nochar4cnochar10notnullsemesterchar6schoolyearchar10foreignkeyt_noreferen__steachert_noforeignkeyspnoreferen__sspecialityspnoforeignkeycnoreferen__sCoursecno;Student_course表createtablestudent_courses_nochar8tcid__allintscoretinyintpri__rykeys_notcidforeignkeys_noreferen__sstudents_noondeletecascade;Department表createtabledepartmentdnochar6pri__rykeydept_namechar20notnullheaderchar8;Speciality表createtablespecialityspnochar8pri__rykeydnochar6notnullspnamechar20notnullforeignkeydnoreferen__sdepartmentdno;Class表createtableclassspnochar8class_nochar4headerchar8pri__rykeyspnoclass_noforeignkeyspnoreferen__sspecialityspno;
2、定义以上各表的外键约束,并通过插入新的数据记录来检查外键约束写出相应的SQL语句,并将检查执行的结果截图显示外键定义的SQL语句检查外键违约处理的结果截图student表foreignkeyspnoreferen__sspecialityspnoforeignkeydnoreferen__sdepartmentdnostudent表insertintostudentvalues1016王六女71331993-2-2;insertintostudentvalues1017王七女31731993-2-2;course表foreignkeyspnoreferen__sspecialityspnocourse表useSCinsertintoCoursevalues06西方哲学史1655412;teacher表foreignkeydnoreferen__sdepartmentdnoteacher表useSCinsertintoteachervalues006张六男1993-2-26教授;Speciality表foreignkeydnoreferen__sdepartmentdnoSpeciality表useSCinsertintospecialityvalues156外国语;Student_course表foreignkeys_noreferen__sstudents_noondeletecascadeStudent_course表useSCinsertintostudent_coursevalues101610270;
3、定义唯一约束为专业表Speciality的spname列建立唯一约束,并通过插入新的数据记录对新建的唯一约束进行检查,写出相应的SQL语句,并将检查的执行结果截图显示定义的SQL语句createtablespecialityspnochar8pri__rykeydnochar6notnullspnamechar20uniqueforeignkeydnoreferen__sdepartmentdno);检查违约处理的结果截图insertintospecialityvalues151计科;
4、定义检查约束为student_course表的Score列设置检查约束条·件,并通过插入新的数据记录来检查约束写出相应的SQL语句,并将检查执行结果截图显示定义的SQL语句createtablestudent_courses_nochar8tcid__allintscoretinyintcheckscore=0andscore=100pri__rykeys_notcidforeignkeys_noreferen__sstudents_noondeletecascade);检查违约处理的结果截图insertintostudent_coursevalues1011105130;
5、查看各表之间的关系,生成数据库关系图数据库关系图如下
(二)、利用企业管理器,使用约束实现数据的完整性方法
1、启动企业管理器,利用表设计器分别定义student表、course表、student_course表、teacher表、department表、speciality表、teacher_course表、class表的主键Class表Student表Course表Student_course表Teacher表Teacher_course表Department表speciality表
2、表设计器中,单击工具栏中的“表和索引属性”按钮,打开“属性”对话框,在“关系”选项卡中定义外键约束(实验截图)department:无外键speciality:student:course:student_course:teacher:teacher-course:class:
3、在表设计器中,单击工具栏中的“表和索引属性”按钮,打开“属性”对话框,在“索引/键”选项中定义专业信息表speciality的spname字段唯一约束(实验截图)
4、在表设计器中,单击工具栏中的“表和索引属性”按钮,打开“属性”对话框,在“CHECK约束”选项中,为student_course表中的score列设置检查约束例如输入表达式score=0andscore=100(实验截图)
(三)、使用触发器实现数据的完整性
1、使用企业管理器创建触发器在student表中创建触发器,实现student和student_course表的级联删除定义触发器的SQL语句Createtriggerdeleted_studentONstudentfordeleteASDeletefromstudent_courseWHEREs_noINSELECTs_noFROMdeleted执行结果截图deletefromstudentwheres_no=1011;
五、实验中出现的问题及解决方案答基本上没什么大问题只是因为是自己下载的是sql2005版的,与实验室用的似乎不同,在找表设计器时找不到,后来问了同学才知道,接着按找步骤即可
六、思考题
1、利用INSERT语句向表中插入数据应该注意什么?答应注意以下几点
1.不得重复插入主键或已被设置为唯一键的属性值
2.插入时必须标明插入的表
3.插入的数值个数必须对应于其列属性的个数
4.一条insert语句只能插入一个元组,不能组插入计算机学院计科专业5班学号3110006058姓名王翊剑协____________教师评定实验题目
三、查询数据库
一、实验目的熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询
1、掌握基本的SELECT查询及其相关子句的使用;
2、掌握复杂的SELECT查询,如多表查询、子查询、连接查询和嵌套查询
二、实验内容和要求使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法,掌握存储查询结果的方法,体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为简单综合应用打下良好的基础
三、实验主要仪器设备和材料1.计算机及操作系统PC机,Windows2000/xp;2.数据库管理系统SQLsever2000/2003/2005;
四、实验方法、步骤及结果测试要求用SELECT完成以下查询,
1、对实验一建立的数据库表进行查询简单查询
(1)、查询全部学生的学号、姓名、性别和出身年月日实现代码及查询结果截图格式如下查询分析器执行情况SQL语句及执行结果显示selects_nosname_____irthdayfromstudent查询结果截图显示
(2)、查询全体学生的学号、姓名和年龄实现代码及查询结果截图因为在构建表的代码中已将__irthday定义为__alldatetime类型,因为无法直接select年龄,只能通过别的方法分两步select.代码如下selects_nosnamefromstudent;/*查询学号姓名*、selectconvertvarchar4__irthday120as__irthyearfromstudent;/*通过covert语句查询出生年份*/selectconvertvarchar182012-1992120assagefromstudent;/*通过covert语句查询年龄*/
(3)、查询院系编号为‘5_____’(计算机学院)的全部学生的学号、姓名、性别和出身年月日(所有数据均以数据库已有数据为准,譬如,在所创建的数据库中,计算机编号为1,以下查询亦是如此)实现代码及查询结果截图usescselects_nosname_____irthdayfromstudentwheredno=1;截图
(4)、查询“计算机科学与技术”专业(专业代码为‘080605’)并且班级代码为‘0201’的学生的学号、姓名和出生日期实现代码及查询结果截图usescselects_nosname_____irthdayfromstudentwherespno=10andclass_no=1;截图
(5)、查询在‘1983/01/10’以后出生的计算机学院(院系编号为‘5_____’)学生的学号、姓名、性别和出身年月日实现代码及查询结果截图usescselects_nosname_____irthdayfromstudentwheredno=1and__irthday1983/1/1;截图
(6)、查询全部学生的学号、姓名、性别和出身日期结果按照出生日期的升序排列实现代码及查询结果截图usescselects_nosname_____irthdayfromstudentorderby__irthdayasc;截图连接查询
(1)、查询全部学生的学号、姓名、性别、所在院系名称和专业名称实现代码及查询结果截图usescselects_nosname___dept_namespnamefromstudentdepartmentspecialitywherestudent.dno=department.dnoandstudent.spno=speciality.spno;截图
(2)、查询选修了课程1(上课编号)的学生的学号、姓名、专业名称和这门课的成绩实现代码及查询结果截图usescselectstudent.s_nosnamespnamescorefromstudentstudent_coursespecialitywherestudent.s_no=student_course.s_noandstudent.spno=speciality.spno;截图
(3)、查询学生不及格的情况列出不及格学生的学号、姓名和不及格的课程名称实现代码及查询结果截图usescselectstudent.s_nosnamecnofromstudentstudent_coursecoursewherestudent.s_no=student_course.s_noandstudent.s_no=student_course.s_noandscore60;即没有不及格的学生嵌套查询
(1)、查询没有选修了课程1的学生,列出学生的学号和姓名实现代码及查询结果截图usescselectdistincts_nosnamefromstudentcoursewherenotexistsselectcnofromcoursewherestudent.spno=course.spnoandcno=01;
(2)、查询每门课都是80分以上的学生的学号与姓名实现代码及查询结果截图usescselects_nosnamefromstudentwhereexistsselectscorefromstudent_coursewherestudent.s_no=student_course.s_noandscore80;截图
2、选用Northwind数据库进行查询
(1)、对NothWind.Products表进行简单查询;在查询分析器在窗口下用SELECT语句完成单表查询查询所有Products的详细记录;实现代码及查询结果截图useNorthwindselect*fromproducts;截图查询单价(UnitPri__)小于20的Products;实现代码及查询结果截图useNorthwindselect*fromproductswhereUnitPri__20;截图查询Products中最高单价(UnitPri__)是多少;实现代码及查询结果截图useNorthwindselect__xUnitPri__asUnitPri__fromproducts;截图
(2)、在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询查询所有被订购过的Products的ProductsID和ProductName;实现代码及查询结果截图useNorthwindselectProductIDProductnamefromproductswhereProductIDinselectproductIDfrom[OrderDetails]whereproducts.ProductID=[OrderDetails].productID;截图查询所有被CustomerID为AROUT客和订购过的ProductsID和ProductName;实现代码及查询结果截图useNorthwindselectProductIDProductnamefromproductswhereProductIDinselectProductIDfrom[OrderDetails]whereOrderIDinselectOrderIDfromOrderswhereCustomerID=AROUT;截图查询所有被CustomerID为AROUT客和订购过,且单价在20以上的ProductsID和ProductName;实现代码及查询结果截图useNorthwindselectProductIDProductnamefromproductswhereUnitPri__20andProductIDinselectProductIDfrom[OrderDetails]whereOrderIDinselectOrderIDfromOrderswhereCustomerID=AROUT;截图查询Products中单价(UnitPri__)最高的Products的资料;实现代码及查询结果截图useNorthwindselect*fromproductswhereUnitPri__inselect__xUnitPri__fromproducts;截图
五、实验中出现的问题及解决方案
1.无法绑定有多个部分组成的标示符原因及解决之所以无法绑定是因为标示符的表示出现错误,改正即可
2.在进行嵌套查询时出现重复列原因及解决因为嵌套查询会重复扫描,因而出现重复元组,解决方法是在要查询的属性列前加上DISTINCT就可以消除重复列的显示了3在进行嵌套查询的时候,常常出现无效ID原因及解决主要有两个原因,一是因为疏忽大意对属性列的拼写错误,二是因为在嵌套查询时层次间链接的ID并非是所要求的链接,因而查询出错,原因在于疏忽与理解仔细检查以及清晰理解嵌套层次
六、思考题
1、连接查询分哪几类?各有什么特点?答分四类1.等值与非等值连接查询特点是以连接运算符作为区分,若运算符是‘=’则是等值连接,其他运算符是非等值连接2.自身连接特点是一个表与其自身连接3.外连接特点是可保存不满足连接的条件的元组并输出结果4.符合连接特点是在连接查询中,where有等多个连接条件
2、进行连接查询时应注意哪些问题?答连接查询是指在一个查询的同时涉及多个表,因而注意的问题是1.涉及表的个数2.涉及表的属性列3.在表与表的连接注意其共同属性计算机学院计科专业5班学号3110006058姓名王翊剑协____________教师评定实验题目
四、创建和使用视图、索引、存储过程
一、实验目的
1、理解视图、索引、存储过程的定义、索引、存储过程的优点与、索引、存储过程的工作原理;
2、掌握在查询分析器和企业管理器中创建、修改及删除视图、索引、存储过程;
3、掌握创建视图、索引、存储过程的SQL语句的用法;并能够熟练利用视图向表中插入、删除和修改数据
4、掌握使用视图来查询数据
二、实验主要仪器设备和材料1.计算机及操作系统PC机,Windows;2.数据库管理系统SQLServer2000;
三、实验方法、步骤及结果测试
(一)、视图
1、建立“计算机学院”的学生基本情况视图ies_student_view,该视图包括计算机学院所有学生的学号、姓名、性别、出身年月、专业名称
2、执行ies_student_view视图并观察结果
3、建立课程1(上课编号)的学生名册的视图,该名册包括学生的学号、姓名、专业名称和这门课的成绩;并查询结果
4、建立统计不及格情况的视图,列出不及格学生的学号、姓名和不及格的课程代码;
5、执行视图并观察结果
6、修改视图ies_student_view,使该视图包括所有学生的学号、姓名、性别、出身年月、学院名称、专业名称
7、执行ies_student_view视图并观察结果
8、删除视图ies_student_view并查询结果记录上述实验过程并截图说明查询分析器执行情况创建视图的SQL语句及执行结果显示
1.createviewies_student_viewasselects_nosname_____irthdayspnamefromstudentspecialitywherestudent.spno=speciality.spnoandstudent.dno=1;查询视图SQL语句及执行结果截图
2.select*fromies_student_view;查询分析器执行情况
3.创建视图的SQL语句及执行结果显示createviewcourse_01asselectdistinctstudent.s_nosnamespnamescorefromstudentspecialityCoursestudent_coursewherestudent.spno=Course.spnoandstudent.s_no=student.s_noandstudent.spno=speciality.spnoandCourse.cno=01;select*fromcourse_01;查询视图SQL语句及执行结果截图
4.和5createviewscoreasselectstudent.s_nosnamecnofromstudentCoursestudent_coursewherestudent.spno=Course.spnoandstudent.s_no=student_course.s_noandscore60;select*fromscore;查询分析器执行情况修改视图的SQL语句及执行结果显示
6.alterviewies_student_viewasselects_nosname_____irthdaydept_namespnamefromstudentdepartmentspecialitywherestudent.dno=department.dnoandstudent.spno=speciality.spno;查询视图SQL语句及执行结果截图
7.查询分析器执行情况
8.删除视图的SQL语句及执行结果显示dropviewies_student_view;查询视图SQL语句及执行结果截图执行前执行后
(二)、索引
(1)、在student_course表(学生选课表)的学生学号(sno)列上创建索引sc_sno_index2通过SQL语句查看运行结果查询分析器执行情况创建索引的SQL语句及执行结果显示createindexsc_sno_indexonstudent_courses_no;查询视图SQL语句及执行结果截图
(三)、存储过程题目
(1)查询分析器执行情况SQL语句示例Createproclist-…..createproclist_student_department@dnointasselect*fromstudentwheredno=@dno;执行结果截图显示示例EXEClist-题目
(2)查询分析器执行情况SQL语句示例EXEClist_student_department@department=’51000’EXEClist_student_department@dno=3;执行结果截图显示题目
(3)查询分析器执行情况SQL语句createpro__dureadds@class_nochar@tcid__allintasinsertintostudent_courses_notcidselecttcidstudent.s_nofromstudentstudent_coursewhereclass_no=@class_noANDtcid=@tcidANDstudent.s_no=student_course.s_no题目
(4)查询分析器执行情况SQL语句execadds@class_no=1@tcid=103;执行结果截图显示题目
(5)查询分析器执行情况SQL语句sp_helptextlist_student_department;执行结果截图显示题目
(6)查询分析器执行情况SQL语句alterproclist_student_department@s_nointasdeclare@dnochar6@spnochar8;set@dno=selectdnofromdepartmentwheredno=@dno;set@spno=selectspnofromspecialitywherespno=@spno;selects_noas学号snameas姓名__irthdayas出生日期dept_nameas院系名称spnameas专业名称fromstudentdepartmentspecialitywheres_no=@s_noanddepartment.dno=@dnoandspeciality.spno=@spno;执行结果截图显示题目
(7)查询分析器执行情况SQL语句dropproclist_student_department;执行结果截图显示执行前执行后实验方法
(1)、视图(使用企业管理器)
1、启动企业管理器,选择要创建视图的数据库SC并展开;
2、执行“工具”/“向导”命令;
3、选择数据库SC;
4、选择数据库SC,选择表student、department
5、选择student表中的sno\sname\___\__irthday字段和speciality表中的spname字段;
6、在“定义限制”对话框中输入WHERE子句来限制视图的信息;
7、命名视图ies_sc_view
8、使用视图ies_sc_view在查询分析器中运用SQL语句查询视图
(2)、索引(使用企业管理器)
1、启动企业管理器,选择要创建索引的数据库SC并展开;
2、执行“工具”/“向导”命令;
3、展开“数据库”文件夹,双击“创建索引向导”
4、选择希望为其建立索引的数据库和对象(如数据库SC中的student表)
5、查看有关当前索引的信息选择一个或多个将被包含在索引中的列
6、指定索引选项
四、实验中出现的问题及解决方案1在进行视图查询时,即第3个查询,结果显示是王一这门课有两个成绩原因是我曾经修改过数据但我无法解决.2更新视图ies_student_view,但执行结果显示无法更新原因是更新视图会影响多个基表
五、思考题
1、视图更新的优点答视图是虚表,其内容来源于查询定义,是基本表数据的表现通过视图,用户可以限制在一定的数据子集内,也提高了安全性
2、哪些视图是可以更新的?哪些视图是不可以更新的?针对实验举例说明答一般的行列子集视图是可以更新的比如实验中的
6、
7.更新的了视图的显示不可更新耳朵视图包括
1.两个基本表到处的视图
2.视图字段来自聚集函数
3.视图定义中含有GROUPBY和DISTINCT不可更新在更新ies_student-view时就不可更新因为其视图是由student、department和speciality表导出43。