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