0

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

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

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

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

PS System 将在 Django 和 MySQL 中实现..

4

1 回答 1

0

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

无论哪种方式,您都需要 JOIN,但这样您可以轻松地强制执行正确的引用完整性(例如,课程可以包含主题,但不能包含相反的方式)。这也自然地避免了循环。

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

于 2012-05-29T22:41:18.740 回答