Steve Data Modeling: من قوائم الاختيار إلى اللانهاية وما بعدها
مقدمة:
مرحبًا بك في جلسة مفيدة أخرى عن نمذجة البيانات ضمن سلسلة Steve’s Data Modeling! في هذه المقالة سنستكشف الاستخدامات المتعددة لقوائم الاختيار (picklists)، ونناقش السيناريوهات التي قد تحتاج فيها إلى التفكير في بدائل لمتطلبات نمذجة بيانات أكثر تقدمًا.
فهم قوائم الاختيار
قوائم الاختيار مثالية عندما يكون لديك حقل يتطلب مجموعة من القيم الثابتة. فهي تقدّم تجربة مستخدم نظيفة، لكنها تأتي مع بعض القيود:
- إضافة القيم تتطلب صلاحيات مسؤول مرتفعة.
- يجب نشر القيم الجديدة عبر بيئات sandbox.
تحدث أخطاء في التحقق من البيانات إذا لم تُضَف مسبقًا في Salesforce القيمُ القادمة من تكاملات الأطراف الثالثة.
استكشاف خيارات قوائم الاختيار
إليك بعض خيارات قوائم الاختيار التي تستحق النظر:
الخيار 1: مجموعات القيم العامة
هذا هو الخيار القياسي في Salesforce، ويمكنه الاستفادة من القوائم عبر الكائنات.

مجموعات القيم العامة هي الأنسب للقيم المستخدمة في أماكن متعددة. فمثلًا، يمكن أن يكون لديك مجموعتا قيم عامتان لـ «قطر الأنبوب» و«سماكة الأنبوب»، مما يوفر واجهة نظيفة يختار منها المستخدمون القيم.
[caption id="" align=“alignnone” width=“1372”]
نماذج لمجموعات القيم [/caption]
[caption id="" align=“alignnone” width=“1814”]
نماذج للقيم [/caption]
[caption id="" align=“alignnone” width=“676”]
الاختيار من قائمة [/caption]
الخيار 2: الحقول النصية
هذا مجرد حقل نصي بلا أي تحقق.

إذا كانت قيم البيانات تُدفع عبر التكاملات، فقد تفكر في استخدام حقول نصية. لكن هذا النهج يفقد التحقق، فيسمح للمستخدمين بإدخال أي بيانات، مما قد يؤدي إلى عدم الاتساق.
قد يكون هذا خيارًا مناسبًا إذا كانت الحقول للقراءة فقط في Salesforce وكنت تعرض القيم فحسب.
[caption id="" align=“alignnone” width=“678”]
لا تحقق [/caption]
الخيار 3: كائن مرجعي مشترك

يمكن استخدام كائن مرجعي مشترك بأنواع سجلات متعددة لتحميل البيانات. ينشئ هذا النهج علاقتَي بحث (lookup) في الكائن الرئيسي، ترتبطان بالكائن المرجعي بدلًا من القيم الفعلية. ويمكنك أيضًا إضافة قيم جديدة ديناميكيًا دون صلاحيات المسؤول، مما يعزز المرونة.
[caption id="" align=“alignnone” width=“1462”]
استخدام أنواع السجلات [/caption]
[caption id="" align=“alignnone” width=“1700”]
استخدم علاقة بحث مُصفّاة [/caption]
[caption id="" align=“alignnone” width=“1434”]
إضافة القيم [/caption]
[caption id="" align=“alignnone” width=“658”]
كيف يبدو اختيار قيمة. الترتيب غير صحيح، ولا تظهر كل القيم عند التحميل الأول، فعلى المستخدم أن يبحث عنها. وتأكد أيضًا من إزالة صلاحية «Create» من ملفات التعريف ومجموعات الأذونات حتى لا ينشئ المستخدمون سجلات إضافية أثناء العمل. [/caption]
القسم 3: خيارات متقدمة
للسيناريوهات الأكثر تقدمًا، فكّر في هذه الخيارات:
الخيار 4: شاشات مخصصة مع كائن مرجعي

إذا كنت تستخدم مكوّنات Lightning Web Components (LWC) مخصصة لشاشات التعديل، فيمكنك استخدام كائن مرجعي لقراءة القيم وعرضها، مع تخزين القيم الفعلية بدلًا من علاقات البحث.
الخيار 5: كائنات مستقلة

إذا ازدادت أهمية قيم البحث، ففكّر في إنشاء كائنات مستقلة لكل منها وإنشاء علاقات بحث منفصلة. يتيح هذا النهج إضافة البيانات ديناميكيًا، ويحافظ على نموذج بيانات نظيف، ويدعم حقولًا مرتبطة إضافية في كل كائن.
أمثلة عملية
إليك أمثلة عملية توضح كل خيار:
قوائم الاختيار القياسية: تقدّم واجهة نظيفة بقيم ثابتة.
حقول نصية بلا تحقق: توفر المرونة لكن بلا تحقق من البيانات.
علاقة بحث إلى كائنات مرجعية: تستخدم الكائن نفسه مع أنواع سجلات مُصفّاة من أجل المرونة.
كائنات مستقلة: تستخدم كائنات منفصلة لكل علاقة بحث، مما يوفر نموذج بيانات نظيفًا ومرنًا.
الخلاصة
فهم دقائق قوائم الاختيار وبدائلها أمر حاسم لنمذجة بيانات فعّالة. فمن قوائم الاختيار القياسية إلى الكائنات المستقلة، يقدّم كل خيار مزايا فريدة تلبي احتياجات محددة في نمذجة البيانات.
عُد قريبًا!
لمزيد من الأفكار والنصائح، تابعنا هنا على www.SteveTechArc.com وعلى قناة @SteveTechArc (opens in a new tab) على YouTube. اشترك وارتقِ ببراعتك في نمذجة البيانات معنا!
نساعد في تغيير العالم بمشاركة أفكار رائعة مع زملائنا المعماريين ومع من هم في رحلتهم نحو أن يصبحوا معماريين!
نص مكتوب بمساعدة الذكاء الاصطناعي
STA 2.2