关系模型对应的SQL语句:
-- 学生表(实体)
CREATE TABLE student (
id INT PRIMARY KEY, -- 主键
name VARCHAR(50) NOT NULL, -- 属性
age INT, -- 属性
gender CHAR(1) -- 属性
);
-- 课程表(实体)
CREATE TABLE course (
id INT PRIMARY KEY, -- 主键
name VARCHAR(100) NOT NULL, -- 属性
credit INT -- 属性
);
-- 选课表(关系)- 多对多关联
CREATE TABLE sc (
student_id INT, -- 外键(关联学生表)
course_id INT, -- 外键(关联课程表)
score DECIMAL(5,2), -- 关系属性
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
-- 查询示例:查询学生"张三"的所有选课成绩
SELECT s.name, c.name, sc.score
FROM student s
JOIN sc ON s.id = sc.student_id
JOIN course c ON sc.course_id = c.id
WHERE s.name = '张三';