Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8   вперед  Ctrl      все
 Re: ХП против View  [new]
VAT
Member

Откуда: Нижний Новгород
Сообщений: 295
tygra
А можно вопрос: а вы зачем там как программист нужны? Раздать юзерам EM и QA, вас уволить, вашу зарплату разделить юзерам - и все вопросы решены. Вы же все-равно ничего не делаете. Потому как система, в которой сами юзеры чего-то там джоинят - это не система, а БД с набором таблиц. И естественно тут никакие ХП не нужны - чего на них делать, если нет никакой системы? А уж русские названия юзеры на себя возьмут

И этот человек что-то говорит о невозможности использования ХП? :))


Может я не ясно выразился. И имею я в виду не любую систему, а для ограниченного круга сотрудников, которым можно позволять джойнить таблицы. И даже ЕМ и QA можно дать, права доступа и схема базы не дадут им ничего испортить.
автор
Используем всё - вью, ХП, разграничения доступа вплоть до строк и полей, изменения данных через ХП и прямо. Контроль прав и данных в триггерах. Можно хоть через ЕМ править - ядро сломать не удастся.
В готовых отчётах - везде ХП.


О каком человеке речь, который говорил о невозможности использовать ХП?
11 мар 05, 15:51    [1379125]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
автор
Может я не ясно выразился. И имею я в виду не любую систему, а для ограниченного круга сотрудников, которым можно позволять джойнить таблицы. И даже ЕМ и QA можно дать, права доступа и схема базы не дадут им ничего испортить.


А если я сджойню таблицу саму на себя? Да еще раза четыре? Чего с сервером станет? А с клиентом? :))
А хинты пользователи тоже пишут? А то ведь можно заблокировать насмерть десять таблиц на два часа - и все, алес капут :))

ЗЫ Нехорошо это, когда пользователи имеют прямой доступ к БД и чего-то там джоинят и т.д. Тут за каждую секунду борешься при оптимизации - а какой-то урод придет и повесит всю систему насмерть. Лучше уж я сам буду им делать то, что нужно: так и системе копец не придет, и пользователи не будут лезть за каждым чихом, "выбирать" данные от нечего делать. Иначе это несерьезно.

А если же данные нужны статистические - OLAP нужен.


-- Tygra's --
11 мар 05, 16:23    [1379328]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
tygra

А если я сджойню таблицу саму на себя? Да еще раза четыре?

Ну-ну... А если я вызопу ХП, да еще n^n раз из m подключений - что тогда с сервером будет? Нет уж revoke всего и у всех - пусть уж останусь только я!
11 мар 05, 16:32    [1379377]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
funikovyuri
tygra

А если я сджойню таблицу саму на себя? Да еще раза четыре?

Ну-ну... А если я вызопу ХП, да еще n^n раз из m подключений - что тогда с сервером будет? Нет уж revoke всего и у всех - пусть уж останусь только я!


Согласитесь, что надо быть довольно "продвинутым пользователем", чтоб выполнить в QA предложенные Вами манипуляции с хп. А вот вероятность помножить несколько раз таблицы на себя по неосторожности при наличие самой возможности джоинить таблицы в клиентском приложении не так уж мала.
11 мар 05, 16:36    [1379407]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
pkarklin


Не соглашусь! Если "пользователь" загрузил QA - его уже никакие ХП не остановят.

Для этого применяются совсем другие меры и к вопросу инкапсуляции это не имеет ни какого отношения.
11 мар 05, 16:40    [1379423]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
funikovyuri
pkarklin


Не соглашусь! Если "пользователь" загрузил QA - его уже никакие ХП не остановят.

Для этого применяются совсем другие меры и к вопросу инкапсуляции это не имеет ни какого отношения.


1. Т.е. Вы считаете, что если пользователь добрался через меню Пуск до QA, то он уже и цикл на T-SQL Сможет написать и необходимую хп с необходимыми араметрами вызвать? 8-)

2. Ээээ... а инкапсуляция то тут причем?!
11 мар 05, 16:43    [1379444]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
1. Т.е. Вы считаете, что если пользователь добрался через меню Пуск до QA, то он уже и цикл на T-SQL Сможет написать и необходимую хп с необходимыми араметрами вызвать? 8-)

если он сумел join'ить таблицу по ключам несколько раз подряд - то это уже не пользователь. Вообще не понимаю - сложность синтаксиса это критерий безопасности?


2. Ээээ... а инкапсуляция то тут причем?!
О - приехали! Лично я только про нее и говорил...
11 мар 05, 16:47    [1379477]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
автор
Не соглашусь! Если "пользователь" загрузил QA - его уже никакие ХП не остановят.

Остановят. Надо вообще найти эту ХП. Потом суметь передать параметры. Потом суметь запустить. Да еще N раз. Не все такое могут.
А вот найти в списке таблицу или view и сказать ей delete, даже случайно - не фиг делать, почти любой дурак сможет.

И кстати фраза, на которую вы ответили, относилась собственно к системе VAT, где у юзеров и без QA есть возможность сджоинить таблицы 10 раз.

===========
Что-то какая-то странность получается. На любой аргумент в пользу ХП придумывается хоть-какой-то не в пользу и/или метод решения этого на view, часто кривой.

Уже седьмую страницу так и не пойму - это специально чтоли себе жизнь усложняете? Или у всех такие системы, что кроме insert values и delete from table where id = @id нет больше ничего, никакой бизнес-логики. вообще ничего?

-- Tygra's --
11 мар 05, 16:50    [1379496]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
автор
если он сумел join'ить таблицу по ключам несколько раз подряд - то это уже не пользователь. Вообще не понимаю - сложность синтаксиса это критерий безопасности?


А как же.
У некоторых вот пользователей специально учат джоинить :)
А если юзер знает слово join, то не факт, что знает слово exec, да еще параметры.
Но если даже и знает.
Открыв view, которую он нашел по имени таблицы, он сможет делать все, что захочет, если у него есть права - удалять записи, добавлять, менять и т.д. без всяких проблем. Прямой открытый путь.
А увидев ХП он сначала еще должен понять среди сотен и тысяч, какая нужна, и не факт, что та, которую он нашел - хотя бы по имени таблицы опять же или любую в списке - что у него есть права на ее исполнение. Да еще подставить параметры нужно правильно.

Так что уже это дает большой выигрыш ХП у view и таблиц.

ЗЫ Да, а причем тут инкапсуляция?

-- Tygra's --
11 мар 05, 16:58    [1379542]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
funikovyuri
1. Т.е. Вы считаете, что если пользователь добрался через меню Пуск до QA, то он уже и цикл на T-SQL Сможет написать и необходимую хп с необходимыми араметрами вызвать? 8-)

если он сумел join'ить таблицу по ключам несколько раз подряд - то это уже не пользователь. Вообще не понимаю - сложность синтаксиса это критерий безопасности?


В том то и дело, что если по ключам, то может и ничего страшного, а вот если в результате его невнимательности получим декартово произведение. И, почему это работа с хп приводит к "усложнению синтаксиса"?!

ЗЫ. Над инкапсуляцией подумаю в понедельник.
11 мар 05, 17:09    [1379609]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
И, почему это работа с хп приводит к "усложнению синтаксиса"?!

вот и я спрашиваю! Это вы с тигрой видно так считаете если утверждаете что view пользователь осилит, а ХП нет
11 мар 05, 17:30    [1379717]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
А view чего осиливать - открыл его в ЕМ и правь

-- Tygra's --
11 мар 05, 18:24    [1379896]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
С выходными вас, товарищи! Опять :))

-- Tygra's --
11 мар 05, 18:25    [1379898]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
kto-to
Member

Откуда: Ukraine, Kyev
Сообщений: 835
Я против того чтобы любого "васю" пускать в базу софтины-
пусть ломится через софтину.
Но я не хочу, чтобы софтина оставалась единственным
методом комфортной работы с данными предприятия ...
Я не ставлю "палки в колеса" разумным желаниям клиента.
Софтина должна добавлять удобства работы к уже имеющимся,
а не поставлять их вместо существующих.
Я не хочу добавлять лишней головной боли админу,
который часто неплохой админ, но слабенький SQL админ.
(
как же он будет счастлив, если изменит данные в таблице
забыв воспользоваться процедурным интерфейсом...
а если не забудет, то как ему это удобно будет делать ...
а все горррит!... и был сбой ... и его е6...т ...
как он будут благодарен разработчику за такую систему!
)
и т.д.
11 мар 05, 18:52    [1379984]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
автор
Я не хочу добавлять лишней головной боли админу,
который часто неплохой админ, но слабенький SQL админ.

А какого #$%& этот слабенький админ лезет в базу?????
Или больше некому? Ну тогда лучше вообще без всяких проверок - а то админ мало ли чего еще не знает, пусть уж пишет куда и что хочет. :))

автор
как же он будет счастлив, если изменит данные в таблице
забыв воспользоваться процедурным интерфейсом...
а если не забудет, то как ему это удобно будет делать ...
а все горррит!... и был сбой ... и его е6...т ...
как он будут благодарен разработчику за такую систему!

Если админ не знает, как работает его система, то .... вешать таких админов надо еще до приема на работу.

Да и с какой стати просто админы начали вмешиваться в работу системы?

А изменить вручную всегда все можно - не зависимо от методов доступа с клиента. Мы то не померли - кудесники однако? :))

-- Tygra's --
11 мар 05, 19:05    [1380012]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
Alexey Sh
Member

Откуда: SPB
Сообщений: 1930
2 kto-to : View, SP - всё равно. Что админу делать в таблицах?
11 мар 05, 19:06    [1380014]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
Есче:
автор
Но я не хочу, чтобы софтина оставалась единственным
методом комфортной работы с данными предприятия ...

Ну дык и не является как раз - дергай ХП откуда хошь и работай наздоровье, не надо ломать голову, чего там унутрях - exec да и все.

А если не знаешь, чего дергать - значит не знаешь системы. А коли не знаешь системы - хрена к ней лезть? :))

-- Tygra's --
11 мар 05, 19:08    [1380018]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
LKO
Member

Откуда: Москва
Сообщений: 85
А еще ведь есть функции....

Если по поводу ХП и View разгорелся такой спор, то почему бы не приплести сюда еще и функции...

в MS SQL 2000 появилась эта довольно удобная фича. Кто-нибудь может высказаться о достоинствах и недостатках?
11 мар 05, 21:04    [1380195]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
LKO
Member

Откуда: Москва
Сообщений: 85
В пользу ХП, View и чего-нибудь еще говорит само наличие возможности ими пользоваться. Наличие разных возможностей доступа и обработки данных - есть гибкость системы.
В каких-то случаях удобно использовать View, в каких-то - ХП.

Весь вопрос упирается в цену реализации проекта и дальнейшей его эксплуатации и поддержки. То, на сколько система будет гармонична в плане надежности, быстродействия и удобства использования зависит от искусства ее создателя
11 мар 05, 21:29    [1380235]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
funikovyuri
И, почему это работа с хп приводит к "усложнению синтаксиса"?!

вот и я спрашиваю! Это вы с тигрой видно так считаете если утверждаете что view пользователь осилит, а ХП нет


Таки я не понял. Кто, кого и о чем спрашивает?! Да я считаю, что "пользователю" будет "сложнее" вызвать хп с параметрами, чем написать DELETE SomeView, при условии наличия прав на первое и на второе. Но, естественно, что под "пользователем" может выступать только человек, имеющий достаточную квалификацию в MS SQL.
14 мар 05, 10:35    [1382241]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
VAT
Member

Откуда: Нижний Новгород
Сообщений: 295
автор
относилась собственно к системе VAT, где у юзеров и без QA есть возможность сджоинить таблицы 10 раз.


Ну нет такой возможности в приложении. Список возможных джойнов в специальной таблице. А без приложения они не будут, названия таблиц и полей незнакомые.
14 мар 05, 11:12    [1382439]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
kto-to
Member

Откуда: Ukraine, Kyev
Сообщений: 835
tygra
автор
Я не хочу добавлять лишней головной боли админу,
который часто неплохой админ, но слабенький SQL админ.

А какого #$%& этот слабенький админ лезет в базу?????
Или больше некому? Ну тогда лучше вообще без всяких проверок - а то админ мало ли чего еще не знает, пусть уж пишет куда и что хочет. :))

потому что пришел big boss и сказал:
"едрить твою налево, какого %№;"%"%
работа 3-х отделов стоит уже 2 часа"
А я далеко и я один и возможно болен.

tygra

автор
как же он будет счастлив, если изменит данные в таблице
забыв воспользоваться процедурным интерфейсом...
а если не забудет, то как ему это удобно будет делать ...
а все горррит!... и был сбой ... и его е6...т ...
как он будут благодарен разработчику за такую систему!

Если админ не знает, как работает его система, то .... вешать таких админов надо еще до приема на работу.

1) он может работать с этой системой токмо начал
2) в минимальных требованиях как-то не хочется указывать:
"для нормальной работы системы *ВАМ* необходим супер-пупер SQL-админ"

tygra

Да и с какой стати просто админы начали вмешиваться в работу системы?
А изменить вручную всегда все можно - не зависимо от методов доступа с клиента. Мы то не померли - кудесники однако? :))

во-первых, не только админы, но и консультанты,
а также прочие "почетные" лица.
мы как правило занимаемся общесистемными штуками
и вещами которые доросли до этого статуса.
У каждого из клиентов всегда есть и будет некоторая своя специфика.
Я не хочу заниматься всякими мелочами ...
1 голова хорошо, N лучше. Тем более ,
что меня физически может на это не хватить .
14 мар 05, 14:35    [1383420]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
2 kto-to
Я так понял, что у вас вообще нет никаких ограничений в системе - на прав на какие-то опреации, ни ограничений, ничего!
Потому что править систему могут все, начиная от уборщицы и заканчивая Боссом.

Ну так чего же в этот топик с такими то системами? :)

-- Tygra's --
14 мар 05, 14:39    [1383450]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
kto-to
Member

Откуда: Ukraine, Kyev
Сообщений: 835
pkarklin
funikovyuri
И, почему это работа с хп приводит к "усложнению синтаксиса"?!

вот и я спрашиваю! Это вы с тигрой видно так считаете если утверждаете что view пользователь осилит, а ХП нет


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


Да, гораздо сложнее.
Задача: в ХП на основе 2-х таблиц изменить третью
действия для процедурного метода
1. вызываем процедуру для исходной таблицы 1 и сохраняем рекордсет в темповой таблице 1
2. вызываем процедуру для исходной таблицы 2 и сохраняем рекордсет в темповой таблице 2
3. формируем данные для пакетного обновления результирующей таблицы в третьей тепмовой таблице
4. вызываем процедуру пакетного обновления результирующей таблицы
передав на вход третью тепмовую таблицу

действия для view+trigger
update  r
set field1=...
from res_tbl r ,ishodn1_tbl i1, ishodn2_tbl i2
where ...
14 мар 05, 14:48    [1383488]     Ответить | Цитировать Сообщить модератору
 Re: ХП против View  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
kto-to

Да, гораздо сложнее.
Задача: в ХП на основе 2-х таблиц изменить третью
действия для процедурного метода
1. вызываем процедуру для исходной таблицы 1 и сохраняем рекордсет в темповой таблице 1
2. вызываем процедуру для исходной таблицы 2 и сохраняем рекордсет в темповой таблице 2
3. формируем данные для пакетного обновления результирующей таблицы в третьей тепмовой таблице
4. вызываем процедуру пакетного обновления результирующей таблицы
передав на вход третью тепмовую таблицу


Интересно, Вы специально это все выдумали, чтоб в заблуждение вводить тех посетителей, которые пытаются почерпнуть из этого топика полезную информацию?! Они и впрямь могут подумать, что работа с хп приводит к приведенному Вами геморою.

Во-первых, задача уж сильно абстрактна, чтоб судить о кол-ве хп и временных таблиц. А во-вторых, я бы сказал:

действия для процедурного метода
1. вызываем ОДНУ ЕДИНСТВЕННУЮ процедуру ДЛЯ ВСЕЙ ОПЕРАЦИИ.
14 мар 05, 14:54    [1383528]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить