daradal
4.02.2014 - 10:44
Доброго времени суток. Я не опытный разработчик (начинающий), а сейчас появился один проект который я должен сделать хотелось бы правильно спроектировать бд, прошу помощи.
Суть такова, есть список компаний, у каждой компании есть предприятия, каждое предприятие делится на подразделения. Тут понятно три таблицы. А вопрос от в чем как правильно организовать обсуждения (по сути комментарий) к каждой сущности из каждой таблицы?
То есть сделать ли одну таблицу для комментариев или к каждой сущности отдельную таблицу комментариев? Если делать одну тонадо как то отделять к какой именно сущности принадлежит коментарий одного id тут не хватит надо еще как то к каждому комментарию id таблицы хранить
Спасибо заранее за внимание и помощь
одну единую таблицу для комментариев в ней id строки + два поля одно для определения о какой таблице идет речь, второе для указания внешнего ключа из той таблицы.
Хотя хранить имя таблицы в поле это плохо.
Блин мозг никак не хочет думать сегодня
Сейчас может кто более правильную структуру подскажет.
_____________
Стимулятор ~yoomoney - 41001303250491
Нужно два лишних поля в таблице с комментами, например: type - тип сущности(1 - компания, 2 - предприятие, 3 - подразделение), objid - идентификатор сущности. Соответственно
SELECT * FROM `comments` WHERE type = 1 AND objid = 3
имхо
_____________
Gear FrameworkGear Framework на Github
linker, id строки все равно нужно
ну а, тип сущности и название таблицы практически одна малина, просто я хотел избежать ненужных уровней абстракции, но согласен с вами лучше 123, а все остальное либо "держим в уме", либо в отдельной таблице
_____________
Стимулятор ~yoomoney - 41001303250491
Valickid коммента - само собой разумеется. Я бы для сущности тоже добавил поле type тогда возможны вообще абстрагироваться в запросах
SELECT * FROM `comments` WHERE type = {$obj->type} AND objid = {$obj->id}
_____________
Gear FrameworkGear Framework на Github
daradal
4.02.2014 - 12:43
Спасибо ребята! Буду делать одну таблицу. Сам тоже склонялся к такому! Вы развеяли мои опасеня как неопытного спасибо!