Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
IgorTv, а теперь подумать сколько одновременных пользователей может быть в САПе (с ее FK), и сколько в 1С 8.0 (MS Sql) без таковых. Все дело в продуманности архитектуры (что приложения, что БД). Если нет опыта/знаний - хоть с ключами, хоть без них - дело швах будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 17:28 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
IgorTvК словам придераетесь или я не так вопрос задал. Меня интересуют реализации работы с БД конкретных ERP систем. Так Вам вроде подробно ответили. В OEBS на больших транзакционных таблицах ключей вроде нет, проверок значений тоже. Интересная у Вас проблема, а документация по JDEdwards что говорит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 17:33 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
OA User IgorTvК словам придераетесь или я не так вопрос задал. Меня интересуют реализации работы с БД конкретных ERP систем. Так Вам вроде подробно ответили. В OEBS на больших транзакционных таблицах ключей вроде нет, проверок значений тоже. Интересная у Вас проблема, а документация по JDEdwards что говорит? JDEdwards тоже ключей не использует, и я хочу этот же принцип переложить на БД для интеграции, а разработчики маленьких, но гордых программ говорят, что это не правильно и их в институтах не так учили. Вот у меня сомнение завелось может таки JDE не права, оказалось еще и OEBS и Axpata и Navision и BAAN и Exact не правы, да и SAPR3 тоже оказывается местами не прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 17:46 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
Tov. DrujbaЗначит мало работали. Очень много таблиц с FK в САПе (EKKO, EKPO, ... всего две, потому как пример. А так почти любую не справочную открывай, не ошибешься). Это и по сабжу. По крайней мере в R/3 FK широко используются. Да я и не спорю. Раз возможность имеется, то скорее всего ее кто-то использует :) Сам-то я в базисе по большей части вожусь и там не встречал. IgorTvВот у меня сомнение завелось может таки JDE не права, оказалось еще и OEBS и Axpata и Navision и BAAN и Exact не правы, да и SAPR3 тоже оказывается местами не прав. Вообще-то раз внешние ключи производители всех БД продолжают поддерживать, то наверное это явное доказательство их нужности. А когда утверждают обратное, то это как правило от большой лени или от неправильного проектирования системы, что случается чаще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 18:19 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
AndreyВообще-то раз внешние ключи производители всех БД продолжают поддерживать, то наверное это явное доказательство их нужности. А когда утверждают обратное, то это как правило от большой лени или от неправильного проектирования системы, что случается чаще. Это явное доказательство их нужности В РЯДЕ СЛУЧАЕВ, не более того. Кстати, данные которые собрал автор, весьма красноречиво это подтверждают. Думаю, у производителей ERP (а не баз данных) было время подумать над проектированием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 18:27 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
Andrey Да я и не спорю. Раз возможность имеется, то скорее всего ее кто-то использует :) Сам-то я в базисе по большей части вожусь и там не встречал. Ну я вообще тоже все в базисе. Это сейчас в FI пришлось переползать. Ну тогда вот: TADIR (DEVCLASS), TVDIR(DEVCLASS, CLTCODE), ... Ну и так далее :) Возьмете меня в SAP AG? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 18:32 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
IgorTvЯ считаю, что внешние ключи будут только тормозить БД при большом количестве операций, хотя без внешних ключей код писать тяжелее. Дадад, делайте на MySQL, там никаких таких рюшечек нету - очень быстро все летает. А то навыдумывали, транзакции, форен кии, триггеры всякие. Неужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 18:33 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
bI-KyНеужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее? я так думаю, что если без всяких проверок добавлять заведомо непротиворечивые данные, медленнее не будет уж точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 19:00 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
OA Userзаведомо непротиворечивые данные Идиалист, однако. Эта заведомая непротиворечивость откуда возьмется? Проверками на клиенте? Но это противоречит КС. Работать должен сервер. Толстые клиенты не камильфо, ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 19:07 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
IgorTv JDEdwards тоже ключей не использует, и я хочу этот же принцип переложить на БД для интеграции, а разработчики маленьких, но гордых программ говорят, что это не правильно и их в институтах не так учили. Вот у меня сомнение завелось может таки JDE не права, оказалось еще и OEBS и Axpata и Navision и BAAN и Exact не правы, да и SAPR3 тоже оказывается местами не прав. Насчет Axpata могу сказать только то, что разработчики из кожи вон лезли чтобы она быстрее работала, так реалии сервера БД не переплюнешь :) видимо и ключей внешних поснестли, чтобы БД поменьше размером была, типа какой у нас продукт получилсо... Про фк вообще - вопрос академический, fk - полезны, если их используют по назначению, а если их сносят - значит хотят сэкономить на стоимостях запросов. Только не там нужно экономить. Проектировать быстроскоростные системы - и просто системы, а потом мочить фк - что тут скажешь... А вы господин афтар сначала попробуйте спроектировать, разработать и написать учетную систему вообще без фк для 100-200 пользователей - тогда вы сами ответите на свой вопрос :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 19:24 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 19:27 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
Tov. DrujbaИдиалист, однако. Эта заведомая непротиворечивость откуда возьмется? Проверками на клиенте? Но это противоречит КС. Работать должен сервер. Толстые клиенты не камильфо, ИМХО. Мы вообще-то о трехзвенке говорили, а не о толстых клиентах. Что касается OEBS, то видимо горой стандартных пакетов в каждом модуле, в частности, эта целостность и обеспечивается. В любую форму залезьте, там их вызовы будут. И интерфейсы почти все через стандартные API сделаны. Может, я чего и не понимаю, но мы их используем и вопросов по целостности системы как-то не возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 19:44 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
bI-Ky IgorTvЯ считаю, что внешние ключи будут только тормозить БД при большом количестве операций, хотя без внешних ключей код писать тяжелее. Неужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее? Уверен. Есть у вас таблица с продажами и таблица с заголовками продаж + таблица складских операций + бухгалтерских проводок (не считая всякие справочники где надо сальдо дебитора проапдейтить, свобдное количество изменить и т.д.). Все связаны FK. В каждой таблице допустим по миллиону записей или около того. Теперь вы вставляете туда новую продажу допустим на 500 строк. Что происходит? правильно таблица (страница) лочится и туда идет вставка. А что делает такойже процесс рядом стоящий? правильно стоит ждет пока первый закомитится вставив, проапдейтив 3-5 таблиц нехилых размеров и перестроив индескы. А если таких процессов одновременно 100. то все они выполняются строго последовательно потому что у вас FK навешаны. А если я сначала вставляю в одну таблицу, освобождаю ее для следующего аналогичного процесса, потом в другую и т.д. Получается что процессы обрабатываются параллельно какбы со сдвигом. Такчто все 100 процессов отработают быстрее. А проверки на корректность данных выносят на сервера приложений. Их продублировать\распараллелить проще, а БД всегда узким местом является в любой системе. В идеале вообще должно быть 1 строка=1 транзакция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 22:39 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
IgorTvкошмар поскипан Ну Вам же уже объяснили что это не так. По крайней мере в Oracle RDBMS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 22:50 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
IgorTv, ну Вы как из каменного века. Кто Вам сказал, что лочится вся таблица? Для САПа это, мягко говоря, не совсем верно. Отсылаю к Lock Objects документации на saphelp.com. В крацее: лочится может одна строка, группа строк и в крайнем случае - вся таблица. Но это действительно крайний случай . Об механизмах сохранения непротеворечивости данных я расказывать не буду, увольте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 23:40 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
IgorTv bI-Ky IgorTvЯ считаю, что внешние ключи будут только тормозить БД при большом количестве операций, хотя без внешних ключей код писать тяжелее. Неужели Вы думаете, что если целостность реляционной (sic!) БД контролировать во внешнем приложении вместо нативного механизма внешних ключей, она станет работать быстрее? Уверен. Есть у вас таблица с продажами и таблица с заголовками продаж + таблица складских операций + бухгалтерских проводок (не считая всякие справочники где надо сальдо дебитора проапдейтить, свобдное количество изменить и т.д.). Все связаны FK. В каждой таблице допустим по миллиону записей или около того. Теперь вы вставляете туда новую продажу допустим на 500 строк. Что происходит? правильно таблица (страница) лочится и туда идет вставка. А что делает такойже процесс рядом стоящий? правильно стоит ждет пока первый закомитится вставив, проапдейтив 3-5 таблиц нехилых размеров и перестроив индескы. А если таких процессов одновременно 100. то все они выполняются строго последовательно потому что у вас FK навешаны. А если я сначала вставляю в одну таблицу, освобождаю ее для следующего аналогичного процесса, потом в другую и т.д. Получается что процессы обрабатываются параллельно какбы со сдвигом. Такчто все 100 процессов отработают быстрее. А проверки на корректность данных выносят на сервера приложений. Их продублировать\распараллелить проще, а БД всегда узким местом является в любой системе. В идеале вообще должно быть 1 строка=1 транзакция. Интересно, вы хоть раз читали про механизмы блокировок для конкретных СУБД. Уже лет 8 или более с появления Oracle 7 блокировки накладываются только на модифицируемые строки. Причем есть разные виды блокировок. Печально, что человек занимающийся внедрением таких крупных систем не знает основ работы хранилищь данных которые используются. Проверка целостности на уровне БД будет происходить намногнг быстрее чем та которую вы сможете написать сами на сервере приложений. Даже если вы примените одни и те-же алгоритмы у вас еще всегда будут накладные расходы на получение данных с сервера БД и создание структур для хранения этих данных в памяти. Поверте мне при определенном кол-ве записей эти затраты весьма существенны. В сервере БД механизмы блокировок реализованы на уровне ядра. Используют специальные структуры которые доступны постояно в процессе работы сервера (например кеш данных). В связи с этим эффективность внешних ключей на порядок выше. Другое дело что обеспечить переносимость между серверами и использовать их при разработке с помощью API достаточно сложно поэтому и используют в таких системах достаточно редко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 02:53 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
автор Ну, получил 2% прироста, шо дальше мои результаты тоже блезки к этим. прирост производительности не более 2%. Так стоит из-за этого отказываться от потенциальных проблем с целостностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 11:06 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
в sap нет FK на уровне СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 11:33 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
AnS1в sap нет FK на уровне СУБД На уровне СУБД - возможно. Я напрямую в БД никогда не ходил. Только через R/3. Да и что там делать, таблицы то в сапе не только transparent но и cluster... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 11:55 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
Tov. Drujba AnS1в sap нет FK на уровне СУБД На уровне СУБД - возможно. Я напрямую в БД никогда не ходил. Только через R/3. Да и что там делать, таблицы то в сапе не только transparent но и cluster... не только. Используя стандартный open sql вы можете похерить любую целостность, заданную на уровне словаря данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 18:24 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
AnS1не только. Используя стандартный open sql вы можете похерить любую целостность, заданную на уровне словаря данных Кто бы сомневался :). Ломать не строить. Но я не могу представить себе ситуацию, когда бы мне пришлось прибегать к подобным методам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 18:32 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
когда нужны проверки на ФК: unsert - непротиворечивость легко обеспечивает правильное приложение update - не требуеся, т.к. ФК не должны вообще изменяться delete - единственный случай, когда действительно надо проверять, но это может делать приложение (все таки это редкое действие) вывод: ФК не нужны (и разработчики ERP это прекрасно знают !) а все чему учат в институтах - пора забыть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 16:53 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
модкогда нужны проверки на ФК: unsert - непротиворечивость легко обеспечивает правильное приложение update - не требуеся, т.к. ФК не должны вообще изменяться delete - единственный случай, когда действительно надо проверять, но это может делать приложение (все таки это редкое действие) вывод: ФК не нужны (и разработчики ERP это прекрасно знают !) а все чему учат в институтах - пора забыть Ну да, а разработчики RDBMS об этом не догадываются. Перестаньте себя считать умнее настоящих специалистов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 17:38 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
модкогда нужны проверки на ФК: unsert - непротиворечивость легко обеспечивает правильное приложение update - не требуеся, т.к. ФК не должны вообще изменяться delete - единственный случай, когда действительно надо проверять, но это может делать приложение (все таки это редкое действие) вывод: ФК не нужны (и разработчики ERP это прекрасно знают !) а все чему учат в институтах - пора забыть Правильно! Ну эти UPDATE и DELETE, только INSERT, все правки - методом сторнирования! (Кроме шуток именно такую методологию в западных системах нередко можно встретить) А при "unsert - непротиворечивость легко обеспечивает правильное приложение" (с) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 17:51 |
|
||
|
|

start [/forum/topic.php?fid=29&msg=33412135&tid=1528199]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 409ms |

| 0 / 0 |
