
利用交互式SQL创建Student数据库,并包含Students、Courses和SC表
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目通过交互式SQL构建了一个名为Student的数据库,内含三个关键表格:Students(学生信息)、Courses(课程详情)及SC(选课记录),实现对学生选课系统的全面管理。
交互式SQL的使用环境为WINDOWS操作系统下的Microsoft SQL Server。
实验要求如下:
1. 创建名为Student的数据库,并在其中创建Students、Courses和SC三个表。
- Students(SNO, SNAME, SEX, BDATE, HEIGHT, DEPARTMENT)
- Courses(CNO, CNAME, LHOUR, CREDIT, SEMESTER)
- SC(SNO, CNO, GRADE)
(注:下划线表示主键,斜体表示外键),并插入一定数据。
2. 完成以下查询和更新要求:
1) 查询身高大于1.80米的男生学号及姓名;
2) 查询计算机系秋季所开课程的课程编号与学分数;
3) 查询选修了计算机系秋季开设的所有课程且为男性的学生,包括其姓名、课程号、学分和成绩;
4) 查找至少选修一门以“EE”开头(假设代表电机工程系)的女生的学生姓名;
5) 计算每位学生的已选课数量以及平均分数;
6) 列出每门课程的注册学生人数、最高分、最低分和平均成绩;
7) 按学号升序排列,列出所有课程成绩都在80分以上的同学姓名与学号;
8) 查找缺少成绩记录的学生及其所缺课目的编号及相应学分数;
9) 列出至少一门3个及以上学分的课程且该门课的成绩低于70分的所有学生的姓名;
10)列出所有在1984年到1986年间出生的同学,包括其总平均成绩以及已修读学分数;
11)从STUDENT和SC表中删除SNO以“01”开头的记录;
12)向STUDENT关系中添加以下数据:<0409101,何平,女,1987-03-02,1.62>;<0408130,向阳,男,1986-12-11, 1.75>
13)将课程CS-221的学分增加至3,并将其讲授时数调整为60。
补充题:
(a) 统计各系男生和女生的数量;
(b) 列出修过“编译原理”、“数据库”或“体系结构”的学生中,至少一门课程的成绩达到90分以上的学生姓名;
(c) 计算未修选电子技术但已选修数字电路或数字逻辑的总人数;
(d) 按照课程排序列出所有学生的成绩,并为没有被任何学生选择的课程提供NULL值作为学生成绩;
(e) 列出平均分最高的学生的姓名和分数(SELECT语句中不得使用TOP n子句)。
选做题:
对每门课增加“先修课程”属性,表示该课程的所有先前需要完成的前置课程。要求如下:
1. 修改表结构定义以减少数据冗余,并建立必要的主键、外键;
2. 设计并插入测试数据,然后完成以下查询:列出所有有资格选修数据库课的学生(已满足所有先修课且成绩合格)。
提交作业形式:
1. 包含创建Student数据库和向其中添加所有必要数据的SQL脚本。
2. 完成上述查询要求的所有SQL语句脚本;
3. 对于选做题,需提供修改表定义、插入测试数据以及用于执行查询的SQL脚本。
全部评论 (0)


