В чем разница между объектным ролевым моделированием и объектно-реляционным отображением? - PullRequest
0 голосов
/ 05 октября 2009

Я узнал о моделировании ролей объектов, но не об объектно-реляционном отображении, и я хочу знать, являются ли они двумя способами выполнения одной и той же вещи и каковы плюсы и минусы? Для меня объектно-ролевое моделирование имеет гораздо больше смысла. Не могли бы вы сделать краткое, но простое для понимания сравнение, если их можно сравнить. Ура

Ответы [ 3 ]

6 голосов
/ 08 октября 2009

Object Role Modeling: нотация программного моделирования, специально для определения моделей предметной области. Вы можете думать об этом языке как об альтернативе использованию диаграмм классов UML для проектирования вашей базы данных. Больше информации здесь: http://www.orm.net/

Объектно-реляционное отображение: набор стратегий для преодоления разрыва между объектно-ориентированными программами и реляционными базами данных. Он направлен на обеспечение постоянного хранения объектов в структуре реляционной базы данных

4 голосов
/ 20 марта 2014

Объектное моделирование ролей было изобретено командой из Control Data в 1973 году и названо Фалькенбергом. Это метод моделирования, основанный на лингвистическом анализе, и был формализован как логика первого порядка Терри Хэлпином, см. http://orm.net. ORM, таким образом, оригинальный пользователь аббревиатуры. ORM и родственные языки моделирования отличаются тем, что не содержит атрибутов . Эти языки содержат только объекты и типы объектов (виды вещей), факты и типы фактов (отношения между отдельными вещами) и ограничения (правила о том, какие вещи и отношения могут существовать). Никакие отношения не имеют характеристики «ведущий-ведомый», как сущность-атрибут - это понятие, которое возникает только во время физического отображения, поскольку оно не имеет отношения к базовой семантике домена.

Object Relational Mapping (которую я всегда пишу O / RM) - это название метода или семейства инструментов, которые помогают переводить данные между реляционной формой и объектно-ориентированной формой. Обе эти формы используют агрегированные или составные вещи, основанные на атрибутах (сущность / атрибут или объект / атрибут), но принципы агрегирования различаются между двумя подходами, поэтому одна и та же базовая семантика приводит к различным структурам данных; отсюда необходимость в инструментах, помогающих автоматизировать перевод. Кроме того, в анализе ER или O-O необходимость принятия заблаговременных решений о том, какие объекты являются объектами / объектами, а какие - атрибутами, является вынужденной, и это приводит к целому классу ошибок моделирования, которые просто не возникают в ORM.

Конечно, как реляционные модели, так и модели o-o могут быть автоматически получены из модели ORM, и отображение между производными формами также происходит автоматически и безболезненно. Я полагаю, это не так часто, потому что это сделало бы жизнь слишком легкой.

3 голосов
/ 05 октября 2009

Вы превращаете яблоки в апельсины. Объектно-реляционное сопоставление - это попытка преодолеть несоответствие импеданса между объектным миром и реляционными базами данных.

Например, Activerecord - это ORM, который переносит строку в базе данных. Hibernate - еще один популярный ORM

Просто Google для ORM Википедия объясняет это намного лучше

http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...