Операция с базой данных, которую можно применять повторно и давать одинаковые результаты?

Я рисую пустой, или, как некоторые сказали бы, имею старший момент. Я знаю, что существует формальное определение и название концепции, согласно которой операция db (хранимая процедура), выполняемая в базе данных, будет давать одинаковые результаты при повторном запуске.

Это что-то в жанре математики рефлексивное, симметричное, транзитивное и т.д.


person Community    schedule 23.12.2008    source источник
comment
Следует ли в заголовке читать операции, которые можно применять неоднократно? Я бы отредактировал это для вас, но я не уверен, что есть какое-то другое значение ответа, о котором я не знаю. :-)   -  person Onorio Catenacci    schedule 23.12.2008


Ответы (5)


Вы имеете в виду «детерминированный» - так как он всегда будет возвращать один и тот же результат, если вызывать его с одним и тем же вводом?

Или, может быть, "idempotent", что также означает, что повторный вызов функции больше не будет < strong>воздействие на базу данных.

person Blorgbeard    schedule 23.12.2008

это называется идемпотент

person Scott Wisniewski    schedule 23.12.2008
comment
Я думаю, что идемпотент означает, что ничего не меняет. Как в GET против POST (по крайней мере, в идеале. :)) - person dkretz; 23.12.2008
comment
Идемпотент определяется следующим образом: f(f(x)) = f(x) для всех x. Подробнее см. ниже: google.com/ - person Scott Wisniewski; 23.12.2008

Я думаю, что вы ищете Idempotent. Идемпотентность — это свойство, которое может применяться к любому типу операций (не только к базам данных). Это означает, что выполнение операции любое количество раз более одного раза эквивалентно выполнению ее один раз. т.е. каждая последующая операция после первой оставляет состояние неизменным.

Например, кнопка воспроизведения на большинстве пультов дистанционного управления DVD является идемпотентной при воспроизведении видео, потому что независимо от того, сколько раз вы ее нажимаете, она продолжает воспроизводиться. Однако кнопка питания на вашем пульте обычно не является идемпотентной, потому что она каждый раз включает и выключает машину. Идемпотентность — хорошее свойство, потому что вам не всегда нужно знать, в каком состоянии находится система, прежде чем запускать операцию, чтобы попытаться создать данное состояние.

person Dave L.    schedule 23.12.2008

Или, возможно, детерминированный.

person dkretz    schedule 23.12.2008
comment
ой, ты опередил меня на десятую долю секунды. Пусть начнутся войны за отрицательные голоса. знак равно - person Sergio Acosta; 23.12.2008
comment
Я удалил свой ответ, потому что он был точно таким же, как ваш. однако этот парень Кибби (или девушка) побьет вас за многословие. - person Sergio Acosta; 23.12.2008
comment
Да, я мог бы выиграть гонку на скорость, но я хотел сделать свой ответ более полным. Кстати, я парень. - person Kibbee; 23.12.2008
comment
:D @Kibbee мог бы s/work/word/, но тогда твоя позиция упала бы. Затруднение. - person dkretz; 23.12.2008

Я почти уверен, что вы имеете в виду произведение «Детерминистический». Функция является детерминированной, если она все время возвращает один и тот же ответ для одних и тех же входных данных. Функция недетерминирована, если она может возвращать разные ответы на одни и те же входные данные.

person Kibbee    schedule 23.12.2008