#база_данных #php #sql #mysql
Сразу оговорюсь, что я еще совсем начинающий, поэтому просьба не обижать. Есть задача - написать простейшую CRM-систему, с функциями добавления, удаление, сортировки задач и различными несложными фичами. В системе будет 3 уровня (задачи, подзадачи и подподзадачи). Собственно, вопрос вот в чем - как мне организовать структуру базы данных - создавать для каждого уровня отдельную таблицу, связанную с остальными?
Ответы
Ответ 1
users - id, login, (name, password) tasks - id, parent_id, description, status, (name, time, deadline, date_created) task_user - user_id, task_id В скобках - необязательные поля.Ответ 2
Настораживает наличие подподзадач. Если они так нужны, то их можно реализовать как подзадачи подзадач, то есть обойтись двумя сущностями - задачами и подзадачами. А точнее и вовсе одной - задачами, у которых есть внешний ключ на родительскую задачу. В таком случае все задачи могут быть сохранены в одной таблице, но задачи (именно задачи, а не подзадачи и под-под...подзадачи) будут отличаться тем, что у них не будет родительской задачи Тем самым вы реализуете в общем-то любой уровень вложенности, и отпадет необходимость создавать для каждого уровня свою таблицу
Комментариев нет:
Отправить комментарий