JET School

ORM nədir?

ORM, yəni Object-Relational Mapping, proqramçının Python obyektləri ilə işləyərək arxa planda SQL sorğularını avtomatik idarə etməsinə imkan verən texnikadır. Yəni, siz SQL kodları yazmadan, verilənlər bazası əməliyyatlarını Python sinifləri və obyektləri vasitəsilə həyata keçirə bilərsiniz.

ORM birbaşa olaraq obyekt yönümlü proqramlaşdırma ilə relyasiya əsaslı verilənlər bazaları arasında çevirmə funksiyası görür. Bu texnika, həm kodun oxunaqlığını artırır, həm də təhlükəsizlik və məhsuldarlığı optimallaşdırır.

ORM necə işləyir?

ORM sistemində, Python sinifləri — verilənlər bazasındakı cədvəlləri,

obyektlərin atributları — cədvəllərin sütunlarını,

obyektin özü isə — verilənlər bazasında bir sətri təmsil edir.

Məsələn:


from sqlalchemy import Column, Integer, String

from sqlalchemy.ext.declarative import declarative_base


Base = declarative_base()


class Istifadeci(Base):

__tablename__ = 'istifadeciler'

id = Column(Integer, primary_key=True)

ad = Column(String)

email = Column(String)

Bu sinifə əsaslanaraq ORM arxa planda aşağıdakı kimi bir SQL cədvəli yaradır:


CREATE TABLE istifadeciler (

id INTEGER PRIMARY KEY,

ad TEXT,

email TEXT

);

ORM istifadəsinin üstünlükləri:

  • SQL kodu yazmadan verilənlər bazası ilə işləmək imkanı
  • Verilənlər üzərində obyekt yönümlü nəzarət
  • Təhlükəsizliyin artırılması — ORM avtomatik olaraq SQL injection təhlükələrindən qoruyur
  • Kodun daha oxunaqlı və saxlanması asan olması
  • Verilənlər bazası dəyişikliklərini idarə etmək üçün migration sistemləri (məsələn, Alembic, Django Migrations)

Nə zaman ORM istifadə etməmək olar?

ORM çox faydalıdır, amma bəzi hallarda daha aşağı səviyyəli və optimallaşdırılmış SQL tələb olunduqda ORM uyğun olmaya bilər. Məsələn, çox mürəkkəb JOIN əməliyyatlarında və ya böyük datasetlərə bulk əməliyyatlar ediləndə manual SQL daha effektiv ola bilər.

Məşhur Python ORM Kitabxanaları:

  • SQLAlchemy – geniş imkanlara malik, sənaye standartı ORM kitabxanası
  • Django ORM – Django çərçivəsinə daxildir və istifadəsi çox rahatdır
  • Tortoise ORM, Peewee, Pony ORM – yüngül və ya async dəstəyi olan alternativlər

Teqlər:

Əlaqəli terminlər:

IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!