تخطَّ إلى المحتوى

نمذجة البيانات من أجل المعنى

متاح أيضًا بـ28 لغة

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

An open sketchbook on a drafting table at dawn, a building sketched on one page and a data model on the other, with a pencil, an eraser, a cup and a lamp.
صورة مولّدة بالذكاء الاصطناعي

دليل الدراسة للفصل 2 من دورة Data Architect. اقرأ الوحدات الست أولًا؛ تساعدك هذه الصفحة على التحقق مما رسخ لديك.

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

هذا الفصل هو الأساس لقسم Data Modeling and Database Design (نمذجة البيانات وتصميم قواعد البيانات) في الاختبار، وهو ربع الاختبار. يغطي هذا الفصل التفكير؛ أما الفصل التالي، معمارية بيانات Salesforce، فيغطي كيف تبنيه المنصة. لذلك يحتاج معظم ما يُختبر عن الكائنات والحقول والعلاقات إلى الفصلين كليهما.

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

DM-1: مقارنة تقنيات تصميم نموذج بيانات في Salesforce

الاختبار هو الحد الأدنى، لا السقف. هذه هي العادات من هذا الفصل التي يحتاجها المعماري، سواء سأل عنها سؤال يومًا أم لا.

  • انسَ Salesforce لدقيقة. نمذِج العمل قبل أن تربطه بـ Account وContact.
  • أنصت إلى الكلمة التي تُخفي شيئين. في Steve Trucking، كان «العميل» شريك تجزئة ومستلمًا.
  • النموذج جزء من المحادثة. نموذجك الأول ليس المقصود منه أن يكون صحيحًا؛ بل أن يُريك أين تخطئ.
  • سمِّ الخطوط. نموذجان بالمربعات نفسها يمكن أن يعنيا أشياء مختلفة.
  • اسأل «الآن، أم عبر الزمن؟» عن كل علاقة.
  • فريد، ثابت لا يتغيّر، بلا معنى، ليس PII أبدًا.
  • ضع الحقيقة حيث تنتمي، ثم تراجع عن قصد، ودوّن السبب.
  • إلغاء التطبيع لا يزيل التعقيد؛ بل ينقله. اعرف من يملك الحقيقة.
  • مصدر واحد للحقيقة، وأشكال كثيرة: الشاشات، والتقارير، والمستودع، والذكاء الاصطناعي.
  • لا تصمّم من Setup. ارسم النموذج قبل أن تنقر New Custom Object.
  • تتبّع كل قرار مادي إلى الوراء حتى شيء يحتاجه العمل.
المصطلحفي سطر واحد
الكيانشيء يهتم به العمل ويحتفظ ببيانات عنه
الكيان المرشّحاسم قد يصبح كيانًا، بعد أن تطرح الأسئلة عنه
السمةحقيقة تصف كيانًا
العلاقةكيف يرتبط كيانان، مسمّاة بلغة العمل
التعددية (cardinality)كم من أحدهما يرتبط بكم من الآخر
الاختيارية (optionality)هل العلاقة إلزامية، أم يمكن أن تكون صفرًا
قدم الغراب (crow’s foot)علامة «الكثير» في طرف الخط
كائن الربط (junction object)طريقة Salesforce لبناء علاقة كثير-إلى-كثير: ابن لكلا الأبوين
النموذج المفاهيميما يوجد في العمل وكيف يرتبط؛ بلا Salesforce
النموذج المنطقيالبيانات: السمات والمعرّفات الفريدة والعلاقات، ما زالت غير مرتبطة بمنصة
النموذج الماديكيف ستبنيه المنصة: الكائنات والحقول وأنواع العلاقات
المفتاح الطبيعيمعرّف موجود أصلًا في العمل، مثل رقم هيكل الشاحنة (VIN)
المفتاح البديلمعرّف يُنشأ فقط لتعريف السجل
المعرّف الخارجيمعرّف نظام آخر للسجل نفسه، يُحتفظ به ويُربط
التطبيع (1NF، 2NF، 3NF)وضع كل حقيقة حيث تنتمي: قيمة واحدة لكل حقل، وحقائق عن المفتاح كله، ولا حقائق عن حقائق أخرى
إلغاء التطبيعنسخ البيانات أو تسطيحها عن قصد، لسبب تستطيع تسميته
شذوذ التحديثالحقيقة نفسها مخزّنة في أماكن كثيرة، فيترك تغيير واحد بعض النسخ خاطئة

سيناريوهات قصيرة بأسلوب الدورة. قرر إجابتك قبل أن تفتحها.

1. يخبرك العمل بأن طاقمًا يقود شاحنة. بعد ستة أسابيع، يسأل أحدهم أي طاقم كانت لديه الشاحنة 117 في يوم معيّن. ما الذي كان ينبغي أن يحتويه النموذج؟

تكليف الطاقم (Crew Assignment): العلاقة بين الطاقم والشاحنة بوصفها سجلًا قائمًا بذاته، بتاريخ بداية وتاريخ نهاية والمسار. الطواقم والشاحنات بينها علاقة كثير-إلى-كثير عبر الزمن، والعمل يهتم بالتاريخ. أما الحقل على الشاحنة فكان سيُكتب فوقه. أعد قراءة الزمن يغيّر العلاقات.

2. يقترح فريق استخدام رقم هاتف كل مستلم معرّفًا فريدًا، «لأنه فريد». ماذا تقول؟

إنه يفشل في الاختبارات: أرقام الهواتف تتغيّر ويتشاركها الناس، فهو ليس ثابتًا ولا فريدًا بشكل موثوق، وهو معلومات شخصية ستُنسخ إلى كل نظام يرتبط بالسجل. استخدم معرّفًا مُولَّدًا بلا معنى واحتفظ برقم الهاتف سمةً. أعد قراءة ثم علينا أن نتحدث عن المعرّفات الفريدة.

3. للتوصيلة حقول Item 1 وItem 2 وItem 3. تصل توصيلة بأربعة أغراض. ما المشكلة الحقيقية، وما الحل؟

أخفى النموذج بنية متكررة داخل الحقول (مشكلة في الشكل الطبيعي الأول). الحل ليس حقل Item 4؛ بل كيان بند التوصيلة (Delivery Item)، ابن للتوصيلة، فيصبح كل غرض سجلًا. أعد قراءة الشكل الطبيعي الأول.

4. كل توصيلة تخزّن اسم مدير مركز التوزيع. ثم يتغيّر المدير. ما الخطأ الذي حدث؟

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

5. نوع المحطة (توصيل فقط، مع تركيب، مع نقل القديم) يحتاج إلى مدة ومهارات للطاقم وقائمة تحقق. قائمة اختيار أم كائن؟

كائن. فيه أكثر من عمود واحد من المعلومات، ويديره العمل، ويتغيّر وفق جدوله الخاص. أما حالة التوصيلة، وهي قائمة قصيرة ومستقرة من التسميات، فتبقى قائمة اختيار. أعد قراءة علاقة بحث أم قائمة اختيار؟.

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

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

7. حيلة مثل «اجلس» قد ترتبط بمئات الآلاف من الحيوانات الأليفة. رئيسي-تفصيلي أم علاقة بحث من حيلة الحيوان الأليف إلى الحيلة؟

علاقة بحث. إرشاد Salesforce ألّا يزيد عدد الأبناء على 10,000 لأب واحد، والحيلة الشائعة ستتجاوز ذلك. أما رئيسي-تفصيلي فيناسب العلاقة من حيلة الحيوان الأليف إلى الحيوان الأليف، لأن حيلة الحيوان الأليف لا تُنقل أبدًا إلى أب آخر، والحيوان الأليف الواحد لا يعرف إلا حيلًا قليلة؛ وهي أيضًا ما يتيح للحيوان الأليف أن يجمّع عدد الحيل المتقنة. أعد قراءة اجلس، ابقَ، نمذِج.