Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

подсчёт кол-во в складской программе   Найти похожие ветки 

 
ANB ©   (2005-05-03 09:48) [80]


> странинном компе(вроде бы даже не на двойке),
на 286 ???????


 
@k@DElpher   (2005-05-03 12:59) [81]

примерно:) Но Windows встанет...:)


 
ANB ©   (2005-05-03 13:34) [82]

На 286 Win32 не встанет. Он 16 разрядный. Минимум 386, но надо напихать 8 Мб RAM и будет жутко тормозить. Для такихь компов надо под DOS писать. Delphi умрет (и подойдет только 1.0)


 
Fay ©   (2005-05-03 13:55) [83]

ANB ©   (03.05.05 9:43) [79]
Я полагал, что Вы разбираетесь в том, что сравниваете.
(1) - выборка и изменение значения одновременно;
(2) - это конкатенация значений поля из всех записей.
>> в Oracle так :
Не так. Это только для одной строки. Да и ценность v := "" не совсем очевидна.

С rownum в Oracle действительно легче работать - в MSSQL его просто нет, как нет top в Oracle. Rowid подойдёт только при serializable.
Курсоры for ... in (...) loop удобнее, спору нет.
Но работать с сервером, у которого такая дебильная диагностика ошибок - спасибо, только если Родина скажет "надо".


 
ANB ©   (2005-05-03 15:56) [84]


> Но работать с сервером, у которого такая дебильная диагностика
> ошибок - спасибо, только если Родина скажет "надо".
- это про MS SQL ? Вот уж где дебильная диагностика . . .
Обработки исключений фактически нет, понятия валидности нет.
Пакетов нет.
А зачем Oracle top, если есть rownum ? К тому же rownum умеет больше.
MS SQL круче следующими вещами :
- векторные запросы (into в несколько полей, в Oracle так тоже можно, но гарантированно нарвешься на ошибку выполнения)
- from в update и delete
- операции с набором значений как у тебя в 2 (даже не знал :((()
иногда это удобно, а то в Oracle для подобных вещей надо хранимку заводить, хотя можно обойтись и безымяным блоком.
- отсутствие mutating в триггерах, но ради этого в триггера приезжают не строки, а наборы данных и частенько это криво обрабатывают, даже в примерах из книжек.
Большой глобальный минус - без компа с NT Server ты его не поднимешь. От чего я с него окончательно и слез.


 
Fay ©   (2005-05-03 16:19) [85]

2 ANB ©   (03.05.05 15:56) [84]
> без компа с NT Server
Это не совсем правда 8)
> триггера приезжают не строки, а наборы данных
В ora тоже (тоже так можно)

О диагностике - я имел ввиду ситуцию, когда при компилляции (или выполнении) выдаётся сообщение об ошибке, совершенно не соотв. действительности.

Про исключения - это да. Есть такая беда.

>> Пакетов нет
Дождёмся MSSQL 2005.

В MSSQL хинты намного удобнее, и можешь быть уверен - сервер сделает именно то, что ты напишешь.

Ладно. Кончаем холивор. Я работаю и с MSSQL 2000, и с Oracle 9.2, и под каждым не хватает чего-либо.


 
@k@DElpher   (2005-05-03 18:38) [86]

Ну значит 386... Во всяком случае на нём с небольшими тормозами 1С(торговля+склад) И АвтоКаталог, который на FB пашет...
Если и будет что-то слетать, то другой купят:)


 
ANB ©   (2005-05-04 09:31) [87]


> В ora тоже (тоже так можно)
- нельзя. В оракл только строки приезжают. New и Old.
Гы, у меня такой же набор.
и под каждым не хватает чего-либо - на этом и закруглим. Полностью присоединяюсь. В принципе спор то был о выборе настольной СУБД. Я почему оракл рекомендовал - возможности крутые и станет на любой комп. А MS SQL сервер потребует (вот козлы, неплохая настольная база была, и админить ее просто).

> @k@DElpher   (03.05.05 18:38) [86]
- если 1С стоит, то и оракл встанет, если места хватит и найдешь


 
ANB ©   (2005-05-04 09:32) [88]


> @k@DElpher   (03.05.05 18:38) [86]
- тебе примерный набор таблиц посоветовать ?


 
Sergey13 ©   (2005-05-04 09:40) [89]

2[87] ANB ©   (04.05.05 09:31)
>  Я почему оракл рекомендовал - возможности крутые и станет на любой комп.
Все таки странное преимущество. Мало ли что встанет на комп. Все таки Оракл не самая простая СУБД, при всей моей любви к нему. Я осваивал его самостоятельно - жуткая вещь. Особенно сразу после "настольных" БД типа Парадокс.
ИМХО, для автора FB - самое оно.


 
ANB ©   (2005-05-04 10:01) [90]


> жуткая вещь
- не такая уж и жуткая. Я пред началом работы изучал его неделю. И потом сразу в бой. Я к тому, что если он сразу на нем писать начнет, то потом сможет круто на работу устроится. А FB такого преимущества не даст. Книг я по нему в магазинах не видел. С MS SQL зарплата по любому меньше (сам проверял).


 
Sergey13 ©   (2005-05-04 10:07) [91]

2 [90] ANB ©   (04.05.05 10:01)
> Я к тому, что если он сразу на нем писать начнет, то потом сможет круто на работу устроится.
Или бросит все это к чертовой матери. 8-)

ЗЫ: А если еще и лицензиями озаботиться........


 
Polevi ©   (2005-05-04 10:18) [92]

а оракл что бесплатный ?


 
Danilka ©   (2005-05-04 10:21) [93]

[92] Polevi ©   (04.05.05 10:18)
Для разработчика, таки, бесплатный. Для пользователей - нет. Впрочем, есть и персонал версии.


 
Sergey13 ©   (2005-05-04 10:25) [94]

2[93] Danilka ©   (04.05.05 10:21)
> Впрочем, есть и персонал версии.
Которые тоже денег стОят, между прочим. 8-)


 
ANB ©   (2005-05-04 10:37) [95]


> Которые тоже денег стОят, между прочим. 8-)
- ты сам когда себе последний раз лицензионный софт покупал ? Кто у него в магазине будет это проверять ? Проблема с закачкой, т.к. весит инсталляшка 9.2 не меньше гектара и по почте высылать - для меня нагло, да и получать он будет долго.


 
Sergey13 ©   (2005-05-04 10:43) [96]

2[95] ANB ©   (04.05.05 10:37)
>- ты сам когда себе последний раз лицензионный софт покупал ?
Я сам не покупаю - у меня лично и компа то нет. 8-) А на работе, ты не поверишь, все лицензионное.
Нравится тебе Оракл в ларьки ставить - ставь. Мне по барабану. Свои сомнения в целесообразности этого я уже высказал.


 
Danilka ©   (2005-05-04 10:44) [97]

[94] Sergey13 ©   (04.05.05 10:25)
Хм, значит я отстал от жизни. Вроде видел какую-то сильно урезаную бесплатную версию.

[95] ANB ©   (04.05.05 10:37)
Ну-ну. Тут у нашей конторы одни заказчики есть, еле-еле их уговорили, один из сильнейших доводов против - ПО под Орокол, а заказчики для других целей купили МС-Скуль, теперь еще и Орокол покупать, это значит удваивать стоимость покупки нашего ПО (по их словам).


 
Sergey13 ©   (2005-05-04 10:49) [98]

2 [97] Danilka ©   (04.05.05 10:44)
>Хм, значит я отстал от жизни. Вроде видел какую-то сильно урезаную бесплатную версию.

Так для разработки и изучения бесплатно все вроде. Хоть ентерпрайз ставь. Как только БД начинает эксплуатироваться - плати. По прайсу который есть у меня (старенький правда, 1.5 года) Персонал - 400$ Лайт - 100$.


 
Danilka ©   (2005-05-04 10:57) [99]

[98] Sergey13 ©   (04.05.05 10:49)
Понятно. Ну, значит я ошибся. Может, про Лайт думал, что бесплатный - сам этим интересовался давно, может год назад. Только, кажись, этот Лайт настолько урезан, что бесплатные альтернативы ему фору 100 очков дадут. Пора-бы и Ороклу что-нибудь бесплатненькое выкинуть, в свете таких альтернатив. :)

ps. если весь оффтопик из ветки вырезать, останется от нее хотя-бы треть? :))


 
Danilka ©   (2005-05-04 12:55) [100]

[84] ANB ©   (03.05.05 15:56)
> Большой глобальный минус - без компа с NT Server ты его
> не поднимешь. От чего я с него окончательно и слез.

Просто интересно, а разве Орокол встанет на Вин98?

А так, по теме холивора, в МС-Скуле меня просто убивает отсутствие нормальной работы триггеров instead of на вьюхах. :(((

Пример:
create table t_test (
 y1 int identity,
 y2 varchar(10),
 primary key (y1))
go
create view v_test as
select y.y1, y.y2 from t_test y
go
create trigger tr_test on v_test instead of insert as
print "bla-bla-bla"
go

при этом запрос: insert into v_test (y2) values ("test") проходит с ошибкой "поле y1 не нулл"... почему??? :(((
запрос insert into t_test (y2) values ("test") конечно идет на-ура.
и запрос  insert into v_test (y1,y2) values (1,"test") тоже идет на ура - рисует такое красивое "бла-бла-бла", а в таблицу ниче не инсертит, автоинкремент не инкрементицца.
ну нафига проверки ДО триггера заменяющего стандартный инсерт??? мало-ли куда реально я распихаю данные которые мне пришли?


 
evvcom ©   (2005-05-04 14:44) [101]


> KSK   (29.04.05 15:55) [55]
>
> select a.kod, sum(b.kolsh), sum(c.kol)
> from prod a left join  wupprod b on a.kod=b.kod
> left join realprod c on a.kod=c.kod
> group by a.kod
>
> делая group by только по одной таблице и сравниваю результат:
>
> select с.kod,  sum(с.kol)
> from realprod с
> group by с.kod
>
> результат не одинаков.  Где-то затупил - верю. Но где???

Естественно не одинаков. Дело в том, что в таблицах a, b и с связь по kod не один к одному. Например,

b.kod b.kolsh | c.kod с.kol
1     1       | 1     3
1     2       | 1     4

Ты ожидал увидеть в результате
1 3 7

На самом деле после join-ов получишь такое
kod kolsh kol
1   1     3
1   1     4
1   2     3
1   2     4

А уже только потом суммирование приведет к результату
1 6 14

Вот в этом и грабли.


 
Fay ©   (2005-05-04 15:28) [102]

Danilka ©   (04.05.05 12:55) [100]
Согласен. Ч/з ...опу.
Сделай
create view v_test as
select y1 = y.y1 + 0, y.y2 from t_test y
go

8)


 
@k@DElpher   (2005-05-04 19:06) [103]


> > @k@DElpher   (03.05.05 18:38) [86]
> - тебе примерный набор таблиц посоветовать ?

Посоветуй:) Но на оракле я пока делать не буду...(Мои таблицы готовы, только программно всё устроить 8-) )


 
ANB ©   (2005-05-05 13:28) [104]


> @k@DElpher   (04.05.05 19:06) [103]

Ну, примерно, не претендуя на крутость :
- Список клиентов (отправителей, получателей), включая сам склад и частных лиц
- Список документов (обязательно включить отправителя и получателя)
- Справочник товаров
- Проводки, привязанные к документу (как строки документа). Я бы включил дублем тоже отправителя и получателя, потом легче отчеты делать, но можно и оставить нормализованным, то есть доставать их потом из документа.
- Остатки по каждому клиенту и товару

При добавлении / изменении проводок одновременно корректируй текущий остаток по товару. Тогда в любой момент ты сможешь получить текущий остаток и рассчитать остатки на любой момент времени. Это намного быстрее, чем доставать остатки от начала времен, хотя и сложнее писать.


 
Polevi ©   (2005-05-05 13:46) [105]

гм остатки по клиенту это как


 
Sergey13 ©   (2005-05-05 13:53) [106]

2[104] ANB ©   (05.05.05 13:28)
таблица под остатки вообще не нужна. В зависимости от вида учета их можно хранить или в товарах или в документах.


 
Danilka ©   (2005-05-05 21:32) [107]

[102] Fay ©   (04.05.05 15:28)
Хм, работает! Спасибо. :)


 
msguns ©   (2005-05-06 09:21) [108]

>ANB ©   (05.05.05 13:28) [104]

Насчет проводок - это ты загнул ;) Если их добавлять в БД, то надо еще как минимум пару справочников (план счетов, корреспонденции+типовые проводки) + схему их экспорта на Баланс (Гл.Книга) или бух.программу.

Где платежи ? Где прайсы ? Как в "списке документов" держать счета, заявки и заказы, не говоря уж о накладных возвратов ? Что делать с внутренним перемещением ? Розницы типа нету ?
Как быть с инвентаризацией, пересортицей и списанием ?


 
ANB ©   (2005-05-06 12:45) [109]


> msguns ©   (06.05.05 09:21) [108]
- автор топика просил ПРОСТОЙ склад. Для розницы. Зачем там счета и заказы ? Потом можно добавить. А проводки не суммовые, а количественные - типа : отправитель, получатель, код товара, количество, документ.
Кстати, на этой простой схеме можно довольно сложный учет построить. У меня было тоже самое + суммовой учет и у меня ни разу не было проблем, что я не смог выполнить требования заказчика. Хотя ставил и частникам и средним торговым конторам, типа военторга.
А вот хранение остатков в проводках уже проходили. Потом, чтобы их получить, запрос по 30 минут выполняется.


 
msguns ©   (2005-05-06 13:01) [110]

>ANB ©   (06.05.05 12:45) [109]
>А проводки не суммовые

Мы, видимо, разный смысл вкладываем в это слово. Я имею в виду проводку бухгалтерскую, а ты ?
Если просто документ проведен или нет, то для этого хватает статуса документа (int или char(1)): не введен, введен (суммы совпадают с контрольными), проведен, откачен.
Все ИМХО, ессно ;)


 
ANB ©   (2005-05-06 13:06) [111]


> Я имею в виду проводку бухгалтерскую, а ты ?
- нет конечно. Я проводками называю все движение того, что учитывается. Привычка :))). Проще строки документа одновременно считать проводками.
Бухгалтерские, я так понял, не очень нужны.
А отложенное проведение . . . Как сказать. Я делал 2 варианта. Снятие остатка сразу и блокировка, а потом проводка. У обоих есть достоинства и минусы.


 
wHammer ©   (2005-05-06 13:36) [112]

Мне например также все в 99-м (когда начинал) пели что Interbase это супер, ведь это клиент-сервер, а DBF и Paradox - файл-сервер а потому отстой полный. После написания пару приложений под Interbase (правда с небольшим количеством таблиц), придя на новую работу познакомился с человеком, который на Paradox"е мог сделать и делал всё. Знал его возможности от и до. Ну и меня завербовал. Теперь всегда использую именно Paradox. ИМХО к плюсам можно отнести бесплатность и простоту. За исключением "продвинутых" транзакций никаких важных приемуществ у клиент-сервера за все время не нашел. Зато знаю полно "тупых" кодеров, извените, которые гнут пальцы налево и направо про Interbase и про SQL, хотя сами ничего кроме справочных приложений типа техпроцессов не написали, а про какой-либо учет вообще ничего не слышали. Ни одной временной таблицы у себя я также не создал. Так что я msguns"а поддерживаю полностью.


 
Danilka ©   (2005-05-06 13:59) [113]

[112] wHammer ©   (06.05.05 13:36)
Ну-ну. Самое простейше - пришел я с флешкой, забрал все твои парадоксовские файлы и все. Делаю с ними что угодно.
А если клиент-сервер, то не имея физ.доступа к серверу, при правильно написаной системе, ты никогда не сможешь украсть базу.

И это не единственная проблема, их есть куча, просто влом рассказывать очевидные вещи.


 
wHammer ©   (2005-05-06 14:18) [114]


> Danilka ©   (06.05.05 13:59) [113]


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

А что касается краж, то это отдельная тема, украсть, при желании можно все, например сам сервер. Однако, насколько я знаю, никая БД не может обладать юридической силой. Т.е. она не может быть доказательством в суде, например при нарушениях в уплате налогов. Большого смысла ее красть я не вижу. Хотя возможно я и ошибаюсь.


 
ANB ©   (2005-05-06 14:24) [115]


> Большого смысла ее красть я не вижу
- ну во первых воруют базы для использования информации в ней. Хотя ты прав. Локальную базу при желании можно защитить, а унести базу можно и с сервера. Просто многие вещи на SQL + хранимки и триггера делаются намного легче, чем при локальных таблицах. Кстати, я видел и смешанные подходы.


 
Danilka ©   (2005-05-06 14:30) [116]

[114] wHammer ©   (06.05.05 14:18)
Крадут не для того, чтобы в  суде что-то доказывать, а, например, для того, чтобы продавать компашки: "паспортные данные всех россиян, свежайшая база 2005 года", да и еще причин дофига, тот-же список поставщиков наработаный годами.
И украсть сервер намного сложнее и заметнее, чем уговорить знакомую тетку операционистку вставить флешку и все скачать. И разобраться потом с любой базой, хоть Орокловой, имея соответствующие физические файлы - это лишь вопрос времени.
А в клиент-сервере можно, например, все сделать через вьюхи, которые фильтруют по юзеру таблицы и дают ему доступ только к тем записям таблиц, куда ему можно. А на сами таблицы вообще ни у кого доступа нет. Тригера, логи, при правильной организации можно очень сильно сузить круг подозреваемых в утечке информации.

Это я еще не касался организации бизнесс-процессов на сервере, когда для исправления ошибок или каких-либо изменений, нет нужды перекомпилять программу и переустанавливать ее на десятках рабочих мест.


 
ANB ©   (2005-05-06 14:38) [117]


> с любой базой, хоть Орокловой
- хе, ну дам я тебе dbf от таблспейсов ораклы, чего ты с ними делать то будешь ?
И что, Oracle - не клиент/сервер ?


 
wHammer ©   (2005-05-06 14:44) [118]

ANB ©   (06.05.05 14:24) [115]
Danilka ©   (06.05.05 14:30) [116]


Да я ведь не оспариваю, я ведь специально подчеркнул в [112] слово "важных". Извените, но настолько важных проектов как например "база стратегических запасов природных ресурсов России" я конечно не делал. Делал учетные задачи, склады, планирование и расчет зарплаты/налогов, а кому такие данные красть понадобиться? Кто и кому их сможет продать?


 
Danilka ©   (2005-05-06 14:45) [119]

[117] ANB ©   (06.05.05 14:38)
Клиент-сервер. Это я написал к тому - что имея доступ к файлам БД, можно ее вскрыть всегда. Про Орокол были обсуждения и методики на sql.ru года полтора назад, когда я туда часто заглядывал.
Не хекс-редактором, конечно-же, приносишь на другой сервер и там шаманишь, как именно - не интересовался, просто отметил, что можно. Если тебе надо - ищи.


 
Danilka ©   (2005-05-06 14:46) [120]

[118] wHammer ©   (06.05.05 14:44)
Ну, вот есть у меня, например, знакомые, которые как-раз очень пекутся, чтобы база поставшиков никуда не ушла.



Страницы: 1 2 3 4 вся ветка

Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.71 MB
Время: 0.043 c
6-1111963806
АНТИСпаммер
2005-03-28 02:50
2005.06.14
Сниффинг локального траффика


3-1115781609
Lex_!
2005-05-11 07:20
2005.06.14
Можно ли в TThread работать с базой данных


14-1117107743
Anics
2005-05-26 15:42
2005.06.14
Поделитесь, кто знает компоненты работы с БД в виде дерева, как э


6-1111871948
Nes
2005-03-27 00:19
2005.06.14
Undeclared identifier: TIdSocketHandle -- "Ха"?


14-1117158625
Ego
2005-05-27 05:50
2005.06.14
Об отношении...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский