【发布时间】:2012-05-26 17:15:52
【问题描述】:
在数据库中创建更多列或行是否更好。 我正在出勤表中输入学生出勤信息。
条件 1: 我应该包括 1 周列和 3 个讲座列,但这会增加每个学生的行数,因为有 16 周,每周有 3 次讲座。??
条件 2: 或者我应该添加 48 个讲座栏,分别存储每个学生的出勤情况。???
我看到了很多答案,但我无法得到它可以帮助我吗? 提前谢谢你
【问题讨论】:
-
您应该阅读关系数据库理论。这是一个已经被“解决”的经典“问题”。
-
不,建议您有一个“讲座”表,其中的列是学生姓名(或标识符)和一些日期指示,也许还有出勤指示。在那种类型的模式中,每个学生最终将与多达 48 行“讲座”表数据相关联。如果“讲座”表中有一行表示“出勤”(没有记录,没有出勤),你会得到一组问题(很难确定参加了哪些讲座),如果每一行都包括出勤率(是/否) ,你得到另一个(更大的表大小)。很多权衡,很多“取决于”。
-
您的数据库设计应该支持您的模型,而不是相反。在此处发布您的模型,我们可以帮助您设计数据库结构以支持您的模型。
-
这里的答案似乎是“更多表”。查找有关“数据库规范化”的信息以了解有关该主题的更多信息。
标签: sql sql-server sql-server-2008