powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Зачем нужны хранимые процедуры?
25 сообщений из 126, страница 1 из 6
Зачем нужны хранимые процедуры?
    #32462406
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Серьезно -зачем?
Вот мы пишем на MySQL, склад, заказы, производство.
В принципе вроде все работает.

Но все вокруг смеются над MySQL, типа там триггеров нет, ХП.
Меня прям комплекс заедать начинает.
А вдруг это действительно нужная вещь, без которой просто немыслимо работать?

Хочется примеры задач где без ХП не обойтись.
Заранее спасибо

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462423
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно. И без СУБД можно. Типизированным файл о м. (ударение - на букве " о ")
Бонус - и учиться не надо.
Ха.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462493
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот опять пинают:)
Опять флейм :)
Хотя MySQL гораздо лучше типизованного файл а :))
Согласись

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


Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462502
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Marat_L

3 punkta na vskidku:

1) Hranimye procedury pozvolyaut otdelit DB ot busness logiki i izmenyat odno bez zavisimosti ot drugogo.
2) Server DB hranit plany vypolneniya zaprosov dlya hran. proc (to est zaprocy vypolnyutsya bysteree)
3) Bezopasnost - Vy mozhete vydavat otdelnye granty na vypolnenie procedur
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462509
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. ХП позволяют менять алгоритмы расчетов без изменения клиентского приложения
2. Во многих случаях (но не всех) быстрее выполняются за счет кэширования планов запроса
3. позволяют гораздо более строго контроллировать вносимые данные/изменения.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462512
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но все вокруг смеются над MySQL, типа там триггеров нет, ХП.
А еще транзакций.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462513
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Невозможно" --- вряд ли.

Для "тяжело" классический пример --- когда тебе надо реализовать одну и ту же логику работы с данными в разных приложениях (до кучи: на разных языках). Если ты реализуешь её на ХП, то будешь из этих приложений просто дёргать ХП, в противном случае придётся каждый раз переписывать.

Ну и наконец --- встречный вопрос. Если ХП настолько никому не нужны, зачем мысклеписатели их реализуют в версии 5.0?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462518
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжу:
- ХП позволяют в ряде случаев значительно снизить сетевой трафик.
- Снизить требования к клиенту.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462603
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Назови хотя бы одну программу для ЭВМ, которую нельзя было бы выполнить с помошью машины Тьюринга. Нафиг тогда гипертрейдинг?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462615
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
что-то все странные аргументы, апп-сервер может все это с легкостью заменить. но менее эфективно чем хп, в плане скорости.
кроме того иногда может гораздо удобнее иметь код в субд, например в оракле у тебя процедура станет инвалидной если таблица с которой работает хп вдруг удалена. в результате апп-сервер тупо бы исполнял эту логику пока бы не дошел до неправильного селекта.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462731
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если БД полностью нормализована, то совсем можно обойтись и без ХП и триггеров, пользуясь только заданием ключей, check constraint'ов и отношений ( или все-таки нет ? ). На практике так не делается. Во-первых, полностью нормализованная система очень трудозатратна. Во-вторых, она будет не гибкой, а достижение некоторой гибкости сделает систему сверхсложной. И в программировании, и в эксплуатации. Да и вообще, вряд ли физически возможно создать мало мальски сложную и при этом полностью нормализованную систему. Я уж не говорю о том, что 1.невозможно будет найти достаточно людей для ее поддержки, а также о том, что 2. не представляю, появится ли в ближайшее время ЭВМ, у которой ресурсов будет достаточно для того, чтобы такая система на ней заворочалась.

(Я подразумеваю также, что любое действие над такой БД должно быть корректно обработано или отвергнуто по той причине, что: 1.нарушено ограничение ключа, 2.значение не прошло проверку на соответствие условию или 3.данные нарушают ограничения, наложенные на связи между таблицами. А так - очень даже можно создать систему, которая будет работать только до тех пор, пока человек совершает над ней корректные действия).

Есть такой термин: бизнес-логика. Разработчики стараются отделить мух (бизнес-логику) от котлет (костяка, физической структуры БД), помещая мух, например, в ХП, где они и живут (ну, не только в ХП, но ХП предпочтительней других мест, потому что неотделимо от БАЗЫ).
Другой случай, когда ХП полезны - объединение множества операций над данными в одном логически завершенном блоке. Могут возразить: а зачем в ХП - можно и из приложения выполнить ту же последовательность операций? А вот затем, чтобы из всех приложений вызывать одну и ту же ХП. А то захотят приладить наряду с WinForms-интерфейсом также Web-интерфейс, и чего-нибудь там напутают, недоделают... Могут также возразить: что же это за система, которая требует множественных изменений в данных? А вот такие они, реальные системы. В отличие от идеальных (см. выше, про нормализацию).

Примеров не будет. Потому что, действительно, все можно сделать и без ХП и триггеров.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462764
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пытаюсь подытожить:

ХП можно обойти созданием соответствующей подпрограммы на клиенте.
Этот способ позволяет отделить логику от данных.

Проигрыши такого решения:
При изменении логики надо менять приложение на всех клиентских машинах

Вопрос безопасности частично переносится на клиента, клиентское приложение фактически получает больший доступ.

Больше обмен данными клиента с сервером

Вычислительная нагрузка переносится на клиента

Нет доп .оптимизации в виде кеширования плана запроса

Такую процедуру невозможно использовать из приложения на другом языке

Вроде ничего не забыл

Мда....
В принципе конечно все это терпимо, до определенных пределов.
Но все-таки уже хочется MySQL 5.0

2 f_w_p : Есть там транзакции, уже год как работаем

2 Gt. : Rollback в случае неудачи решает проблему

2 Urri: Foreign key решат задачу ссылочной целостности. Другие проверки , действительно придется пихать в клиентскую процедуру.


Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462804
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
Чего-то ты не допонял. имея бизнес логику на апп-сервер:

При изменении логики надо менять логику апп-сервереа а не на всех клиентских машинах

Вопрос безопасности частично НЕпереносится на клиента, клиентское приложение фактически НЕполучает больший доступ.

Больше обмен данными апп-сервером с сервером субд

Вычислительная нагрузка НЕпереносится на клиента

Такую процедуру ВОЗМОЖНО использовать из приложения на другом языке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462851
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может я действительно не понял.

АПП сервер - это который, вместе с php и апачем?
Тогда да, ты прав, но тогда уточню:

Я пишу на VFP5.0 + MyODBC
и не вижу легкого штатного способа из VFP обращаться обращаться к вебсерверу, передавая туда параметры (логин/пароль хотя бы), и главное (КАК??) получая оттуда результат.

Поэтому я проигнорировал апп сервер

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462853
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВот мы пишем на MySQL , склад, заказы, производство....
.......
...Меня прям комплекс заедать начинает.

Похоже меня заел бы не только комплекс, если бы я писал такое на таком =:()

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462861
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
ну даже в фоксе можно юзать DCOM, типа клиенты по DCOM общаются с фокпро "сервером". помню для фокса были некие платные либы даже SOAP гонять, вот только людей гоняющих такое на фоксе не видел ... но это уже из другой оперы.
а так да - тебе было бы гораздо проще нормально юзать ODBC+хп, чем писать логику на пхп :) хотя знаю игрушку у нее что-то типа майла/форума - есть веб клиент и есть клиент на дельфях который к пхп обращается.

автори главное (КАК??) получая оттуда результат.

ну это даже на фоксе пару команд, спрси в их форуме.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462862
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Тигра
Ну вот и поделился бы своими мыслями по поводу

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463105
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 f_w_p : Есть там транзакции, уже год как работаем
Поздравляю. Без всего остального действительно можно обойтись. Хоть и неприятно. А вот без транзакций тяжко. Кстати, MySQL версионник или блокировочник?

Вопрос безопасности частично переносится на клиента, клиентское приложение фактически получает больший доступ.
Не совсем так. В клиенте действительно можно реализовать свои режимы безопасности, но ведь существует еще возможность коннекта к БД слева. Другим клиентом или штатными средствами администрирования
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463141
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 f_w_p
Версионная наверное. :))
Ну эта када там всякие уровни изоляции, да?

READ-UNCOMMITTED
READ-COMMITTED
REPEATABLE-READ
SERIALIZABLE

(только InnoDB таблицы )

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463444
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мысли плохие, делюсь: не могу представить MySQL и задачи склад, заказы, производство . Даже если есть - все-равно.
- А бывают ERP-системы на MySQL?
- Нет сынок, это фантастика ((с) реклама сыра Хохланд)

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463552
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Marat_L
Я примерно понимаю к чему ты клонишь...
Действительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах.
Чем это чревато? - низкой интерактивностью приложения.
А вообще-то без сохраненок действительно можно обойтись.
Хотя некоторые виды обработки данных действительно лучше делать на сохраненках. Особенно те, кторые жрут немерянно трафик.
Но в некоторых случаях разгузить сервер БД очень даже полезно.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463694
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за конструктивные ответы. Картина получилась достаточно исчерпывающей. Я многое для себя понял в ходе обсуждения.
Теперь меня комплексы не заедают :)

ТиграМысли плохие, делюсь: не могу представить MySQL и задачи склад, заказы, производство. Даже если есть - все-равно.
Будете у нас на Колыме - заходите :)

gardenman Я примерно понимаю к чему ты клонишь...
Дык, никуда 8))

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463993
Заглянул
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь можно почитать про "всякие там уровни изоляции", их критику в стандарте ANSI и про другие интересные вещи.
А вот это gardenmanДействительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах.
Чем это чревато? - низкой интерактивностью приложения. меня потрясло до глубины души.
Теперь-то я понимаю, в чем корень зла и где основной источник проблем. Только как бороться с "низкой интерактивностью" приложения, ума не приложу. Кстати, а что это? ;-)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464024
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman Но в некоторых случаях разгузить сервер БД очень даже полезно.

Конечно, для чего же еще то придуман SQL-сервер и технология соответствующая?! Для того, чтобы разгружать сервер БД клиентами
Наконец-то, истина открылась.
Открываю фонд для помощи разгрузки сервера БД. Кто сколько может, подайте...


-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464077
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman > Действительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах.

Пояните, плз, гипетрофированность ораклистов и сиквелистов...даже интересно...

-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
25 сообщений из 126, страница 1 из 6
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Зачем нужны хранимые процедуры?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]