تخطَّ إلى المحتوى الرئيسي
HPO Software أدلة خطوة بخطوة لبناء قواعد بيانات 4D وتطبيقات low-code — من إنشاء جدولك الأول وصولاً إلى تطبيق أعمال متكامل.

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

تصميم 4d المعماري: دليل كامل

التصميم المعماري رباعي الأبعاد هو عملية هيكلة قاعدة بيانات رباعية الأبعاد (جداولها وحقولها وعلاقاتها وفهارسها ومستويات الوصول) بحيث يظل التطبيق سريعًا وقابلاً للصيانة وآمنًا أثناء نموه. يتضمن المخطط رباعي الأبعاد المخطط جيدًا عادةً خمسة قرارات أساسية: دقة الجدول، واستراتيجية العلاقة، ونوع المفتاح الأساسي، وموقع الفهرس، وفصل البيانات عن منطق الواجهة. إن القيام بذلك بشكل صحيح من البداية سيساعدك على تجنب عمليات الترحيل المكلفة في المستقبل.

النقاط الرئيسية

  • يفصل التصميم المعماري رباعي الأبعاد بين ثلاثة اهتمامات: نموذج البيانات (الجداول، الحقول، العلاقات)، طبقة منطق الأعمال (الطرق، الفئات، المشغلات) و طبقة العرض (النماذج، مربعات القائمة، مربعات الحوار).
  • نوع العلاقة مهم أكثر من عدد الجداول: يحتاج الارتباط متعدد إلى متعدد إلى جدول توصيل، بينما يستخدم الارتباط واحد إلى متعدد حقل مفتاح خارجي بالإضافة إلى العلاقة.
  • الفهارس تسرع القراءة ولكنها تبطئ الكتابة - فهرسة المفاتيح الخارجية وأي حقل مستخدم في عبارة WHERE الخاصة بالاستعلام، وليس كل حقل.
  • تغير طبقة ORDA (الوصول إلى البيانات العلائقية للكائنات) الخاصة بـ 4D طريقة تفكيرك في المخطط: تصبح الجداول والحقول ذات الأسماء الجيدة فئات بيانات وأسماء سمات قابلة للقراءة في التعليمات البرمجية.
  • يعد نشر خادم العميل مقابل النشر لمستخدم واحد قرارًا معماريًا، وليس فكرة نشر لاحقة - فهو يؤثر على القفل والتخزين المؤقت وكيفية كتابة الاستعلامات.
  • يتم تطبيق اصطلاحات التسمية بشكل متسق منذ اليوم الأول مما يوفر وقتًا لإعادة البناء أكثر من أي عادة أخرى.

ماذا تعني “الهندسة المعمارية رباعية الأبعاد” في سياق قاعدة البيانات

يشير التصميم المعماري رباعي الأبعاد إلى التصميم الهيكلي لتطبيق مبني على النظام الأساسي رباعي الأبعاد (4th Dimension)، وقاعدة البيانات العلائقية وبيئة التطوير منخفضة التعليمات البرمجية التي أطلقها في الأصل فريق Laurent Ribardière في عام 1984 ويتم صيانتها الآن بواسطة 4D SAS. على عكس قاعدة بيانات SQL النقية، يجمع 4D محرك البيانات ولغة البرمجة ومصمم النماذج وخادم الويب/REST في منتج واحد - لذا فإن “الهندسة المعمارية” هنا تشمل كلاً من المخطط وطبقات التطبيق الموجودة فوقه.

في بعض الأحيان يتم الخلط بين هذا المصطلح والتصور المعماري (4D BIM، الوقت باعتباره البعد الرابع في تصميم المباني). يغطي هذا الدليل المعنى البرمجي: كيفية تخطيط قاعدة بيانات رباعية الأبعاد وطبقات التطبيق الخاصة بها. إذا وصلت بحثًا عن تصميم المبنى، فلن تنطبق المفاهيم الواردة أدناه.

الطبقات الثلاث للتطبيق رباعي الأبعاد

تستفيد مشاريع التصميم المعماري رباعي الأبعاد من نموذج واضح متعدد الطبقات. يؤدي تقسيم المسؤوليات إلى منع التطبيق المتنامي من التحول إلى مجموعة متشابكة من البرامج النصية للنماذج.

الطبقة الأولى — نموذج البيانات

نموذج البيانات هو مجموعة الجداول والحقول والعلاقات والفهارس المخزنة في ملف البنية رباعي الأبعاد. يجب ألا تحتوي هذه الطبقة على تعليمات برمجية لواجهة المستخدم ولا قواعد عمل يمكن أن توجد في مكان آخر. يتم إصلاح أنواع الحقول (النص، والعدد الصحيح، والحقيقي، والتاريخ، والوقت، والمنطقي، والكائن، والصورة) وأطوال الحقول هنا، ويتطلب تغييرها لاحقًا في قاعدة بيانات مباشرة العناية.

الطبقة الثانية — منطق الأعمال

يعيش منطق الأعمال في أساليب المشروع والفئات ومشغلات الجدول. في 4D الحديثة، تتيح لك الفئات (التي تم تقديمها مع 4D v18 R3 وتم توسيعها منذ ذلك الحين) كتابة تعليمات برمجية قابلة لإعادة الاستخدام وقابلة للاختبار بدلاً من تشتيت المنطق عبر أساليب النموذج. يتم تشغيل المشغل الموجود على الجدول عند الإنشاء والحفظ والحذف - وهو أمر مفيد لمسارات التدقيق، ولكن المشغل الذي يستدعي واجهة المستخدم سوف ينقطع في سياقات الخادم التي تعمل بدون واجهة (headless).

ذات صلة: — واجهة بسيطة لجدول بيانات تقع فوق قاعدة بيانات علائقية حقيقية، مع عمليات تشغيل تلقائية وطرق عرض وواجهات قابلة للمشاركة..

الطبقة الثالثة — العرض التقديمي

يغطي العرض التقديمي النماذج ومربعات القائمة ومربعات حوار الإدخال وأي مخرج ويب أو REST. ترتبط نماذج 4D مباشرة بالحقول والمتغيرات، وهو أمر مناسب ولكنه يشجع على وضع المنطق في النموذج. يعد الحفاظ على أساليب النموذج رقيقة - استدعاء أسلوب الفصل وعرض النتيجة - أكبر فوز منفرد في قابلية الصيانة في معظم المشاريع رباعية الأبعاد.

تصميم نموذج البيانات: الجداول والعلاقات والمفاتيح

تتبع قرارات نمذجة البيانات في التصميم المعماري رباعي الأبعاد المبادئ العلائقية، مع وضع آليات خاصة بالرباعي الأبعاد.

اختيار دقة الجدول

يجب أن يمثل الجدول نوع كيان واحد. يعد تقسيم جدول “العميل” إلى “العميل” و”عنوان_العميل” أمرًا منطقيًا عندما يكون لدى العميل عدة عناوين؛ يكون دمجها أمرًا منطقيًا عندما يكون هناك عنوان واحد بالضبط لكل عميل ولا يمكن إعادة استخدامه. يؤدي الإفراط في التطبيع إلى العديد من الجداول الصغيرة إلى زيادة عدد العلاقات وعمليات الانضمام، مما يكلف الأداء في طرق عرض القائمة.

إذا كنت تتسوق: — أداة إنشاء تطبيقات ذات تعليمات برمجية منخفضة يتم توصيلها بمجموعة Zoho الأوسع والأسعار لكل مستخدم وليس لكل تطبيق..

أنواع العلاقات

يدعم 4D العلاقات التلقائية المحددة في محرر البنية والعلاقات اليدوية التي تم إنشاؤها في التعليمات البرمجية. الأنماط الشائعة:

علاقةتنفيذ 4Dالاستخدام النموذجي
واحد لكثيرحقل المفتاح الخارجي في جانب “المتعدد” بالإضافة إلى العلاقةالفاتورة → بنود الفاتورة
كثير لكثيرجدول الوصلات بمفتاحين خارجيينالمنتجات ↔ الموردين
واحد لواحدمفتاح أساسي مشترك أو مفتاح خارجي فريدالمستخدم → ملف تعريف المستخدم
المرجعية الذاتيةالمفتاح الخارجي يشير إلى نفس الجدولموظف → مدير

استراتيجية المفتاح الأساسي

يوفر 4D مفاتيح أساسية طويلة متزايدة تلقائيًا ومفاتيح UUID (نصية) أساسية. مفاتيح Longint مدمجة وسريعة الفهرسة؛ تعد UUIDs فريدة عالميًا، وهو أمر مهم عند دمج البيانات من مواقع متعددة أو المزامنة مع أنظمة خارجية. الحل الوسط الشائع هو مفتاح داخلي طويل بالإضافة إلى حقل نصي “مرجع خارجي” فريد منفصل.

أداء الفهرسة والاستعلام

تعد الفهارس هي أداة الأداء الأعلى فعالية في التصميم المعماري رباعي الأبعاد، كما أنها الأسهل في التطبيق الزائد.

ما الذي يجب فهرسته

قم بفهرسة أي حقل يستخدم كمفتاح خارجي للعلاقة، وأي حقل يستخدم بشكل متكرر في معايير بحث الاستعلام، وأي حقل يستخدم للفرز في مربعات القائمة الكبيرة. يدعم 4D فهارس B-tree القياسية، وفهارس الكلمات الرئيسية للبحث عن النص المستند إلى الكلمات، والفهارس المركبة التي تغطي مجالات متعددة.

ما لا يجب فهرسته

يضيف كل فهرس تكلفة الكتابة والتخزين. نادرًا ما تساعد فهرسة حقل منطقي بقيمتين محتملتين. تؤدي فهرسة الحقل الذي تتم قراءته فقط كجزء من عرض السجل الكامل إلى زيادة الحمل دون أي مكاسب. قم بمراجعة الفهارس بعد أن يحتوي التطبيق على أنماط استخدام حقيقية بدلاً من التخمين مقدمًا.

استراتيجية الاستعلام

استعلامات ORDA (ds.Invoice.query("Status = :1"; "Open")) مفضلة عمومًا عن أوامر QUERY الكلاسيكية للتعليمات البرمجية الجديدة لأنها تُرجع تحديدات الكيانات التي يمكن فرزها وتصفيتها وتمريرها بين الطرق دون إعادة الاستعلام. بالنسبة للجداول الكبيرة جدًا، فإن تقييد الاستعلام بمعايير مفهرسة قبل تطبيق عوامل التصفية غير المفهرسة يجعل أوقات الاستجابة قابلة للتنبؤ بها.

ذات صلة: — أداة إنشاء قاعدة بيانات بدون تعليمات برمجية تستهدف البوابات والأدلة والأدوات الداخلية - بسعر ثابت بدلاً من الرسوم لكل مستخدم..

ORDA والهندسة المعمارية الحديثة رباعية الأبعاد

ORDA (الوصول إلى البيانات العلائقية للكائنات) هي طبقة الوصول إلى البيانات الموجهة للكائنات رباعية الأبعاد، والتي تم تقديمها في الإصدار 17 من 4D. إنه يعرض الجداول كفئات بيانات ويسجل ككيانات، لذلك يصبح الجدول المسمى Invoice هو ds.Invoice والحقل المسمى TotalNet يصبح $invoice.TotalNet.

وهذا له نتيجة معمارية لتصميم الهندسة المعمارية رباعية الأبعاد: أصبحت أسماء الجداول والحقول الآن جزءًا من واجهة برمجة التطبيقات العامة الخاصة بك. تؤدي إعادة تسمية الحقل إلى كسر التعليمات البرمجية بطريقة تكون مرئية في وقت الترجمة، ولكن التسمية غير المتسقة تجعل قراءة تعليمات ORDA البرمجية صعبة. إن اعتماد تقليد - أسماء الجداول المفردة، وحقول PascalCase، بدون اختصارات - يؤتي ثماره على الفور.

يدعم ORDA أيضًا تحديدات الكيانات من جانب العميل التي يتم تحميلها جزئيًا فقط، مما يؤدي إلى تغيير ملف تعريف الأداء لشاشات القائمة. يمكن أن يعرض مربع القائمة المرتبط بتحديد كيان آلاف الصفوف دون تحميل كل سجل، على افتراض أن الاستعلام الموجود خلفه مفهرس.

اختيارنا: — نظام أساسي لقاعدة البيانات الارتباطية طويل الأمد للفرق التي تحتاج إلى تطبيقات مخصصة على سطح المكتب والويب والهاتف المحمول من ملف واحد..

خادم العميل والمستخدم الفردي والنشر على الويب

تشكل طوبولوجيا النشر تصميم البنية رباعية الأبعاد أكثر مما يتوقعه العديد من المطورين.

تعمل تطبيقات المستخدم الواحد على تشغيل محرك البيانات والواجهة في عملية واحدة. القفل أمر تافه. يعتمد ضبط الأداء في الغالب على سرعة القرص المحلي.

** خادم العميل ** يقسم خادم 4D (محرك البيانات) من 4D Client (الواجهة). يتم تأمين السجلات على الخادم، وتصبح تكلفة الشبكة ذهابًا وإيابًا لكل استعلام كبيرة. إن البنيات التي تصدر العديد من الاستعلامات الصغيرة لكل شاشة تؤدي أداءً سيئًا هنا؛ يؤدي تجميع الاستعلامات واستخدام تحديدات الكيانات إلى تقليل الرحلات ذهابًا وإيابًا.

يعرض نشر الويب وREST نفس نموذج البيانات من خلال خادم REST الخاص بـ 4D أو من خلال أساليب الويب المجمعة. ينتقل الأمان إلى المقدمة: يجب تقييد الوصول إلى الجدول والحقل من خلال الأدوار والامتيازات، وأي قاعدة عمل يتم فرضها فقط في طريقة النموذج لا يتم تنفيذها بشكل فعال لعملاء الويب.

اصطلاحات التسمية والتوثيق

قد لا تبدو التسمية المتسقة أمرًا مثيرًا ولكنها حاسمة في التصميم المعماري رباعي الأبعاد. اتفاقية قابلة للتطبيق لـ 4D:

  • الجداول: الأسماء المفردة، PascalCase (“العميل”، “خط الفاتورة”).
  • الحقول: PascalCase، بدون بادئات النوع (“InvoiceDate”، وليس “dInvDate”).
  • العلاقات: يتم تسميتها حسب جدول الوجهة (“فواتير_العملاء”).
  • الطرق: الفعل أولاً (“إنشاء فاتورة”، “إعادة حساب الإجماليات”).
  • الفئات: الاسم الأول (“InvoiceService”، “TaxCalculator”).

إن توثيق المخطط - حتى في شكل ملف Markdown واحد يسرد كل جدول والغرض منه وعلاقاته الرئيسية - يجعل عملية الإعداد والترحيل المستقبلية أسهل بكثير. يُظهر محرر بنية 4D العلاقات بيانيًا، لكنه لا يشرح سبب وجود الجدول.

الأخطاء الشائعة في التصميم المعماري رباعي الأبعاد

وضع منطق الأعمال في أساليب النموذج. لا يمكن استدعاء أساليب النموذج من سياقات الويب أو المهام المجدولة، لذلك يجب تكرار المنطق المحاصر هناك.

**استخدام الأوامر الكلاسيكية القائمة على التحديد في التعليمات البرمجية الجديدة. ** التحديدات الكلاسيكية مرتبطة بالعملية ولا تنتقل بشكل جيد بين العمليات؛ تعتبر تحديدات كيان ORDA أكثر مرونة.

تخطي جدول الوصلات. يؤدي تخزين قيم متعددة في حقل نصي واحد (معرفات مفصولة بفواصل) إلى إلغاء الفهرسة ويجعل إعداد التقارير أمرًا مؤلمًا.

** فهرسة كل شيء. ** يتدهور أداء الكتابة ونادرا ما تتحقق الفائدة.

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

كيف تقرر: قائمة مرجعية عملية

قبل إنشاء التصميم المعماري رباعي الأبعاد، قم بالإجابة على هذه الأسئلة:

  1. ما هو عدد المستخدمين المتزامنين، وهل سيتصلون عبر شبكة LAN أو WAN أو الويب؟
  2. ما هي الكيانات التي لها علاقة طبيعية من نوع واحد-إلى-متعدد، وما هي الكيانات التي تحتاج إلى جداول الوصلات؟
  3. ما هي الحقول التي ستظهر في معايير البحث أو ترتيبات الفرز في الجداول الكبيرة؟
  4. ما هي قواعد العمل التي يجب الالتزام بها بغض النظر عن نقطة الإدخال (النموذج، الويب، الاستيراد)؟
  5. هل سيتم دمج البيانات مع نظام آخر، مما يتطلب مفاتيح UUID؟
  6. من يحافظ على هذا خلال عامين، وهل ستكون التسمية منطقية بالنسبة له؟

تحدد الإجابات على هذه الأسئلة الستة معظم القرارات الهيكلية في المشروع رباعي الأبعاد.

مزيد من القراءة

تغطي الوثائق الرسمية رباعية الأبعاد على موقع Developer.4d.com ORDA والفئات والامتيازات والنشر بالتفصيل. للتعرف على أساسيات النمذجة العلائقية التي تنطبق بغض النظر عن النظام الأساسي، راجع مقالة ويكيبيديا حول تسوية قاعدة البيانات. بالنسبة للسياق الأوسع لمنصات تطوير التطبيقات ذات التعليمات البرمجية المنخفضة والسريعة، يعد إدخال Wikipedia على منصات التطوير ذات التعليمات البرمجية المنخفضة نقطة بداية معقولة. تنشر 4D SAS أيضًا ملاحظات الإصدار وأدلة الترحيل التي تصف متى تم تقديم ORDA والفئات وميزات تصميم البنية رباعية الأبعاد الأخرى.

الأسئلة المتداولة

ما هو التصميم المعماري رباعي الأبعاد؟

التصميم المعماري رباعي الأبعاد هو عملية تخطيط هيكل تطبيق رباعي الأبعاد (البعد الرابع): الجداول والحقول والعلاقات والفهارس وطبقة منطق الأعمال وطبقة العرض. فهو يحدد كيفية أداء التطبيق، ومدى سهولة تغييره، ومدى أمان نشره على سطح المكتب أو خادم العميل أو عملاء الويب.

هل الهندسة المعمارية رباعية الأبعاد هي نفسها 4D BIM؟

لا، 4D BIM يضيف الوقت كبعد رابع لنمذجة معلومات البناء لجدولة البناء. تشير الهندسة المعمارية رباعية الأبعاد بالمعنى البرمجي إلى تصميم التطبيقات على منصة قاعدة البيانات رباعية الأبعاد. يشترك الحقلان في الاختصار ولكن لا شيء آخر.

هل يجب أن أستخدم أوامر ORDA أو أوامر 4D الكلاسيكية؟

ORDA هو الخيار الأفضل للتطورات الجديدة. تقوم بإرجاع تحديدات الكيانات التي يمكن تمريرها بين الطرق وفرزها وتصفيتها دون الحاجة إلى الاستعلام عنها مرة أخرى، كما تعرض الجداول والحقول كخصائص للكائنات القابلة للقراءة. لا تزال الأوامر الكلاسيكية المستندة إلى التحديد مفيدة في التعليمات البرمجية القديمة وفي بعض الحالات الخاصة.

كم عدد الفهارس التي يجب أن يحتوي عليها الجدول رباعي الأبعاد؟

لا يوجد رقم ثابت. فهرسة المفاتيح الخارجية والحقول المستخدمة في معايير البحث الشائعة والحقول المستخدمة لفرز القوائم الكبيرة. تجنب فهرسة الحقول ذات التباين المنخفض (low cardinality)، مثل القيم المنطقية أو حقول الحالة ذات القيمتين أو الثلاث، حيث أن تكلفة الكتابة عادة ما تفوق فائدة القراءة.

ما هو نوع المفتاح الأساسي الذي يجب أن أختاره في 4D؟

تتميز المفاتيح الطويلة ذات الزيادة التلقائية بأنها مدمجة وسريعة، وتناسب التطبيقات ذات الموقع الواحد. تعد المفاتيح النصية UUID أكبر حجمًا ولكنها فريدة عالميًا، وهو أمر مهم عند دمج البيانات من مواقع متعددة أو التكامل مع أنظمة خارجية. تستخدم العديد من المشاريع مفتاح Longint داخليًا بالإضافة إلى حقل مرجعي خارجي فريد.

هل يمكنني تغيير نموذج البيانات رباعي الأبعاد بعد النشر؟

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

الأسئلة الشائعة

ما هو التصميم المعماري رباعي الأبعاد؟

التصميم المعماري رباعي الأبعاد هو عملية تخطيط هيكل تطبيق رباعي الأبعاد (البعد الرابع): الجداول والحقول والعلاقات والفهارس وطبقة منطق الأعمال وطبقة العرض. فهو يحدد كيفية أداء التطبيق، ومدى سهولة تغييره، ومدى أمان نشره على سطح المكتب أو خادم العميل أو عملاء الويب.

هل الهندسة المعمارية 4D هي نفسها 4D BIM؟

رقم 4D BIM يضيف الوقت كبعد رابع لنمذجة معلومات البناء لجدولة البناء. تشير الهندسة المعمارية رباعية الأبعاد بالمعنى البرمجي إلى تصميم التطبيقات على منصة قاعدة البيانات رباعية الأبعاد. يشترك الحقلان في الاختصار ولكن لا شيء آخر.

هل يجب علي استخدام أوامر ORDA أو أوامر 4D الكلاسيكية؟

ORDA هو الخيار الأفضل للتطورات الجديدة. تقوم بإرجاع تحديدات الكيانات التي يمكن تمريرها بين الطرق وفرزها وتصفيتها دون الحاجة إلى الاستعلام عنها مرة أخرى، كما تعرض الجداول والحقول كخصائص للكائنات القابلة للقراءة. لا تزال الأوامر الكلاسيكية المستندة إلى التحديد مفيدة في التعليمات البرمجية القديمة وفي بعض الحالات الخاصة.

كم عدد الفهارس التي يجب أن يحتوي عليها الجدول رباعي الأبعاد؟

لا يوجد رقم ثابت. فهرسة المفاتيح الخارجية والحقول المستخدمة في معايير البحث الشائعة والحقول المستخدمة لفرز القوائم الكبيرة. تجنب فهرسة الحقول ذات العلاقة الأساسية المنخفضة، مثل القيم المنطقية أو حقول الحالة ذات القيمتين أو الثلاث، حيث أن تكلفة الكتابة عادة ما تفوق فائدة القراءة.

ما نوع المفتاح الأساسي الذي يجب أن أختاره في 4D؟

تتميز المفاتيح الطويلة ذات الزيادة التلقائية بأنها مدمجة وسريعة، وتناسب التطبيقات ذات الموقع الواحد. تعد المفاتيح النصية UUID أكبر حجمًا ولكنها فريدة عالميًا، وهو أمر مهم عند دمج البيانات من مواقع متعددة أو التكامل مع أنظمة خارجية. تستخدم العديد من المشاريع مفتاح Longint داخليًا بالإضافة إلى حقل مرجعي خارجي فريد.

هل يمكنني تغيير نموذج البيانات رباعي الأبعاد بعد النشر؟

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


جرب FileMaker مجانًا لمدة 45 يومًا

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