用mysql设计一个教学数据库 Education,符合如下条件 有三个关系. 学生关系 S(SNO,SNAME,AGE,SEX,SDEPT); 学号,姓名,年龄,性别,专业 学习关系 SC(SNO,CNO,GRADE); 学号,课程代码,成绩 课程关系 C(CNO,CNAME,CDEPT,TNAME) 课程代码,课程名称,专业,教师姓名
时间: 2023-12-07 19:02:53 浏览: 53
好的,以下是 MySQL 设计教学数据库 Education 的 SQL 语句:
```
-- 创建学生关系表
CREATE TABLE S (
SNO CHAR(8) NOT NULL, -- 学号
SNAME VARCHAR(20) NOT NULL, -- 姓名
AGE INT NOT NULL, -- 年龄
SEX CHAR(2) NOT NULL, -- 性别
SDEPT CHAR(20) NOT NULL, -- 专业
PRIMARY KEY (SNO)
);
-- 创建课程关系表
CREATE TABLE C (
CNO CHAR(4) NOT NULL, -- 课程代码
CNAME VARCHAR(40) NOT NULL, -- 课程名称
CDEPT CHAR(20) NOT NULL, -- 专业
TNAME VARCHAR(20) NOT NULL, -- 教师姓名
PRIMARY KEY (CNO)
);
-- 创建学习关系表
CREATE TABLE SC (
SNO CHAR(8) NOT NULL, -- 学号
CNO CHAR(4) NOT NULL, -- 课程代码
GRADE FLOAT NOT NULL, -- 成绩
PRIMARY KEY (SNO, CNO),
FOREIGN KEY (SNO) REFERENCES S(SNO),
FOREIGN KEY (CNO) REFERENCES C(CNO)
);
```
以上 SQL 语句创建了三个表,分别是学生关系表 S、课程关系表 C 和学习关系表 SC。其中,学习关系表 SC 中的学号和课程代码分别与学生关系表 S 和课程关系表 C 中的主键 SNO 和 CNO 相关联,实现了两个表之间的关联。