Leerv474 / PeachNote

0 stars 0 forks source link

Логическая и физическая схема данных. Описание целостности данных. #8

Closed Leerv474 closed 4 days ago

Leerv474 commented 2 months ago

ER-Диаграммы

Логическая схема

LogicalSchema

Физическая схема

PhysicalSchema

Описание целостности данных

Пользователь:

Доска:

Роль:

Статус-таблица:

Проект:

Задача:

Leerv474 commented 2 months ago

Как уже писал в описании, решил сделать доступ пользователям. Добавил связующую таблицу. В Концептуальной схеме поменял стрелку на многие ко многим.

Вопрос: стоит ли мне вывести уровни разрешений - permission_level в отдельную таблицу или это уже слишком? Я вижу выгоду, потому что тогда у меня могут быть только такие то уровни доступа (редактор, зритель, и еще можно расширить) и проверка будет тогда внутри базы данных. Вроде есть польза, а вроде и без этого хорошо.

wldmr-key commented 2 months ago

такие штуки, как разрешения, как правило, достаточно жесткие, так как они глубоко прошиты в логику приложения и интерфейсы. Поэтому, если их изначально немного, то их хардкодят. Если потенциально возможно расширение, то да, отправляют справочником в БД. Оценивай!

по целостности - может ли задача, принадлежащая проекту, относится к одной статус-таблице, а проект к другой?

Leerv474 commented 2 months ago

проект содержится в списке проектов, его задачи выгружаются в основные статус таблицы. Если все задачи проекта закончены, то сам проект переносится в выполнено, а его задачи скрываются, чтобы не заполонять список уже не первостепенной информацией.

Первый приоритет трекинга задач - это односложные задачи. Проекты существуют для группировки задач, ведущих к какому-то частному результату. Статус таблицы существуют, чтобы группировать задачи по собственно статуса выполнения

wldmr-key commented 2 months ago

а прямой ответ на вопрос дать не? ))

Leerv474 commented 2 months ago

да, может

Leerv474 commented 2 months ago

поменял логическую схему. решил все таки добавить роли для расширяемости проекта в целом (это же поддерживается со стороны проектирования приложений, верно?) теперь новая таблица содержит все роли, содержит числовое значение уровня доступа, описание (для четкого описания возможностей роли) и access_status, для случаев, когда необходимо отключить роль на некоторое время.

Leerv474 commented 1 month ago

добавил роли в физическую схему и описание. изменил пользователя: теперь у пользователя все таки есть id и почта. Логин поменял на просто имя пользователя, которое можно будет редактировать