高校学籍管理系统① 学生信息表 ②成绩表 ③课程表
项目背景介绍对于繁重的高校学籍管理工作,我们对于此,编写了此高校学籍管理系统 ,这套系统将为高校繁杂的大学生学籍的管理,带来前所未有的方便快捷稳定兼容的感受,作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、受命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。
任务概述
1 新生入校,首先报到并进行登记注册,然后到财务部门缴费。根据学生被录取的专业,持缴费单到所在系部报到注册。
2 到系或部注册后,根据选报专业分配到班级
3 进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各科的期末考试。
4 考试结束,由各系或部将每位学生的考试成绩及其他一些相关信息记录到每个同学的档案中
根据前面得到的各个关系,现把它们转化为数据表。
① 学生信息表 ②成绩表 ③课程表
表1 学生信息表的结构
表2 成绩表
表3课程表
用SQL语句完成下列操作:
1.创建一个数据库student,包含①学生信息表②成绩表 ③课程表
2.每张表设置相应的主键,表也表之间设置相应的外键
3.用约束限制性别项只能输入“男”或“女”
1.创建一个数据库student,包含①学生信息表②成绩表 ③课程表 create database student; use student; 2.每张表设置相应的主键,表也表之间设置相应的外键 -- 学生信息表 create table students ( student_id int primary key, name varchar(50), gender enum('男', '女') not null, age int ); -- 课程表 create table courses ( course_id int primary key, course_name varchar(100) ); -- 成绩表 create table grades ( student_id int, course_id int, score decimal(5,2), primary key (student_id, course_id), foreign key (student_id) references students(student_id), foreign key (course_id) references courses(course_id) );
预览结果:
4.用insert 语句插入相应三个表的内容
-- 插入学生信息 insert into students (student_id, name, gender, age) values (1, '张三', '男', 20), (2, '李四', '女', 21), (3, '王五', '男', 22); -- 插入课程信息 insert into courses (course_id, course_name) values (101, '数学'), (102, '英语'), (103, '物理'); -- 插入成绩信息 insert into grades (student_id, course_id, score) values (1, 101, 85.5), (1, 102, 78.0), (2, 101, 90.0), (2, 103, 82.0), (3, 102, 75.0), (3, 103, 88.0);
运行结果:
5.创建视图查询各个学生的学号、姓名、课程名、成绩
#创建视图 create view student_grades as select s.student_id, s.name, c.course_name, g.score from students s join grades g on s.student_id = g.student_id join courses c on g.course_id = c.course_id; #查询视图 select * from student_grades;
运行结果:
6.查询平均成绩大于70分的课程,要求显示课程号和平均成绩
select c.course_id, avg(g.score) as avg_score from courses c join grades g on c.course_id = g.course_id group by c.course_id having avg(g.score) > 70;
运行结果:
还没有留言,还不快点抢沙发?