教程Web应用程序的数据库设计

时间:2017-08-23 05:23:44

标签: mysql database-design relational-database

我们需要创建一种教程类型的应用程序,其中将包含主题列表,每个主题都有子主题。 用户可以注册主题,并浏览子主题并将子主题标记为"已完成"。我们选择使用MySql关系数据库。

因此。通常有3个主表,

  1. 用户
  2. 主题
  3. sub_topics
  4. 我们计划通过为' 用户和主题'制作映射表来继续这种方法。即' user_topics '它包含 user_idtopic_idis_enrolled 列 另一个跟踪子主题完成状态的映射表可以是 user_sub_topics '其中包含 user_idsub_topic_idtopic_idis_completed

    这是设计数据库的最佳方式吗?还是可以做任何其他工作?

    以下是我们获取数据所需的一些查询

    1. 如果用户已完成所有子主题(加入查询将有所帮助),主题列表将显示已完成标签的主题列表
    2. 主题详细信息页面也会显示已完成的子主题列表
    3. 请建议

1 个答案:

答案 0 :(得分:0)

首先,您必须通过查找实体之间的关系来设计这样的关系数据库,并且这样做可以研究一下ER或扩展的ER图(实体关系),然后将图转换成表。

有一个循序渐进的方法,说明了如何操作,最后你可以检查表格的正常形式,检查它是否满足你的目的和你的设计有多好。

我强烈建议您 Ramez Elmasri 数据库系统的基础知识,它将提供有关数据库设计的重要信息