Кто-то предложил мне использовать ORM для проекта, который я разрабатываю, но у меня возникают проблемы с поиском информации о том, что это такое и как оно работает.
Кто-нибудь может дать мне краткое объяснение, что такое ORM и как он работает, и как мне начать использовать его?
database
orm
language-agnostic
Райан
источник
источник
Ответы:
Введение
Объектно-реляционное отображение (ORM) - это метод, который позволяет запрашивать и манипулировать данными из базы данных с использованием объектно-ориентированной парадигмы. Говоря об ORM, большинство людей ссылаются на библиотеку, которая реализует технику объектно-реляционного отображения, отсюда и фраза «ORM».
Библиотека ORM - это совершенно обычная библиотека, написанная на выбранном вами языке, которая инкапсулирует код, необходимый для манипулирования данными, поэтому вы больше не используете SQL; вы взаимодействуете непосредственно с объектом на том же языке, который используете.
Например, вот совершенно воображаемый случай с псевдоязыком:
У вас есть класс книг, вы хотите получить все книги, автором которых является "Линус". Вручную вы бы сделали что-то вроде этого:
С библиотекой ORM это будет выглядеть так:
Механическая часть автоматически обрабатывается с помощью библиотеки ORM.
Плюсы и минусы
Использование ORM экономит много времени, потому что:
Использование библиотеки ORM более гибко, потому что:
Но ORM может быть болью
for
цикле.Как узнать об ORM?
Ну, используйте один. Какую бы библиотеку ORM вы ни выбрали, все они используют одни и те же принципы. Здесь много библиотек ORM:
Если вы хотите попробовать библиотеку ORM в веб-программировании, вам лучше использовать весь стек фреймворков, например:
Не пытайтесь написать свой собственный ORM, если вы не пытаетесь чему-то научиться. Это гигантская работа, и старым потребовалось много времени и работы, прежде чем они стали надежными.
источник
Конечно.
ORM означает «объект-реляционное отображение», где
Часть Object - это та, которую вы используете со своим языком программирования (в данном случае с python)
Реляционная частью является Реляционной СУБД System (база данных , которая есть) есть и другие типы баз данных , но наиболее популярные являются реляционной (вы знаете , таблицы, столбцы, рк Ф.К. и т.д. , например , Oracle MySQL, MS-SQL)
И, наконец, в разделе Mapping вы создаете мост между вашими объектами и таблицами.
В приложениях, где вы не используете платформу ORM, вы делаете это вручную. Использование платформы ORM позволит вам уменьшить шаблон, необходимый для создания решения.
Допустим, у вас есть этот объект.
и стол
Использование платформы ORM позволит вам автоматически сопоставить этот объект с записью в базе данных и написать что-то вроде:
И сотрудник вставлен в БД.
К сожалению, это не было так кратко, но я надеюсь, что это достаточно просто, чтобы поймать другие статьи, которые вы прочитали.
источник
ORM (Object Relational Mapper) - это часть / слой программного обеспечения, который помогает сопоставить ваши объекты кода с вашей базой данных.
Некоторые обрабатывают больше аспектов, чем другие ... но цель состоит в том, чтобы снять часть веса уровня данных с плеч разработчика.
Вот краткий клип от Мартина Фаулера (Data Mapper):
Шаблоны картографических данных архитектуры корпоративных приложений
источник
Как и все аббревиатуры, это неоднозначно, но я предполагаю, что они имеют в виду объектно-реляционное отображение - способ скрыть ваши глаза и убедить, что под ними нет SQL, а скорее все объекты ;-). Конечно, не совсем так, и не без проблем - всегда красочный Джефф Этвуд описывает ORM как Вьетнам CS ;-). Но, если вы плохо знаете или не знаете SQL, и у вас есть довольно простая / мелкая проблема, они могут сэкономить ваше время! -)
источник
Объектная модель связана со следующими тремя концепциями Наследование инкапсуляции данных. Наследование В реляционной модели использовалась основная концепция отношения или таблицы. Продукты объектно-реляционного отображения (OR mapping) объединяют возможности языка объектного программирования с реляционными базами данных.
источник