我想建立一个存储考试标记的数据库。我想知道是否有更好的
或
由于受试者的数量不固定,哪种方法会更好。
对于第一种方法,因为表格会动态地使用php创建,所以表名将成为一个变量,这意味着额外的消毒工作,
对于第二种方法,卷号将有许多重复
由于我是DBMS的新手,所以我们非常感谢任何见解。
答案 0 :(得分:0)
这是选择第一种方法的一个很好的理由。假设您想获得特定卷号的所有标记。 (例如,使用1
。)使用第二种方法,它只是:
SELECT * FROM marks WHERE roll_number = 1;
使用第一种方法(除非其他人知道更好的方法),它是:
SELECT * FROM subject_a WHERE roll_number = 1
UNION
SELECT * FROM subject_b WHERE roll_number = 1
UNION
SELECT * FROM subject_c WHERE roll_number = 1
...
等等,对于每个未知数量的主题表。