MYSQL数据库结构与设计

标签 mysql database-design normalization

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

我想完成以下任务:

  1. 我想在数据库中存储成员
  2. 每个用户都可以创建新话题
  3. 每个线程都可以被每个成员评论

我自己的方法是...

  1. 成员表
  2. 线程表
  3. 当用户创建新话题时,系统会动态创建新表 COMMENTS_THREAD_ID 并且与该话题关联的所有评论都将包含在该表中

为每个线程的评论创建单独的表是一种好的做法吗?如果站点变得流行并且每天会有数千个线程怎么办?您能否建议适合此类场景的结构?

谢谢

最佳答案

单个 SQL 表 Comment 怎么样,包含字段 idthread_idmember_id body 这些字段足以组织您的数据

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

关于MYSQL数据库结构与设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23842946/

相关文章:

mysql - 如何从我的 mysql 数据库表 "userlog"获取高峰时间

mysql - SQL 组合 or,and 查询

mysql - SQL 乘车共享公司

sql - 在 SQL 数据库中实现用户定义字段并为其建立索引

matlab - Matlab 中可变范围 [ x , y ] 的归一化

mysql - 嵌套 SELECT + INNER JOIN

sql - 归一化硬件

php - 如何计算包括当天在内的小时差

php - 基本注册表单

php - MySql表设计: Use lots of rows or store the information formatted in one text field per row?