这种情况的表(数据库)结构应该是什么?

时间:2018-01-16 12:32:04

标签: sql database-design

我有一些学生数据,我需要保存在数据库中。请参考图片:

Student info

我想使用这些数据生成报告(Pi图表,条形图),以表明他们对这些主题的理解程度。

考虑到班级中将有超过100名学生,表格结构会保存这些数据。

我正在使用SQL数据库。

您的建议将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

为您的学生准备一张桌子。这将有学生姓名,代号等,以及IDENTITY或AUTOINCREMENT列来创建INTEGER" id"柱。这是一个代理键"这比使用外部标识符更加数据库友好(例如卷号,由于Sod法则有时会是非数字的,或者包含一个在您之后需要更改的拼写错误。我开始记录数据

然后有一个类似的主题表。

将学生和主题表(有时称为Dimensions)与数据分开称为规范化,是关系数据库设计的基础。

然后你有一个" Fact Table"持有"分数"每个学科的每个学生。它应该有一个指向Student表的键,一个指向Subject表的键和另外两个用于存储数据的理论和数字列。

然后,您可以查看UNIQUE KEY约束,PRIMARY KEYs,FOREIGN KEY约束,INDEX等等。理想情况下,可以从inter -bs上广泛使用的SQL Tutorials中获取。