|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Вот как разрабатывать ИТ систему? Допустим разработана БД. Созданы вью. Вариант 1. Разрешить ли пользователям напрямую модифицировать их? Если "да" тогда трудно поддерживать бизнес логику основанную на триггерах. Ны скажем, однажды запись добавлена в таблицу становится невозможным модифицироваать некоторые поля или бообще ничего. Тогда наворотим кучу триггеров, которые то и дело будут выдавать ексепшины, если не то че-то делаем. Вариант 2. Пользователи их могут читать, но вся модификация идет через хранимые процедуры. Все замечательно. Но. Как дата-грид будет работать? Перехватывать все дельта и обрабатывать все в ручную? Лениво. И еще, процедура выполняется с правами создателя. Как теперь разруливать права доступа на столбцы к таблицы для разных пользователей? Надеюсь понятно объяснил :(( ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2005, 01:01 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Relic Hunter пишет: > Вот как разрабатывать ИТ систему? Допустим разработана БД. Созданы вью. > > Вариант 1. .... > Вариант 2. Комплексно. Думать головой и выбирать для каждого конкретного случая наиболее подходящий метод. > Перехватывать все дельта и обрабатывать все в ручную? Лениво. Если лениво, то обращайся в форум "ERP и учетные системы" - там помогут выбрать готовую систему - ничего перехватывать и обрабатывать не надо будет. Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2005, 01:11 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Уже обсуждали эту тему. Всё делать на ХП - сумашествие, ИМХО. Потому, что их придётся сделать несколько тыщ и клиента запрограммировать некисло. И всё ради чего ? Безопасности ? Производительности ? Это не всегда стОит свеч. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 10:36 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
LSV Потому, что их придётся сделать несколько тыщ и клиента запрограммировать некисло. Ага, еще не "кислее" будут килобайты инструкций SQL, зашитые в клиента... Вот веселуха то будет при изменении структуры хранения или механизма обработки данных... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 11:56 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
LSV... и клиента запрограммировать некисло. И всё ради чего ? Безопасности ? Производительности ? Это не всегда стОит свеч. А по моему если все сделано на ХП, клиента легче делать. У нас используют 3-й вариант: когда и просмотр данных и редактирование идет только через ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 15:31 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
И у нас 3-й вариант. Самый простой. И самый универсальный. -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 15:40 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
2-й вариант. Вопрос "Как дата-грид будет работать?" - придумайте ответ сами !!! P.S. Можно просто Бизик admin@busyman.ru ICQ# 131833549 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 17:01 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
BusyMan2-й вариант. Вопрос "Как дата-грид будет работать?" - придумайте ответ сами !!! P.S. Можно просто Бизик admin@busyman.ru ICQ# 131833549 кто больше... :)) имхо, использовать 3-й вариант эффективно можно только после понимания его сути... а такое понимание характеризуется, в частности, отсутствием вопросов, подобных заданному в самом начале топика. :)) И, опять-таки мое личное ИМХО, такое понимание возможно только как следствие личного опыта - любые размышления об этом в форумах могут только сподвигнуть попробовать (что, в принципе, тоже неплохо) Насчет дата-грида... ну хоть что-то должен же делать "тонкий" клиент :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 17:29 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Всем спасибо. Иной раз убеждаюсь в уместости использования ХП. 1. Все вопросы с грантами на объекты решаются в дизайн-тайм (в момент компиляции). 2. Нет необходимости раздавать права на объектаы, кроме GRANT EXECUTE. 3. Нет необходимости проверять права на объекты при их (ХП) вызове, ускоряется исполнение. 4. Код хранится в компилированном виде, не тратится время на парсинг. 5. В отличии от кода бизнес логики находящегося в триггерах, код ХП разделяем и может повторно использоватюся из кэша. 6. Позволяет избежать ошибок триггеров, специфичных для некоторых БД (Oracle mutating error). Остается решить проблемы обозначенные в начале топика - дата-грид, права на столбцы таблиц. Так и не удалось послушать начальника транспортного цеха (c) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 18:31 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
tygraИ у нас 3-й вариант. Самый простой. И самый универсальный. -- Tygra's -- Ну это когда на MSSQL - то самый простой. В Оракле нужно возвращать т.н. REF CURSOR, который далеко не страдает быстродействием. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 19:05 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Relic HunterВсем спасибо. Остается решить проблемы обозначенные в начале топика - дата-грид, права на столбцы таблиц. Так и не удалось послушать начальника транспортного цеха (c) Мне нравится техника,основанная на ведении мета_данных, описывающих айтемы интерфейса, когда эти самые айтемы (связанные со столбцами таблиц) могут быть enabled,dissabled, видимы/не видимы. Такие метаданные легко группируются в терминах бизнес-функций и "легко" являются частью подсистемы секьюрити. А в теминах ТРИЗ-а :-) это означает что Система САМА все решает (при открытии интерфейса он САМ себя настраивает). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 22:46 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
При использовании процедур есть одна проблемка - в них нельзя использовать динамический SQL, так как раздачи прав на процедуру недостаточно, чтобы выполнялся exec(@SQL) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 13:02 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Old NickПри использовании процедур есть одна проблемка - в них нельзя использовать динамический SQL, так как раздачи прав на процедуру недостаточно, чтобы выполнялся exec(@SQL) Это не проблемка! Проблемка как раз у системы, которая позволяет использовать DSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 13:50 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
To Relic Hunter: По-моему (п.5),в триггерах все компилируется и они кэшируются, но каждый раз производится мягкий разбор sql-операторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 13:57 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Old NickПри использовании процедур есть одна проблемка - в них нельзя использовать динамический SQL, так как раздачи прав на процедуру недостаточно, чтобы выполнялся exec(@SQL) Ну это смотря какой РСУБД. Где то есть такая проблема, а где то ее нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 14:12 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Знаю только что в MSSQL такое есть. А в каких СУБД такого нет? Как с этим Оракл работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 14:42 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
В Oracle все нормально с Dynamic SQL, только для того, чтобы все корректно работало, надо чтобы соответствующие привелегии были явно предоставлены владельцу процедуры, а не через роль. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 14:55 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
ASCRUS Old NickПри использовании процедур есть одна проблемка - в них нельзя использовать динамический SQL, так как раздачи прав на процедуру недостаточно, чтобы выполнялся exec(@SQL) Ну это смотря какой РСУБД. Где то есть такая проблема, а где то ее нет. В Sybase на DSQL распространяются ownership chains?! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 15:06 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
ShtockВ Oracle все нормально с Dynamic SQL, только для того, чтобы все корректно работало, надо чтобы соответствующие привелегии были явно предоставлены владельцу процедуры, а не через роль. Аналогично сделано в ASA - что в коде, что через DSQL для процедур, функций и событий учитываются права владельцев этих обьектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 15:09 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
авторВ Sybase на DSQL распространяются ownership chains?! На всякий случай - не в Sybase, а в ASA. Sybase (ASE) скорее всего работает идентично MSSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 15:10 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
ShtockTo Relic Hunter: По-моему (п.5),в триггерах все компилируется и они кэшируются, но каждый раз производится мягкий разбор sql-операторов. Согласен. Имелся ввиду "excessive parsing", по сравнению с ХП :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 18:19 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
ASCRUS авторВ Sybase на DSQL распространяются ownership chains?! На всякий случай - не в Sybase, а в ASA. Sybase (ASE) скорее всего работает идентично MSSQL. Точнее наоборот: MSSQL работает как SYBASE ASE :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 19:50 |
|
Прямой доступ или ХП? Что поскажем из опыта?
|
|||
---|---|---|---|
#18+
Zhora ASCRUS авторВ Sybase на DSQL распространяются ownership chains?! На всякий случай - не в Sybase, а в ASA. Sybase (ASE) скорее всего работает идентично MSSQL. Точнее наоборот: MSSQL работает как SYBASE ASE :-) Хотя пожалуй сейчас уже яйца курицу учат: ни тебе UDF, ни snapshot isolation, да и execute immediate не так давно в ASE появился :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 19:57 |
|
|
start [/forum/topic.php?fid=33&fpage=63&tid=1549542]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 187ms |
0 / 0 |