:: Не фоксом единым
Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
Является ли SQL-запрос алгоритмом?
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
PaulWist

Сообщений: 14741
Дата регистрации: 01.04.2004
Нет.

Это просто декларация, а-ля хочу получить то-то и то-то из этого и этого.

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


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/1 positive
Re: Филосовский вопрос
_vit
Автор

Сообщений: 5243
Дата регистрации: 29.07.2002
Однако сложные запросы могут содержать алгоритмы.
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
PaulWist

Сообщений: 14741
Дата регистрации: 01.04.2004
_vit
Однако сложные запросы могут содержать алгоритмы.

Например?

Если имеются в виду хинты, то это уже диалект конкретной реализации SQL, к самому языку запросов не относящийся.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 26.05.24 18:09
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
sphinx

Сообщений: 31893
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Наверное, подразумевался вызов UDF в SELECTe...


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
Наверно, ключём к ответу будет фраза
"алгоритм вычисления арифметического выражения".
Т.е. арифметическое выражение не является алгоритмом.
Видимо, так же и SQL запрос.
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
sphinx

Сообщений: 31893
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Наверное точнее так сказать - на SQL нельзя написать полноценную программу (а программа и есть реализованный алгоритм), он предназначен только для взаимодействия с базами данных.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
sphinx
Наверное точнее так сказать - на SQL нельзя написать полноценную программу (а программа и есть реализованный алгоритм), он предназначен только для взаимодействия с базами данных.
SQL-запрос - это полноценная программа.
На том же фоксе можно скомпилировать и выполнить.
Алгоритм - это последовательность действий, направленных на получение определённого результата за конечное число шагов.

"Вылонить запрос 'select 1'" - алгоритм.

P.S.
Все равно select - выбрать - действие
Вопрос остается открытым.

P.S.2
В тоже время на языке арифметики, арифметическое выражение, однозначно, описывает последовательность действий.



Исправлено 4 раз(а). Последнее : alex;, 26.05.24 23:28
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
sphinx

Сообщений: 31893
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Напиши программу на SQL по, например, оптимизации расчета раскроя листа. Без вызова процедур/циклов/ветвления. Только чистым SQL.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
sphinx
Напиши программу на SQL, например, по оптимизации расчета раскроя листа. Без вызова процедур/циклов/ветвления. Только чистым SQL.
В тоже время на языке арифметики, арифметическое выражение, однозначно, описывает последовательность действий, т.е. алгоритм.
Напиши программу по оптимизации расчета раскроя листа на языке арифметики.

Нет.
SQL-запрос не алгоритм.
Поскольку описывает желаемый результат, а не последовательность действий.



Исправлено 1 раз(а). Последнее : alex;, 27.05.24 00:06
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
pasha_usue

Сообщений: 3716
Откуда: Е-бург
Дата регистрации: 06.10.2006
PaulWist
_vit
Однако сложные запросы могут содержать алгоритмы.

Например?

Если имеются в виду хинты, то это уже диалект конкретной реализации SQL, к самому языку запросов не относящийся.
Если по определению алгоритма следовать, то это такой набор запросов, который содержит "последовательность действий". Например, сложить что-то во временную таблицу, а потом из неё уже что-то получить это как-раз последовательность.
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
alex;
Поскольку описывает желаемый результат, а не последовательность действий.
И в конечном итоге, желаемый результат можно получить,
используя разные алгоритмы.
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
PaulWist

Сообщений: 14741
Дата регистрации: 01.04.2004
pasha_usue
Если по определению алгоритма следовать, то это такой набор запросов, который содержит "последовательность действий". Например, сложить что-то во временную таблицу, а потом из неё уже что-то получить это как-раз последовательность.

Это уже не запрос, это batch/скрипт/программа, а программа - это чистяк алгоритм.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 27.05.24 14:40
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
_vit
Автор

Сообщений: 5243
Дата регистрации: 29.07.2002
Вообще - запрос не однозначное понятие.
Его используют имея в виду как комманду (элемент языка) так и скрипт.
Но даже если иметь в виду запрос как элемент языка то как тогда с WHILE, IF...ELSE и подзапросами?
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
leonid

Сообщений: 3227
Откуда: Рига
Дата регистрации: 03.02.2006
_vit
как тогда с WHILE, IF...ELSE и подзапросами?

WHILE, IF...ELSE не относятся к декларативному языку SQL, они относятся к процедурному языку SQL PL.

www.ibm.com
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
leonid
_vit
как тогда с WHILE, IF...ELSE и подзапросами?
WHILE, IF...ELSE не относятся к декларативному языку SQL, они относятся к процедурному языку SQL PL.
www.ibm.com
Не только SQL PL
еще T-SQL и PgSQL
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
_vit
Автор

Сообщений: 5243
Дата регистрации: 29.07.2002
Ок. Я принял ваши аргументы.

Ради интереса я помучал Copilot на эту тему.
Он долго сопротивлялся но в итоге согласился на ничью.

Цитата:
различие между SQL-запросами и алгоритмами во многом зависит от контекста и точки зрения.
В некоторых контекстах, SQL-запросы могут рассматриваться как алгоритмы,
особенно если они используются в рамках более сложной системы для решения конкретной задачи.
Ratings: 0 negative/2 positive
Re: Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
Vit,
а что на фэйсбуке в форуме VFP обсуждают, не следишь?
А то у нас недоступен вредный сайт.
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
_vit
Автор

Сообщений: 5243
Дата регистрации: 29.07.2002
Не пользуюсь фейсбуком. Хотя видимо придется.
Ratings: 0 negative/0 positive
Re: Филосовский вопрос
alex;

Сообщений: 3406
Откуда: Москва
Дата регистрации: 23.11.2004
Помучал DeepSeek R1
alex;
Если перевести последовательность SQL-запросов в последовательность предложений с глаголами в повелительном наклонении(императив) на естественном языке, то будет ли это алгоритмом?


alex;
У тебя ошибка в рассуждениях.
Вот простой алгоритм:
Взять яйцо.
Разбить и вывалить на сковородку.
Жарить 2 минуты.
Выложить на тарелку.
Это алгорим, хотя не описано как выполнять шаги.



DeepSeek
Спасибо за замечание! Ваш пример помог уточнить, что:
Алгоритм не обязан детально описывать каждый подшаг, если он понятен исполнителю.

SQL-запросы — это декларативные алгоритмы, где СУБД выступает «исполнителем», знающим, как оптимизировать выполнение.

Даже простое действие (вроде SELECT 1) можно считать алгоритмом, если контекст подразумевает его интерпретацию как инструкции.

alex;
Т.е. правильный ответ должен показывать в каком контексте да и в каком нет?




Исправлено 4 раз(а). Последнее : alex;, 29.01.25 17:09
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2025 Fox Club 
Яндекс.Метрика