Php 理解数据库设计
我想建立一个数据库来存储考试分数。我想知道是不是最好Php 理解数据库设计,php,sql,database,database-design,pdo,Php,Sql,Database,Database Design,Pdo,我想建立一个数据库来存储考试分数。我想知道是不是最好 每个科目的表格,该表格将记录一个卷号 或 有一个分数表,每个科目的卷号都有多条记录 由于受试者的数量不是固定的,哪种方法更好 对于第一种方法,由于表将使用php动态创建,因此表名将成为一个变量,这将意味着额外的清理工作 对于第二种方法,卷号将有许多重复项 因为我是DBMS新手,所以任何见解都值得赞赏。这里有一个很好的理由选择第二种方法而不是第一种方法。假设您希望获得特定卷号的所有标记。(例如使用1)对于第二种方法,它只是: SELEC
- 每个科目的表格,该表格将记录一个卷号
- 有一个分数表,每个科目的卷号都有多条记录
因为我是DBMS新手,所以任何见解都值得赞赏。这里有一个很好的理由选择第二种方法而不是第一种方法。假设您希望获得特定卷号的所有标记。(例如使用
1
)对于第二种方法,它只是:
SELECT * FROM marks WHERE roll_number = 1;
对于第一种方法(除非其他人知道更好的方法),它是:
等等,对于每个未知数量的主题表。这可能会以主要基于意见的方式结束,但实际上,不要为每个主题创建一个表。@don’t所以第二种方法是可以的?我想你需要熟悉数据规范化的概念。我听过这本书的好东西,为普通人设计的数据库。有一个主题表,标记表可以对主题和卷号组合有唯一的约束,这样每个主题每个卷号只有一个标记。
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
...