gpt4 book ai didi

mysql - 3个强实体集的数据库设计

转载 作者:行者123 更新时间:2023-11-29 10:37:40 25 4
gpt4 key购买 nike

我正在尝试为 3 个表设计一个数据库:教师、类(class)、学生。
- 一个老师可以有很多学生,可以教授很多类(class)。
- 一个学生可以有很多老师并学习很多类(class)。
- 一门类(class)可以由多名教师教授,也可以招收多名学生。
我希望能够确定哪个学生正在学习哪门类(class),由哪位老师授课。

最佳答案

CREATE TABLE student (
id serial PRIMARY KEY,
name varchar(255) NOT NULL,
-- other columns, constraints, etc...
);
CREATE TABLE teacher (
id serial PRIMARY KEY,
name varchar(255) NOT NULL,
-- other columns, constraints, etc...
);
CREATE TABLE course(
id serial PRIMARY KEY,
name varchar(255) NOT NULL,
-- other columns, constraints, etc...
);
CREATE TABLE student_course (
student_id integer NOT NULL REFERENCES student(id),
course_id integer NOT NULL REFERENCES course(id),
);
CREATE TABLE teacher_course (
teacher_id integer NOT NULL REFERENCES teacher(id),
course_id integer NOT NULL REFERENCES course(id),
);

SELECT s.id, s.name, c.id, c.name, .id, t.name
FROM student s
JOIN student_course sc ON s.id = sc.student_id
JOIN course c ON sc.course_id = c.id
JOIN teacher_course tc ON c.id = tc.course.id
JOIN teacher t ON tc.teacher_id = t.id

关于mysql - 3个强实体集的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46127195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com