MYSQL数据库结构和设计

时间:2014-05-23 21:42:03

标签: mysql database-design normalization

我想编写自己的论坛用于学习目的,我需要一些帮助来规划数据库结构。

我想完成以下任务:

  1. 我想将成员存储在数据库中
  2. 每个用户都可以创建新主题
  3. 每个成员都可以评论每个帖子
  4. 我自己的方法是......

    1. 会员表
    2. 线程表
    3. 当用户创建新线程时,系统会动态创建新表COMMENTS_THREAD_ID,并且与此线程关联的所有注释都将包含在此表中
    4. 为每个线程创建单独的注释表是不错的做法?如果网站变得流行并且每天会有数千个主题怎么办?你能否提出适合这种情况的结构?

      由于

2 个答案:

答案 0 :(得分:3)

单个SQL表Comment如何,字段idthread_idmember_idbody这些字段足以组织您的数据< / p>

我认为每次创建Thread时创建一个新的SQL表都是一项昂贵的操作(即使MySQL没有对数据库中的表数施加硬限制),我认为总的来说RDBMS比其他任何东西都更加以行为中心(添加新的注释行而不是创建新表)

答案 1 :(得分:1)

不,这不是好习惯。您不需要为每个帖子的回复提供表格。如果向其中添加一个表示每个回复属于哪个线程的列,则可以只为{em>所有使用replies表。

这就是RDBMS的工作方式。事物清单,通过外键相互关联。