#mysql #база_данных #проектирование
Проектирую бд для системы учета проведения НИРС в ВУЗах. У меня есть таблица Приказы, в которой должны быть люди, которые удтверждают приказ (1 или несколько человек), люди, которые готовят приказ (таблица Подтверждающие), и, если я захочу их всех добавить в таблицу Приказ, то будет происходить избыточность данных, т.е. будут повторятся. К примеру у меня есть 1 человек, который создает приказ (Подтверждающий) и 2 человека которые утверждают (Удтверждающие), тогда в таблице Приказы будет 2 записи, в которых будут повторяться поля Тема приказа, Номер приказа, Дата приказа, Код подтверждения, и будут отличаться в 2 записях только поле Код утдверждения. Как можно перестроить схему, чтобы избавиться от этого изьяна, или есть возможность хранить в поле таблицы массив данных(что врядли)?
Ответы
Ответ 1
будет происходить избыточность данных да, при описанной схеме работы факт и момент подписания (а в идеале — и отзыва) подписи следует фиксировать в отдельной таблице, связанной с таблицей приказов и таблицей(-ами) полномочий. но если все приказы соответствуют шаблону «три подписи», то, вероятно, проще будет добавить в таблицу приказов три соответствующих поля, содержащих либо null, либо id подписавшего/утвердившего. а в принципе, вопросы «оцифровывания» документооборота вообще, и фиксации подписаний-утверждений-согласований-отклонений в частности — тема достаточно обширная. в наиболее полном варианте, например, обязательно следует учитывать тот факт, что полномочия подписания предоставляются лишь на время. т.е. начинать надо с грамотной постановки задачи, в которой чётко определить, насколько «оцифрованный» документооборот будет упрощён относительно реального.
Комментариев нет:
Отправить комментарий