我应该从头开始设计学习管理系统(LMS)。 关于“课程”实体,我有3个级别的信息(课程,主题,Sub_Topic)。想象它就像一棵树。 现在,哪些方法(或更好的方法?)更有用?
1-使用“Adjacency List Model”(http://www.sqlsummit.com/AdjacencyList.htm)或
2-使用3个表,每个表用于其中一个级别,并加入它们以获取记录?
请注意,每个级别都有“单独的属性”,并且与“Quizes”有关联。因此,这些字段中的每个字段都与“测验实体”之间存在一些交互。
P.S。系统将在Django和MySQL中实现..
答案 0 :(得分:0)
由于树具有明显分离的级别,每个级别都包含不同的种数据,因此我采用“3表”方法。
您需要以任何方式加入JOIN,但这样您就可以轻松实施正确的引用完整性(例如,课程可以包含主题但不包含其他方式)。这自然也避免了周期。
我不确定“测验实体”是如何影响这一切的。注意提供更多信息?