MySQL - 如何在单个列中添加多个值
MySQL - How to add multiple values in a single column
我有两个表(科目表和教师表)。我怎样才能link把科目交给老师,这里一个老师可以有多个科目。同样对于主题,一个主题可以是一周中的多天。我怎样才能在 c# 中做到这一点?请帮忙
通常的解决方案是创建一个中间 table 或 "intersection entity."
您正在尝试在学科和教师之间建立 many-to-many 关系,因为每个教师可以教授多个学科,而多个教师可以教授同一学科。为了解决这个问题,您创建了一个交集 table,为了便于讨论,我们可以将其称为 Teaches
。您的架构如下所示:
CREATE TABLE teachers
(
id CHAR(10) PRIMARY KEY,
name VARCHAR(255)
-- more fields
);
CREATE TABLE subjects
(
id CHAR(10) PRIMARY KEY,
name VARCHAR(63)
-- more fields
);
CREATE TABLE teaches
(
teacher_id CHAR(10) FOREIGN KEY REFERENCES teachers (id),
subject_id CHAR(10) FOREIGN KEY REFERENCES subjects (id),
PRIMARY KEY (teacher_id, subject_id)
);
这会将您的 many-to-many 关系转变为一对 one-to-many 关系。
你的第二个问题,每个科目每周有多个 classes,最容易用一个 child table 的 classes
来处理记录每个时期 a class 满足。在这两种情况下,您要研究的主题都是"normalization."
我有两个表(科目表和教师表)。我怎样才能link把科目交给老师,这里一个老师可以有多个科目。同样对于主题,一个主题可以是一周中的多天。我怎样才能在 c# 中做到这一点?请帮忙
通常的解决方案是创建一个中间 table 或 "intersection entity."
您正在尝试在学科和教师之间建立 many-to-many 关系,因为每个教师可以教授多个学科,而多个教师可以教授同一学科。为了解决这个问题,您创建了一个交集 table,为了便于讨论,我们可以将其称为 Teaches
。您的架构如下所示:
CREATE TABLE teachers
(
id CHAR(10) PRIMARY KEY,
name VARCHAR(255)
-- more fields
);
CREATE TABLE subjects
(
id CHAR(10) PRIMARY KEY,
name VARCHAR(63)
-- more fields
);
CREATE TABLE teaches
(
teacher_id CHAR(10) FOREIGN KEY REFERENCES teachers (id),
subject_id CHAR(10) FOREIGN KEY REFERENCES subjects (id),
PRIMARY KEY (teacher_id, subject_id)
);
这会将您的 many-to-many 关系转变为一对 one-to-many 关系。
你的第二个问题,每个科目每周有多个 classes,最容易用一个 child table 的 classes
来处理记录每个时期 a class 满足。在这两种情况下,您要研究的主题都是"normalization."