Sobes.tech
Junior — Middle
79

Jak odróżnić użycie ORM od pisania bezpośrednich zapytań SQL podczas pracy z bazą danych?

Firmy, w których zadano pytania
GGSel

Odpowiedź od AI

sobes.tech AI

ORM (Object-Relational Mapping) позволяет работать с базой данных через объекты и методы языка программирования, скрывая детали SQL-запросов. Вместо написания SQL вручную, вы оперируете классами и их атрибутами, а ORM генерирует и выполняет SQL за вас.

Прямые SQL-запросы — это когда вы пишете текстовые запросы SQL явно и отправляете их в базу данных, например, через курсор.

Пример с использованием SQLAlchemy ORM в Python:

# ORM
user = session.query(User).filter(User.id == 1).first()
print(user.name)

Пример прямого SQL-запроса:

cursor.execute("SELECT name FROM users WHERE id = %s", (1,))
name = cursor.fetchone()[0]
print(name)

Отличие в уровне абстракции: ORM скрывает SQL, работает с объектами, а прямой SQL требует писать запросы вручную и обрабатывать результаты.