mysql - 有多行与多列 : which is the way to go?

标签 mysql database-normalization

我正在为学校成绩分析器创建一个数据库。 在我的数据库中,我有像“学生科目”这样的表格......我需要一个表格来记录每个学生的分数(分数表)。
对于这张表,我正在考虑 2 个选项。 1:我将有一个包含许多列的表(标记),即 students_regno,(所有科目的列 - 可能在 20 左右。 该表的行数将减少。也许 700 或者 2:我可以有一个只有几列的标记表,即 students_regno,subject_id,marks 这将只有 3 列,但行可能跨越 5000 多行。

我应该走哪条路?

最佳答案

第二个肯定是要走的路。

您始终要记住,您希望能够扩展您的系统。如果在 5 年内引入一个新的主题。你希望能够添加它。因此,您不想添加额外的字段并将其留空以保留您已有的所有记录。

最好将所有内容分开。可能很多时候您不需要 90% 的数据。最好只从 1 分表中获取所有内容。

所以我会说选择选项 2。使用 student_regno, subject_id, mark 制作一个标记表

关于mysql - 有多行与多列 : which is the way to go?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442226/

相关文章:

通过电子邮件发送的 MySql 查询

php - 错误的分页链接重定向

database - 函数依赖和规范化

database - 6NF和历史属性数据

oracle - 标准化表 : finding unique columns over series of rows (Oracle 10. x)

mysql - 如何在FIND_IN_SET() mysql中使用通配符搜索?

mysql - Facebook 风格的消息系统架构设计

mysql - 我将使用哪种 SQL 数据类型作为驾驶执照号码?

database-design - OLAP 和 OLTP 中的规范化

mysql - 用于简单数据库的 Redis 与 MySQL