Даталогическая модель базы данных системы. (вставила уже нашу)
3.3. Ограничения базы данных системы. (начиная отсюда вообще без понятия что делать)
Обозначения:
V( num)- varchar(num) – текстовая строка переменной длины, содержащая не более num символов
T( num) – char(num) – текстовая строка фиксированной длины, содержащая num символов.
I( num) – integer – целое число фиксированной длины, содержащее num цифр.
Схема отношения Файлы (attachments)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор файла
| id
| I(11)
| Первичный ключ
|
Идентификатор владельца файла
| ownerID
| I(11)
| Внешний ключ к (users)
|
Идентификатор связанного с проектом файла
| projectID
| I(11)
| Внешний ключ к (projects)
|
Путь к файлу
| file
| V(100)
| Обязательное поле
|
Версия файла
| version
| V(50)
| Обязательное поле
|
Схема отношения Баги (bugs)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор бага
| id
| I(11)
| Первичный ключ
|
Идентификатор владельца бага
| ownerID
| I(11)
| Необязательное поле, внешний ключ к (users)
|
Название бага
| title
| V(50)
| Обязательное поле
|
Идентификатор связанного с багом проекта
| projectID
| I(11)
| Внешний ключ к (projects)
|
Статус бага
| status
| I(2)
| Обязательное поле, 0, 1 или 2
|
Хэш события, связанного с багом
| eventHash
| V(255)
| Обязательное поле
|
Описание бага
| desc
| T(10000)
| Обязательное поле
|
Почта создателя бага
| email
| V(255)
| Необязательное поле
|
Схема отношения Лицензии (licenses)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор лицензии
| id
| I(11)
| Первичный ключ
|
Идентификатор связанного с лицензией проекта
| projectID
| I(11)
| Внешний ключ к (projects)
|
EMail владельца лицензии
| email
| V(255)
| Обязательное поле
|
Ключ лицензии
| key
| V(255)
| Обязательное поле
|
Зашифрованный ключ лицензии
| keyh
| V(255)
| Обязательное поле
|
Схема отношения Сообщения (messages)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор сообщения
| id
| I(11)
| Первичный ключ
|
Идентификатор пользователя — получателя сообщения
| targetID
| I(11)
| Внешний ключ к (users)
|
Идентификатор пользователя — отправителя сообщения
| ownerID
| I(11)
| Внешний ключ к (users)
|
Заголовок сообщения
| title
| V(50)
| Обязательное поле
|
Текст сообщения
| text
| T(10000)
| Обязательное поле
|
Статус сообщения
| status
| I(2)
| Обязательное поле, 0 или 1
|
Хэш события, связанного с сообщением
| eventHash
| V(255)
| Обязательное поле
|
Схема отношения Уведомления (notifications)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор события
| id
| I(11)
| Первичный ключ
|
Цель события
| targetID
| I(11)
| Внешний ключ к (users)
|
Тип события
| type
| V(50)
| Обязательное поле, MESSAGE, PROJECT или OBJECTIVE
|
Текст события
| text
| V(255)
| Обязательное поле
|
Хэш события
| hash
| V(255)
| Обязательное поле
|
Схема отношения Задачи (objectives)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор задачи
| id
| I(11)
| Первичный ключ
|
Идентификатор пользователя, создавшего задачу
| ownerID
| I(11)
| Внешний ключ к (users)
|
Заголовок задачи
| title
| V(50)
| Обязательное поле
|
Идентификатор пользователя, выполняющего задачу
| targetID
| I(11)
| Внешний ключ к (users)
|
Идентификатор проекта, связанного с задачей
| projectID
| I(11)
| Внешний ключ к (projects)
|
Статус задачи
| status
| I(2)
| Обязательное поле, 0, 1, 2 или 3
|
Хэш события, связанного с задачей
| eventHash
| V(255)
| Обязательное поле
|
Описание задачи
| desc
| T(10000)
| Обязательное поле
|
Схема отношения Онлайн (online)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор пользователя
| userID
| I(11)
| Внешний ключ к (users)
|
Последнее действие
| lastACTION
| V(50)
| Обязательное поле
|
Время последнего действия
| lastTIME
| V(50)
| Обязательное поле
|
Хэш
| hash
| V(100)
| Обязательное поле
|
Схема отношения Права доступа (permissions)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор права
| id
| I(11)
| Первичный ключ
|
Уровень, необходимый для права
| level
| I(11)
| Обязательное поле
|
Краткое описание права
| title
| V(50)
| Обязательное поле
|
Действие
| action
| V(50)
| Обязательное поле
|
Схема отношения Проекты-Пользователи (project-users)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор
| id
| I(11)
| Первичный ключ
|
Идентификатор пользователя
| userID
| I(11)
| Внешний ключ к (users)
|
Идентификатор проекта
| projectID
| I(11)
| Внешний ключ к (projects)
|
Идентификатор роли
| roleID
| I(11)
| Внешний ключ к (roles)
|
Схема отношения Проекты (projects)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор проекта
| id
| I(11)
| Первичный ключ
|
Идентификатор создателя проекта
| ownerID
| I(11)
| Внешний ключ к (users)
|
Идентификатор главного разработчика проекта
| leaderID
| I(11)
| Внешний ключ к (users)
|
Идентификатор главного дизайнера проекта
| designerID
| I(11)
| Внешний ключ к (users)
|
Название проекта
| title
| V(50)
| Обязательное поле
|
Описание проекта
| description
| T(10000)
| Обязательное поле
|
Последняя версия проекта
| version
| V(50)
| Обязательное поле
|
Видимость проекта
| visible
| I(2)
| Обязательное поле, 0 или 1
|
Хэш для API проекта
| apiHASH
| V(255)
| Обязательное поле
|
Метка об удалении проекта
| markForDelete
| I(2)
| Обязательное поле, 0 или 1
|
Схема отношения Роли (roles)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор роли
| id
| I(11)
| Первичный ключ
|
Заголовок роли
| title
| V(50)
| Обязательное поле
|
Уровень роли
| level
| I(11)
| Обязательное поле
|
Схема отношения Пользователи (users)
Содержание поля
| Имя поля
| Тип, длина
| Примечания
|
Идентификатор пользователя
| id
| I(11)
| Первичный ключ
|
EMail пользователя
| email
| V(100)
| Обязательное поле, в формате email адреса
|
Логин пользователя
| login
| V(50)
| Обязательное поле
|
Имя пользователя
| name
| V(50)
| Обязательное поле
|
Фамилия пользователя
| soName
| V(50)
| Обязательное поле
|
Телефон пользователя
| phone
| V(50)
| Обязательное поле
|
Зашифрованный пароль пользователя
| password
| V(100)
| Обязательное поле
|
Идентификатор роли пользователя
| roleID
| I(11)
| Внешний ключ к (roles)
|
Метка об удалении пользователя
| markForDelete
| I(2)
| Обязательное поле, 0 или 1
|