powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Внешние ключи в OEBS, SAP, Axapta и тд.
25 сообщений из 115, страница 2 из 5
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33411956
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTv,
а теперь подумать сколько одновременных пользователей может быть в САПе (с ее FK), и сколько в 1С 8.0 (MS Sql) без таковых. Все дело в продуманности архитектуры (что приложения, что БД). Если нет опыта/знаний - хоть с ключами, хоть без них - дело швах будет.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33411973
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTvК словам придераетесь или я не так вопрос задал. Меня интересуют реализации работы с БД конкретных ERP систем.
Так Вам вроде подробно ответили. В OEBS на больших транзакционных таблицах ключей вроде нет, проверок значений тоже.
Интересная у Вас проблема, а документация по JDEdwards что говорит?
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412022
IgorTv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OA User IgorTvК словам придераетесь или я не так вопрос задал. Меня интересуют реализации работы с БД конкретных ERP систем.
Так Вам вроде подробно ответили. В OEBS на больших транзакционных таблицах ключей вроде нет, проверок значений тоже.
Интересная у Вас проблема, а документация по JDEdwards что говорит?
JDEdwards тоже ключей не использует, и я хочу этот же принцип переложить на БД для интеграции, а разработчики маленьких, но гордых программ говорят, что это не правильно и их в институтах не так учили.
Вот у меня сомнение завелось может таки JDE не права, оказалось еще и OEBS и Axpata и Navision и BAAN и Exact не правы, да и SAPR3 тоже оказывается местами не прав.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412135
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tov. DrujbaЗначит мало работали. Очень много таблиц с FK в САПе (EKKO, EKPO, ... всего две, потому как пример. А так почти любую не справочную открывай, не ошибешься).
Это и по сабжу. По крайней мере в R/3 FK широко используются.
Да я и не спорю. Раз возможность имеется, то скорее всего ее кто-то использует :) Сам-то я в базисе по большей части вожусь и там не встречал.

IgorTvВот у меня сомнение завелось может таки JDE не права, оказалось еще и OEBS и Axpata и Navision и BAAN и Exact не правы, да и SAPR3 тоже оказывается местами не прав.
Вообще-то раз внешние ключи производители всех БД продолжают поддерживать, то наверное это явное доказательство их нужности. А когда утверждают обратное, то это как правило от большой лени или от неправильного проектирования системы, что случается чаще.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412155
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyВообще-то раз внешние ключи производители всех БД продолжают поддерживать, то наверное это явное доказательство их нужности. А когда утверждают обратное, то это как правило от большой лени или от неправильного проектирования системы, что случается чаще. Это явное доказательство их нужности В РЯДЕ СЛУЧАЕВ, не более того. Кстати, данные которые собрал автор, весьма красноречиво это подтверждают. Думаю, у производителей ERP (а не баз данных) было время подумать над проектированием.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412166
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey
Да я и не спорю. Раз возможность имеется, то скорее всего ее кто-то использует :) Сам-то я в базисе по большей части вожусь и там не встречал.

Ну я вообще тоже все в базисе. Это сейчас в FI пришлось переползать. Ну тогда вот: TADIR (DEVCLASS), TVDIR(DEVCLASS, CLTCODE), ... Ну и так далее :)
Возьмете меня в SAP AG?
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412173
bI-Ky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTvЯ считаю, что внешние ключи будут только тормозить БД при большом количестве операций, хотя без внешних ключей код писать тяжелее.
Дадад, делайте на MySQL, там никаких таких рюшечек нету - очень быстро все летает. А то навыдумывали, транзакции, форен кии, триггеры всякие.

Неужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее?
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412245
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bI-KyНеужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее?
я так думаю, что если без всяких проверок добавлять заведомо непротиворечивые данные, медленнее не будет уж точно.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412270
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OA Userзаведомо непротиворечивые данные
Идиалист, однако. Эта заведомая непротиворечивость откуда возьмется? Проверками на клиенте? Но это противоречит КС. Работать должен сервер. Толстые клиенты не камильфо, ИМХО.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412305
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTv
JDEdwards тоже ключей не использует, и я хочу этот же принцип переложить на БД для интеграции, а разработчики маленьких, но гордых программ говорят, что это не правильно и их в институтах не так учили.
Вот у меня сомнение завелось может таки JDE не права, оказалось еще и OEBS и Axpata и Navision и BAAN и Exact не правы, да и SAPR3 тоже оказывается местами не прав.

Насчет Axpata могу сказать только то, что разработчики из кожи вон лезли чтобы она быстрее работала, так реалии сервера БД не переплюнешь :)
видимо и ключей внешних поснестли, чтобы БД поменьше размером была, типа какой у нас продукт получилсо...

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

А вы господин афтар сначала попробуйте спроектировать, разработать и написать учетную систему вообще без фк для 100-200 пользователей - тогда вы сами ответите на свой вопрос :).
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412312
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTv wrote:
> JDEdwards тоже ключей не использует, и я хочу этот же принцип переложить
> на БД для интеграции, а разработчики маленьких, но гордых программ
> говорят, что это не правильно и их в институтах не так учили.
> Вот у меня сомнение завелось может таки JDE не права, оказалось еще и
> OEBS и Axpata и Navision и BAAN и Exact не правы, да и SAPR3 тоже
> оказывается местами не прав.
вообще говоря, ключи можно не юзать, надо только каким-то образом
ГАРАНТИРОВАТЬ непротиворечивость данных. Если Вы строго контроллируете
код, достаточно тестируете свои приложения - то ключами, наверное, можно
пренебречь.
А вот если вы "Малэнкий, но гордый кантор с гор!", тогда вы
предполагаете, что в вашем ПО могут быть ошибки, что на себя слишком уж
полагаться не стоит, ну и применяете всякие там внешние ключи и
ограничения - как последний рубеж обороны, так сказать...

Тем паче... не знаю, где как, я на MS SQL 2000 пробовал и с йими, и без
йих - интересно было, наскоко изменится скорость. Ну, получил 2%
прироста, шо дальше? Стану я из-за такой мелочи рисковать целостностью?
да ни в жисть! 2% никто не заметить, в обчем-то, а вот васю, который
удалит часть корневого справочника... ага, тут-же! а попу, пардон,
порвут уже мне - дурак мол, не обеспечил...

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412340
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tov. DrujbaИдиалист, однако. Эта заведомая непротиворечивость откуда возьмется? Проверками на клиенте? Но это противоречит КС. Работать должен сервер. Толстые клиенты не камильфо, ИМХО.
Мы вообще-то о трехзвенке говорили, а не о толстых клиентах. Что касается OEBS, то видимо горой стандартных пакетов в каждом модуле, в частности, эта целостность и обеспечивается. В любую форму залезьте, там их вызовы будут. И интерфейсы почти все через стандартные API сделаны. Может, я чего и не понимаю, но мы их используем и вопросов по целостности системы как-то не возникает.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412527
IgorTv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bI-Ky IgorTvЯ считаю, что внешние ключи будут только тормозить БД при большом количестве операций, хотя без внешних ключей код писать тяжелее.
Неужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее?
Уверен. Есть у вас таблица с продажами и таблица с заголовками продаж + таблица складских операций + бухгалтерских проводок (не считая всякие справочники где надо сальдо дебитора проапдейтить, свобдное количество изменить и т.д.). Все связаны FK. В каждой таблице допустим по миллиону записей или около того. Теперь вы вставляете туда новую продажу допустим на 500 строк. Что происходит? правильно таблица (страница) лочится и туда идет вставка. А что делает такойже процесс рядом стоящий? правильно стоит ждет пока первый закомитится вставив, проапдейтив 3-5 таблиц нехилых размеров и перестроив индескы. А если таких процессов одновременно 100. то все они выполняются строго последовательно потому что у вас FK навешаны. А если я сначала вставляю в одну таблицу, освобождаю ее для следующего аналогичного процесса, потом в другую и т.д. Получается что процессы обрабатываются параллельно какбы со сдвигом. Такчто все 100 процессов отработают быстрее.

А проверки на корректность данных выносят на сервера приложений. Их продублировать\распараллелить проще, а БД всегда узким местом является в любой системе.

В идеале вообще должно быть 1 строка=1 транзакция.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412540
Whateva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTvкошмар поскипан
Ну Вам же уже объяснили что это не так. По крайней мере в Oracle RDBMS.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412572
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTv, ну Вы как из каменного века. Кто Вам сказал, что лочится вся таблица? Для САПа это, мягко говоря, не совсем верно. Отсылаю к Lock Objects документации на saphelp.com. В крацее: лочится может одна строка, группа строк и в крайнем случае - вся таблица. Но это действительно крайний случай . Об механизмах сохранения непротеворечивости данных я расказывать не буду, увольте.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33412625
Joker_Ya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorTv bI-Ky IgorTvЯ считаю, что внешние ключи будут только тормозить БД при большом количестве операций, хотя без внешних ключей код писать тяжелее.
Неужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее?
Уверен. Есть у вас таблица с продажами и таблица с заголовками продаж + таблица складских операций + бухгалтерских проводок (не считая всякие справочники где надо сальдо дебитора проапдейтить, свобдное количество изменить и т.д.). Все связаны FK. В каждой таблице допустим по миллиону записей или около того. Теперь вы вставляете туда новую продажу допустим на 500 строк. Что происходит? правильно таблица (страница) лочится и туда идет вставка. А что делает такойже процесс рядом стоящий? правильно стоит ждет пока первый закомитится вставив, проапдейтив 3-5 таблиц нехилых размеров и перестроив индескы. А если таких процессов одновременно 100. то все они выполняются строго последовательно потому что у вас FK навешаны. А если я сначала вставляю в одну таблицу, освобождаю ее для следующего аналогичного процесса, потом в другую и т.д. Получается что процессы обрабатываются параллельно какбы со сдвигом. Такчто все 100 процессов отработают быстрее.

А проверки на корректность данных выносят на сервера приложений. Их продублировать\распараллелить проще, а БД всегда узким местом является в любой системе.

В идеале вообще должно быть 1 строка=1 транзакция.

Интересно, вы хоть раз читали про механизмы блокировок для конкретных СУБД. Уже лет 8 или более с появления Oracle 7 блокировки накладываются только на модифицируемые строки. Причем есть разные виды блокировок. Печально, что человек занимающийся внедрением таких крупных систем не знает основ работы хранилищь данных которые используются. Проверка целостности на уровне БД будет происходить намногнг быстрее чем та которую вы сможете написать сами на сервере приложений. Даже если вы примените одни и те-же алгоритмы у вас еще всегда будут накладные расходы на получение данных с сервера БД и создание структур для хранения этих данных в памяти. Поверте мне при определенном кол-ве записей эти затраты весьма существенны. В сервере БД механизмы блокировок реализованы на уровне ядра. Используют специальные структуры которые доступны постояно в процессе работы сервера (например кеш данных). В связи с этим эффективность внешних ключей на порядок выше. Другое дело что обеспечить переносимость между серверами и использовать их при разработке с помощью API достаточно сложно поэтому и используют в таких системах достаточно редко.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33413084
9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
9
Гость
автор
Ну, получил 2%
прироста, шо дальше


мои результаты тоже блезки к этим. прирост производительности не более 2%. Так стоит из-за этого отказываться от потенциальных проблем с целостностью?
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33413164
Фотография AnS1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в sap нет FK на уровне СУБД
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33413241
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnS1в sap нет FK на уровне СУБД
На уровне СУБД - возможно. Я напрямую в БД никогда не ходил. Только через R/3. Да и что там делать, таблицы то в сапе не только transparent но и cluster...
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33420542
Фотография AnS1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tov. Drujba AnS1в sap нет FK на уровне СУБД
На уровне СУБД - возможно. Я напрямую в БД никогда не ходил. Только через R/3. Да и что там делать, таблицы то в сапе не только transparent но и cluster...

не только. Используя стандартный open sql вы можете похерить любую целостность, заданную на уровне словаря данных
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33420565
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnS1не только. Используя стандартный open sql вы можете похерить любую целостность, заданную на уровне словаря данных
Кто бы сомневался :). Ломать не строить. Но я не могу представить себе ситуацию, когда бы мне пришлось прибегать к подобным методам.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33423061
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда нужны проверки на ФК:
unsert - непротиворечивость легко обеспечивает правильное приложение
update - не требуеся, т.к. ФК не должны вообще изменяться
delete - единственный случай, когда действительно надо проверять, но это может делать приложение (все таки это редкое действие)
вывод: ФК не нужны (и разработчики ERP это прекрасно знают !)
а все чему учат в институтах - пора забыть
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33423206
bI-Ky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модкогда нужны проверки на ФК:
unsert - непротиворечивость легко обеспечивает правильное приложение
update - не требуеся, т.к. ФК не должны вообще изменяться
delete - единственный случай, когда действительно надо проверять, но это может делать приложение (все таки это редкое действие)
вывод: ФК не нужны (и разработчики ERP это прекрасно знают !)
а все чему учат в институтах - пора забыть
Ну да, а разработчики RDBMS об этом не догадываются. Перестаньте себя считать умнее настоящих специалистов.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33423234
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модкогда нужны проверки на ФК:
unsert - непротиворечивость легко обеспечивает правильное приложение
update - не требуеся, т.к. ФК не должны вообще изменяться
delete - единственный случай, когда действительно надо проверять, но это может делать приложение (все таки это редкое действие)
вывод: ФК не нужны (и разработчики ERP это прекрасно знают !)
а все чему учат в институтах - пора забыть

Правильно! Ну эти UPDATE и DELETE, только INSERT, все правки - методом сторнирования! (Кроме шуток именно такую методологию в западных системах нередко можно встретить) А при "unsert - непротиворечивость легко обеспечивает правильное приложение" (с)
)
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33423391
Whateva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael_все правки - методом сторнирования! (Кроме шуток именно такую методологию в западных системах нередко можно встретить)
Вы наверное 1С-ом занимались плотно
...
Рейтинг: 0 / 0
25 сообщений из 115, страница 2 из 5
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Внешние ключи в OEBS, SAP, Axapta и тд.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]