|
|
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Igor Korolyovвариант предлагаемый системой Source Safe - мне НЕ УДОБЕН - поскольку там только ОДИН человек может в один момент времени править один модуль - и пока он его не "освободит" - все остальные ждут :( При этом никак не принимается во внимание, что в модуле может быть 50 методов, и при этом разные люди будут править разные часть модуля. Поправочка: все зависит от настроек. Можно запретить одновременное изменение одного модуля разными людьми, можно и разрешить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 09:29 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Igor KorolyovНасчёт "инструкции" - ты видел хоть одного пользователя который прочёл инструкцию? Или ты считаешь что перед большим начальником пройдёт отмазка типа "в инструкции это было описано"? 1.Сдача проекта только после инструктажа пользователей 2.Или вы делаете все для большого начальника? Чтобы показать все возможности и тонкости приложения, понадобиться минимум неделя консультаций (обучения). Чтоб такого не было - инструкция просто необходима! 3.Мало того по участкам (если это какая-то сложная задача, раскиданная по АРМам) Igor KorolyovИли ты считаешь что перед большим начальником пройдёт отмазка типа "в инструкции это было описано"? Я видел такую практику, и считаю ее неплохой - Инструкция выдается каждому сотруднику, на титульном листе присутствует: "Ознакомлен Подпись Пупкин". И я не только считаю, А ПРОВЕРЕНО НА ПРАКТИКЕ - КОГДА ТЫКАЕШЬ ПАЛЬЦЕМ В ИНСТРУКЦИЮ ПОЛЬЗОВАТЕЛЯ В ТО МЕСТО ГДЕ ЭТО ВСЕ ОПИСАНО - "КРАСНЕТЬ" ТЕБЕ УЖЕ НЕ ПРИДЕТСЯ. Или, если какой-то специалист заказчика во время внедрения в отпуске, то при выходе он уже выпал из пачки? Прочитает и все поймет! Если там какой-то захудалый пользователь - это их проблемы. И ни один БААльшой начальник меня не упрекнет в недоработках. Приложение пишется по ТЗ (или на худой конец в Предмете Договора), которое составляется за подписью Бальшого Начальника. Igor KorolyovАга - тогда тебе надо срочно читать про consistent reads - ибо для ЧТЕНИЯ тоже иногда нужны блокировки. Конечно в Oracle с этим получше - т.к. он версионник АГА, АГА - я и работаю с Oracle, с MSSQL только экпериментирую. Кстати, понятие "версионник" - к Ораклу отношения не имеет. Это чисто MSSQL READ COMMITTED Specifies that statements cannot read data that has been modified but not committed by other transactions. This prevents dirty reads. Data can be changed by other transactions between individual statements within the current transaction, resulting in nonrepeatable reads or phantom data. This option is the SQL Server default. The behavior of READ COMMITTED depends on the setting of the READ_COMMITTED_SNAPSHOT database option: If READ_COMMITTED_SNAPSHOT is set to OFF (the default), the Database Engine uses shared locks to prevent other transactions from modifying rows while the current transaction is running a read operation. The shared locks also block the statement from reading rows modified by other transactions until the other transaction is completed. The shared locks are released when the statement completes. If READ_COMMITTED_SNAPSHOT is set to ON, the Database Engine uses row versioning to present each statement with a transactionally consistent snapshot of the data as it existed at the start of the statement. Locks are not used to protect the data from updates by other transactions. When the READ_COMMITTED_SNAPSHOT database option is ON, you can use the READCOMMITTEDLOCK table hint to request shared locking instead of row versioning for individual statements in transactions running at the READ_COMMITTED isolation level. Note: When you set the READ_COMMITTED_SNAPSHOT option, only the connection executing the ALTER DATABASE command is allowed in the database. There must be no other open connection in the database until ALTER DATABASE is complete. The database does not have to be in single-user mode. И клавиатура- Клава... и монитор-Моня... и процессор - Проша... да и ВВП-Вова... :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 09:44 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Alex_UstinovАГА, АГА - я и работаю с Oracle, с MSSQL только экпериментирую. Кстати, понятие "версионник" - к Ораклу отношения не имеет. Это чисто MSSQL READ_COMMITTED_SNAPSHOT (а также SET TRANSACTION ISOLATION LEVEL SNAPSHOT) появилась ТОЛЬКО в MS SQL 2005. А по умолчанию (и в предыдущих версиях) работает ТОЛЬКО блокировочный принцип изоляции транзакции. Та, что почаще экспериментируйте с MS SQL (и не только с версией 2005). С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 10:32 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Hi Alex_Ustinov! > Я видел такую практику, и считаю ее неплохой - > Инструкция выдается каждому сотруднику, Сотрудник имеет тенденцию менять место работы - даже не обязательно в другую контору - просто на другую должность, или в другой отдел - и чем тут поможет подпись Васи Пупкина, если проблема возникла не у него, а у того кто пришёл на его место? > Или, если какой-то специалист заказчика во время внедрения в отпуске, > то при выходе он уже выпал из пачки? Прочитает и все поймет! Ну у нас программа не внедряется никогда за месяц - так что только пользователь в декретном отпуске имеет шанс "пропустить" цикл внедрения :) > Если там какой-то захудалый пользователь - это их проблемы. Увы - опыт показывает что это не так. > Приложение пишется по ТЗ (или на худой конец в Предмете Договора), > которое составляется за подписью Бальшого Начальника. ТЗ это на 99% фикция - т.е. там конечно написано что должна делать программа - но в настолько "общих чертах" - что говорить об этом серьёзно не приходится - да и зачастую к моменту завершения программы она "переквалифицируется" в совсем другую сущность, нежели задумывалось в момент подготовки этого самого ТЗ... Нет, ну конечно мы делаем полный пакет документации - и chm/hlp, и печатное (Word - слава богу не обязывают сейчас на бумажном носителе предоставлять - сам заказчик печатает по мере необходимости) руководство пользователя, и руководство программиста (по меньшей мере про настройку, установку/переустановку, починки и т.п. там написано), и структуры информационной базы (по простому - структуры таблиц)... Но это не решает проблем - ибо уже который год я наблюдаю постоянное "общение" пользователей с разработчиками или сопровожденцами - конечно не всегда по тем самым вопросам, которые подробно описаны в руководстве - но достаточно часто. Часто беспокоят из за своего-же дуболомства - навводят чёрт-те чего, потом ничего не сходится - и как результат "программа у вас плохая" - на зеркало пеняют :( > АГА, АГА - я и работаю с Oracle, с MSSQL только экпериментирую. > Кстати, понятие "версионник" - к Ораклу отношения не имеет. Это чисто > MSSQL Ты не прав - исторически именно Oracle является версионником - а в MS SQL это только совсем недавно появилось - до того он только блокировками и решал проблему - что конкретно снижало масштабируемость решений на его базе - ну оно понятно - один товарищ запустил отчётец на пол-часика - и все остальные нервно ждут :( В последних версиях Oracle и MS SQL довольно сильно сходятся - т.е. поперенимали они друг у друга многое... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 00:35 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Hi Sergey! Ты имеешь в виду что в Subversion имеются Lock-и? Ну да, имеются и можно как и в MS VSS заблокировать файлик - но это не есть основной и рекомендуемый режим работы... AFAIK в Team Foundation Server MS тоже перешло - от подхода "блокировки" к подходу "многоверсионности". Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 00:35 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Igor KorolyovВ последних версиях Oracle и MS SQL довольно сильно сходятся - т.е. поперенимали они друг у друга многое... Но вот MSSQL у Oracle гораздо больше. И "исторически" для меня сложилось - видел хорошие приложения только под Oracle. Но не хочу сталкивать лбами Oracle-MSSQL. Эта тема другого форума. Igor KorolyovТЗ это на 99% фикция - т.е. там конечно написано что должна делать программа - но в настолько "общих чертах" - что говорить об этом серьёзно не приходится - да и зачастую к моменту завершения программы она "переквалифицируется" в совсем другую сущность, нежели задумывалось в момент подготовки этого самого ТЗ... Чем хуже ТЗ - тем хуже сдача проекта. Если в ТЗ не описано конкретно, что должно делать приложение, заказчик будет каждый день придумывать что-то новое: "вот здесь не так, здесь доделайте, здесь шрифт не тот, переделайте, здесь не автоматизирован вот эта задача..." не дай бог в это время меняется законодательство (надо сразу заключать доп.договор - а у вас фиктивное ТЗ на руку заказчику, прикрыться нечем). И договор ЗАТЯГИВАЕТСЯ. Это на руку только заказчику. Юридические отношения не должны переходить в товарищеские. "Товарищи" уходят и приходят. Igor KorolyovНо это не решает проблем - ибо уже который год я наблюдаю постоянное "общение" пользователей с разработчиками или сопровожденцами - конечно не всегда по тем самым вопросам, которые подробно описаны в руководстве - но достаточно часто. Часто беспокоят из за своего-же дуболомства - навводят чёрт-те чего, потом ничего не сходится - и как результат "программа у вас плохая" - на зеркало пеняют И я тоже хожу 4-ый год, обслуживаю, дабы не потерять марку. Тоже, бывает, навводят чёрт-те чего, потом ничего не сходится . Так во избежание таких ситуаций и нужна Инструкция к действию, как можно больше ограничений на этапе ввода информации. Если надо вводить "Мэ/Жо", то пусть других вариантов и не будет. :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 09:00 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Igor KorolevТы имеешь в виду что в Subversion имеются Lock-и? Ну да, имеются и можно как и в MS VSS заблокировать файлик - но это не есть основной и рекомендуемый режим работы... Нет, я имею ввиду MS VSS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 09:15 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Alex_UstinovЧем хуже ТЗ - тем хуже сдача проекта. Если в ТЗ не описано конкретно, что должно делать приложение, заказчик будет каждый день придумывать что-то новое: "вот здесь не так, здесь доделайте, здесь шрифт не тот, переделайте, здесь не автоматизирован вот эта задача..." не дай бог в это время меняется законодательство (надо сразу заключать доп.договор - а у вас фиктивное ТЗ на руку заказчику, прикрыться нечем). И договор ЗАТЯГИВАЕТСЯ. Это на руку только заказчику. Юридические отношения не должны переходить в товарищеские. "Товарищи" уходят и приходят. Согласен полностью. Хотя на фирме, где я работаю, мы ТЗ не делаем. Причина проста - описать ВСЁ приложение работа достаточно трудоёмкая. Если уровень детализации довести до "шрифтов", то создание ТЗ начнёт приближаться к созданию самой программы. Да и как показывает (моя) практика, даже в этом случае всегда могут появиться разногласия в толковании той или иной спецификации. Думаю, что стоимость создания ТЗ с достаточным уровнем детализации, превышает возможные (и разумные) модификации, которые потребует клиент на этапе внедрения. В случае если требования модификаций - лишь прикрытие для того, чтобы нагреть разработчика, то никакое ТЗ от этого не спасёт. Мы как правило продаём "типовое приложение" со списком модификаций для данного клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 13:46 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov Тоже, бывает, навводят чёрт-те чего, потом ничего не сходится . я так понял, что правила и контроль ввода на уровне БД просто позабыт... ну, или как всегда - эта часть вопроса не была упомянута в ТЗ? не знаю как для кого, но для меня навводят чёрт-те чего, потом ничего не сходится звучит как 1 Счет банковский состоим из МАКСИМУМ N цифр 2 юзер в Вашей программе может ввести а) N+20 цифр плп даже Б) вот такое "125АКБ45УЖАСС" А потом Вы скажете: Alex_Ustinovнавводят чёрт-те чего, потом ничего не сходится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 14:28 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
aki я так понял, что правила и контроль ввода на уровне БД просто позабыт... ну, или как всегда - эта часть вопроса не была упомянута в ТЗ? Напишите ограничение 1) на дату рождения , какая из ни правильная - 1965 или 1956 2) на сумму в проводке - + 100р или -100р 3) на акте инвентаризации - 5 шт или 6 шт 4) на клиента в документе - с ID = 1 или ID = 2 Ну и так далее, не все можно формализовать с помощью бизнес правил, отсюда и слова по "навводят" и далее по тексту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 15:10 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
При всем моем УВАЖЕНИИ к Вам PaulWist Напишите ограничение 1) на дату рождения , какая из ни правильная - 1965 или 1956 2) на сумму в проводке - + 100р или -100р это бред... PaulWist 3) на акте инвентаризации - 5 шт или 6 шт это.. ну не знаю сколько должно быть актов.. бухгалтер знает? PaulWist 4) на клиента в документе - с ID = 1 или ID = 2 это непонятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 15:19 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
AkiПри всем моем УВАЖЕНИИ к Вам PaulWist Напишите ограничение 1) на дату рождения , какая из ни правильная - 1965 или 1956 2) на сумму в проводке - + 100р или -100р это бред... На самом деле нет. Человек приходит и говорит, а почему мне пенсию не начислили? Клиент спрашивает, а почему я вам должен 100р Aki PaulWist 3) на акте инвентаризации - 5 шт или 6 шт это.. ну не знаю сколько должно быть актов.. бухгалтер знает? Не про кол-во актов, а про кол-во в актах, посчитали на складе , нашли 6 шт какого-то продукта, а в акт поставили 5 шт. Начали продавать, продали 5 шт, те книжный остаток = 0, но в наличии есть ещё одна штука, так вот вопрос дать выписать накладную клиенту на эту одну штуку или не дать? Aki PaulWist 4) на клиента в документе - с ID = 1 или ID = 2 это непонятно Вы выписываете документ на отпуск товара, какому клиенту? Как это проверить на уровне БД, да ни как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 15:33 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
так как все может скатиться к банальному спору давайте закончим... PaulWist Клиент спрашивает, а почему я вам должен 100р долг клиента равен сумме которую он оплатих согдасно минус сумма на которую он закупил товару и долг в таком случае не будет никем вводиться из операторов PaulWist Вы выписываете документ на отпуск товара, какому клиенту? Как это проверить на уровне БД, да ни как. если оператор продал товар Пал Палычу, а должен был продать Ивану Палычу, то конечно виноват программист.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 15:48 |
|
||
|
Одновременное редактирование строки на SQL
|
|||
|---|---|---|---|
|
#18+
Ни кто не спорит, просто есть вещи изначально формализованные и те которые нет, которые нельзя на уровне данных или интерфейса отловить. Вопросы к программисту возникают из-за отсутствия административного управления, привыкли юзеры, что сами ошибок наделают, а кто-то за них найдет и ткнёт носом. Хотя это решается очень просто - снимут 500 или 1000р в зарплату, в следующий раз пользователь 5 раз проверит, прежде чем внести цифру в БД. PS маленький коментарий Aki долг клиента равен сумме которую он оплатих согдасно минус сумма на которую он закупил товару и долг в таком случае не будет никем вводиться из операторов Теоретически да, вроде как задача формализована, но практически не всегда, клиент может платить "потом", долгом для клиента считается сумма превышающая сумму отсрочки платежа, долг может быть всегда (типичный пример расход газа, воды, тепла без счетчиков) PS Ну хорошо, давайте закончим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33782129&tid=1591437]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
213ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 581ms |

| 0 / 0 |
