Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
andrushokПравда, HTML простой, как сибирский валенок.Видимо усложнение хтмл-я не является целью нашего вебмастера. :) Лично я с этим согласен. andrushokНи те фреймов, ни DHTML, ни JavaScript, ни какой жабы конечно (может иде есть, везде не лазил).По-моему из этого используется только немного джаваскрипта. andrushokВот тольки вопросик, а чой то за скриты таки хитрые либо без расширенияВроде бы в конфиге апача несложно определить обработчик для расширения или директории. Мы используем мод_перл. andrushokКстати, а Вы согластны, что есть некоторые приложения, иде время connection особой роли не играет?Конечно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 23:34 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Леха Ватный Видимо усложнение хтмл-я не является целью нашего вебмастера. :) Лично я с этим согласен. Я тоже, не люблю наворотов. Можете радоваться, что вам (Вам и вашему веб мастеру) позволена така роскошь Леха Ватный По-моему из этого используется только немного джаваскрипта. Ну без него воще тяжело. Рас мало, вот и не нашел. Правильной дорогой идете, товарищи... Леха Ватный Вроде бы в конфиге апача несложно определить обработчик для расширения или директории. Мы используем мод_перл. И совсем не "вроде бы". Есть там некий AddHandler который это все отпахивает. Я се про расщирения. Ну и с директориями там усе тип-топ. Вот тольки зачем html у перлового скрипта иметь - непонятно. Наверно, чоб враги не догадались! Я ничого супротив не имею... Хоть xxx ставте, любителей порнухи дразнить что бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 00:47 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatНе будем уподобляться Беклемишеву. :) Билят, везде физтехи? Сорь за оффтоп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 03:21 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
andrushokВот тольки зачем html у перлового скрипта иметь - непонятно.Вроде бы мы так и не делаем. Это - хтмл с мод-перловыми вставками, это - скрипт. Лох ПозорныйБилят, везде физтехи?Только с разной плотностью. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 13:34 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Да, Леха, еще один мумент. Ваше творение никак не предполагает активного участия юзерей. Может, я что-то и не раскопал, копал не глубоко - сознаюсь. Но совсем не похоже, что есть воще кака-нить транзакция, кады я например, зашел туды. Так, сплошной SELECT. Для меня, как для конечного пользователя - сия база ReadOnly - я там ничего не меняю. Ну а кады кажный юзверь, сволочь така, норовит чо-нить в базе напортить, INSERT с UPDATE всяки шлет - подход может быть совсем другой, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 19:47 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
авторПишете в отдельную ли таблицу, либо поле таблицы с билетами количество забронированных на оформление билетов. И все. Чтобы узнать, сколько билетов осталось, нетрудно понять, что нужно из Доступного количества отнять Забронированное количество. После того, как билет оформлен, соответственно уменьшаем цифру в Доступном и забронированном количестве. И тоже все. Вообще никаких грязных чтений, блокировок и ничего страшного. А если задачу усложнить. Допустим решается задача складского учета. Списывается товар со склада. Причем при списании нужно узнать учетную (себестоимость) цену товара расчитываемую по методу ФИФО, ЛИФО или средних. При этом возможны правки "задним" числом. Опять же используется дополнительная таблица хранящая остатки в учетных ценах для каждой строчки документа. Ну например для Накладной №5 строчка 3 списывается 5 банок огурцов, из них 3 приходили по 10руб, а 2 по 5 руб. В MSSQL тут без блокировок ни как, так как при правке задним число все может поменяться то есть допустим стать 5 банок по 4 рубля. А как в Oracle? Я так понимаю требуется совершенно другая архитектура. Вопрос задан сугубо из познавательных целей, в Oracle я полный профан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 14:01 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Crip авторПишете в отдельную ли таблицу, либо поле таблицы с билетами количество забронированных на оформление билетов. И все. Чтобы узнать, сколько билетов осталось, нетрудно понять, что нужно из Доступного количества отнять Забронированное количество. После того, как билет оформлен, соответственно уменьшаем цифру в Доступном и забронированном количестве. И тоже все. Вообще никаких грязных чтений, блокировок и ничего страшного. А если задачу усложнить. Допустим решается задача складского учета. Списывается товар со склада. Причем при списании нужно узнать учетную (себестоимость) цену товара расчитываемую по методу ФИФО, ЛИФО или средних. При этом возможны правки "задним" числом. Опять же используется дополнительная таблица хранящая остатки в учетных ценах для каждой строчки документа. Ну например для Накладной №5 строчка 3 списывается 5 банок огурцов, из них 3 приходили по 10руб, а 2 по 5 руб. В MSSQL тут без блокировок ни как, так как при правке задним число все может поменяться то есть допустим стать 5 банок по 4 рубля. А как в Oracle? Я так понимаю требуется совершенно другая архитектура. Вопрос задан сугубо из познавательных целей, в Oracle я полный профан. Какая разница, какая у СУБД архитектура?.. Скорее всего Вам придется озаботиться каскадным пересчетом себестоимостей в документах. Остатки в учетных ценах - это не предмет для продажи, т.к. учетные цены в Вашей модели могут в любой момент измениться. А вот количественные остатки по партиям товара - это да. Кстати, Вы их автоматически рассчитывать будете или дадите возможность выбрать партии товара вручную? Цены на них надо иметь разные, но "ценообразование в онлайне" имхо вещь довольно-таки ненужная. По моему мнению, архитектура такой системы сильно зависит от бизнес-процесса. Если же Вы собираетесь делать тиражируемое решение, то объем работ будет очень большой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 14:09 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
авторПо моему мнению, архитектура такой системы сильно зависит от бизнес-процесса. Если же Вы собираетесь делать тиражируемое решение, то объем работ будет очень большой Ну это я и сам знаю. В данном случае шла речь только о автоматическом формировании партий, а зачем это бизнесу вопрос не стоял. Просто хотелось услышать как решается вопрос поддержания целостности данных при такой постановке задачи в Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 14:24 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Crip авторПо моему мнению, архитектура такой системы сильно зависит от бизнес-процесса. Если же Вы собираетесь делать тиражируемое решение, то объем работ будет очень большой Ну это я и сам знаю. В данном случае шла речь только о автоматическом формировании партий, а зачем это бизнесу вопрос не стоял. Просто хотелось услышать как решается вопрос поддержания целостности данных при такой постановке задачи в Oracle. У меня возникло такое впечатление, что Вы решили цену банки сделать составной частью первичного ключа партии товара. Если я не прав, то о какой целостности идет речь??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 14:27 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
>А как в Oracle? Я так понимаю требуется совершенно другая архитектура. получить блокируещее чтение в оракле можно через select ... for update ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 14:30 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
авторУ меня возникло такое впечатление, что Вы решили цену банки сделать составной частью первичного ключа партии товара Хм... Это был всего лишь пример. Первичным ключом партии, если это можно так назвать, в данном случае является ID строки документа прихода... Хотя это тоже упрощенный подход. авторполучить блокируещее чтение в оракле можно через select ... for update То бишь блокировки в Oracle все же есть и при случае их можно применить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 15:07 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
andrushokДа, Леха, еще один мумент. Ваше творение никак не предполагает активного участия юзерей. Может, я что-то и не раскопал, копал не глубоко - сознаюсь. Но совсем не похоже, что есть воще кака-нить транзакция, кады я например, зашел туды. Так, сплошной SELECT. Для меня, как для конечного пользователя - сия база ReadOnly - я там ничего не меняю.Да, у нас транзакций мало-мало. Подавляющая часть запросов - select. andrushokНу а кады кажный юзверь, сволочь така, норовит чо-нить в базе напортить, INSERT с UPDATE всяки шлет - подход может быть совсем другой,Думаю, да. Но может быть и для этой задачи попробовать, как вам советовали, commit или application server. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 15:10 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
>То бишь блокировки в Oracle все же есть и при случае их можно применить? да. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 15:25 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Понятненько. Хотя я думаю, что для моего примера не подойдет. В MSSQL в случае блокировки остальные сессии просто ожидают ее снятия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 15:43 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
ну тогда не у казывайте nowait и будет он ждать вечно ... но подождать минуту wait 60 имхо правильней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 15:51 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Блин, циску меняли, выпал :)) авторВ MSSQL тут без блокировок ни как, так как при правке задним число все может поменяться то есть допустим стать 5 банок по 4 рубля. А смысл в блокировке? Чтобы никто не смог прочитать накладную, пока вы ее меняете задним числом? Ну так... Это вообще зависит от архитектуры. И от конкретной ситуации. Если к накладным обращаются ежесекундно, а внесли сейчас неправильно, а нужно чтобы сейчас уже было правильно , тогда наверное стоит ставить блокировку. А если накладная была введена месяц назад например, то какой смысл в блокировке - от кого? Все, кто мог, уже накладную "поиспользовали", и ничего не изменится от того, поправите вы в 16.45 или 16.55 с блокировкой или без - прошло уже очень много времени, чтобы думать о таких мелких вещах, как блокировка :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 16:44 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
2tygra Так изменение одной накладной подразумевает каскадное изменение таблицы остатков, при этом другие пользователи также эту таблицу обновляют... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 17:47 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
ЗЫ: Вообще задача конечно бессмысленная и на практике трудновыполнимая, потому как конкуренция возрастает не по детски. Но что поделать если бизнес так потребовал, а прошибить их медные лбы не получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 17:48 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Crip2tygra Так изменение одной накладной подразумевает каскадное изменение таблицы остатков, при этом другие пользователи также эту таблицу обновляют... Сколько документов изменять будете, столько раз и текущие остатки пересчитаете. Не вижу никаких логических проблем. Естественно, обновлять надо с блокировкой записей об остатках - ну так select for update вам должно помогать, нет? Вообще можно это на последовательных транзакциях сделать, если делать все быстро то никто и не заметит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 18:01 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
2Dogen Все так если закрывать период достаточно часто, а вот если какой-нибудь сумасшедший юзер захочет поменять что-то в начале квартала, то все остальные будут считать ворон... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 18:14 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
Это ничего если я вмешаюсь? Обычно я вот так вот (буду в синтаксисе оракла писать) : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. не делаю, делаю проще: Код: plaintext 1. 2. Аналогичная ситуация в DB2. (в DB2 и в Oracle транзакции начинаются неявно, но завершаются всегда явно, - типа промышленные субд все-таки). А вот в MSSQL, Sybase, если явно не сказал BEGIN TRAN, то и COMMIT делать не обязательно, потому как всякая операция там - атомарна. Поэтому можно просто бахнуть: Код: plaintext 1. Несколько хуже обстоят дела у Оракла с курсорами. Я так полагаю держать долго открытый курсор там не рекомендуется. Вообще-то я еще не пробил этот вопрос. Если кто знает, то может скажет, нарвусь ли я на ORA-01555 в том случае если в одной сессии просто открою курсор выберу 1 запись (коммит не делаю), а затем открываю другую сессию, делаю кучу изменений, а затем начну фетчить открытым курсором в первой сессии? На вскидку скажу что для блокировочника обсолютно пофиг как долго будет держаться курсор открытым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 18:30 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
gardenmanЭто ничего если я вмешаюсь? Обычно я вот так вот (буду в синтаксисе оракла писать) : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. не делаю, делаю проще: Код: plaintext 1. 2. Аналогичная ситуация в DB2. (в DB2 и в Oracle транзакции начинаются неявно, но завершаются всегда явно, - типа промышленные субд все-таки). А вот в MSSQL, Sybase, если явно не сказал BEGIN TRAN, то и COMMIT делать не обязательно, потому как всякая операция там - атомарна. Поэтому можно просто бахнуть: Код: plaintext 1. Я охреневаю и умолкаю Живите в своем мире DIRTY READ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 18:36 |
|
||
|
Задача для версионника
|
|||
|---|---|---|---|
|
#18+
2 Леха Commit конечно транзакцию закрывает, это правда. А вот сессию (connection) зачем тады держать, если программа просто считать начинает. Лучше отпустить, пусть другие попользуются. Одно дело, кады все _расчеты_ в БД делаются, совсем другое - когда на стороне... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 22:31 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32895013&tid=1546074]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
14ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 439ms |

| 0 / 0 |
