
- •База данных системы управления проектами
- •1. Постановка задачи
- •2. Описание бд
- •2.1 Таблицы
- •2.2 Функции
- •2.3 Хранимые процедуры
- •2.4 Триггеры
- •2.6 Действия по расписанию
- •2.7 Пользователи и роли
- •Заключение
- •Приложение 1 диаграмма базы данных
- •Приложение 2 файл Functions.Sql
- •Приложение 3 файл Tables.Sql
- •Приложение 4 файл Triggers.Sql
- •Приложение 5 файл Procedures.Sql
- •Приложение 6 файл Reports.Sql
- •Приложение 7 файл Jobs.Sql
- •Приложение 8 файл Permissions.Sql
- •Приложение 9 файл FillData.Sql
- •Приложение 10 файл TestData.Sql
- •Приложение 11 файл Drop.Sql
2.6 Действия по расписанию
В базе данных определено два действия по расписанию (Job), выполяющихся с периодичностью раз в сутки. За выполнение запланированных заданий отвечает служба SQL Server Agent. Созданием таких заданий занимаются процедуры
sp_add_job – создать задание.
sp_add_jobstep – создать шаг задания.
sp_add_jobschedule – создать расписание задания
sp_add_jobserver – добавить задание на сервер для выполнения.
Настройки заданий хранятся в таблице JobSettings.
ChangePerformerInactiveTasksJob – задание, автоматически переводящее все задачи, по которым не было активности в течение заданного промежутка времени (по умолчанию, 7 дней) на другого исполнителя, которым может быть исполнитель родительской задачи или менеджер проекта.
DeleteDoneTasksJob – задание, автоматически удаляющее все задачи, которые были завершены больше заданного количества дней (по умолчанию, 7 дней) назад и с тех пор никаких изменений по ним не производилось.
2.7 Пользователи и роли
В базе данных создано четыре роли:
Administrator – Администраторы
Manager – Менеджеры
Contributor – Участники
Auditor – Наблюдатели
Для каждой роли установлены только свойственные ей разрешения на объекты БД, таким образом, для получения полных разрешений пользователь должен комбинировать роли, кроме роли Administrator:
Администратор – Administer
Менеджер – Manager, Contributor, Auditor
Участник – Contributor, Auditor
Наблюдатель – Auditor
Auditor – позволяет просматривать все таблицы, и выполнять следующие процедуры и генерировать отчеты:
GetProject – получение полной сводки по проекту.
GetTask – получение полной сводки по задаче.
GetCategoryTransitions – получение жизненного цикла категории.
GetProjectUsers – получение списка участников проекта.
GetTaskAuditors – получение аудиторов задачи.
UserReport – отчет по пользователям.
ProjectReport – отчет по проектам.
TasksByState – отчет по распределению задач по состояниям.
TasksByMilestone – отчет по распределению задач по вехам.
Contributor – позволяет создавать задачи, управлять своими задачами, комментировать любые задачи. Позволяет добавлять записи в следующие таблицы и выполнять процедуры:
CreateTask – создание новой задачи.
UpdateTask – обновление задачи.
DeleteTask – удаление задачи.
CreateTaskCheckItem – создание пункта задачи.
DeleteTaskCheckItem – удаление пункта задачи.
CreateComment – создание комментария.
DeleteComment – удаление комментария.
File – список файлов.
TaskAuditor – список аудиторов задачи.
TaskFile – добавление к задаче файла.
CommentFile – добавление к комментарию файла.
Manager – позволяет создавать и управлять своими проектами. Позволяет выполнять следующие процедуры и добавлять записи в таблицы:
CreateProject – создание проекта.
UpdateProject – изменение проекта.
DeleteProject – удаление проекта.
CreateComponent – создание компонента проекта.
DeleteComponent – удаление компонента проекта.
CreateMilestone – создание вехи проекта.
DeleteMilestone – удаление вехи проекта.
ProjectFile – добавление к проекту файла.
ProjectUser – добавление к проекту участника.
Administrator – позволяет управлять всеми объектами БД. Имеет права на выполнение всех процедур и чтение и изменение содержимого всех таблиц.