此表应包含外键,以允许与其他两个表格进行合理的链接,以及每次考试的日期。
那么我被要求做什么呢? 所有其他表格都已填充。
答案 0 :(得分:1)
这看起来像是经典的“多对多”关系问题。
一名学生可以学习一门以上的科目
学生可以学习以上学生
仅使用您给出的两个表格无法轻易地建模。
传统的模式是引入第三张表格,其中包含学生正在研究哪些科目的详细信息。
该表通常包含参与多对多关系的表的id,因此在您的情况下,它将具有student_id和subjects_id。这些将使用外键约束来定义回学生和主题表。
此page可能会帮助您理解这一点。
顺便说一下 - 主题表上的主键约束看起来有点让我怀疑......
答案 1 :(得分:0)
首先,主题表的PRIMARY KEY应为subject_id,因为您可能在同一天进行2次期末考试。
答案 2 :(得分:0)
CREATE TABLE IF NOT EXISTS entries(
entry_id INT UNSIGNED NOT NULL AUTO_INCREMENT,( PK)
student_id INT UNSIGNED NOT NULL,(FK From students table)
subject_id INT UNSIGNED NOT NULL,(FK From subjects table )
);
你需要使(student_id,subject_id)组合独特,因为它不应该重复。这是草稿。假设这个表是连接学生和科目的桥梁。