项目一
需要创建三张表:学生信息表、学生成绩表、课程信息表,一个人允许修多门课程,一们课程允许我多个人修。
需要设计的表:
学生信息表(StuInfo)(6分)
学号(StuID) int 主键
姓名(StuName) char(10) 非空
性别(StuSex) bit 非空
年龄(StuAge) int 非空
学生成绩表(StuExam) (6分)
课程号(StuID) int
学号(StuID) int
分数(Score) int
注意:学号和课程号是联合主键,课程号是CourseInfo的外键,学号是StuInfo的外键。分数是以0~100来计算,只有成绩>=60才能获得这门课的学分。
课程信息表(CourseInfo) (6分)
课程号(CourseNO) int 主键
课程名称(CourseName) char(20) 非空唯一键
学分(Marks) int 非空值在(1-5之间)默认是1
需求分析
学生信息表里面学号是主键
课程信息表里面课程号是主键
学生成绩表中学号一定是学生信息表中的学号
学生成绩表中课程号是课程信息表中的课程号
我们需要对以上三张表的数据进行增、删、改
为了报表学生的信息和成绩等信息,我们需要利用查询来对学生的信息各方面进行统计。
(1)查询三张表的数据,检查插入的数据是否正确(3分)
(2)查询女学生的姓名(3分)
(3)查询所有选课的成绩都及格学员的学号(4分)
(4)统计选课的科目超过2门的学员的学号(4分)
(5)统计没有选课的学员的学号(4分)
(6)将所有选课的成绩之和超过200分的学员的学号统计出来(4分)
(7)修改数据将所有成绩为55分到60分的成绩都统一加5分(4分)
(8)删除数据将所有成绩在30分以下(包含30分)的信息都删除(4分)
(9)将数据库分离。(2分)
项目二
. 现有关系数据库如下:
数据库名:学生成绩数据库
学生表(学号 char(6),姓名,性别,民族,身份证号)
课程表(课号 char(6),名称)
成绩表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码:
1. 创建数据库[学生成绩数据库]代码(6分);
2. 创建[课程表]代码(5分);
课程表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称)
3. 创建[学生表]代码(10分);
学生表(学号 char(6),姓名,性别,民族,身份证号)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别)
4. 创建[成绩表]代码(10分);
成绩表(ID,学号,课号,分数)
要求使用:主键(课号)、外键(,)、检查(分数),自动编号(ID)
5. 将下列课程信息添加到课程表的代码(8分)
课号课程名称
100001 大学语文
100002 大学英语
100003 西班牙语
修改课号为100002的课程名称:实用英语
删除课号为100003的课程信息
6. 写出创建:成绩表视图(学号,姓名,课号,课程名称,分数)的代码;(6分)
8. 写出创建:某门课程高低均分计算某门课程成绩最高
SQL复习题 来自淘豆网m.daumloan.com转载请标明出处.