文档介绍:该【数据库SQL实验题目(14-15-1)解析 】是由【1781111****】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【数据库SQL实验题目(14-15-1)解析 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。、查看、删除等基本操作方法?实验内容和要求一、数据库的创建在开始菜单中,启动SQlServer程序中的“SQLServerManagementStudio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表参数参数值参数参数值存储的数据文件路存储的日志文件路径径数据文件初始大小5MB日志文件初始大小2MB数据文件最大值20MB日志文件最大值15MB数据文件增长量原来10%日志文件增长量2MB二、表的创建、查看、,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构是否允许字段名称数据类型长度精度小数位数说明Null值SnoChar1000否学号,主码SnameVarchar800是姓名SsexChar200是性别,取值:男或女SbirthdayDate800是出生日期SdeptChar1600是系名SpecialityVarchar2000是专业名特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK约束”命令,然后按照图1进行设置。1设置性别的约束(2)Course表(课程名称表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明CnoChar500否课程号,主码CnameVarchar2000否课程名(3)SC表(成绩表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明SnoChar1000否学号,外码CnoChar500否课程号,外码DegreeDecimal551是成绩,0~100之间特别注意:①为属性Degree约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1AndDegree<=100②o的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,o属性设置为外键。按照相同的方法,将属性Sno也设置为外键。o2学生关系表Student(右键单击表Student,选择“编辑前200行”)SnoSnameSsexSbirthdaySdeptSpeciality20050101李勇男1987-01-12计算机系计算机应用20050201刘晨女1988-06-04信息管理系电子商务20050301王敏女1989-12-23数学系数学20050202张立男1988-08-25信息管理系电子商务课程关系表Course成绩表SCoDegreeame20050101C0192C01数据库20050101C0285C02数学20050101C0388C03信息系统20050201C0290C04操作系统20050201C038020050301C0**********(找到操作的方法即可,不需要真正地修改表中的属性)(1)向student表中增加“入学时间”列,其数据类型为日期型(2)将student表中的sdept字段长度改为20(3)?扩展名分别是什么??,NOTNULL参数的作用是什么?“值可以为NULL”的列上吗?,BETWEEN…AND和NOTBETWEEN…?实验内容和要求一、,结构如下:字段名称数据类型长度精度小数位数是否允许Null值说明TnoChar300否教师号,主码TnameVarchar800是教师名TsexChar200是性别,取值:,表结构如下:Teaching表(授课表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明CnoChar500否课程号,外码TnoChar300否教师号,外码CtermTinyint100是1--01-12计算机系C011012102钱军女1968-06-04计算机系C021021201王小花女1979-12-23信息管理系C032013202张小青男1968-08-25信息管理系C042024二、、“电子商务”专业的学生姓名、,“C01”,“C02”“刘”“C03”课程和学生的学号及其成绩,,并为选课人数取别名为“人数”,并为选课人数和最高分分别取别名为“人数”、“最高分”,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。:SELECT子句、HAVING子句、WHERE子句、GROUPBY子句中???含义分别是什么?…AND表示的数据范围能否用其他方法表示?怎样表示?如:scorebetween80and90还可以怎么表示??实验内容和要求一、“王”“数据库”“C02”“数学”“钱军”教师任课的课程号,,选修其课程的学生学号和成绩二、,、“C01”“C02”“数据库”课程的学生学号、,求“C02”号课程在80分以上的学生信息?,何时外层查询的WHERE条件为真,何时为假??数据更新、?实验内容和要求一、('20050203','张静','女','1981-3-21','CS','电子商务'),(提示:利用selectinto命令可备份数据库中的表格式:select*into新表名from原表名where子句;),系别改为“CS”,专业改为“多媒体技术”“C03”%“数据库”课程学生的成绩全改为空值(NULL)“刘晨”、。(1)选择要创建索引的数据库文件夹,并在右边的对象窗口中选择并打开其中的“表”对。象(2)选择所要创建索引的SC表,右键单击该表,在弹出的快捷菜单中选择“设计”命令,然后在工具栏中单击“管理索引和键”按钮,打开“索引和键”窗口。(3)单击其中的“添加”按钮,创建新的索引,并为其设置相应的属性。为SC表创建一个基于“课程号”列和“成绩”列的索引IX_XS_KC,其中课程号列按升序排列,成绩列按降序排列。设置完成后,如图3所示。。在查询命令窗口中输入以下SQL查询命令并执行:O,DEGREEFROMSCWITH(INDEX(IX_XS_KC))WHEREDEGREE>=60观察一下显示出来的数据是否有序。:(1)为Student表创建一个名为S_dept的索引,以系别排序(2)为Teacher表创建一个名为T_name的聚集索引,以Tname降序排序。命令格式:createclusteredindexon表名(列名1顺序,列名2顺序)(3)删除S_dept索引。命令格式:、,查询“计算机系”,,查询与“张立”、UPDATE和DELETE命令可以同时对多个表操作吗????存储过程、函数、(提示:以下操作全部基于实验一创建的Grademanager数据库)?实验内容和要求一、,并汇总每个学生的总分。,并汇总男女学生的人数。二、,该存储过程的功能是根据学号查询学生表中某一学生的学号、姓名、性别及出生日期。执行存储过程Query_student,查询学号为“20050301”的学生的学号、姓名、性别及出生日期。写出完成此功能的SQL命令。,用于求指定学号(输入参数)的学生的总成绩(输出参数)。执行该存储过程,指定学号为“20050101”。,用于求所有学生人数,通过参数返回学生人数。。,该存储过程需要两个参数,分别用来传递课程号、课程名;执行存储过程Insert_course,向课程表Course中插入一门新课程(0807011’,’Flash动画设计’)。,执行存储过程Insert_student,向学生表中插入一个新同学('20060208','徐小花','女','1987-08-25','IS','电子商务')。三、,如果插入一条选课信息时,学生的学号值在表S中不存在,则不执行插入操作,并提示用户。('20020101','C01'),观察触发器INSERT_SC是否被执行。,一旦发现待插入的教师号Tno在Teacher表中不存在,就发出警告信息并禁止插入。。5题创建的存储过程Insert_student,向学生表中插入一新同学,新同学信息('20060311','张丽丽','女','1988-2-15','MA','数学'),观察触发器Display_trigger是否被执行。,当修改成绩时,如果发现成绩小于0,则不执行修改操作,并提示用户。使用下面的SQL语句试图修改'20050101'学生的成绩,观察触发器update_score是否被执行。updateSCsetDegree=-30whereSno='20050101',如果待删除的课程在SC表中存在对应的选课记录,则不执行删除操作,并提示用户。使用下面的SQL语句试图删除'C01'课程信息,检查触发器delete_course是否被执行。o='C01'、函数操作1、创建一个标量值函数getavgscore以获取某门课平均成绩。2、创建内联表值函数getscore以获取某个学生的成绩信息。五、游标操作为电子商务”专业的学生创建一个Scroll游标speciality_cursor,显示其学号、姓名、性别、出生日期,打开游标后按顺序执行以下操作:1、提取结果集的第一行2、提取结果集最后一行3、提取上一行4、提取下一行5、提取所行有6、关闭游标7、删除游标