AR, ORM, Query Builder - хочется разобраться

  • Автор темы Автор темы WMix
  • Дата начала Дата начала
ksnk
Фаулер уже успел застолбить эту аббревиатуру
Т.е. если бы ты закон Ом трактовал как-то иначе, то в этом был виноват Ом? Да и вообще он уже устарел, т.к. был дан в 1826 году. Так что теперь буду считать под законом Ома все что захочу.
ORM - это не AR. Но AR - это ORM. Автомобить - это не Жигули. А Жигули - это автомобиль (наверное).
повязал его на реляционную модель данных
Так а на что должно быть повязано объектно-реляционное преобразование, если не на реляционную БД?
 
Даже если нереляционная, это не значит, что отношений нет.
Сообщение содержит комментарий, содержащий логин юзера. При этом есть отдельный документ, описывающий этого юзера. Отношение.
И описывается в ORM нормально: http://docs.doctrine-project.org/pr...dm/en/latest/reference/reference-mapping.html

Более того, могут быть отношения, одна сущность которого лежит в NoSQL, а вторая в MySQL: http://docs.doctrine-project.org/pr...st/cookbook/blending-orm-and-mongodb-odm.html
И это прозрачно для ORM.
 
keltanas Вам хочется аналогий? Давайте посмотрим на Ньютона и Эйнштейна. imho несколько ближе к рассматриваемой ситуации.

noSql база не реляционная. определение "реляционная" слишком малO для возможностей noSql. Она сурепреляционная :) Все, что можно записать на json + рекурсивные ссылки - это все можно сохранить и относительно разумно обработать. Ее прелесть в том (впрочем - и только в том) что она эффективно работает с деревянными ветвистыми конструкциями. Наиболее жизненный пример - карточка товара с кучей разнокалиберных свойств и и произвольной разбивкой по категориям. Искать товары по монге - легко и приятно. Искать то же по sql базе - отвратительно и медленно.
 
Чото вы разошлись. :)

Есть представление какой-то сущности в виде объекта, есть его персистенция в реляционной базе данных (если база не реляционная, это object persistence, но уже не ORM).

ORM - это маппинг одного на другое. Любой. Вручную написанные SQL-запросы для маппинга - тоже ORM.

AR - это смешивание одного и другого в один объект: AR-модель содержит данные сущности и сама себя персистит.
 
Возможны, но сам термин ORM означает маппинг объектов на классическую реляционную базу.
Это, конечно, условность, можно и расширить термин. :)
 
Возможны, но сам термин ORM означает маппинг объектов на классическую реляционную базу.
В чем разница меппинга на одноуровневые документы и на myisam с точки зрения сущности?
 
мне хочется настоять на слове relation = таблица. релационная база данных это база в которой храняться только таблицы, отношения между таблицами могут тоже быть построены на таблицах. Mongo, CouchDb это не релационные а документо-базированные базы данных. (или как это по русски?)
моделью может быть что угодно и вебсервисе и монго но какой смысл мапинга в монго?, там и так готовый обьект, напиши просто json_decode
 
И что, Ингресс и Систем Р - первые шаги по работе Кодда о реляционной модели, в 77-м прям вот с внешними ключами были сразу?
 
Не обязательно иметь конструкцию foreign key. Важно иметь версионный движок, поддерживающий транзакции и позволяющий в принципе обеспечить ссылочную целостность. Триггером, внешним кодом - не суть важно.

Ingres с самого начала был построен на версионном движке.
 
Как отсутствие транзакций может помешать _принципу_ ссылочной целостности?
 
Ну расскажи, как ты будешь обеспечивать ссылочную целостность без версионного движка.
 
Интересно наблюдать сваливание дискуссии в спор о терминах. Сначала Absinthe докопался, потом MiksIr продолжил.
И никого уже не волнует, что выяснение принадлежности майисама к рсубд никакого отношения к первоначальному вопросу не имеет.

Фикс предложил довольно-таки корректное определение, которое вполне может использоваться как базовое.
Но вот надо обязательно докопаться
 
Лучше бы ты внимательнее читал. Я говорил обратное, что ORM нормально ложится и на NoSQL.
Но, называться она уже будет как-то по другому. Например, ODM.
К чему вообще этот спор о терминах, если все обсуждаемые термины уже имеют классические определения, принятые во всем мире? Зачем упираться, когда это надо просто принять?

keltanas Вам хочется аналогий? Давайте посмотрим на Ньютона и Эйнштейна. imho несколько ближе к рассматриваемой ситуации.

Ты желаешь оспорить законы Ньютона, или ОТО?
 
Сверху