هل فكرت يومًا أو احتجت إلى تمرير البيانات من كائنات التعليمات البرمجية المصدر إلى جدول محتويات أو قاعدة بيانات؟ سيكون من العملي جدًا أن يكون لديك أداة لتكون قادرًا على القيام بذلك تلقائيًا وعدم القيام بذلك يدويًا ، أليس كذلك؟ ولكن لكي يكون ذلك ممكنًا ، يجب أن تكون هذه القيم بالتنسيق الصحيح. حسنًا ، إذا كنت بحاجة إلى القيام بذلك ، يجب أن تعرف ORM (رسم الخرائط العلائقية للكائن).
باستخدام ORM ، سيتم تمرير بيانات الكائنات الخاصة بك إلى تنسيق صحيح لتتمكن من حفظ كل هذه المعلومات في قاعدة بيانات عن طريق تعيينها. يؤدي ذلك إلى إنشاء قاعدة بيانات افتراضية حيث توجد القيم في التطبيق الذي قمت بإنشائه في التعليمات البرمجية الخاصة بك ، وبالتالي مرتبطة بقاعدة البيانات هذه لمنحهم المثابرة وتسجيلهم بهذه الطريقة البسيطة. هذا يمنح المعلومات المسجلة ثباتًا بحيث يمكن تخزينها أو تحليلها أو تسجيلها أو استخدامها لاحقًا.
من قبل مثالتخيل أن لديك برنامج Python مسؤولاً عن قراءة القيم من مستشعر DHT11 الذي يسجل درجة الحرارة والرطوبة. لكنك لا تريد تسجيل هذه القيم من بيئة. بطريقة بسيطة يمكنك إنشاء كود مصدر لبرمجة ما تحتاجه وقراءة القيم التي أخذها المستشعر وعرضها على الشاشة. ولكن ماذا لو كنت تريد تخزين القيم لتحليلها عند حدوث قمم لهذه القيم أو لأي فائدة أخرى؟
في هذه الحالة ، يجب أن يكون لديك القدرة على حفظ هذه البيانات في نفس الوقت في قاعدة بيانات وهذا هو المكان الذي يكون فيه ORM مفيدًا. بالإضافة إلى مشروع DIY الخاص بك يمكنك تخزين ما تحتاجه والتعامل مع القيم يدويًا أو من خلال برامج أخرى بفضل حقيقة أنك قمت بالتقاطها في قاعدة بيانات ...
ما هو ORM؟
El رسم الخرائط العلائقية للكائنات أو ORM لاختصارها باللغة الإنجليزية ، فهي تقنية برمجة تعمل على تحويل البيانات المستخدمة في لغة أو برنامج البرمجة الموجهة للكائنات وقاعدة البيانات العلائقية (نوع SQL) كمحرك ثبات. سيؤدي ذلك إلى قيام قيم البرنامج بإنشاء قاعدة بيانات افتراضية موجهة للكائنات للاحتفاظ بالبيانات التي تحتاجها.
إذا سبق لك أن قمت ببرمجة تطبيق متصل بقاعدة بيانات ، فستدرك أنه من الصعب للغاية تحويل المعلومات لتكييفها مع قاعدة البيانات أو العكس. يسمى، رسم الخرائط شيء شاق يمكنك أتمتة استخدام ORM ، بالإضافة إلى جعلها مستقلة عن قاعدة البيانات التي تريد استخدامها ويمكنك حتى تغيير محرك قاعدة البيانات دون مشكلة.
Un مثال عملي هو سيارة F1، حيث يحتوي على سلسلة من المستشعرات التي تقيس قيم الضغط ، ودرجة الحرارة ، والاستهلاك ، وعدد الدورات في الدقيقة ، والسرعة ، والتسارع ، وتغيير التروس ، وحركات التوجيه ، والزيت ، إلخ. يتم رؤية كل هذه القيم في الوقت الفعلي من قبل المهندسين على أجهزة الكمبيوتر الخاصة بهم بفضل القياس عن بعد. ولكن عند انتهاء الجلسة ، يحتاج المهندسون إلى دراسة تلك البيانات وتحليلها لفهم كيفية تحسين الإعداد أو تطوير السيارة أو سبب الفشل. لكي يكون هذا ممكنًا ، يجب تصديرها إلى قاعدة بيانات.
مزايا وعيوب ORM
كما علق بالفعل ، مع يسمح لك ORM بالتجريد من قاعدة البيانات وتبسيط شفرة المصدر الضرورية بشكل كبير. سيكون التعيين تلقائيًا وهذا يعني التخلص من الكثير من المتاعب عن كتفيك عند البرمجة. بالإضافة إلى سهولة وسرعة الاستخدام ، فإنه يوفر أمان طبقة الوصول إلى البيانات ضد الهجمات.
لكن ليست كل الأشياء جيدة ORM أيضا له سلبيات. في البيئات المحملة بكثافة يمكن أن يقلل من الأداء حيث تقوم بإضافة طبقة إضافية إلى النظام. يتضمن أيضًا تعلم ORM بحيث يمكنك استخدامه ، الأمر الذي قد يستغرق وقتًا لفهمه والاستفادة منه بشكل صحيح.
ORM للغات البرمجة
اعتمادًا على لغة البرمجة التي تستخدمها يمكنك استخدام ORM. لا يمكنك استخدام أي ORM فقط ، يجب عليك استخدام الصحيح. على سبيل المثال:
- جافا: السبات ، MyBatis ، iBatis ، Ebean ، إلخ.
- . NET: Entity Framework و nHibernate و MyBatis.Net وما إلى ذلك.
- PHP: عقيدة ، بروبيل ، روكس ، توربور ، إلخ.
- بايثون: Peewee و SQLAlchemy و PonyORM و Elixir وما إلى ذلك.
مثال مع Python و ORM
Peewee عبارة عن ORM بسيط ومختصر للاستخدام مع Python. يمكنك الحصول على مزيد من المعلومات من الموقع الرسمي. أيضًا ، يجب أن تعلم أن Peewee يدعم قواعد بيانات مختلفة ، أي العديد من أنظمة إدارة قواعد البيانات ، مثل SQLite و MySQL و Postgresql. عليك فقط تغيير تصريح bbdd الأولي وهذا كل شيء.
على سبيل المثال، في دليلك السريع أو البدء السريع من الموقع ، يمكنك رؤية أمثلة التعليمات البرمجية البسيطة باستخدام Peewee مثل هذا:
from peewee import * db = SqliteDatabase('people.db') class Person(Model): name = CharField() birthday = DateField() class Meta: database = db # This model uses the "people.db" database.
في حال كان هذا يبدو قليلاً بالنسبة لك ، فأنت تحت تصرفك أداة pwiz، وهو برنامج يحصل على نماذج Peewee من قواعد البيانات. على سبيل المثال:
<br data-mce-bogus="1"> python -m pwiz -e postgresql basedatos > modelo.py<br data-mce-bogus="1">