|
|
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
DPH3 Но в моей практике встроенных возможностей не хватает, приходится писать код для авторизации. А тут уже разницы между средним уровнем и T-SQL не наблюдается (по крайней мере, в пользу TSQL). ну если у мсскл не наблюдается понаблюдайте у оракла - oracle label security (Oracle Vault слегка из другой оперы). с деревьями же даже мсскл научился работать в мсскл2005. ЗЫ. oracle 10.1 снят с супорта ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:16 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
barrabasпотом синтаксис проще (не нужно создавать объекты типа sqlcommand (или как он там уже) и биндить переменные) , а просто писать sql в процедуре и все.Почитайте про SQLJ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:19 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Yo.! уже перетиралось тут не раз, на С писалось у всех, но все постепенно перешли на следующую ступень - на языки 4GL. и только дб2 пропустил революцию и все кропал по старинке, в терминах оракла это завется технологией препроцессоров, говорят в оракле вымершая в 80-х годах прошлого столетия. поняв, что на дедовских технологиях далеко не уедешь ибм выкатил sql/pl где-то лет 10 назад, но в то время как раз была мода 3-tier и подавляющее большинство действительно так его и завет "какой-то PLSQL подобный" ... Угу. Только Oracle так и продолжает рассчитывать на 4GL, а мода то убежала в сторону 3-tier, где нужно уже не это, а нормальные драйвера :) Про что я, собственно, и говорю. Правда, чем 4GL лучше, нежели универсальные managed языки - мне тоже не понятно. Чем plain C - более менее понимаю, да. подавляющее большинство действительно так его и завет "какой-то PLSQL подобный" ... Если я правильно читаю новости, то в 9.5 включили именно поддержку синтаксиса PL-SQL. Т.е. запуск оракловских хранимок без переписывания, прямо как есть. (Последствия такого запуска - за свой счет, как водится). да не умеет дб2 ту же жаву в контексте сервера пускать, только как fenced. уже два раза обсасывали. Там обсуждение так быстро сваливалось в флейм, что я так и не понял, до чего там договорились :) Как я понял, в любом случае разницы между sql/pl и java - нет (для DB2). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:27 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
baracsЛПbaracs И если клиент читает/меняет данные в БД через хранимые процедуры, это: - во многих случаях, сильно ускоряет работу системы в целом, - упрощает обеспечение целостности и непротиворечивости данных, - сильно упрощает сопровождение и развитие системы; - про разделение доступа к объектам бд тут уже много писали... В случае, если у СУБД ровно один клиент (а это именно случай многозвенных приложений) - Ваше высказывание неверно по всем пунктам (по некоторым пунктам оно неверно и в случае многих клиентов) А поподробнее? А чего подробнее то? Про скорость работы переобсосано миллион раз. Использование хранимок может дать как увеличение скорости работы (за счет отсутствия необходимости компиляции плана выполнения), так и уменьшение скорости (за счет того, что этот самый гвздиками приколоченый план не учитывает изменение входных параметров и изменившуюся статистику низлежащих данных). Однозначного выигрыша от использования ХП нет ни для случая одного клиента ака средний слой, ни для многих клиентов ака классическая двузвенка. Обеспечение целостности и непротиворечивости данных - так оно вообще не с помощью ХП делаться должно. Нормализация, констрейнты - да, упрощает обеспечение целостности и непротиворечивости. Обеспечивать целостность хранимками - нет, не упрощает, только усложняет. Причем если обеспечивать целостность SQL-кодом, то нет разницы, где этот код расположен, в хранимке на сервере, или в теле программы в одном единственном клиенте (ака средний слой). Одинаково неудобно. Аргумент "упрощение сопровождения и развития" - для одного клиента неверно. Для многих клиентов - верно (проще сопровождать код на одном сервере, чем на многих клиентов), а для одного - нет (что на одном сервере код сопровождать, что на одном клиенте). Те же самые соображения в ответ на аргумент "разделение доступа к объектам". Что рулить доступом к объектам на одном единственном сервере, что рулить доступом к объектам на одном единственном клиенте - нет разницы. Вернее, разница есть, и она не в пользу хранимок. Рулить доступом к объектам на клиенте я могу любым удобным мне способом. Любым. Удобным. Мне. Чего нельзя сказать про управление доступом к хранимкам и прочим объектам на сервере БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:31 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
FavnПоявился SQL PL в 7-й, кажется, версии, то есть он не намного моложе Java, к примеру. Или молодую Джаву тоже использовать не надо? ;) дык, только вот жава - мейнстрим, а об существовании sql/pl и половина db2 кодеров не подозревает. Favn PL SQL единым для DB2 LUW только вот сам luw не единый, а до v9 и для luw нужно было С компилятор для sql/pl таскать. FavnОна, конечно, лучше "вписана" в СУБД, чем Java, но спасает ли это от переключения контекстов? скорострельность pl/sql далеко не единственная, а главное не главная фича :) FavnКстати, о "лишь базовых конструкциях" - в последнем DB2 9.7 SQL PL в части обработки данных в БД функционально ничем не хуже PL/SQL. А остальное, ИМХО, всяко лучше на Java писать. ну ерунду не говорите, там нет базовых конструкций. нет аналога пакетам, нет реф-курсоров, нет и трети функий из базовых пакетов оракла. посмотрите чего может эмулировать db2 9.7 в плане pl/sql, он же и половины конструкций не переваривает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:33 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Yo.! ну если у мсскл не наблюдается понаблюдайте у оракла - oracle label security (Oracle Vault слегка из другой оперы). с деревьями же даже мсскл научился работать в мсскл2005. Э, с деревьями я и в MS SQL 2000 спокойно справлялся, делов-то. А label security читал, нужной гибкости все равно не получается (по датам). Да и денег, насколько я помню, стоит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:36 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
DPH3 Угу. Только Oracle так и продолжает рассчитывать на 4GL, а мода то убежала в сторону 3-tier, где нужно уже не это, а нормальные драйвера :) Про что я, собственно, и говорю. субд нужна нормальная, а не архаизм с драйверами ;) DPH3Правда, чем 4GL лучше, нежели универсальные managed языки - мне тоже не понятно. Чем plain C - более менее понимаю, да. дорого сопровождать. managed языки оторваны от субд, 4GL же может отслеживать поломаные DDLом процедуры, ну и ресурсы/скорострельность интереснее гораздо. DPH3Как я понял, в любом случае разницы между sql/pl и java - нет (для DB2). есть sql/pl работает как not fenced, т.е. в ядре db2, вне адресного пространства, как и любой пхп например. просто для пхп нет препроцессора, а для жабы выкатили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:49 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
"т.е. в ядре db2, вне адресного пространства" следует читать как т.е. в ядре db2, жаба же работает вне адресного пространства ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:50 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
DPH3 А label security читал, нужной гибкости все равно не получается (по датам). Да и денег, насколько я помню, стоит :) с датами то чего проще ? параметризованый вью - дешевого и сердито ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 18:56 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП Рулить доступом к объектам на клиенте я могу любым удобным мне способом. Любым. Удобным. Мне. Чего нельзя сказать про управление доступом к хранимкам и прочим объектам на сервере БД. А можно более подробно, что в вашем понимании есть "клиент" и что есть "рулить доступом"? Потому как я не понимаю - каким это образом можно "рулить доступом с клиента". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:00 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 locky А можно более подробно, что в вашем понимании есть "клиент" В контексте предыдущего обсуждения "клиент БД" = "средний слой многозвенки" Доступ, соответственно, к объектам этого же самого среднего слоя (до объектов БД конечного пользователя никто и не допустит в обход среднего слоя). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:07 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛПОбеспечение целостности и непротиворечивости данных - так оно вообще не с помощью ХП делаться должно. Нормализация, констрейнты - да, упрощает обеспечение целостности и непротиворечивости. Обеспечивать целостность хранимками - нет, не упрощает, только усложняет. Если Вы про Domain, Entity и прочая, то да, это делается декларативным способом, но существует еще ограничения бизнес-логики, например, клиент не может оформить заказ на условиях предоплаты на сумму более 5 000 руб, если у него еще нет выполненных заказов на условиях предоплаты на общую сумму не менее 25 000 руб. ЛППричем если обеспечивать целостность SQL-кодом, то нет разницы, где этот код расположен , в хранимке на сервере, или в теле программы в одном единственном клиенте (ака средний слой). Есть, и принципиальная. Система, в которой прямой доступ к таблицам закрыт, а вся работа организована через вьюхи и хп является самодостаточно устойчивой (про права админа не будем, ибо против лома нет приема). А в Вашей схеме, если код, обеспечивающий целостность данных, расположен в одном клиенте , то другой клиент , не содержащий такого кода, подключившись к бд может привести ее в неконсистентное состояние. И без разницы, что это за клиент - апп.сервер в трехзвенке или классической приложение в классической двузвенке. ЛПТе же самые соображения в ответ на аргумент "разделение доступа к объектам". Что рулить доступом к объектам на одном единственном сервере, что рулить доступом к объектам на одном единственном клиенте - нет разницы. А почему он у Вас "один единственный"?! Чем это гарантируется, или, наконец, что может помешать подключиться к базе другим клиентом?! ЛПВернее, разница есть, и она не в пользу хранимок. Заблуждаетесь, IMHO. ЛПРулить доступом к объектам на клиенте я могу любым удобным мне способом . Любым. Удобным. Мне. Опять, 25. Но это не значит, что не любимый и не удобный лично Вам способ не существует и дает целый ряд преимуществ. ЛПЧего нельзя сказать про управление доступом к хранимкам и прочим объектам на сервере БД. Безусловно, этого нельзя сказать, если не знаешь, как это делается. ;) Ибо реализация ACL (включая row & cell level security) на стороне реляционной СУБД делается не просто предоставлением (или не предоставление) доступа к тому или иному модулю с кодом в бд, а чуть сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:08 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 pkarklin Если Вы про Domain, Entity и прочая, то да, это делается декларативным способом, но существует еще ограничения бизнес-логики, например, клиент не может оформить заказ на условиях предоплаты на сумму более 5 000 руб, если у него еще нет выполненных заказов на условиях предоплаты на общую сумму не менее 25 000 руб. Не спорю. И такие ограничения бизнес-логики можно придумать, что реализовывать их на T-SQL - весьма тоскливое занятие. Одна из причин для "посмотреть в сторону многозвенок". Или какого-нибудь унылого говна с офигенно развитым внедренным в СУБД супер-мега-пл-т-эскюэль Есть, и принципиальная. Система, в которой прямой доступ к таблицам закрыт, а вся работа организована через вьюхи и хп является самодостаточно устойчивой (про права админа не будем, ибо против лома нет приема). А в Вашей схеме, если код, обеспечивающий целостность данных, расположен в одном клиенте , то другой клиент , не содержащий такого кода, подключившись к бд может привести ее в неконсистентное состояние. Товарисч pkarklin, Вы вообще как, внимательно сообщения читаете, прежде чем на них отвечать берётесь? Какой такой другой клиент, если русским по белому и неоднократно сказано, что клиент для БД - один единственный? А почему он у Вас "один единственный"?! По определению. По начальным данным диалога с baracs. Потому что других клиентов пристрелили из ружья. Чем это гарантируется, или, наконец, что может помешать подключиться к базе другим клиентом?! Вам подсказать способы, как не дать другим подключиться, или сами додумаетесь? Думаю, что сами справитесь. Я в Вас верю. Опять, 25. Но это не значит, что не любимый и не удобный лично Вам способ не существует и дает целый ряд преимуществ. То, что существует удобный лично мне способ - вовсе не означает, что не удобный мне способ не существует. Я нигде такого и не говорил. В чем Вы меня пытались убедить - не понял. Неудобный (не самый удобный для меня) способ - разумеется существует. Для данной конкретной СУБД существующий неудобный способ может быть единственным. Для кого-то другого (для каких-то других задач) этот способ может быть вполне хорошим. А мне то до этого какое дело, если этот кому-то для чего-то удобный способ - не подходит мне и для конкретной задачи? Безусловно, этого нельзя сказать, если не знаешь, как это делается. ;) Ибо реализация ACL (включая row & cell level security) на стороне реляционной СУБД делается не просто предоставлением (или не предоставление) доступа к тому или иному модулю с кодом в бд, а чуть сложнее. Это уже детали, к чему именно и какую именно секьюрити надо обеспечивать. В трехзвенке, BTW, эти детали вообще мало волнуют мозг. Чего не скажешь об. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:30 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Как ДБА, скажу. Любителей размазывать sql код по приложению - надо стрелять грязным тапком. ------------------------- There’s no silver bullet! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:33 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
lockyКак ДБА, скажу. Любителей размазывать sql код по приложению - надо стрелять грязным тапком. Правильно. Любителей размазывать логику по приложени ям (кусок кода в СУБД, кусок кода где-то еще, в WCF-сервисе каком-нибудь) - стрелять двумя грязными тапками, и контрольный выстрел нестиранными трусами. Только не думайте, что приложение перестает быть приложением только от того, что крутится в том же процессе, что и MS SQL Server (к примеру) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:46 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП, уточню. Любителей выносить код sql за пределы SP - стрелять мокрыми тряпками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:51 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
lockyЛП, уточню. Любителей выносить код sql за пределы SP - стрелять мокрыми тряпками. Типо хп - эт не приложение вовсе, а так, насрано. Понятно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:53 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛПИ такие ограничения бизнес-логики можно придумать, что реализовывать их на T-SQL - весьма тоскливое занятие. Вы правы, какие только ограничение не придумают бизнес овнеры. И они так легко реализуется реляционными способами с реляционно же хранящимися данными. А то как насмотришься, как некоторые на апп. сервере и джоинить пытаются и прочая, получив плоские наборы с сервера СУБД, дабы реализовать ТАМ ограничения целостности или секьюрность, то волосы дыбом встают. Зачем им, спрашивается, клиент-серверная СУБД?! ЛПОдна из причин для "посмотреть в сторону многозвенок". Чур, меня, чур... ЛПТоварисч pkarklin, Вы вообще как, внимательно сообщения читаете, прежде чем на них отвечать берётесь? Какой такой другой клиент, если русским по белому и неоднократно сказано, что клиент для БД - один единственный? По определению. По начальным данным диалога с baracs. Потому что других клиентов пристрелили из ружья. Не надо меня возить мордой по столу по топику. Это не Вы ли продекларировали: ЛПВ случае, если у СУБД ровно один клиент (а это именно случай многозвенных приложений) - Ваше высказывание неверно по всем пунктам ( по некоторым пунктам оно неверно и в случае многих клиентов ) Будем снова перетирать про быстродействие и удобство сопровождения, раз уж Вы упомянули только про некоторые пункты?! ЛПВам подсказать способы, как не дать другим подключиться, или сами додумаетесь? Думаю, что сами справитесь. Я в Вас верю. Я так же верю, что и Вы найдете способ подключиться в обход "одного клиента". ЛПТо, что существует удобный лично мне способ - вовсе не означает, что не удобный мне способ не существует. Я нигде такого и не говорил. В чем Вы меня пытались убедить - не понял. Вас?! Да упаси Господи Вас в чем то убеждать. Влез в этот тред тока с целью предостеречь неокрепшие умы читающих его от апологетов "логики на клиенте" (фокспро\аксесс форева!!!). ЛПНеудобный (не самый удобный для меня) способ - разумеется существует. Для данной конкретной СУБД существующий неудобный способ может быть единственным. Для кого-то другого (для каких-то других задач) этот способ может быть вполне хорошим. А мне то до этого какое дело, если этот кому-то для чего-то удобный способ - не подходит мне и для конкретной задачи? Простите, кто на ком стоял?! ((с) п. Преображенский) Т.е. что Вам не подходит и для какой, собственно, задачи? ЛПЭто уже детали, к чему именно и какую именно секьюрити надо обеспечивать. В трехзвенке, BTW, эти детали вообще мало волнуют мозг. Чего не скажешь об. Это пять!!! "Детали" идут лесом!!! Трехзвенка все делает без "деталей", т.е. без мозга. Видел я результаты такой безмозговой деятельности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:56 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛППравильно. Любителей размазывать логику по приложени ям ( кусок кода в СУБД, кусок кода где-то еще, в WCF-сервисе каком-нибудь ) - стрелять двумя грязными тапками, и контрольный выстрел нестиранными трусами. Гм... Вы так делаете?! Кмк, мы тут перетирали про код на клиенте или в хп, а не и . ЛПТолько не думайте, что приложение перестает быть приложением только от того, что крутится в том же процессе, что и MS SQL Server (к примеру) :) Поддержу Вас в Вашем демогагическом начинании, а программа на ASM - это приложение для процессора, а процессор - приложение для материнской платы и т.д. и т.п. Самим Вам не смешно?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 21:06 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛПlockyЛП, уточню. Любителей выносить код sql за пределы SP - стрелять мокрыми тряпками. Типо хп - эт не приложение вовсе, а так, насрано. Понятно :) Нет, это типа мне очень не нравится рыскать по стопиццоттысяч разным шарповским модулям, пытаясь выяснить где какой sql код есть, что он делает, где возможны проблемы, где точки входа и модификации и т.д. В то же время в случае использования только SP я имею проблемы только с dsql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 21:09 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 pkarklin А то как насмотришься, как некоторые на апп. сервере и джоинить пытаются и прочая, получив плоские наборы с сервера СУБД, дабы реализовать ТАМ ограничения целостности или секьюрность, то волосы дыбом встают. Угу. А как посмотришь на курсорные трактора внутре хранимок - что дыбом должно вставать? Оно канешн на каком-нибудь расширении SQL, и аж внутре хранимки лежит, и за это этому унылому говну можно простить его внешний вид :) Не надо меня возить мордой по столу по топику. Надо. Если Вы с первого раза не понимаете, то как еще. Это не Вы ли продекларировали: Я. Какое-то слово непонятно? Будем снова перетирать про быстродействие и удобство сопровождения, раз уж Вы упомянули только про некоторые пункты?! Перетирать идите мух с котлетами в мясорубке. Я ясно высказался, что высказывание barack неверно по всем пунктам в случае одного клиента, и по некоторым - в случае многих клиентов. Яснее - не умею. Пусть кто-нибудь другой попробует объяснить Вам разницу между "один" и "много", и между "все" и "некоторые". Влез в этот тред тока с целью предостеречь неокрепшие умы читающих его от апологетов "логики на клиенте" (фокспро\аксесс форева!!!). Вы дурак, простите? Где Вы увидели фокспро/аксес? Вам что-то приглючилось, и Вы решили предостеречь неокрепшие умы от Ваших собственных глюков? Когда протрезвеете - приходите, может удастся пообщаться. Вы так делаете?! Кмк, мы тут перетирали про код на клиенте или в хп, а не и. Нет. Так делают (собираются делать) некоторые другие участники этого обсуждения. Поддержу Вас в Вашем демогагическом начинании, а программа на ASM - это приложение для процессора, а процессор - приложение для материнской платы и т.д. и т.п. Самим Вам не смешно?! Не, не смешно. За размазывание логики про приложению на АСМе - тоже стрелять тапком. Я серьезен как никогда. Демагогии - ноль. Когда-нибудь поймете. Как протрезвеете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 21:14 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 ЛП. Думаю, что в этом вопросе, Вам следует идти до конца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 21:18 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛПНет. Так делают (собираются делать) некоторые другие участники этого обсуждения. . ну ну, по моему кто то никак не поймет, что логику работу с данными размазывать никто не собирается, зачем?, это как раз произойдет если вынести её на среднее звено, а тут окажется что нужен триггер или джоб. А если есть задачи которые к базе отношения не имеют и к клиенту тоже, то где же ей находится как не на другом слое, раз в в базе и на клиенте ей делать нечего и это не повод выносить туда всё остальное, т.к. с базой может работать еще и другой клиент или сервис ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 21:24 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 barrabas это как раз произойдет если вынести её на среднее звено, а тут окажется что нужен триггер или джоб. Ума не приложу, зачем может понадобиться триггер, если логика обработки данных вынесена на средний слой :) Ну да и ладно. А если есть задачи которые к базе отношения не имеют и к клиенту тоже О, это вообще не сюда - что-то ни к чему не относящееся. Ему ни хранимки не помогут, ни отсутствие хранимок не помешает. Программирование фотошопа этажом выше. раз в в базе и на клиенте ей делать нечего и это не повод Это не повод называть это нечто средним слоем. Не называйте это "ни к чему не относящееся" средним слоем - и ни малейших возражений не получите на свои высказывания. Правда невелика будет и ценность этих высказываний в контексте обсуждения "хранимок в трехзвенке" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 21:39 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП2 barrabas это как раз произойдет если вынести её на среднее звено, а тут окажется что нужен триггер или джоб. Ума не приложу, зачем может понадобиться триггер, если логика обработки данных вынесена на средний слой :) Ну да и ладно. А если есть задачи которые к базе отношения не имеют и к клиенту тоже О, это вообще не сюда - что-то ни к чему не относящееся. Ему ни хранимки не помогут, ни отсутствие хранимок не помешает. Программирование фотошопа этажом выше. раз в в базе и на клиенте ей делать нечего и это не повод Это не повод называть это нечто средним слоем. Не называйте это "ни к чему не относящееся" средним слоем - и ни малейших возражений не получите на свои высказывания. Правда невелика будет и ценность этих высказываний в контексте обсуждения "хранимок в трехзвенке" клиентское приложение коннектится к сервису, ни о базе и о чем другом ему знать не нужно, сервис, в свою очередь, откликаясь на запросы клиента, стучится к нескольким базам (ну скажем для сверки данных в разных ИС) и выдает что нужно клиенту, тут же нужно разослать отчеты клиентам, данные получаем с СУБД, а формируются файлы нужного формата на среднем слое - сервисе, каждый занят своим делом, никакой проблемы с размазываем логики, ни какой проблемы для ДБА. Я вижу смысл в трехзвенке если не нужно "светить" базу в инете, при работе с несколькими базами, но просто так чтобы было, типа чтобы ХП не писать, а писать классы в еще одном проекте, не вижу смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 22:01 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36281022&tid=1552871]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 158ms |

| 0 / 0 |
