Я создаю систему, в которой пользователи могут присоединиться и создать группы. В этих группах, участники могут создавать темы и отвечать на сообщения, уже созданных, так что я хотел бы знать Ваше мнение, какой из следующих способов лучше: Создайте две таблицы, groups_posts и group_topics:Схема таблицы групп пользователей
--group_topics
id PK
group_id int FK
user_id int FK
title varchar(50)
content varchar(500)
status int
--group_posts
id PK
topic_id int FK
user_id int FK
content varchar(500)
status int
или создать уникальную таблицу, group_tposts:
--group_tposts
id PK
group_id int FK
user_id int FK
is_topic boolean
title varchar(50)
content varchar(500)
status int
В случае производительности, использование двух таблиц, кажется, приносит немного (большее?) Влияние, но организация намного лучше. В социальных сетях, таких как myspace и facebook, вы считаете, что это будут отдельные таблицы? – JCM
Могу ли я предложить создать единую таблицу для пользователей и групп. Затем у вас есть флаг «IsGroup/IsUser». Таким образом, вы также можете поместить группу в группу и установить разрешения для единственного пользователя. –