1. 程式人生 > >MySQL(挑戰1):搭建簡易的成績管理系統的資料庫

MySQL(挑戰1):搭建簡易的成績管理系統的資料庫

搭建一個簡易的成績管理系統的資料庫

介紹
現需要構建一個簡易的成績管理系統的資料庫,來記錄幾門課程的學生成績。資料庫中有三張表分別用於記錄學生資訊、課程資訊和成績資訊。

資料庫表的資料如下:

學生表(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裡面,然後載入就好了)

結果