我必须为我的大学建立一个应用程序,这个应用程序将被视为持续1个月的课程的课程学分。在这个应用程序中,我必须让用户有一种方法来保存教师课后续评估,这是一个人去教室,检查老师并在某些栏目中打勾。这是数据库设计的不好方法吗?
一个例子是:
教学方面:
显示顺序,并遵循类序列:是否观测
给出清楚的例子:YES NO观测
涉及到学生讨论:YES NO观测
如果用户(评估者)选择“是”,那么观察结果中不会写入任何内容,但如果他选择否,他必须写出观察结果。
我怎么能在我的数据库中处理这个?我怀疑过度正常化。 :x在继续这个项目之前,任何建议都会受到欢迎。
我现在的计划是只需要一个名为Followup的大表,它具有Microsoft SQL中的BIT数据类型的所有'方面',并且每个可以为空的方面都有一个ShowOrderSequenceObservation字段。 O_O我觉得肮脏,所以我转向你们的开发人员。谢谢!
你有什么技术可用?只是MSQL? – Caladain 2010-07-21 22:37:02
是的,只是Microsoft SQL Server 2008.我打算将ASP.Net MVC2用作用户界面,并将Linq-to-SQL用于我的ORM。 – 2010-07-21 22:37:36
我对于“过度规范化”的担心大部分在SQL中往往很愚蠢。 SQL喜欢以规范化的方式工作(即使没有对分布式键的支持...) - 非规范化数据可以自动生成,从正常化的数据中自动生成,但往往不太容易。如果“数组”中使用了可变数量的列或列,那么很可能存在*不够*规范化。如果需要,从3NF或BCNF开始,然后*向后工作。 – 2010-07-21 22:38:51