|
![]() |
#1 |
Участник
|
Цитата:
И никаких проблем с RecID, никаких идиотских структур типа DirParty. Вместо понятия Relations - понятие Принадлежит. Ляпота. Программистская. Чего ж реализация то такая странная? Цитата:
И как раз предлагаю обсудить - а почему собственно? Какие могут быть рациональные причины для изобретения собственного велосипеда в Аксапте? Понятно, что "как всегда"... Но вдруг таки можно найти рациональное зерно? |
|
![]() |
#2 |
Участник
|
"Пинадлежит" концептуально одно из видов Relations. Просто в аксапте Relations не дотупны их запросов. Нельзя написать.
X++: select PurchaseOrder where exists(PurchaseOrder.markup.Code == 'x') && exists(PurchaseOrder.lines.markup.code == 'x'); |
|
![]() |
#3 |
Участник
|
все это указатели )
но на практике программисты всевозможными путями пытаются избавиться от указателей в пользу ссылок. казалось бы - пустая смена терминологии. но в результате современные программные библиотеки навязывают стиль мышления "содержит", а не "указывает". объект "содержит" другой объект объект "принадлежит" другому объекту. хотя в реальной памяти конечно же работают указатели. так и relations - это указатели в области баз данных relations требуют суррогатных ключей. relations требуют внимания от программиста если же перейти на уровень "принадлежит", то получим структуры типа xml/json где никаких суррогатных ключей (указателей) не требуется. но зато такая абстракция "протекает", если объект может принадлежать нескольким объектам. что в программировании ссылок, что в программировании баз данных. примерно так. ========================== поэтому я и считаю, что переход с абстракции relation на следующий уровень абстракции "принадлежит" сильно упрощает программирование в большинстве случаев. но именно из-за "протекания" абстракции и вводят такое понятие как "бизнес-данные" |
|
![]() |
#4 |
Участник
|
Цитата:
Цитата:
Цитата:
Не требуют relation суррогатных ключей - открой морпхикс и простой рилейшен на любых ключах. Это ключи а не релейшены указатели. Это они требуют внимания программиста. Проблема аккаунты в том, что нельзя в запросах использовать рилейшены аи не ключи. Цитата:
если же перейти на уровень "принадлежит", то получим структуры типа xml/json
где никаких суррогатных ключей (указателей) не требуется. Последний раз редактировалось belugin; 29.12.2016 в 20:51. |
|
![]() |
#5 |
Участник
|
ну да, ну да... использует, наследует...
но со ссылками почти все превращается в семантику "содержит". кроме того, мы же находимся в контексте data entity. а в этом контексте даже навигационные свойства к внешним data entity превращаются в "принадлежит". я говорил в этом контексте. согласен с тем, что сформулировано коряво. над формулировкой нужно еще подумать. Цитата:
я говорил не о любых relation, а о сильно нормализованных таблицах. в которых связь технически нужно реализовать, но отражения на реальный мир эта связь не имеет. такие relation как правило реализуются суррогатными ключами. в аксапте это DimId, системная номерная серия и прочие для таких ключей в номерной серии безболезненно можно использовать & вместо # - пользователи этого не заметят. так вот, data entity полностью устраняют потребность в таких технических ключах. Цитата:
нужно генерить искуственные ключи, чтобы их можно было использовать как Foregn Key, и таким образом реализовать Relation в сильно нормализованных таблицах. да, сформулировано было коряво. надо подумать ну да, ну да - "если объект может принадлежать нескольким объектам". другими словами, граф, содержащий хотя бы один нетривиальный цикл. (не дерево) Последний раз редактировалось mazzy; 29.12.2016 в 22:49. |
|
![]() |
#6 |
Участник
|
Цитата:
Цитата:
в которых связь технически нужно реализовать, но отражения на реальный мир эта связь не имеет.
Цитата:
такие relation как правило реализуются суррогатными ключами.
в аксапте это DimId, системная номерная серия и прочие для таких ключей в номерной серии безболезненно можно использовать & вместо # - пользователи этого не заметят. так вот, data entity полностью устраняют потребность в таких технических relation. |
|
![]() |
#7 |
Участник
|
какие?
Цитата:
DimId - очень древний пример DirParty - не очень древний. Цитата:
Сообщение от belugin
![]() Relation есть в предметной области. Entity для потребителя представляет такой relation как отсутствующий, как я понял. То есть вместо "У строки есть набор аналитик" получается "У строки есть подразделение". А сама группировка некого набора признаков в понятие "набор аналитик" исчезает.
только стоит отметить, что "исчезает" из логических рассуждений. исчезает из концептуальной модели. технически все остается на месте. |
|
![]() |
#8 |
Участник
|
Цитата:
|
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от belugin
![]() Как ORM это vietnam of computer science так и создание бизнесобъектов это Вьетнам Аксапты. В итоге решили вырастить из того, что есть. Инкрементно. Добавить во view возможность обновления данных и постепенно наращивать возможности.
|
|
![]() |
#10 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|