教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

最新 SQL综合实验一(下附完整脚本)

来源:网络收集 时间:2025-09-22
导读: 最新 SQL综合实验一 (下附完整脚本) 姓名 xxx 学号 2013106xxx 成绩_____ 一、用Transact-SQL语句定义数据库: 1、创建名为School的数据库,该数据库包含二个大小为2MB的数据文件(文 件名为: _school_dat1和 _school_dat2)和一个大小为1MB的事务日志文件

最新 SQL综合实验一 (下附完整脚本)

姓名 xxx 学号 2013106xxx 成绩_____

一、用Transact-SQL语句定义数据库:

1、创建名为School的数据库,该数据库包含二个大小为2MB的数据文件(文

件名为:<你的姓名>_school_dat1和<你的姓名>_school_dat2)和一个大小为1MB的事务日志文件(文件名为:<你的姓名>_school_log)。限制数据文件大小为5MB、日志文件为2MB。对于所有文件,允许20%的文件增长。请将创建数据库的Transact-SQL脚本存为<你的姓名>_1_01.sql文件。

2、修改数据文件<你的姓名>_school_dat1,增加其大小至3MB,并允许按

0.5MB(512KB)的增量增至最大大小6MB;删除数据文件<你的姓名>_school_dat2;添加一个新的1MB的数据文件(文件名为:<你的姓名>_school_dat3),允许它以1MB增量增至磁盘被充满。请将Transact-SQL脚本存为<你的姓名>_1_02.sql文件。

二、用Transact-SQL语句在School数据库中定义表:

1、根据所给的学生表建立表名为<你的姓名>_student的表,T-SQL脚本存为<你的姓名>_2_01.sql文件。要求:

(1)设置学号列数据类型为char(11),主键约束,约束名为pk_xh; (2)设置身份证号码列唯一约束,约束名为un_xh;

(3)在<你的姓名>_student表的姓名列上创建一个非聚集索引inx_sname。 (4)其它列根据学生表的数据定义。

2、根据所给的课程表用Transact-SQL语句建立表名为<你的姓名>_course的表, Transact-SQL脚本存为<你的姓名>_2_02.sql文件。要求:

(1)设置课程代号列数据类型为char(5),主键约束,约束名为pk_kcdh。

(2)设置检查约束,约束名为ck_ccd,条件为课程代号的第一位只能是数字字符“0”到“4”,(表示学年),第二位只能是数字字符“0”、“1”(表示上下学期)。 (3)设置周学时列默认值为3,学分默认值为2。 (4)其它列根据课程表的数据定义。

3、根据所给的成绩表建立表名为<你的姓名>_grade的表,Transact-SQL脚本存为<你的姓名>_2_03.sql文件。要求:

(1)参考学生表和课程表的设置,考察并设置成绩表的主键约束,约束名为pk_id。 (2)设置学号列外键约束并级联删除和级联更新,约束名为fk_xh。

(3)设置课程代号列外键约束并级联删除和级联更新,约束名为fk_kcdh。

(4)设置检查约束,约束名为ck_gcj,条件为平时、期中和期末成绩的和不大于300。 (5)其它列根据课程表的数据定义。

4、修改表的定义,Transact-SQL脚本存为<你的姓名>_2_04.sql文件。要求:

(1)删除<你的姓名>_student表的特长列;添加出生日期列,允许为空,并要求输入的值不能大于当前日期。

(2)增加<你的姓名>_course表的检查约束ck_czx,条件为周学时数大于等于学分数。

三、用Transact-SQL语句在School数据库中操作表:

1、将所给的学生表(特长列已删除,增加了出生日期列)、课程表和成绩表的

数据增加到已建的相应表中。Transact-SQL脚本存为<你的姓名>_3_01.sql文件。

2、 修改学生表的学号列,在学号前加两位“19”,在第四位后加入二位“10”。

例如:学号“9607039”改为“19960710039”;即学号编码代表的含义为:前四位表示是年级,如:1996级;接着的三位表示专业,如:071;后四位表示编号,如:0039。Transact-SQL脚本存为<你的姓名>_3_02.sql文件。 3、追加你自己的自然情况资料到<你的姓名>_student表中,追加你自己《计算机基础(一)》,《英语(一)》,《体育》课程的平时,期中,期末成绩到<你的姓名>_grade表中。Transact-SQL 脚本存为<你的姓名>_3_03.sql文件。 4、创建显示学号、姓名、籍贯、家庭住址和奖励列的查询,要求:地址列的标题显示为“家庭住址”;查询条件是籍贯为“云南”,或者是家庭住址在“江岸小区”,且住在“4单元”的学生。结果按学号降序排序。Transact-SQL脚本存为<你的姓名>_3_04.sql文件。

5、查询1998级并且姓“李”的学生的学号和姓名。Transact-SQL脚本存为<你的姓名>_3_05.sql文件。

6、查询每名学生每门课程的总评分(总评分为平时占10%,期中占20%,期末占70%),显示学号,课程代号和总评分。Transact-SQL脚本存为<你的姓名>_3_06.sql文件。

7、 创建存储过程,查询各类学分(如:4,3)的课程数。Transact-SQL脚本存为<你的姓名>_3_07.sql文件。

8、查询各学年的课程数,学时总数和学分总数。Transact-SQL脚本存为<你的姓名>_3_08.sql文件。

9、 查询选修了三门以上(含三门)课程的学生的学号。Transact-SQL脚本存为<你的姓名>_3_09.sql文件。

10、创建视图,显示每名学生的姓名、选修的课程门数、总周学时数、总学分数和加权平均分的查询,Transact-SQL脚本存为<你的姓名>_3_10.sql文件。要求:

(1)计算加权平均分的公式:

?第i门课程总评分 ?第i门课程学分i?1i=1N?第i门课程学分N

(2)结果按加权平均分降序排序。

11、创建统计课程选修人数、最高总评分和最低总评分的查询,Transact-SQL脚本存为<你的姓名>_3_11.sql文件。要求:

(1)所有选修该门课程的学生的总评分必须都及格。 (2)结果按选修人数降序排序; (3)将查询生成表<你的姓名>_sum。

12、创建查询,Transact-SQL脚本存为<你的姓名>_3_12.sql文件。要求: (1)计算并显示每一门课程的课程名、最高总评分及对应的学生姓名。

(2)按课程名升序排序。

(3)将查询生成表<你的姓名>_report。

13、创建存储过程,Transact-SQL脚本存为<你的姓名>_3_13.sql文件。要求:

(1)通过输入参数学生姓名(如“章山\),筛选出该学生的基本信息。

(2)对不存在此学生姓名的输入值,必须作一检测,打印信息“不存在此学生”。 14、为学生表创建触发器,Transact-SQL脚本存为<你的姓名>_3_14.sql文件。要求: (1)当用户成功删除该表中的一条或多条记录时,触发器自动删除成绩表中与之有关的 记录。

(2)在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。

脚本文件

1.01

CREATE DATABASE School ON PRIMARY

(NAME=xxx_school_dat1,

FILENAME='d:\\sql_data1\\xxx_school_dat1.mdf', SIZE=2, MAXSIZE=5,

FILEGROWTH=20%), (NAME=xxx_school_dat2,

FILENAME='d:\\sql_data2\\xxx_school_dat2.ndf', SIZE=2, MAXSIZE=5, FILEGROWTH=20%) LOG ON

(NAME=xxx_school_log,

FILENAME='d:\\sql_log\\xxx_school_log.ldf', SIZE=1, MAXSIZE=2, FILEGROWTH=20%)

1.02.

ALTER DATABASE School MODIFY FILE

(NAME=xxx_school_dat1, SIZE=3, MAXSIZE=6,

…… 此处隐藏:1324字,全部文档内容请下载后查看。喜欢就下载吧 ……
最新 SQL综合实验一(下附完整脚本).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/446981.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)