我目前正在重写一个应用程序,教师可以在线计划课程。
该应用程序指导教师完成为学生创建工作单元的过程。该工具目前在三个州使用,但我们计划扩大规模。
该应用程序的主要抽奖卡之一是所有学生的成绩都预加载到系统中。这允许教师搜索或浏览并选择每个工作单元将要达到的结果。
当我最初设计系统时,我假设所有学生的成绩都遵循类似的层次结构。也就是说,有命名的嵌套容器,然后是结果。
我输入的原始结果集是三层的。因此,我的数据库具有以下结构:
==========================
粗体表
h1
身份证,姓名
h2
id,父母___id(h1_id),姓名
h3
id, 父母___id (h2_id), 姓名
结果
id,父母___id(h3_id),姓名
==========================
除了明显无法添加 n/ 层次结构之外,这种方法还使得在不递归查询数据库的情况下难以显示所有标准的列表。
一旦添加了学生成绩(及其父类别),就几乎没有理由以任何方式对其进行修改。主要要求是它们易于阅读且高效。
到目前为止,来自不同学校/州/国家的所有学生成绩都大致遵循我的假设。情况可能并非总是如此。
当然,所有现有数据都必须从当前数据库传输过来。
鉴于上述情况,我存储所有不同的学生结果集的最佳方式是什么?下面列出了我的一些想法。
在使用数据库中使用4个表继续使用回收或大量连接时
使用嵌套集
XML(所有不同集合的全局 XML 文件或每个集合的 XML 文件)