
数据库编程期末答疑及试卷解析,涵盖SQL Server操作,侵权删
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本课程提供数据库编程期末考试的答疑与试卷详细解析,重点讲解SQL Server的操作技巧和实践应用。适合备考学生参考学习,非商业用途分享。
乐山师范学院数据库编程期末答疑及卷子讲解如下:
在SQL Server环境中创建名为YQKG的数据库,并包含两个数据文件与一个日志文件。请根据SQL Server对象命名规范定义这些文件,同时设置数据文件按10%的比例增长。完成数据库定义后,请输入以下样本数据(具体字段名称和内容需根据实际情况自行设定)。完成后将新生成的对象及插入的数据保存至脚本段落件3_1.sql,并分离该数据库。
创建名为L+考生学号的登录名,密码设置为考生学号,相关代码请保存到脚本段落件3_2_1.sql中。接着,在tempdb数据库内使用上述步骤(1)中的登录名创建一个用户名U+考生学号,结果应记录在脚本段落件3_2_2.sql。
接下来,请分别为学生表Student、课程表Course以及教师表Teacher分配只读权限,并为成绩表赋予读写权限。此部分的SQL代码需保存至脚本段落件3_2_3.sql中。
运行CreateTeaching.sql以生成解答所需数据库对象于系统数据库tempdb内,完成以下完整性定义:
1. 在SC与Teacher之间建立参照完整性,外码命名为FK_SC_Teacher_Tno,并设定违约处理规则:修改操作为级联更新(CASCADE),删除操作为阻止行删除(NO ACTION)。此步骤的SQL代码应保存至脚本段落件3_3_1.sql中。
2. 确保学生表Student中的学生姓名唯一性,将该约束命名为UQ_Sname,并将其定义过程记录于脚本段落件3_3_2.sql内。
3. 在学生表上设置性别字段的值只能为“男”或“女”,此规则需保存至CK_Student_Ssex。请把相关SQL代码存入脚本段落件3_3_3.sql。
完成CreateTeaching.sql后,于SSMS查询分析器中设计并调试下列查询,并将每个查询的结果存储在指定的SQL程序文件内:
1. 新增一位学生200215129(王大鹏),性别为男,年龄23岁;同时添加该生选修数据库课程的信息。请记录此操作对应的SQL脚本至文件3_4_1.sql。
2. 提升所有少数民族学生的李勇同学所选课程的成绩五分,代码应保存到脚本段落件3_4_2.sql中。
3. 删除计科系的所有学生选课信息,请将该删除语句存于脚本段落件3_4_3.sql内。
4. 查询与刘晨同一院系的其他所有学生的详细信息,并将其SQL查询结果记录在脚本段落件3_4_4.sql中。
5. 生成一份包含未达到学分要求的学生名单,包括他们的学号、姓名、所属院系及总学分数(达标标准:至少修满六门课程)。此查询应保存至脚本段落件3_4_5.sql。
在tempdb数据库内完成CreateTeaching.sql的执行后,请为计科系生成一个包含选课综合信息视图,该视图需涵盖所有计科系学生的选课情况(即使未修读任何课程的学生也包括其中)。对于没有参加考试或成绩不及格的情况应予以适当处理。请将创建此视图的相关SQL代码保存至脚本段落件3_5.sql。
最后,请完成以下对象定义,并分别将其存储于指定的SQL程序文件内:
1. 为教师表设计一个名为Tr_Insert_Or_Update_Sal的触发器,确保教授工资不低于4000元(低于此值时自动调整)。请将该触发器的设计代码保存至脚本段落件3_6_1.sql。
2. 编写一分页查询存储过程DividePage,每次调用返回指定表中满足条件且按特定大小和顺序排列的记录集合。其参数设计如下:表名、排序字段名称(不允许为空)、每页数据量,默认为六条;页面编号以及可选的降序标志位及查询条件字符串等。请将此存储过程的设计代码保存至脚本段落件3_6_2.sql。
3. 定义一个用户函数Get_birthday,根据身份证号码返回出生日期(考虑到15或18位的情况)。该函数参数为@idcardno nvarchar(50),输出类型为varchar(10)。请将此函数的设计代码保存至脚本段落件3_6_3.sql中。
全部评论 (0)


