course_taken
应该是student
和course
之间的关系。它在关系数据库中使用单独的表而不是内联数据。
简单地说:
CREATE TABLE course (
id int NOT NULL PRIMARY KEY autoincrement,
course_code varchar NOT NULL
);
CREATE TABLE student (
id int NOT NULL PRIMARY KEY autoincrement,
full_name varchar NOT NULL
);
CREATE TABLE course_taken (
course_id int NOT NULL,
student_id int NOT NULL,
CONSTRAINT pk_course_taken
PRIMARY KEY (course_id, student_id),
CONSTRAINT fk_course_taken_course_id
FOREIGN KEY (course_id)
REFERENCES course (id)
ON DELETE CASCADE,
CONSTRAINT fk_course_taken_student_id
FOREIGN KEY (student_id)
REFERENCES student (id)
ON DELETE CASCADE
);
要回答你的问题,是的,你可以这样的数据存储内嵌在某些文本字段。但你真的不应该。
这不是你应该使用RDBMS的方式。这里有成千上万的人提出了这样的问题,他们现在正在徘徊 – e4c5
正常化您的数据。让每个CSV组件占据自己的行。 –
你为什么想这样做?这是不实际的,不推荐...那么你将如何过滤例如,或索引,或... – Zeina