powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Внешние ключи в OEBS, SAP, Axapta и тд.
25 сообщений из 115, страница 4 из 5
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33586702
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WhatevaНу так сложилось.

Ага! А не из-за того, что система писалась теми самыми "500-долларывыми разработчиками"?!


WhatevaСпорю что данные стали "уже кривыми" в результате работы интерфейсов написанными 500-долларывыми разработчиками которые только вчера узнали чем SQL отличается от PL/SQL. Пока наши уважаемые "интеграторы" будут проводить политику "ввяжемся в бой а потом будет видно" так оно и будет. Чюдес не бывает.

Будь разработчик хоть семи пядей во лбу и с зарплатой в 5 000 - это не даст 100% гарантии сохранности целостности бд при разработке кастомизаций, если сама бд в ее базовой конфигурации эту целостность не поддерживает.

"Нечего на зеркало пинять,коли рожа крива". ((с) не помню чей).
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33586711
Whateva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinИ в результате, на продакшен окружениях той самой OEBS с определенной периодичность всплывают такие битые ссылки. Нет никакого оправдания разработчикам, который оставил хранилище вот таким вот незащищенным. И никакие увещевания в юзер гайдах типа "Запрещается лазить в базу чем-либо другим, кроме самой системы" здесь не помогут. Детский сад какой-то, надо не просить, а на корню пресекать попытки разрушения целостности хранилища. Оно (хранилище) должно быть самодостаточно в его базовой функциональности.

IMHO.
То же самое. Не надо давать неокрепшим горе-разработчикам доступ "пиши чего хочешь" к базе. Тем более PROD. На PROD разработчики в принципе доступа иметь не должны. А администратору за такие вещи надо по шапке надавать - работу он свою плохо делает.
Вы в свою машину масло наливаете в соответствии с рекомендациями производителя или какое придётся? А то ведь под капот в принципе можно чего угодно залить. Следуя вашей логике капот надо закрывать на замок и открывать только на авторизированных станциях тех. обслуживания.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33586746
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Whateva

Считаю Вашу аналогию с заменой масла абсолютно не уместной. А вот аналогию с прессом могу привести. Может быть видели, когда пресс с ручной загрузкой опускается, там перед рабочей областью проскакивает "железяка", которая отбрасывает руку зазевавшегося оператора, дабы ИСКЛЮЧИТЬ НА КОРНЮ САМУ ВОЗМОЖНОСТЬ травмотизма. И именно с этим можно сравнить наличие ограничений в самом хранилище.

WhatevaСледуя вашей логике капот надо закрывать на замок и открывать только на авторизированных станциях тех. обслуживания.

Следуя моей логике надо создавать хранилише так, чтоб потом "не было мучительно больно", даже если в систему залезет полный 0.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33586775
Whateva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinАга! А не из-за того, что система писалась теми самыми "500-долларывыми разработчиками"?!
А Вы в курсе кем писались основные финансовые модули или там process manufacturing? Отсутствие (Ок, практическое отсутствие) декларативной целостности на уровне RDBMS сложилось задолго до переноса разработок в Бангалор.
pkarklinБудь разработчик хоть семи пядей во лбу и с зарплатой в 5 000 - это не даст 100% гарантии сохранности целостности бд при разработке кастомизаций, если сама бд в ее базовой конфигурации эту целостность не поддерживает.

"Нечего на зеркало пинять,коли рожа крива". ((с) не помню чей).
Вы не поверите, но опыт незаменимая штука. И наличие или отсутствие декларативной целостности не спасёт от грязи в базе в "умелых" руках.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33586832
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WhatevaА Вы в курсе кем писались основные финансовые модули или там process manufacturing? Отсутствие (Ок, практическое отсутствие) декларативной целостности на уровне RDBMS сложилось задолго до переноса разработок в Бангалор.

В курсе. И что?! Я должен испытывать трепет от этого?! Да ни за что?! Не от чего там трепетать?! Как раз на оборот, только волосы дыбом на всех частях тела встают от такого, с позволения сказать, хранилища.

WhatevaВы не поверите, но опыт незаменимая штука. И наличие или отсутствие декларативной целостности не спасёт от грязи в базе в "умелых" руках.

Вы не поверите, я в курсе, что такое опыт! А Вы, пытаясь оправдать отсутствие в хранилишще ограничений, то приводите аргументы в виде 500-долларовых разработчиков, то, вдруг, "умелые руки". 500-долларовй разработчик, нарвавшись на ограничение не сможет (из-за 500 долларовых знаний) его отключить, а "умелые руки" 100 раз подумают перед отключением, основываясь на том самом опыте.

Свою позицию по сабжевой проблеме я высказал и пока достойных аргументов в ее оправдание я не вижу.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33587935
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Whateva"Вы их просто не умеете готовить" :-)
Не я. Я в данном случае пришел сбоку посмотреть на это чудо.

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

WhatevaНу так сложилось.
Это-то понятно.

Но это не ответ.

WhatevaСпорю что данные стали "уже кривыми" в результате работы интерфейсов
Представления не имею, и не знаю способа узнать.

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

Whatevaнаписанными 500-долларывыми разработчиками
Из тех разработчиков, которых я там застал, вроде бы только один работает с OEBS меньше двух лет. Пятьсотдолларовых - уверен, что не найду.

WhatevaПока наши уважаемые "интеграторы" будут проводить политику "ввяжемся в бой а потом будет видно" так оно и будет. Чюдес не бывает.
То есть Вы предлагаете брать гуру и хотеть от них чудес? Хмм... не думаю, что хоть один гуру пойдет на такую скучную работу как OEBS.

Нет уж, я предпочту методику, достаточную для получения пристойного результата от среднего разработчика. И ключи являются ее частью. Да и время гуру совершенно незачем тратить на такую хрень.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33587936
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WhatevaТо же самое. Не надо давать неокрепшим горе-разработчикам доступ "пиши чего хочешь" к базе. Тем более PROD. На PROD разработчики в принципе доступа иметь не должны.
И какое отношение эта эскапада имеет к описанной мной ситуации? Разработчики доступа на прод не имеют. Данные на проде кривые - только сегодня нашли очередные. Что дальше?

WhatevaА администратору за такие вещи надо по шапке надавать - работу он свою плохо делает.
Администратор там - отдельный вопрос. Я рассказал ему кое-что, чего он не знал, но у меня нет никаких оснований считать его "плохим администратором OEBS".

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

WhatevaСледуя вашей логике капот надо закрывать на замок и открывать только на авторизированных станциях тех. обслуживания.
Следуя нашей логике, вход для масла должен отвергать попытку налить в него жидкость, не соответствующую критериям производителя. Например воду.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33588894
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin ModelRНу и как должно выглядеть самодостаточное бухгалтерское хранилище? Чтобы в базовой функциональности изменение счета в проводке
- контролировалось по правилам корреспонденции счетов,
- вызывало изменение сохраненных остатков,
и др.

Эээ... Я не совсем понял, что Вы хотите услышать от меня в ответ на Ваш вопрос?! Речь в топике шла о DRI.

ModelRС точки бухгалтера все эти грехи ничем не лучше битой ссылки на счет.

Эээ... Опять не понял, контроль корректности корреспонденции - это бизнес-логика, которая просто обязана пристутствать в системе, в прочем как и пересчет остатков. А Вы говорите о каких-то огрехах. И, опять же я не вижу, каким образом ее (бизнес-логики) присутствие в том или ином виде потребует отказаться от DRI?!

ЗЫ. Возможно, я все-таки не понял, что Вы хотели сказать.
Сорри за поздний ответ, но возможно еще интересно....
Мысль в том, что RI - часть бизнес-правил, бизнес-ограничений в целом, причем по объему - очень небольшая часть. С точки зрения ERP нарушение RI ничем не отличается от нарушения корееспонденции счетов - транзакция отвергается. Так зачем размазывать контроль бизнес-ограничений: проверять RI через DRI в СУБД, а корреспонденцию - на сервере приложений? Тем более, что реакцию на эксепшион СУБД все равно нужно как-то обработать в приложении.
Ну будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции.
Так что архитектура с отказом от ФК в СУБД вполне логична, если существует слой контроля бизнес-ограничений в приложении.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589034
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRМысль в том, что RI - часть бизнес-правил, бизнес-ограничений в целом, причем по объему - очень небольшая часть.

На счет "небольшая" позволю себе не согласится с Вами. "небольшая" может быть только в смысле отсутствия кодирования при использовании DRI, но не по смысловой нагрузке.

ModelRС точки зрения ERP нарушение RI ничем не отличается от нарушения корееспонденции счетов - транзакция отвергается. Так зачем размазывать контроль бизнес-ограничений: проверять RI через DRI в СУБД, а корреспонденцию - на сервере приложений? Тем более, что реакцию на эксепшион СУБД все равно нужно как-то обработать в приложении.

Вот и я всегда спрашиваю - а зачем размазывать?! Для тех, кто не в курсе - я противник пихания N-звенок куда не поподя. Почему бы ВСЕ не контролировать в хранилище?! Что-то с помощью DRI, а что-то с помощью хп, триггеров и т.п., реализующих требования бизнес-логики. Пусть Ваш "средний слой" будет клиентом самодостаточного хранилища, дергающим нужные хп (пакеты) для выполнения той или иной бизнес-процедуры. В принципе, OEBS - это PL\SQL клиент, где подавляющее большинство логики реализовано имеено в пакетах.

ModelRНу будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции.

СУБД может\должна ловить до 100% нарушений!!!

ModelRТак что архитектура с отказом от ФК в СУБД вполне логична, если существует слой контроля бизнес-ограничений в приложении.

Не хочу снова разводить флейм, но логики в переносе операций обработки данных подальше от самих данных я не вижу. Флэйм можно почитать здесь: Странные мысли о 3-звенном приложении

Все вышесказанное - IMHO.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589060
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinДля тех, кто не в курсе - я противник пихания N-звенок куда не поподя.
Хорошо рассуждаете. Только обсуждаемая проблема никак конечно с n-звенностью приложений не связана.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589100
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR
Так что архитектура с отказом от ФК в СУБД вполне логична, если существует слой контроля бизнес-ограничений в приложении.

Поддержу. Судя по экземпляру OEBS, который крутится у нас, 95% проблем связаны с кривой "кастомизацией". Приятные вещи вылезают, когда, например вместо pub-пакетов используются pvt-пакеты, и при обновлении системы форма просто разваливается. Отчеты, "заточенные" на определенные значения полей, выдают "прекрасные" результаты. Глюки самой системы тоже присутствуют, но они практически все были вылечены обновлениями.
Я бы не стал так уж раздувать проблему отсутствия ФК, по моим наблюдениям, залезая ниже определенного уровня API, наши мастера selecta'а и insert'а многое могут угробить, да так талантливо, что никакие ФК не спасут.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589161
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm pkarklinДля тех, кто не в курсе - я противник пихания N-звенок куда не поподя.
Хорошо рассуждаете. Только обсуждаемая проблема никак конечно с n-звенностью приложений не связана.

Эээ... ModelR аргументировал отсутвие DRI в хранилище присутсвием среднего звена, реализующего все и вся, т.е. отказом от размазывания реализации ограничений на разных уровнях системы. Поэтому я и спросил\сказал, а задлянафига вообще такое размазывание, имея в виду N-звенки, приведя тред с обсуждением на эту тему.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589215
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRМысль в том, что RI - часть бизнес-правил, бизнес-ограничений в целом, причем по объему - очень небольшая часть.
Можно так считать. Причем следует отметить, что эта часть также неочевидная в проявлениях и плохо проверяемая при разработке.

ModelRТак зачем размазывать контроль
Потому что для надежности решения крайне рекомендуется проверять везде, где только возможно и не слишком напряжно. И из занятий репликацией, и из других работ я вынес простой принцип: проверок много не бывает. Также, надеюсь, Вы согласитесь с тем, что для столь масштабного проекта надежность каждой детали имеет значение "выше среднего".

По сути, Вы говорите примерно следующее: если LookupComboBox не способен выбрать запись, отсутствующую в справочнике, делать внешний ключ на этот справочник необязательно, все и так будет хорошо. В чем-то это верно, но на практике рано или поздно вылезет проблема, например при удалении из этого справочника.

ModelRНу будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции.
По этой логике мыться бессмысленно, потому как в итоге все равно умрешь. Нужно проверять и то, и другое, и третье. Есть возможность проверить это "третье" исключительно дешево и надежно. И отказываться от этого - примерно так же оправданно, как прыгать с парашютом без запаски.

ModelRТак что архитектура с отказом от ФК в СУБД вполне логична,
Не вижу "логичности". Вы доказываете, что она не "однозначно самоубийственна" - и это так. Она просто глупа и неудачна.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589269
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OA UserПоддержу. Судя по экземпляру OEBS, который крутится у нас, 95% проблем связаны с кривой "кастомизацией".
Нисколько не спорю. И кому легче от того, что знают, что ругать надо именно "кастомизаторов"? Допустим, сейчас кто-нибудь подойдет и вылечит диск на Вашем сервере NDD версии 4.0 - Вам что, станет легче от мысли, что дядя Петя Нортон тут не при чем?

OA UserЯ бы не стал так уж раздувать проблему отсутствия ФК,
Вопрос в том, что значит "так уж". Можно жить без ФК, без транзакций, без чего угодно. Можно подменять их самописками. Вопрос лишь в качестве результата.

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

OA Userпо моим наблюдениям, залезая ниже определенного уровня API, наши мастера selecta'а и insert'а многое могут угробить, да так талантливо, что никакие ФК не спасут.
Могут. И если им придется думать еще и о внешних ключах - наверняка угробят. Так хоть есть шанс.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589326
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OA UserСудя по экземпляру OEBS, который крутится у нас, 95% проблем связаны с кривой "кастомизацией". Приятные вещи вылезают, когда, например вместо pub-пакетов используются pvt-пакеты, и при обновлении системы форма просто разваливается. Отчеты, "заточенные" на определенные значения полей, выдают "прекрасные" результаты. Глюки самой системы тоже присутствуют, но они практически все были вылечены обновлениями.

Опять позволю себе процитировать классика: "Нечего на зеркало пинять, коль рожа крива" - читай "кривая" архитектура хранилища. Каковы бы не были по уровню знаний\опыта мои разработчики, реализующие бизнес-логику в хп, они никогда не смогут по своей невнимательности\неопытности удалить шапку документа, предварительно не удалив табличную часть, или удалить клиента, у которого есть заказ. Т.е. обойти ограничения, заложенные в базовую архитектуру хранилища.


OA UserЯ бы не стал так уж раздувать проблему отсутствия ФК, по моим наблюдениям, залезая ниже определенного уровня API, наши мастера selecta'а и insert'а многое могут угробить, да так талантливо, что никакие ФК не спасут.

Спору нет. Но если им еще придеться в каждой процедуре "вспоминать" о необходимости выполнения проверок RI, которую не поддерживает хранилище, то они точно забудут это сделать!
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589440
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
По сути, Вы говорите примерно следующее: если LookupComboBox не способен выбрать запись, отсутствующую в справочнике, делать внешний ключ на этот справочник необязательно, все и так будет хорошо. В чем-то это верно, но на практике рано или поздно вылезет проблема, например при удалении из этого
Тут ведь и другой вариант возможен - система сделает запись в справочнике неактивной, и ничего удалять не придется, проблема, соответственно , не вылезет.
Конечно, средствами БД удалить запись запросто, а на уровне бизнес-логики это уже не сделаешь. А мне, как пользователю системы, это ведь безразлично, правда? Главное, что ненужная для выборки запись в эту выборку не попадет. Пример тривиальный, но показательный весьма.
Другой случай. Разработал один коллега модуль, по функционалу похожий на concurrent manager. Т.е. сам запускает нужное количество запросов, сам ждет их выполнения и т.д. Целостность не нарушил. Все бы хорошо, но с родным менеджером в итоге случается dead lock со всеми вытекающими последствиями. Сделано было только из-за того, что человек не стал с наборами запросов разбираться. Переделали, в итоге обошлись без дополнительного кода вообще.
Я хочу сказать, что дорабатывая некую ERP-систему, надо придерживаться определенных правил игры, в которых информация о наличии/отсутствии ФК, в частности, не столь существенна. Повторюсь, но, по-моему, проверка заранее непротиворечивых данных не всегда имеет смысл.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589475
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЭээ... ModelR аргументировал отсутвие DRI в хранилище присутсвием среднего звена, реализующего все и вся, т.е. отказом от размазывания реализации ограничений на разных уровнях системы. Поэтому я и спросил\сказал, а задлянафига вообще такое размазывание, имея в виду N-звенки, приведя тред с обсуждением на эту тему.
Все и вся реализовать на среднем уровне нет возможности, в этом я с Вами согласен. А n-звенки призваны решать другие задачи.

ModelR , спрогнозируйте поведение системы на рисунке ниже. В различных ситуациях, в зависимости от того, кто первый стартанет транзакцию. Ведь практически все называют множество серверов приложений в качестве средства масштабирования, и это нормально. Вот только с целостностью данных (не путайте с правильностью транзакций с точки зрения бизнес-логики)в этом случае нужно что-то делать. Иначе и через рекомендуемый API такого понаделают. Или будете играться уровнями изоляции сводя на нет достигнутую таким образом производительность?
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589505
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin
Опять позволю себе процитировать классика: "Нечего на зеркало пинять, коль рожа крива" - читай "кривая" архитектура хранилища. Каковы бы не были по уровню знаний\опыта мои разработчики, реализующие бизнес-логику в хп, они никогда не смогут по своей невнимательности\неопытности удалить шапку документа, предварительно не удалив табличную часть, или удалить клиента, у которого есть заказ. Т.е. обойти ограничения, заложенные в базовую архитектуру хранилища.

Отлично, но здесь аналогичные ограничения заложены не в базовую архитектуру хранилища, а выражены в соответствующих пакетах, которыми пользуется разработчик и т.д. Если их изучить и корректно использовать, то почему Вы потеряете в надежности?
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589549
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OA UserОтлично, но здесь аналогичные ограничения заложены не в базовую архитектуру хранилища, а выражены в соответствующих пакетах, которыми пользуется разработчик и т.д. Если их изучить и корректно использовать, то почему Вы потеряете в надежности?

На протяжении уже нескольких страниц я пытаюсь донести, что проблема кроется как раз в этом самом "Если..."! Т.е. такое хранилище имеет УСЛОВНУЮ поддержку целостности. А это, с моей точки зрения, является грубейшим просчетом проектирования. А к чему такие "просчеты" приводят, уже говорилось.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589627
OA User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin

На протяжении уже нескольких страниц я пытаюсь донести, что проблема кроется как раз в этом самом "Если..."! Т.е. такое хранилище имеет УСЛОВНУЮ поддержку целостности. А это, с моей точки зрения, является грубейшим просчетом проектирования. А к чему такие "просчеты" приводят, уже говорилось.
А с моей точки зрения это самое "Если..." и есть критерий знания разработчиком системы в целом, не СУБД, не средств разработки, не сетевых там каких-то вещей, а именно системы. Все неудачные примеры, которые я приводил, сделаны-то людьми весьма грамотными с точки зрения просто разработки на PL/SQL в частности. Они с Oracle не один год работали, но подход, к которому они привыкли, механически перенесенный в среду определенной системы, дает совершенно непредсказуемые результаты.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589632
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer ModelRТак зачем размазывать контроль
Потому что для надежности решения крайне рекомендуется проверять везде, где только возможно и не слишком напряжно. И из занятий репликацией, и из других работ я вынес простой принцип: проверок много не бывает. Также, надеюсь, Вы согласитесь с тем, что для столь масштабного проекта надежность каждой детали имеет значение "выше среднего".
.Чем плохи общие рассуждения? Их легко довести до абсурда :). Для надежности может и проверку CRC всюду собственную засандалить. softwarer
По сути, Вы говорите примерно следующее: если LookupComboBox не способен выбрать запись, отсутствующую в справочнике, делать внешний ключ на этот справочник необязательно, все и так будет хорошо. В чем-то это верно, но на практике рано или поздно вылезет проблема, например при удалении из этого справочника.Нет, я говорю, что удаление - также операция среднего слоя, и он проверяет все бизнес-правила, связанные с удалением, включая наличие ссылок на удаляемый объект. ФК СУБД в этом случае греет воздух вхолостую - проверяет уже проверенное. Его единственное назначение - а вдруг кто пойдет в обход? - но не будем повторяться.
Кстати, даже удаление может быть связано с логикой, не доступной DRI. Скажем, если ссылающийся объект "дешевый" - то CASCADE его, а иначе RESTRICT. softwarer
ModelRНу будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции.
По этой логике мыться бессмысленно, потому как в итоге все равно умрешь. Нужно проверять и то, и другое, и третье. Есть возможность проверить это "третье" исключительно дешево и надежно. И отказываться от этого - примерно так же оправданно, как прыгать с парашютом без запаски.
Не внимательны, коллега. Вопрос не нужно/ненужно, а где проверять и сколько раз. Следуя Вашим примерам - Иногда нужно все-таки выходить из-под душа. А если повесить десяток запасок, боюсь будет тоже, что не брать парашют вообще.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589729
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OA UserА с моей точки зрения это самое "Если..." и есть критерий знания разработчиком системы в целом, не СУБД, не средств разработки, не сетевых там каких-то вещей, а именно системы. Все неудачные примеры, которые я приводил, сделаны-то людьми весьма грамотными с точки зрения просто разработки на PL/SQL в частности. Они с Oracle не один год работали, но подход, к которому они привыкли, механически перенесенный в среду определенной системы, дает совершенно непредсказуемые результаты.

Я не пытаюсь оспаривать Вашу точку зрения. Я излагаю свою, без привязки к какой-то конкретной ERP системе. И мои высказывания касаются моего мнения об общих подходах к проектирования такой ответственной части, как хранилище системы класса ERP. Сабжевый вопрос касался имеено общих подходов, так как "под раздачу" попали крупнейшие на сегодняшний день ERP системы.

Я считаю, что такое понятие как Разработчик хранилища, а еще круче Архитектор хранилища не должно иметь к себе приписку с названием и условностями той или иной системы. Я готов смириться с особенностями некоторых ERP систем, но вот с "условностями поддержки целостности", извините меня, смириться не могу.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589738
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm ModelR , спрогнозируйте поведение системы на рисунке ниже. В различных ситуациях, в зависимости от того, кто первый стартанет транзакцию. Ведь практически все называют множество серверов приложений в качестве средства масштабирования, и это нормально. Вот только с целостностью данных (не путайте с правильностью транзакций с точки зрения бизнес-логики)А как не путать-то? Что СУБД по счастью умеет декларативно - это целостность, а остальное - не целостность? iscrafmв этом случае нужно что-то делать. Иначе и через рекомендуемый API такого понаделают. Или будете играться уровнями изоляции сводя на нет достигнутую таким образом производительность?
В вашем примере через аппсервер выполняется нативный кода СУБД. по сути это работа в обход аппсервера. Результат ИМХО тот же - 95% бизнес правил остаются без внимания.
Или я чего-то не понял?
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33589802
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRА как не путать-то? Что СУБД по счастью умеет декларативно - это целостность, а остальное - не целостность?

Есть отличие между неправильной транзакцией (исправимо) и безадресной транзакцией. Вам о чем-то говорит платеж клиента {90676D43-82AD-11DA-947D-0020ED19160F}? Или так - CST00128, если суррогатные ключи не любите.


ModelRВ вашем примере через аппсервер выполняется нативный кода СУБД. по сути это работа в обход аппсервера. Результат ИМХО тот же - 95% бизнес правил остаются без внимания.
Или я чего-то не понял?

Сервер приложений с БД в конечном итоге общается на понятном ей языке. Я привел пример конечного итога, упустив моменты, каким образом этот код образовался. В данном вопросе это не важно.
...
Рейтинг: 0 / 0
Внешние ключи в OEBS, SAP, Axapta и тд.
    #33590001
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmЕсть отличие между неправильной транзакцией (исправимо) и безадресной транзакцией. Вам о чем-то говорит платеж клиента {90676D43-82AD-11DA-947D-0020ED19160F}? Или так - CST00128, если суррогатные ключи не любите.Не понял разницу. Безадресная исправима проставлением нужного адреса, или добавлением адресата - смотря как понять"безадресная". Вот скажите, правило "Структура изделия не содержит циклов" это разве не целостность данных? Или пока соотвествующая кляуза не появится в SQL - оно и не целостность? iscrafm
Сервер приложений с БД в конечном итоге общается на понятном ей языке. Я привел пример конечного итога, упустив моменты, каким образом этот код образовался. В данном вопросе это не важно. ИМХО важно. Скорее всего этот код будет частью некоторых транзакций, которые будут содержать блокировки и проверки, что и обеспечит целостность.
Насчет как блокировать тут коллеги по соседству бодаются . И если аппсервер имеет собственный механизм блокировок, то они просто не видимы для СУБД и тут даже ФК не спасет при работе мимо приложения.
...
Рейтинг: 0 / 0
25 сообщений из 115, страница 4 из 5
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Внешние ключи в OEBS, SAP, Axapta и тд.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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