إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    قاعدة بيانات صفوف

    تتميز قواعد البيانات بكثرة أنواعها وتعدد ميزاتها, وتتلخص أهم الميزات بسهولة الإستخدام, سرعة التنفيذ, و قابلية التطوير في المستقبل, و سنتحدث في هذا المقال عن قاعدة بيانات جديدة تجمع هذه الميزات إسمها صفوف.

    عند إختيارك لقاعدة بيانات مناسبة لمشروعك عليك تحديد أهم النقاط التي يحتاجها المشروع من قاعدة البيانات, فمثلاً قد يحتاج المشروع:

    • للتخزين و الإستعلام بسرعة و إستعلاماته بسيطة و مباشرة.
    • لتنفيذ إستعلامات معقدة.
    • لقاعدة بيانات متنقلة وخفيفة.
    • لقاعدة بيانات قادرة على إدارة مئات من المستخدمين في نفس الوقت.
    • لبناء نظام معقد فوق قاعدة البيانات.

    كل هذه النقاط ستجعل قاعدة بيانات معينة مناسبة أكثر من غيرها, و مهمة المبرمج بعد تحديد قاعدة البيانات هي برمجة النظام ليستطيع العمل مع قاعدة البيانات المختارة مهما كان نوعها.

    تتميز صفوف بكونها قاعدة بيانات سهلة الاستخدام والإعداد, قابلة للتطوير, سريعة التنفيذ, متنقلة, و متعددة المستخدمين و مفتوحة المصدر, كل هذه الميزات و أكثر ستجعل قاعدة بيانات صفوف مناسبة لمشروعك حتماً, و سنستعرض الآن بعض هذه المميزات.

     

    سهلة الإستخدام

    بنيت صفوف بالأساس لتكون قاعدة بيانات سهلة وسريعة, وتتميز بأنها قاعدة بيانات كائنية (Object-Oriented Database) أي أنها تتعامل مع الكائنات كوحدات تخزين, إذ تسمح صفوف بتخزين و قراءة الكائنات مباشرة على عكس قواعد البيانات غير الكائنية مثل قواعد بيانات SQL وغيرها, فمثلاً لنفترض أنه لدينا كائن Student و نريد إضافته في قاعدة بيانات SQL سيكون الكود كالتالي.

    statement.executeUpdate("INSERT INTO Students VALUES ('"+student.getFirstName()+"', '"+student.getLastName()+"', "+student.getAge()+")");
    

    كما في الكود السابق ستجد أننا قمنا بتقطيع أمر SQL وإضافة بيانات الكائن فيه في كود صعب القراءة وقد يحتوي الكثير من الأخطاء, لذلك طور المبرمجون بيئات عمل تربط الكائنات بقواعد بيانات SQL بحيث تختصر الكود مثل Hibernate, لكن بيئات العمل هذه هي عبء إضافي على المعالجة إذ أنها تقوم بإنشاء أوامر SQL من خلال الكثير من الإعدادات ثم ترسل الأمر لقاعدة البيانات, أما صفوف فتقوم بتخزين الكائن و قراءته مباشرة, و لذلك فهي أسرع في التنفيذ, و هذا مثال على تخزين الكائن Student في صفوف.

    sess.execute(new Bind(student).to("students"));
    

    و ينطبق الأمر أيضاً على قراءة الكائنات, فعندما تقوم بالإستعلام عن الكائن Student في قاعدة بيانات SQL ستحتاج للكثير من الأسطر البرمجية التي تختصرها صفوف في سطر واحد.

     

    قاعدة بيانات محلية و مستضافة

    يمكن لصفوف أن تعمل كقاعدة بيانات محلية متنقلة مثل SQLite إذ أنه يمكن تشغيلها و إطفاؤها من خلال الكود, و هي خفيفة ففي إصدارها الثالث حجمها لا يتجاوز 100KB, و يمكنها أيضاً العمل على خادم و يمكن لأكثر من برنامج الإتصال بها و إرسال الإستعلامات إليها و تنفيذ عن بعد مما يجعلها مناسبة لبرامج الحاسوب و المواقع على حد سواء.

     

    علائقية

    يمكن في صفوف إنشاء العلاقات بين الكائنات بسهولة فهي ليست مجرد وسيلة لتخزين البيانات فقط.

     

    لا تحتاج لإعدادات

    تحتاج قواعد بيانات SQL الكثير من الإعدادات لتكون جاهزة للاستخدام كعمليات إنشاء الجداول أما صفوف فلا تحتاج لأي إعدادات مسبقة, إذ يمكن بعد إنشاء قاعدة البيانات و الإتصال بها إستخدامها مباشرة للتخزين و القراءة.

     

    سريعة

    بتجارب عملية أثبتت صفوف سرعتها بتنفيذ العمليات, ففي تجربة تخزين و قراءة مئة كائن إستغرقت في أحسن الأحوال SQLite و قتاً مقداره 4.36 ضعف الوقت الذي إستغرقته صفوف.

     

    تمتلك نظام تحديد للصلاحيات قابل للتخصيص

    تمتلك صفوف كغيرها من قواعد البيانات نظاماً لتحديد صلاحيات المستخدمين, وتتميز صفوف عن غيرها بأن نظامها قابل للبرمجة و التعديل تماماً على عكس قواعد البيانات الأخرى, فمثلاً يمكنك تحديد قبول أو رفض تنفيذ الأوامر لمستخدمين محددين من خلال كودك البرمجي.

     

    تدعم الإنتقالات Transactions

    تدعم صفوف الإنتقالات بخصائصها الأربعة ACID (الذرية, التناسق, العزل, الدوام).

     

    قابلة للتخصيص

    صفوف هي قاعدة بيانات مبنية بلغة جافا, وكل ما فيها قابل للتخصيص, إذ يمكنك كتابة الأوامر الخاصة بك بسهولة و تنفيذها على قاعدة البيانات على عكس قواعد بيانات SQL التي لا يمكنك تخصيصها, و تسمح رخصة صفوف لك بتنزيل الكود المصدري لها و تعديلها بحيث تناسب مشروعك.

    يمكنك الاطلاع على المزيد في صفحة صفوف في Github و قراءة الدليل wiki الذي سيعلمك طريقة إستخدامها.

    ملاحظة: الشرح في صفحة صفوف موضوع باللغتين العربية و الإنجليزية.

    يتضمن: database

    آخر تحديث: 19-12-2021

    الكاتب

    رامي عبدالله

    طالب جامعي سوري تخصص صيدلة. مهتم كثيراً بالتقنية و أدرس البرمجة ذاتياً كهواية و أحب مشاركة كل ما أتعلمه معكم لنشر هذا العلم الرائع في وطننا العربي و لتسهيل الطريق على المتعلمين الجدد.

    تعليقات

    لا يوجد أي تعليق بعد

    أضف تعليق

    يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.
    إعلان
    دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
    دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
    تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
    دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
    دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
    دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن
      إعلان

      Eqla3Tech.com

      شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

      لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

      تقييم المقال

      لم تقم بتقييم المقال بعد!

      الدورات

      أدوات مساعدة

      الأقسام

      دورات
      مقالات أسئلة مشاريع كتب