Python Academy · पाठ

SQLAlchemy Core बनाम ORM

दोनों परतों को समझें

पाठ 1, कुल 4 में से13 चरण

SQLAlchemy Core बनाम ORM, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

SQLAlchemy क्या है

SQLAlchemy रिलेशनल डेटाबेस के साथ काम करने के लिए सबसे लोकप्रिय Python टूलकिट है। यह दो स्तर प्रदान करता है: Core और ORM।

इसे pip install sqlalchemy से इंस्टॉल करें।

from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print('Engine:', engine)

इंजन

दोनों स्तरों की शुरुआत Engine से होती है, जिसे create_engine() बनाता है। यह कनेक्शन पूल संभालता है और URL के माध्यम से आपके विशिष्ट डेटाबेस से बात करना जानता है।

from sqlalchemy import create_engine
engine = create_engine('sqlite:///app.db')
print('Dialect:', engine.dialect.name)

दो स्तर

Core SQL अभिव्यक्तियों का टूलकिट है: इसमें आप ऐसी क्वेरी बनाते हैं जो SQL से क़रीबी रूप से मेल खाती हैं।

ORM, Core के ऊपर बना है और Python क्लासों को तालिकाओं से मैप करता है, इसलिए आप पंक्तियों के बजाय ऑब्जेक्ट के साथ काम करते हैं।

# Core: think in tables and SQL expressions
# ORM: think in Python classes and objects
print('Core = SQL toolkit, ORM = object mapping')

Core: तालिका परिभाषित करना

Core में आप Table और MetaData ऑब्जेक्ट के साथ तालिकाओं का स्पष्ट रूप से वर्णन करते हैं।

from sqlalchemy import MetaData, Table, Column, Integer, String
metadata = MetaData()
users = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String))
print('Table defined:', users.name)

Core: क्वेरी बनाना

Core select() जैसी Python अभिव्यक्तियों से क्वेरी बनाता है, जो सीधे SQL में बदल जाती हैं।

from sqlalchemy import MetaData, Table, Column, Integer, String, select
metadata = MetaData()
users = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String))
stmt = select(users).where(users.c.name == 'Alice')
print(stmt)

ORM: मैप की गई क्लास

ORM में Python की एक क्लास तालिका का प्रतिनिधित्व करती है। हर गुण एक कॉलम से मैप होता है। आप कच्ची पंक्तियों के बजाय ऑब्जेक्ट की क्वेरी करते हैं और उन्हें सहेजते हैं।

from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
class Base(DeclarativeBase):
    pass
class User(Base):
    __tablename__ = 'users'
    id: Mapped[int] = mapped_column(primary_key=True)
    name: Mapped[str]
print('Mapped class:', User.__tablename__)

Core का उपयोग कब करें

जब आपको सटीक SQL पर बारीक नियंत्रण चाहिए, बड़ी मात्रा में डेटा पर काम करना हो, या जटिल रिपोर्टिंग क्वेरी चलानी हो जिनमें ऑब्जेक्ट अतिरिक्त बोझ डालते हैं, तब Core उपयुक्त है।

# Core is great for:
# - bulk inserts/updates
# - complex analytical queries
# - close control over generated SQL
print('Core: control and performance')

ORM का उपयोग कब करें

ORM सामान्य एप्लिकेशन कोड के लिए उपयुक्त है: आप व्यावसायिक इकाइयों को क्लासों के रूप में मॉडल करते हैं, बदलावों की निगरानी पाते हैं और कम दोहराव वाला कोड लिखते हैं।

# ORM is great for:
# - application domain models
# - automatic change tracking
# - relationships between objects
print('ORM: productivity and clarity')

दोनों एक ही इंजन साझा करते हैं

ORM, Core पर बना है, इसलिए दोनों एक ही Engine और कनेक्शन पूल का उपयोग करते हैं। आप एक ही एप्लिकेशन में दोनों को मिला भी सकते हैं।

from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
# Core uses engine.connect()
# ORM uses a Session bound to the same engine
print('One engine powers both layers')

तालिकाएँ बनाना

ORM के साथ, Base.metadata.create_all(engine) सभी मैप की गई क्लासों के लिए CREATE तालिका वाले कथन जारी करता है।

from sqlalchemy import create_engine
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
class Base(DeclarativeBase):
    pass
class User(Base):
    __tablename__ = 'users'
    id: Mapped[int] = mapped_column(primary_key=True)
engine = create_engine('sqlite:///:memory:')
Base.metadata.create_all(engine)
print('Tables created')

एक स्तर चुनना

अधिकांश ऐप रोज़मर्रा के काम के लिए डिफ़ॉल्ट रूप से ORM का उपयोग करते हैं, फिर कभी-कभार होने वाली भारी या अत्यधिक अनुकूलित क्वेरी के लिए Core पर आते हैं। दोनों को जानने से आपको लचीलापन मिलता है।

# Rule of thumb:
# Start with the ORM. Use Core where you need raw power.
print('Default ORM, escape to Core when needed')

त्वरित जाँच

दोनों स्तरों की अपनी समझ जाँचें।

पुनरावलोकन

आपने SQLAlchemy की संरचना को समझा।

  • Engine, create_engine() के माध्यम से सब कुछ संचालित करता है
  • Core नियंत्रण और बेहतर प्रदर्शन के लिए SQL अभिव्यक्तियों का टूलकिट है
  • ORM उत्पादक ऐप कोड के लिए क्लासों को तालिकाओं से मैप करता है
  • दोनों एक ही इंजन साझा करते हैं और इन्हें मिलाकर उपयोग किया जा सकता है
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “SQLAlchemy Core बनाम ORM” पाठ निःशुल्क है?

हाँ—“SQLAlchemy Core बनाम ORM” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“SQLAlchemy Core बनाम ORM” में मैं क्या सीखूँगा?

दोनों परतों को समझें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“SQLAlchemy Core बनाम ORM” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. SQLAlchemy Core बनाम ORM
  2. मॉडल परिभाषित करना
  3. Session से क्वेरी करना
  4. संबंध और जॉइन
← Python Academy पर वापस जाएँ