Gwynbleidd:
А эти "расследователи" в курсе как базы данных работают? Если добавить 150 человек, а потом удалить 100, то следующий добавленный будет иметь номер 151, несмотря ни на какие удаления. Даже если опустить технические детали, то как они физически себе представляют это? Когда кого-то удаляют, то надо всех с нуля пересчитать и поменять всем выданным сертификатам номера? Как это сделать? Детский сад вообще.
очень пафосное программное заявление. отучаемся говорить за всех.
нет, не так.
это с бумажными бланками строгой отчетности так не получится, а с виртуальной базой данных можно сделать всё, что угодно и без порядковых дыр в записях. вполне спокойно интенсивным методом.
а уж потом выдавать и печатать постфактум сертификат по-порядку.
может такие карманные базы, как MySQL так и работают, хотя многое тут зависит от алгоритма работы самого софта с базой данных.
но могу рассказать, как работают нормальные промышленнные базы данных и математика, их обрабатывающая, в частности SAP for DB2.
при запросе пользователя в базу, из таблицы выдается запись с определенным номером, по-порядку. и сама запись блокируется.
далее все действия пользователя ведутся в ракурсе (view) ведения этой таблицы, а запись в самой таблице так и остается заблокированной.
работа с этой записью может закончиться двумя состояниями - условно "болен"/"не болен"
и пока пользователь не примет окончательное решение, основная запись с номером остается блокирована в основной таблице, соответственно другие пользователи будут блокировать уже другие записи по порядку.
после принятия решения пользователем, допустим "болен" - транзакция считается выполненной, вследствие чего запись с номером из ракурса перемещается в основную таблицу.
если состояние "не болен", то запись с ракурса попадает в другую связанную таблицу, а в ракурсе эта строка удаляется. но в основной таблице она продолжает оставаться заблокированной. и транзакция считается НЕ выполненной.
следующий пациент попадает уже не в основную таблицу, в ней не создается новая запись, а в ракурс на место этой уже пустой записи, но с тем же номером!
и далее процесс ветвления - болен-не болен.
таким образом сквозная нумерация "в общем" никогда не будет нарушена, потому что в запись основной таблицы НИКОГДА не попадет пациент с состоянием "не болен".
при следующем обращении в БД у пользователя (врача) будет уже другой номер, не по порядку именно для него, НО! - в основной таблице он будет по порядку!
а у врачей да, нумерация будет не по порядку - не вижу проблем распечатать постфактум сертификат с любым номером.
но даже для этого есть свои приёмы - блокировать не один номер при обращении пользователя в базу, а сразу пул номеров - 10, 100, 1000. и закрывать транзакцию уже по полному закрытию пула. не буду говорить, что у каждого решения есть свои подводные камни, блокирована ли одна запись или пул, причем пул на 5 номеров и на 100 - очень разные вещи. следствие этого - скорость работы приложения с БД. в каждом конкретном случае это нужно решать индивидуально.
это реализовано на SAP по требованию законодательства многих стран в части ведения бухгалтерской документации, когда не должно быть дыр в сквозной нумерации документов. выйду из отпуска, могу даже привести номер SAP Note, которая регламентирует данный алгоритм работы.
поэтому не надо изобретать велосипед - всё решаемо и всё уже решено до нас. нужно только воспользоваться готовым алгоритмом.
как это решено в российском минздраве, на каком софте и БД - я без понятия. и инсайда у меня нет.
но то, что решено кривыми руками и бездумно - факт. а доказательством тому служат какие-то непонятные отмазки.
потому что ваше объяснение вполне успешно прокатило бы для большинства людей. и не надо было бы изобретать велосипед.
если зажали денег либо на разрабов либо на БД - итог печален.
и так же работает SAP for Oracle и SAP for HANA. за алгоритм точно не скажу, нет опыта, но то, что результат такой же - 100% факт.
Добавлено спустя 10 минут 3 секунды
redgraham:
У Гармалеи есть "какой0никакой" опыт в создании вакцин? Поделитесь?
насчет опыта Гамалеи могу сказать следующее - латинская цифра V и означает, что это пятая по счету векторная вакцина, которая была разработана данным институтом. а не буква "ви", как многие привыкли говорить.
как спросили - так ответил.
про эффективность и готовность других 4-рех вакцин в вопросе не было ни слова.
но по теории вероятности, рано или поздно какая-либо вакцина была бы закончена. по иронии судьбы, это стала самая востребованная на данном этапе истории вакцина против ковида. все рационально.