کیمیاگری SQL یک کتابخانه قدرتمند و محبوب پایتون است که یک ابزار Object-Relational Mapping (ORM) را برای کار با پایگاه های داده رابطه ای ارائه می دهد. این به عنوان پلی بین پایتون و سیستم های مدیریت پایگاه داده مختلف عمل می کند و به توسعه دهندگان این امکان را می دهد تا با استفاده از کد پایتون با پایگاه های داده تعامل داشته باشند.
در این وبلاگ در مورد موضوعات زیر بحث خواهیم کرد:
جعبه ابزار Python SQL معروف به SQLAlchemy به برنامه نویسان اجازه می دهد تا پایگاه داده های SQL را با استفاده از زبان دامنه پایتونیک مدیریت کرده و به آن دسترسی داشته باشند. برای جستجوهای مشابه SQL Alchemy، میتوانید اشیاء پایتون را زنجیرهای کنید یا درخواست خود را به صورت رشته بنویسید. توسعه دهندگان هنگام کار با اشیاء آزادی بیشتری دارند، که همچنین به آنها اجازه می دهد تا سیستم های مبتنی بر SQL با کارایی بالا ایجاد کنند.
ویژگی های SQL Alchemy:
- یک ORM موثر که بر اساس اصول نقشه هویت، واحد کار و نقشه برداری داده در هسته خود ساخته شده است. این اصول شفافیت شی را از طریق یک چارچوب پیکربندی اعلامی امکان پذیر می کند. مدل های دامنه را می توان به صورت بومی ساخته و اصلاح کرد و به روز رسانی ها به طور خودکار با تراکنش فعلی همگام می شوند.
- یک سیستم پرس و جوی رابطهای که بهطور آشکار جوینها، پرسشهای فرعی و همبستگی را از نظر قابلیتهای مدل شی SQL نشان میدهد. پرس و جوها را با استفاده از تکنیک های ترکیب رابطه ای ORM که در حین نوشتن SQL استفاده می کنید بنویسید
- روش بارگیری مشتاق گسترده و قابل تنظیم برای مجموعهها و اشیاء پیوندی مجموعهها را میتوان بهصورت جداگانه، یکباره از طریق اتصالها یا با جستجوی هر مجموعه بهصورت جداگانه در کل مجموعه نتیجه بارگیری کرد. مجموعه ها در یک جلسه ذخیره می شوند.
ORM Mapper:
تکنیک نگاشت شی رابطه ای (ORM) توسط یک جزء نرم افزاری به نام نگاشت ORM پیاده سازی می شود. داده ها در یک پایگاه داده رابطه ای را می توان با استفاده از تکنیکی به نام ORM به اشیا در یک زبان برنامه نویسی شی گرا نگاشت. نقشهبردار ORM یک لایه انتزاعی بین پایگاهداده و اشیاء ایجاد میکند، که امکان دستکاری اشیاء را بدون نیاز به دانش ساختار پایگاهداده اساسی فراهم میکند.
نگاشت یک شی جدول به یک پایگاه داده به این صورت است که نگاشت ORM به طور معمول کار می کند. تبدیل مشخص می کند که چگونه ویژگی های شی با ستون های جدول پایگاه داده مرتبط است. ترجمه بین اشیا و پایگاه داده متعاقباً توسط نقشهبردار ORM با استفاده از این نگاشت انجام میشود. نقشهبردار ORM، هنگام ایجاد شی، دادههای شی را در جدول پایگاه داده وارد میکند. نقشهبردار ORM دادههای مربوطه را در جدول پایگاه داده هر زمان که یک شی بهروزرسانی شود، بهروزرسانی میکند. نقشهبردار ORM دادههای مرتبط را از جدول پایگاه داده زمانی که یک شی از بین میرود حذف میکند.
ارتباط بین Python و SQL Alchemy
SQLAlchemy تعدادی ویژگی را ارائه می دهد که کار با پایگاه داده در پایتون را آسان می کند. این ویژگی ها عبارتند از:
- نگاشت شی – رابطه ای (ORM): ORM به شما امکان می دهد با استفاده از اشیاء و کلاس های پایتون به داده ها در پایگاه داده دسترسی پیدا کرده و آنها را دستکاری کنید. این کار با پایگاه داده در پایتون را بسیار ساده تر از استفاده از SQL خام می کند.
- برنامه نویسی اعلانی: SQLAlchemy از برنامه نویسی اعلانی پشتیبانی می کند، که تعریف ساختار جداول پایگاه داده و روابط بین آنها را آسان می کند.
- قابل توسعه: SQLAlchemy یک کتابخانه بسیار قابل توسعه است. شما می توانید آن را مطابق با نیازهای خاص خود سفارشی کنید.
به طور کلی، SQLAlchemy یک کتابخانه قدرتمند و انعطافپذیر است که میتواند برای تعامل با پایگاههای مختلف رابطهای و NoSQL در پایتون استفاده شود.
SQL Alchemy را نصب کنید
همچنین می توانید SQLAlchemy را از منبع نصب کنید. برای انجام این کار، کد منبع را از وب سایت SQLAlchemy دانلود کنید و دستورالعمل های موجود در فایل README را دنبال کنید. پس از نصب SQLAlchemy، می توانید از آن برای اتصال به پایگاه داده و انجام پرس و جو استفاده کنید. برای اطلاعات بیشتر، لطفاً به مستندات SQLAlchemy مراجعه کنید.
حالا اجازه دهید این را با نمایش نحوه پیاده سازی SQL Alchemy با پایتون برای شما توضیح دهم. برای شروع استفاده از آن باید چند مرحله را دنبال کنید.
- تنظیم مرورگر DB برای مشاهده برای انجام کارهای زیر، مرورگر DB را با فشار دادن Ctrl+Alt+S دانلود کنید
pycharm IDE 🡪 جستجوی “DB Navigator”
- برای مشاهده پایگاه داده در PyCharm IDE، را انتخاب کنید وظایف زیر:
- مسیر مطلق دیتابیس را کپی کنید و در مسیر فایل دیتابیس قرار دهید و اتصال را تست کنید
عملیات نفت خام
CRUD که مخفف ایجاد، خواندن، به روز رسانی و حذف است، چهار عملیات اساسی هستند که بر روی داده های ذخیره شده در پایگاه داده انجام می شوند. این عملیات پایه و اساس هر برنامه کاربردی مبتنی بر پایگاه داده را تشکیل می دهد. SQLAlchemy، می توانید عملیات CRUD را با استفاده از روش های زیر انجام دهید:
- Create: از متد create() برای ایجاد یک ردیف جدید در جدول استفاده می شود.
برای انجام عملیات CRUD در SQLAlchemy، ابتدا باید طرحی را برای داده های خود تعریف کنیم. طرحواره طرحی است که ساختار داده هایی را که در پایگاه داده ذخیره می شود را توصیف می کند. در برنامه ردیابی تیک تیک سهام خود، به جدولی برای ذخیره اطلاعات مربوط به سهامی که ردیابی می کنیم نیاز داریم.
برای تعریف طرح برای جدول خود، از کلاس پایه اعلامی SQLAlchemy استفاده می کنیم که یک کلاس پایه برای ایجاد طرحواره جداول ما ارائه می دهد. ابتدا باید کلاس را وارد کرده و نمونه سازی کنیم:
- Reading: از متد read() برای بازیابی سطرها از جدول استفاده می شود.
برای انجام عملیات خواندن با استفاده از SQLAlchemy، می توانید از روش های پرس و جو برای بازیابی داده ها از پایگاه داده استفاده کنید. در اینجا نمونه ای از عملیات خواندن با استفاده از SQLAlchemy در پایتون آمده است:
- به روز رسانی: به روز رسانیمتد te() برای بهروزرسانی مقادیر ردیفهای موجود در جدول استفاده میشود.
برای انجام عملیات به روز رسانی با استفاده از SQL Alchemy، می توانید یک رکورد را از پایگاه داده بازیابی کنید، ویژگی های آن را تغییر دهید و سپس تغییرات را انجام دهید. در اینجا نمونه ای از عملیات به روز رسانی با استفاده از SQL Alchemy در پایتون آمده است:
- Delete: از متد delete() برای حذف سطرها از جدول استفاده می شود.
برای انجام عملیات حذف با استفاده از SQL Alchemy، می توانید یک رکورد را از پایگاه داده بازیابی کنید و سپس آن را از جلسه حذف کنید. در اینجا نمونه ای از عملیات حذف با استفاده از SQL Alchemy در پایتون آمده است:
در نتیجه، SQL Alchemy یک کتابخانه قدرتمند پایتون است که یک راه راحت و شهودی برای تعامل با پایگاههای داده رابطهای ارائه میدهد. این به شما اجازه می دهد تا عملیات CRUD (ایجاد، خواندن، به روز رسانی، حذف) را به طور موثر و موثر انجام دهید. SQL Alchemy یک رویکرد منعطف و جامع برای عملیات پایگاه داده در پایتون ارائه می دهد، از سیستم های مدیریت پایگاه داده های مختلف پشتیبانی می کند و یک API سطح بالا ارائه می دهد که فرآیند کار با پایگاه های داده را ساده می کند. برای اطلاعات بیشتر می توانید از وب سایت ما برای وبلاگ های جالب و آموزنده دیدن کنید. https://www.edureka.co/