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