|
|
|
|
#1 |
|
Участник
|
"Пинадлежит" концептуально одно из видов Relations. Просто в аксапте Relations не дотупны их запросов. Нельзя написать.
X++: select PurchaseOrder where exists(PurchaseOrder.markup.Code == 'x') && exists(PurchaseOrder.lines.markup.code == 'x'); |
|
|
|
|
#2 |
|
Участник
|
все это указатели )
но на практике программисты всевозможными путями пытаются избавиться от указателей в пользу ссылок. казалось бы - пустая смена терминологии. но в результате современные программные библиотеки навязывают стиль мышления "содержит", а не "указывает". объект "содержит" другой объект объект "принадлежит" другому объекту. хотя в реальной памяти конечно же работают указатели. так и relations - это указатели в области баз данных relations требуют суррогатных ключей. relations требуют внимания от программиста если же перейти на уровень "принадлежит", то получим структуры типа xml/json где никаких суррогатных ключей (указателей) не требуется. но зато такая абстракция "протекает", если объект может принадлежать нескольким объектам. что в программировании ссылок, что в программировании баз данных. примерно так. ========================== поэтому я и считаю, что переход с абстракции relation на следующий уровень абстракции "принадлежит" сильно упрощает программирование в большинстве случаев. но именно из-за "протекания" абстракции и вводят такое понятие как "бизнес-данные" |
|
|
|
|
#3 |
|
Участник
|
Цитата:
Цитата:
Цитата:
Не требуют relation суррогатных ключей - открой морпхикс и простой рилейшен на любых ключах. Это ключи а не релейшены указатели. Это они требуют внимания программиста. Проблема аккаунты в том, что нельзя в запросах использовать рилейшены аи не ключи. Цитата:
если же перейти на уровень "принадлежит", то получим структуры типа xml/json
где никаких суррогатных ключей (указателей) не требуется. Последний раз редактировалось belugin; 29.12.2016 в 20:51. |
|
|
|
|
#4 |
|
Участник
|
ну да, ну да... использует, наследует...
но со ссылками почти все превращается в семантику "содержит". кроме того, мы же находимся в контексте data entity. а в этом контексте даже навигационные свойства к внешним data entity превращаются в "принадлежит". я говорил в этом контексте. согласен с тем, что сформулировано коряво. над формулировкой нужно еще подумать. Цитата:
я говорил не о любых relation, а о сильно нормализованных таблицах. в которых связь технически нужно реализовать, но отражения на реальный мир эта связь не имеет. такие relation как правило реализуются суррогатными ключами. в аксапте это DimId, системная номерная серия и прочие для таких ключей в номерной серии безболезненно можно использовать & вместо # - пользователи этого не заметят. так вот, data entity полностью устраняют потребность в таких технических ключах. Цитата:
нужно генерить искуственные ключи, чтобы их можно было использовать как Foregn Key, и таким образом реализовать Relation в сильно нормализованных таблицах. да, сформулировано было коряво. надо подумать ну да, ну да - "если объект может принадлежать нескольким объектам". другими словами, граф, содержащий хотя бы один нетривиальный цикл. (не дерево) Последний раз редактировалось mazzy; 29.12.2016 в 22:49. |
|
|
|
|
#5 |
|
Участник
|
Цитата:
Цитата:
в которых связь технически нужно реализовать, но отражения на реальный мир эта связь не имеет.
Цитата:
такие relation как правило реализуются суррогатными ключами.
в аксапте это DimId, системная номерная серия и прочие для таких ключей в номерной серии безболезненно можно использовать & вместо # - пользователи этого не заметят. так вот, data entity полностью устраняют потребность в таких технических relation. |
|
|
|
|
#6 |
|
Участник
|
какие?
Цитата:
DimId - очень древний пример DirParty - не очень древний. Цитата:
Сообщение от belugin
Relation есть в предметной области. Entity для потребителя представляет такой relation как отсутствующий, как я понял. То есть вместо "У строки есть набор аналитик" получается "У строки есть подразделение". А сама группировка некого набора признаков в понятие "набор аналитик" исчезает.
только стоит отметить, что "исчезает" из логических рассуждений. исчезает из концептуальной модели. технически все остается на месте. |
|
|
|
|
#7 |
|
Участник
|
Любые выразимые Relations в аксапте.
Например LendgerEntity\Relations\AccountingCurrency - RelationshipType=Association Цитата:
я ж приводил.
DimId - очень древний пример DirParty - не очень древний. Адресная книга и виды ее элементов есть в UI. Цитата:
угу.
только стоит отметить, что "исчезает" из логических рассуждений. исчезает из концептуальной модели. технически все остается на месте. |
|
|
|
|
|