搭建一个简易的成绩管理系统的数据库
题目
搭建一个简易的成绩管理系统的数据库
介绍
现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩。数据库中有三张表分别用于记录学生信息、课程信息和成绩信息。
数据库表的数据如下:
学生表(student):学生 id 、学生姓名和性别
课程表:课程 id 和课程名
成绩表:成绩 id 、学生 id 、课程 id 和分数
服务器中的 MySQL 还没有启动,请注意 MySQL 的 root 账户默认密码为空。
目标
1.MySQL 服务处于运行状态
2.新建数据库的名称为 gradesystem
3.gradesystem 包含三个表:student、course、mark;
- student 表包含3列:sid(主键)、sname、gender;
- course 表包含2列:cid(主键)、cname;
- mark 表包含4列:mid(主键)、sid、cid、score ,注意与其他两个表主键之间的关系。
4.将上述表中的数据分别插入到各个表中
提示
- 建立表时注意 id 自增和键约束
- 每个表插入语句可通过一条语句完成
解法
启动mysql:
sudo service mysql start mysql -u root
创建一个名为gradesystem
的数据库:
create database gradesystem; use gradesystem;
创建student
表:
create table student ( sid int(10)primary key, sname char(10), gender char(10) );
创建course
表:
create table course ( cid int(10)primary key, sname char(10) );
创建mark
表:
create table mark ( mid int(10)primary key, sid int(10),foreign key (sid) references student(sid), cid int(10),foreign key (cid) references course(cid), score int(100) );
student
插入数据:
insert into student values(1,'Tom','male'); insert into student values(2,'Jack','male'); insert into student values(3,'Rose','female');
course
插入数据:
insert into course values(1,'math'); insert into course values(2,'physics'); insert into course values(3,'chemistry');
mark
插入数据:
insert into mark values(7,1,3,95); insert into mark values(8,2,3,75); insert into mark values(9,3,3,85);
最后可以查看这三张表:
select * from student; /* +-----+-------+--------+ | sid | sname | gender | +-----+-------+--------+ | 1 | Tom | male | | 2 | Jack | male | | 3 | Rose | female | +-----+-------+--------+ */ select * from course; /* +-----+-----------+ | cid | sname | +-----+-----------+ | 1 | math | | 2 | physics | | 3 | chemistry | +-----+-----------+ */ select * from mark; /* +-----+------+------+-------+ | mid | sid | cid | score | +-----+------+------+-------+ | 7 | 1 | 3 | 95 | | 8 | 2 | 3 | 75 | | 9 | 3 | 3 | 85 | +-----+------+------+-------+ */