Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Схема БД для учета проведенных конференций

#mysql #база_данных #проектирование

                    
Проектирую бд для системы учета проведения НИРС в ВУЗах.

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

К примеру у меня есть 1 человек, который создает приказ (Подтверждающий) и 2 человека
которые утверждают (Удтверждающие), тогда в таблице Приказы будет 2 записи, в которых
будут повторяться поля Тема приказа, Номер приказа, Дата приказа, Код подтверждения,
и будут отличаться в 2 записях только поле Код утдверждения.

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


    


Ответы

Ответ 1



будет происходить избыточность данных да, при описанной схеме работы факт и момент подписания (а в идеале — и отзыва) подписи следует фиксировать в отдельной таблице, связанной с таблицей приказов и таблицей(-ами) полномочий. но если все приказы соответствуют шаблону «три подписи», то, вероятно, проще будет добавить в таблицу приказов три соответствующих поля, содержащих либо null, либо id подписавшего/утвердившего. а в принципе, вопросы «оцифровывания» документооборота вообще, и фиксации подписаний-утверждений-согласований-отклонений в частности — тема достаточно обширная. в наиболее полном варианте, например, обязательно следует учитывать тот факт, что полномочия подписания предоставляются лишь на время. т.е. начинать надо с грамотной постановки задачи, в которой чётко определить, насколько «оцифрованный» документооборот будет упрощён относительно реального.

Комментариев нет:

Отправить комментарий