Ну, мне кажется, что postgree тут слишком мощный. Тут нужно скорее что-то легкое и быстрое, а накладные расходы в постгри для такой задачи достаточно велики. Я бы рекомендовал FireBird или MySQL.
А по сути задачи. Ну простейший баг-тракер потребует примерно такого набора таблиц:
1. Таблица ролей (девелопер, аналитик, саппорт и т.д.). Просто справочник.
2. Таблица сотрудников. Тоже просто справочник. Можно сделать по простому, если один и тот же сотрудник не может совмещать должности - тогда просто ставим ссылку на табл. 1. Если может, то будет еще промежуточная таблицв многие-ко-многим.
3. Таблица статусов (анализ, разработка, тестирование и и.д.). Просто справочник.
4. Таблица типов CR (дефект, доработка и т.д.). Просто справочник.
5. Таблица маршрутов. В принципе, если у тебя всегда маршрут одинаковый, то можно и не заморачиваться и сделать его в коде. Если разные, то проще описать в БД.
6. Таблица продуктов (по какой программе требуется доработка).
7. Таблица CR (change request). Собственно, это сам документ. Он будет содержать ссылки на все предыдущие справочники. Это как раз твой документ.
8. Если хочешь делать прикрепления разных документов к CR, то их тоже надо выделить в отдельную таблицу.
Вот примерно такой набор для простого варианта.
Кстати, таблица маршрутов на самом деле будет состоять из минимум 2х таблиц - собственно маршруты и диаграмма статусов (какие переходы разрешены в данном маршруте). Еще можно сделать таблицу прав для должностей.
|