Структура базы данных для простой CRM

287
15 декабря 2016, 15:51

Сразу оговорюсь, что я еще совсем начинающий, поэтому просьба не обижать. Есть задача - написать простейшую CRM-систему, с функциями добавления, удаление, сортировки задач и различными несложными фичами. В системе будет 3 уровня (задачи, подзадачи и подподзадачи). Собственно, вопрос вот в чем - как мне организовать структуру базы данных - создавать для каждого уровня отдельную таблицу, связанную с остальными?

Answer 1
users - id, login, (name, password)
tasks - id, parent_id, description, status, (name, time, deadline, date_created) 
task_user - user_id, task_id

В скобках - необязательные поля.

Answer 2

Настораживает наличие подподзадач. Если они так нужны, то их можно реализовать как подзадачи подзадач, то есть обойтись двумя сущностями - задачами и подзадачами. А точнее и вовсе одной - задачами, у которых есть внешний ключ на родительскую задачу. В таком случае все задачи могут быть сохранены в одной таблице, но задачи (именно задачи, а не подзадачи и под-под...подзадачи) будут отличаться тем, что у них не будет родительской задачи Тем самым вы реализуете в общем-то любой уровень вложенности, и отпадет необходимость создавать для каждого уровня свою таблицу

READ ALSO
Стоит ли хранить файлы в базе данных?

Стоит ли хранить файлы в базе данных?

На PHPclab прочитал, что в MySQL базе данных можно хранить файлыУ меня сайт небольшой

187
Подсчёт количества детей в таблице

Подсчёт количества детей в таблице

Есть следующая таблица:

190
Формирования запроса Select DESC

Формирования запроса Select DESC

Доброго времени суток! У меня проблема с выводом топа, вот собственно запрос

167
Оператор сравнения NOT IN

Оператор сравнения NOT IN

Допутим я хочу вывести новости из БД но не учитывая определенных пользователейПример:

145