且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

学生成绩数据库

更新时间:2022-11-28 18:24:29

Hi Seth 。在这个例子中,我会使用非标准化表格,其中包含两个学期的成绩。这是一个中间步骤,是迄今为止获取遗留数据输入的最快捷,最简单的方法。


如果您实施了自动扫描以从纸质副本本身输入数据,您将遇到同样的问题 - 如果您需要将数据传输到单个表格中正在扫描它们,你将从中分别提取两个学期的成绩。


有很多时候我们必须平衡严格的理论要求和其他实际要求理想的方法。在这种情况下,对于像这样的一次性要求,规范化的方法将很难实现 - 我自己会选择快速而肮脏的一个!


-Stewart
Hi Seth. In this instance I''d go with the non-normalised table with the two semester grades in it. It''s an intermediate step to take, and is by far the quickest and simplest way to get the legacy data input.

You''d have the same issue if you implemented, say, automatic scanning to enter the data from the paper copies themselves - the data would have to transfer to a single table if you were scanning them, from which you''d extract the two semester grades separately.

There are many occasions when we have to balance the strict theoretical requirements against the other practical requirements which compromise the ideal approach. In this case a normalised approach is going to be very hard to implement for one-off requirements like this - I''d go with the ''quick and dirty'' one myself!

-Stewart


这就是我的想法,但我希望得到一个比我更有经验的人的第二意见。谢谢Stewart。
That is kind of what I figured, but I wanted a second opinion from someone with more experience than me. Thanks Stewart.


我认为在这种情况下,非标准化也很好。在这种情况下,你不太可能获得学期。而且大多数学生都会填写两个学期。因此,在这种情况下,规范化的好处被最小化。


但是对于那些想知道的人,我在过去使用子表单做了这个。主要形式将返回不同的学生。并且你将有2个子表单返回每个学期的行。
I think unnormalized is fine in this situation as well. In this case, it''s unlikely that you will gain "semesters" and most every student will have both semesters filled out. So the benefits of normalization are minimized in this scenario.

But for those wondering, I''ve done this in the past with subforms. The main form would return the distinct students. And you would have 2 subforms that return the rows for each semester.