Hesam
Hesam
خواندن ۲ دقیقه·۱ سال پیش

پایگاه داده Realm فلاتر

دیتابیس Realm یک سیستم مدیریت دیتابیس object-oriented است که برای توسعه دهندگان اپلیکیشن های موبایل و دسکتاپ که توسط تیم MongoDB طراحی شده است. این دیتابیس بر روی دستگاه کاربر اجرا می شود و به همین دلیل به آن دیتابیس امبد شده (embedded database) نیز گفته می شود.

این سیستم مدیریت دیتابیس برای اندروید (Android)، iOS، و دیگر پلتفرم‌های موبایل قابل استفاده است. Realm به توسعه‌دهندگان اجازه می‌دهد داده‌های برنامه خود را به سرعت و با کارآیی بالا ذخیره و بازیابی کنند.

نکته مهم که باید به آن توجه کنید این است که Realm یک نوع ORM نیست بلکه یک دیتابیسی است که از ابتدا با هدف استفاده در گوشی های هوشمند طراحی شده و برای اینکار بهینه سازی های مختلفی روی آن اعمال شده است.


هسته مرکزی این پایگاه داده با زبان C++ برنامه نویسی شده است.

دیتابیس Realm از ویژگی های زیر برخوردار است:

  • سرعت بالا: Realm یک دیتابیس بسیار سریع است و می تواند به سرعت و به راحتی به داده ها دسترسی پیدا کند.
  • ساده بودن: Realm برای استفاده بسیار ساده است و نیاز به دانش زیادی در مورد پایگاه داده ها ندارد.
  • قابل اعتماد بودن: Realm با ACID سازگار است، که به این معنی است که داده ها همیشه در حالت یکپارچه و سازگار باقی می مانند.
  • امنیت: Realm از رمزگذاری AES-256 برای محافظت از داده ها استفاده می کند.



آموزش پیاده سازی

برای شروع ابتدا با دستور زیر پکیج مورد نیاز را به پروژه فلاتر اضافه میکنیم.

flutter pub add realm
dart run realm install


بعد از اضافه کردن پکیج های مورد نیاز کلاس مدل خود را میسازیم.

در این مثال یک کلاس دانشجو در اختیار داریم که عملیات crud را روی انجام میدیم.

یک فایل به نام student ایجاد میکنیم.

در این کلاس با @RealmModel() مشخص کرده ایم که از این کلاس برای ذخیره سازی اطلاعات استفاده خواهیم کرد.

با کمک @PrimaryKey() نیز کلید اصلی پایگاه داده را مشخص میکنیم کدام فیلد باشد.

در ابتدای این فایل عبارت part ‘student.g.dart’; را نیز باید قرار دهید, این تکه در ادامه کدهای مورد نیاز کلاس را ایجاد میکند.

با اجرای دستور زیر در ترمینال کدهایی که برای ذخیره اطلاعات این کلاس در دیتابیس نیاز ساخته میشود.

dart run realm generate

برای اینکه کدهای بخش دیتابیس به شکل تمیز نوشته شوند یک کلاس جدا به نام StudentDatabase ایجاد میکنیم و تمام متدهای مورد نیاز برای انجام عملیات CRUD را در آن قرار میدهیم.

کدهای کلاس به شکل زیر میباشد.

در این کلاس یک نمونه از کلاس Realm میسازیم که برای پارامتر ورودی از آبجکت config که مشخص کننده کلاس مدل است استفاده میکنیم.

در ادامه چهار متد میسازیم که هر کدام عملیات CRUD را انجام میدهند.

برای ذخیره سازی اطلاعات از دستور realm.write استفاده میکنیم, اگر مقدار update را برابر true قرار دهید در صورت وجود رکورد آن را آپدیت میکند.

برای دریافت لیست کامل رکوردهای یک کلاس از دستور realm.objects().toList() میتوانید استفاده کنید.

منبع: دیتابیس Realm چیست؟ آموزش پیاده سازی در فلاتر

برنامه نویسیrealmدیتابیسفلاتر
Developer
شاید از این پست‌ها خوشتان بیاید