در سال ۱۹۷۰ بوسیله ادگار کاد (Edgar Codd) مفهوم پایگاه داده های رابطه ای ارائه شد و از آن روز یکی از مهمترین منابعی است که توسط برنامه های متفاوت مانند برنامه های تحت وب مورد استفاده قرار می گیرندداده های ذخیره شده در سیستم پایگاه داده های رابطه ای (RDBMS) بوسیله زبان استانداردی به نام SQL مورد دسترسی قرار می گیرند. هر یک از این سیستم های پایگاه داده رابطه ای واسط (Interface) خودشان را دارند، بنابراین در زبان های برنامه نوسی مانند پایتون لازم است کتابخانه ها و ماژول های متفاوتی نصب شوند تا بتوانیم به هر یک از این پایگاه داده ها دسترسی داشته باشیم.

زبان پایتون و دیگر زبان های برنامه نوسی دارای کتابخانه هایی به نام نگاشت شی رابطه ای (Object-Relation Mapping یا ORM) هستند که به صورت یک واسط یکپارچه بر روی تمامی یا بیشتر پایگاه داده ها هستندبه عبارت دیگر توسط ORM پیچیدگی ها و تفاوت های میان پایگاه داده های رابطه ای پنهان می شود و سپس کاربر از طریق ORM می تواند با یک سری از دستورها به پایگاه داده های متفاوت متصل شده و داده ها را بدست آورد یا ذخیره کند.

با ORM دیگر نیازی به نوشتن کوئری های SQL نیست، زیرا خود ORM دستورهای نوشته شده با زبان پایتون را به کوئری های معادل آن نگاشت می دهد و سپس با استفاده از درایور مربوط به آن پایگاه داده، با پایگاه داده هدف ارتباط برقرار می کند و سپس نتیجه را دریافت و به کاربر نشان می دهد.

بنابراین برای کار با ORM در پایتون باید انجام دهید شامل گام های زیر است:

۱نصب کردن کتابخانه ORM که یکی از مهمترین کتابخانه های ORM در پایتون SqlAchemy نام دارد. اگر از محیط آناکوندا استفاده می کنید، این کتابخانه از پیش نصب شده است.

۲  نصب درایور پایگاه داده مورد نظر برای اتصال به پایگاه داده و واگذاری کوئری به آن و دریافت پاسخ از آن و در نهایت نمایش پاسخ به کاربر

۳با استفاده از ORM دیگر نیازی به نوشتن کوئری های SQL نیست ولی قاعدتا لازم و مفید است که با کوئری نویسی SQL آشنا باشید تا بدانید چه چیزی را می خواهید.

۴در ORM متدهای  متفاوتی فراهم شده اند که به صورت استاندارد بر روی تمامی پایگاه داده ها کار می کنند بدون آنکه نگران تفاوت میان پایگاه داده های متفاوت باشید. به عبارت دیگر اگر در ابتدا از پایگاه داده MySQL استفاده می کنید و در آینده به اوراکل مهاجرت کنید هیچ مشکلی پیش نمی آید زیرا متدهای ORM مستقل از کوئری و درایور پایگاه داده هدف هستند و خود ORM نگاشت به پایگاه داده هدف را انجام می دهد.

از ORM ها و به ویژه در انیجا از SQLAlchemy می توانیم در هر کجا که نیاز به تعامل با پایگاه داده های رابطه ای باشد، استفاده کنیم. به طور مثال در برنامه های تحت وب با Flask یا در برنامه های واسط گرافیکی با TkInter یا هر کتابخانه دیگری می توان توسط SQLAlchemy با هر پایگاه داده ای ارتباط برقرار کرد. در مطلب های پیش رو ابتدا به شما آموزش می دهیم چگونه بدون SQLAlchemy با پایگاه داده MySQL ارتباط برقرار کنید و در ادامه روش ارتباط با SQLAlchemy را آموزش خواهیم داد.

در مطلب های پیش رو نه تنها آموزش می دهیم که چگونه از طریق SQLAlchemy داده های درون جدول های یک پایگاه داده رابطه ای مانند MySQL را دریافت یا بروز سانی و ذخیره کنیم، بلکه آموزش می دهیم که چگونه جدول های پایگاه داده را از طریق کدهای پایتون تعریف و سپس آنها را به جدول های پایگاه داده نگاشت دهیم.

توجه کنید هدف از ORM ابتدا اتصال به پایگاه دادها، سپس نگاشت متدهای زبان پایتون به دستورهای معادل SQL، واگذاری دستور SQL به پایگاه داده هدف و در نهایت دریافت پاسخ یا خطای استاندارد از سمت پایگاه داده هدف است. همچنین آموزش می دهیم که چگونه کلاس های پایتون را به جدول های پایگاه داده نگاشت دهیم.