【问题标题】:Howto Design "hierarchical data" for a Learning Management System(LMS)如何为学习管理系统 (LMS) 设计“分层数据”
【发布时间】:2012-06-04 03:53:20
【问题描述】:

我应该从头开始设计一个学习管理系统 (LMS)。 关于“课程”实体,我有 3 个级别的信息(课程、主题、子主题)。想象它像一棵树。 现在,这些方法中哪一种(或更好的方法?)更有用?

1-使用“邻接列表模型”(http://www.sqlsummit.com/AdjacencyList.htm)或

2- 使用 3 个表,每个表用于这些级别之一,并加入它们以获取记录?

请记住,每个级别都有“单独的属性”,并且还与“测验”有联系。因此,这些字段中的每一个与“测验实体”之间也存在一些交互..

附:系统将在 Django 和 MySQL 中实现..

【问题讨论】:

    标签: mysql django design-patterns database-design


    【解决方案1】:

    由于树具有明显分离的级别,每个级别都包含不同的种类数据,我会采用“3 个表”的方法。

    无论哪种方式,您都需要 JOIN,但通过这种方式,您可以轻松实施正确的参照完整性(例如,课程可以包含主题,但不能反过来)。这也自然地避免了循环。

    我不确定“测验实体”是如何影响这一切的。愿意提供更多信息吗?

    【讨论】:

    • 感谢您的回复.. 我正在考虑进行两种类型的测验:“多项选择”和“普通”问题。可以从任何级别进行测验,也可以同时在多个级别中选择测验。所以也许这个因素也加强了 3 表设计
    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 2011-03-11
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多