搭建一个简易的成绩管理系统的数据库
介绍
现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩。数据库中有三张表分别用于记录学生信息、课程信息和成绩信息。
数据库表的数据如下:
学生表(student):学生 id 、学生姓名和性别
课程表:课程 id 和课程名
成绩表:成绩 id 、学生 id 、课程 id 和分数
目标
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 自增和键约束
每个表插入语句可通过一条语句完成
步骤
创建gradesystem.sql程序文件
vim gradesystem.sql
CREATE DATABASE gradesystem;
use gradesystem;
CREATE TABLE student
(
sid INT NOT NULL AUTO_INCREMENT, #学生编号,递增
sname CHAR(20) NOT NULL, #姓名
gender CHAR(20) NOT NULL, #性别
CONSTRAINT stu_key PRIMARY KEY (sid) #主键
);
CREATE TABLE course
(
cid INT NOT NULL AUTO_INCREMENT, #课程编号,递增
cname CHAR(20) NOT NULL, #课程名称
UNIQUE(cname),
CONSTRAINT crs_key PRIMARY KEY (cid) #主键
);
CREATE TABLE mark
(
mid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
sid INT, #学生编号
cid INT, #课程编号
score INT(10), #成绩
FOREIGN KEY (sid) REFERENCES student(sid), #外键
FOREIGN KEY (cid) REFERENCES course(cid) #外键
);
完成后,输入命令开启 MySQL 服务并使用 root 用户登录:
#打开 MySQL 服务
sudo service mysql start
#使用 root 用户登录
mysql -u root -p
加载程序文件:
source ~/mysql/gradesystem.sql
再根据表格插入数据(可以把插入数据的命令也写到gradesystem.sql里面,然后加载就好了)