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 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 ç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.
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!