|
![]() |
#1 |
Участник
|
Цитата:
Цитата:
Цитата:
Не требуют relation суррогатных ключей - открой морпхикс и простой рилейшен на любых ключах. Это ключи а не релейшены указатели. Это они требуют внимания программиста. Проблема аккаунты в том, что нельзя в запросах использовать рилейшены аи не ключи. Цитата:
если же перейти на уровень "принадлежит", то получим структуры типа xml/json
где никаких суррогатных ключей (указателей) не требуется. Последний раз редактировалось belugin; 29.12.2016 в 20:51. |
|
![]() |
#2 |
Участник
|
ну да, ну да... использует, наследует...
но со ссылками почти все превращается в семантику "содержит". кроме того, мы же находимся в контексте data entity. а в этом контексте даже навигационные свойства к внешним data entity превращаются в "принадлежит". я говорил в этом контексте. согласен с тем, что сформулировано коряво. над формулировкой нужно еще подумать. Цитата:
я говорил не о любых relation, а о сильно нормализованных таблицах. в которых связь технически нужно реализовать, но отражения на реальный мир эта связь не имеет. такие relation как правило реализуются суррогатными ключами. в аксапте это DimId, системная номерная серия и прочие для таких ключей в номерной серии безболезненно можно использовать & вместо # - пользователи этого не заметят. так вот, data entity полностью устраняют потребность в таких технических ключах. Цитата:
нужно генерить искуственные ключи, чтобы их можно было использовать как Foregn Key, и таким образом реализовать Relation в сильно нормализованных таблицах. да, сформулировано было коряво. надо подумать ну да, ну да - "если объект может принадлежать нескольким объектам". другими словами, граф, содержащий хотя бы один нетривиальный цикл. (не дерево) Последний раз редактировалось mazzy; 29.12.2016 в 22:49. |
|
![]() |
#3 |
Участник
|
Цитата:
Цитата:
в которых связь технически нужно реализовать, но отражения на реальный мир эта связь не имеет.
Цитата:
такие relation как правило реализуются суррогатными ключами.
в аксапте это DimId, системная номерная серия и прочие для таких ключей в номерной серии безболезненно можно использовать & вместо # - пользователи этого не заметят. так вот, data entity полностью устраняют потребность в таких технических relation. |
|
![]() |
#4 |
Участник
|
какие?
Цитата:
DimId - очень древний пример DirParty - не очень древний. Цитата:
Сообщение от belugin
![]() Relation есть в предметной области. Entity для потребителя представляет такой relation как отсутствующий, как я понял. То есть вместо "У строки есть набор аналитик" получается "У строки есть подразделение". А сама группировка некого набора признаков в понятие "набор аналитик" исчезает.
только стоит отметить, что "исчезает" из логических рассуждений. исчезает из концептуальной модели. технически все остается на месте. |
|
![]() |
#5 |
Участник
|
Любые выразимые Relations в аксапте.
Например LendgerEntity\Relations\AccountingCurrency - RelationshipType=Association Цитата:
я ж приводил.
DimId - очень древний пример DirParty - не очень древний. Адресная книга и виды ее элементов есть в UI. Цитата:
угу.
только стоит отметить, что "исчезает" из логических рассуждений. исчезает из концептуальной модели. технически все остается на месте. |
|
![]() |
#6 |
Участник
|
не-не. давай про энтити
я утверждаю, что relations сводятся в энтити к семантике "принадлежит". и других семантик, кроме "принадлежит" в энтити нет. хотя на техническом уровне relations вполне остаются. полностью аналогично ссылкам: ссылки упрощают понимание, но на техническом уровне остаются указатели. я так понимаю, что ты говоришь, что в энтити существуют relations-семантики. какие типы семантик, кроме "принадлежит" существуют в энтити? можешь сформулировать одним полным абзацем? без отсылок к предыдущим и умолчаний? так чтобы можно было точно понять твою мысль Цитата:
как значение технического свойства влияет на уровень семантики? с точки зрения понимания здесь будет - валюта принадлежит финансовой проводке. разве не? Цитата:
но не "комбинации аналитик" и не dimID. с точки зрения рассуждений пользователя о системе - в каждой проводке указана аналитика. другими словами, аналитика принадлежит проводке. а вот то, что это отдельная таблица - это сугубо технический аспект реализации. адресная книга - да. но не разбивка на это безумное число таблиц, которые требуют связей между собой. обрати внимание, как об этом думаешь: адреса принадлежат поставке (поставка содержит адреса) контактные лица клиента... и т.п. а вот внутри технической реализации будут нормализованные таблицы. Цитата:
с точки зрения рассуждений пользователя особой разницы нет - будет ли аналитика в отдельной группе или не будет. а почему неправильно? |
|
![]() |
#7 |
Участник
|
Цитата:
Это relation между LengerEntity и CurrencyEntity Цитата:
я так понимаю, что ты говоришь, что в энтити существуют relations.
какие типы семантик, кроме "принадлежит" существуют в энтити? Между entity могут быть любые отношения. Внутри Entity тоже, просто для внешнего потребителя эти отношения превращаются в плоский список. Что плохо. Цитата:
поясни?
как значение технического свойства влияет на уровень семантики? Цитата:
Это свойство не влияет на рантайм никак это просто коммент для того, чтобы мы понимали тип отношения. разве не? Она не принадлежит. При изменении чего-то в финансовой проводки состояние валюты не меняется. Может только возникнуть отношение с другой валютой. Цитата:
аналитика - да.
но не "комбинации аналитик" и не dimID. У нескольких проводок может быть одна и та же комбинация аналитик. То есть бессмыслено X++: transaction.DimensionID += 'a'; X++: transactions.Where(x => x.Dimension == currentTransaction.Dimension); foreach(value in transaction.Dimension) { print $' {value.name} - {value.value}'; } Цитата:
с точки зрения рассуждений пользователя о системе - в каждой проводке указана аналитика. другими словами, аналитика принадлежит проводке.
Цитата:
адресная книга - да.
но не разбивка на это безумное число таблиц, которые требуют связей между собой. Цитата:
обрати внимание, как об этом думаешь:
адреса принадлежат поставке (поставка содержит адреса) Один и тот же адрес может относиться к разным поставкам. Это если слово "принадлежит" для тебя composition. Цитата:
то, что выделено в отдельную группу - особенность реализации.
с точки зрения рассуждений пользователя особой разницы нет - будет ли аналитика в отдельной группе или не будет. Цитата:
а почему неправильно?
|
|
![]() |
#8 |
Banned
|
Цитата:
Сообщение от mazzy
![]() не-не. давай про энтити
я утверждаю, что relations сводятся в энтити к семантике "принадлежит". и других семантик, кроме "принадлежит" в энтити нет. хотя на техническом уровне relations вполне остаются. полностью аналогично ссылкам: ссылки упрощают понимание, но на техническом уровне остаются указатели. я так понимаю, что ты говоришь, что в энтити существуют relations-семантики. какие типы семантик, кроме "принадлежит" существуют в энтити? можешь сформулировать одним полным абзацем? без отсылок к предыдущим и умолчаний? так чтобы можно было точно понять твою мысль Есть связи обусловленные фактами (fact oriented) и есть связи обусловленные принадлежностью (object oriented). "Принадлежит" это на мой вкус - "object oriented", там где есть логическое структурирование и обьектная модель, а вот "fact oriented" - принадлежности не чувствуется. То есть как минимум две основные семантики у связей object oriented (принадлежность) fact oriented (логическое указание на факт) https://en.wikipedia.org/wiki/Semantic_data_model Прошу прощения если увел не туда ![]() |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|