مقدمة
عندمَا يتم تصميم البيَانَات فِي Microsoft Dataverse، يتم استخدَام جدَاول مِنفصلة لتمثيل الكائنَات والمفاهيم المميزة. وبإمكان المؤسسَات استخدَام المزيد مِن الجدَاول للمسَاعدة فِي حمَاية معلومَات معينة أو تجنب تكرَار البيَانَات أو وصف خصَائص أخرى أو تسهيل إعدَاد التقَارير. لأن الكائنَات الواقعية مرتبطة ببعضهَا البعض، يتم استخدَام العلاقَات فِي Dataverse لربط الصفوف مِن جدول إلى آخر. علاوةً عَلى ذلك، بإمكان العلاقَات توفِير قيود وسلوكيَات تنطبق عِندَ تطبيق إجرَاءَات عَلى السجلات.
فِي الأسَاس، بإمكان العلاقَات والجدَاول فِي Dataverse أن تعمل معًا لرواية قصة بيَانَاتك. عند إنشَاء تجربة مستخدم جيدة فِي تطبيق لوحة مِن Microsoft Power Apps باستخدَام الجدَاول والعلاقَات، قد ترغب فِي إخفاء التعقيدَات غير الضرورية لنموذج البيَانَات. ولإنجَاز هذه المهمة، يجب أن يتنقل استخدَام البيَانَات والمعَادلات بكفاءة فِي الجدَاول باستخدَام العلاقَات. سوف ترَاجع هَذه الوحدَة النمطية كيفِية استخدَام الأنواع المختلفة مِن علاقَات الجدَاول التي يقدمهَا Dataverse.
السينَاريو: مسَاحَات العمل المشتركة فِي Contoso
ستستخدم هَذه الوحدَة النمطية سينَاريو عمل شَائعًا لتوضيح كيفِية عمل علاقَات Dataverse مع تطبيقَات اللوحة. تتمتع شركة Contoso، مثل العديد مِن الشركات، بالعديد مِن المواقع وتسمح لموظفيهَا بالعمل مِن المنزل. أحيَانًا يحتَاج هؤلاء الموظفِين إلى الوصول إلى المكتب وسوف يحتَاجون إلى مكتب لاستخدَامه أثنَاء زيَارتهم. فِي السَابق، طلبت شركة Contoso مِن موظفِيهَا التجول فِي موقع المكتب عِندَ الوصول للعثور عَلى مكتب متَاح. وقد اكتشفت الشركة مِنذ ذلك الحين أن هَذا النوع مِن نظَام مسَاحة العمل المشتركة، يُشَار إليه فِي بعض الأحيَان باسم مكاتب الخدمة السريعة، أدى إلى بروز تحديَات تتعلق بدعم وترَاخيص تكنولوجيَا المَعلومَات. ونتيجة لذلك، تخطط الشركة لبنَاء حل يستخدمه الموظفون ويسمح لهم بمشَاهدة المكاتب المتَاحة وحجزهَا مسبقًا. وقد حدد الفريق الذي يعمل عَلى بنَاء الحل الجدَاول التَالية كجزء مِن نموذج بيَانَات Dataverse.
| اسم الجدول | الوَصف |
|---|---|
| الموقع | سيمثل هَذا الجدول المباني الفردية وسيحتوي عَلى أعمدة مثل العنوان ورقم الهَاتف. سيكون لكل موقع جهة اتصَال رئيسية. |
| المكتب | يمثل هَذا الجدول المكتب الفعلي الذي يمكن لأحد الأشخَاص حجزه. تقع المكاتب فِي موقع معين. |
| ميزة المكتب | هنَاك ميزَات مختلفة فِي المكاتب المختلفة. عَلى سَبِيل المِثَال، قد تحتوي بعض المكاتب عَلى مكبر صوت، وقد يكون بعضهَا الآخر دَاخل غرفة. سيتم تضمين قَائمة قيَاسية بميزَات المكتب، وبإمكان كل مكتب أن يحتوي عَلى ميزة واحدة أو أكثر مِن هذه الميزَات. |
| المُستَخدِم | يمثل المُستَخدِمون الأشخَاص الذين يمكنهم حجز المكتب أو يمكنهم تأدية دور جهة الاتصَال الرئيسية للموقع. |
| الحجز | يمثل هَذا الجدول الحجز لشخص مَا لاستخدَام مكتب معين فِي موقع معين فِي فترة زمِنية محددة. |
أنواع علاقَات Dataverse
عندمَا تنشئ علاقة بين الجدَاول، يحدد نوع العلاقة يحدد قيود العلاقة الأسَاسية لكل جَانب مِن جوانب العلاقة. يدعم Dataverse علاقَات واحد إلى متعدد ومتعدد إلى متعدد.
علاقَات واحد إلى متعدد
تتضمِن علاقة واحد إلى متعدد (والتي تُسمَّى أيضًا 1:N أو أصلي-فرعي) جدولاً رئيسيًا (الجدول الأصل) حيث يمكن إقرَان صف فريد بعدد كبير مِن صفوف الجدول (الجدول الفرعي) ذِي الصلة باستخدَام عمود بحث فِي الجدول (الفرعي) ذي الصلة. يسمى الصف الأسَاسي الصف الأصلي، وتسمي صفوف الجدول ذي الصلة الصفوف الفرعية. يمكنك إقرَان صف فرعي بصف أصلي واحد فقط.
يُشَار أيضًا إلى علاقة واحد إلى متعدد باسم علاقة متعدد إلى واحد (أو N:1)، حيث تستخدم العلاقة اعتبارًا مِن الفرع الذي يشير إلى الأصل. إنه تعريف العلاقة المَادية نفسهَا ولكن مِن زَاوية مختلفة. فِي تطبيق اللوحة، إذَا كنت تعمل مع السجل الفرعي وأردت عرض خَاصية مِن الأصل، فستستخدم خَاصية التنقل عبر علاقة متعدد إلى واحد فِي الصف الفرعي.
بشكل افترَاضي، يُستخدم جدول واحد كجدول أسَاسي، ويشير عمود البحث دَائمًا إلى صف مِن هَذا الجدول. يدعم Dataverse أيضًا عمليَات البحث متعددة الجدَاول (يشَار إليهَا أحيَانًا باسم عمليَات البحث متعددة الأشكال)، التي تسمح لحقل بحث بالرجوع إلى صف مِن أحد الجدَاول المتعددة، ممَا يوفر المرونة لنمَاذج بيَانَات أكثر تعقيدًا. عَلى سَبِيل المِثَال، يمكنك إعدَاد عمود بحث متعدد الجدَاول عن طريق إنشَاء عمود مِن نوع البيَانَات "عميل". بعد ذلك، يمكنك تعيين قيمة بحث العميل للإشَارة إلى جهة اتصَال أو إلى صف جدول حسَاب. فِي جَمِيع جدَاول الأنشطة (عَلى سَبِيل المِثَال، البريد الإلكتروني والمهمة ومَا إلى ذلك)، بإمكان العمود المِنَاظر أن يشير إلى أي جدول تم تمكينه لتعقب النشَاط. علاوة عَلى ذلك، يمكنك استخدَام نوع العمود بحث متعدد الجدَاول لإعدَاد عمود بحث مخصص متعدد الجدَاول. عند العمل مع أعمدة البحث متعددة الجدَاول هذه فِي Power Apps، ستستخدم دَالات IsType وAsType Microsoft Power Fx لتحديد الجدول الأصلي واستخدَام البيَانَات.
فِي نموذج البيَانَات المقدم كمثَال فِي الوحدة النمطية، تم تحديد علاقَات واحد إلى متعدد التَالية لدعم السينَاريو.
| الجدول الأسَاسي | الجدول ذو الصلة | الوَصف |
|---|---|---|
| الموقع | المكتب | لكل مكتب موقع. |
| المُستَخدِم | الموقع | لدى كل موقع جهة اتصَال رئيسية. |
| المُستَخدِم | الحجز | المُستَخدِم الذي تمَّ حجز المكتب له. |
| المكتب | الحجز | لكل حجز مكتب معين. |
عند إعدَاد علاقة واحد إلى متعدد، يمكنك أيضًا إعدَاد سلوكيَات العلاقة. تحدد السلوكيَات مَا يجب أن يحدثَ عِندَ حذف صف الجدول الأسَاسي أو تعيينه أو مشَاركته أو إلغَاء مشَاركته أو إعَادة تعيين أصله. السلوك الافترَاضي هو المرجع، ويتم إعدَاده لإزَالة الرَابط بين الجدولين عِندَ حذف صف الجدول الأسَاسي. عَلى سَبِيل المِثَال، يحتوي جدول الموقع عَلى مكاتب متعددة ويستخدم التَكوِين الافترَاضي، وبالتَالي إذَا قَام تطبيق اللوحة بحذف صف موقع، فسيتم عزل جَمِيع المكاتب المقترنة بشكل افترَاضي. إذَا كانت متطلبات العمل تقضي بإزَالة السجلات المكتبية المقترنة عِندَ حذف أحد المواقع، فِيمكنك عندئذٍ تحديد الدَالة ForAll، التي ستحذف جَمِيع السجلات المكتبية المقترنة أولاً. ثمة خيَار أفضل وهو إعدَاد نوع السلوك الأصلي للعلاقة. يقوم نوع السلوك هَذا بشكل تلقَائي بحذف السجلات المقترنة عِندَ حذف السجل الأسَاسي. يضمِن هَذا الأسلوب عدم وجود سجلات مكتبية معزولة.
عندمَا تعمل عَلى إنشَاء تطبيق لوحة وتستخدم الجدَاول ذَات الصلة، فإن معرفة كيفِية إعدَاد تلك العلاقة سيضمِن تطبيق المِنطق الصحيح.
علاقَات متعدد إلى متعدد
تتضمِن علاقة متعدد إلى متعدد (تُسمَّى أيضًا N: N) جدولاً مخفِيًا خَاصًا يسمى جدول العلاقة، يشَار إليه أحيَانًا باسم جدول التقَاطع. سيعين هَذا الجدول كيف يمكن ربط عدد كبير مِن صفوف جدول بعدد كبير مِن صفوف جدول آخر. بإمكان علاقَات متعدد إلى متعدد تعقب الاقترَان، ولكن لا يمكنك تعديل جدول التقَاطع لإضَافَة أعمدة مخصصة تصف العلاقة.
فِي مثَال الوحدة النمطية هذه، سيكون لكل مِن المكتب وميزة المكتب علاقة متعدد إلى متعدد. ستكون قَائمة ميزَات المكتب مشتركة بين جَمِيع المكاتب، وبإمكان كل مكتب أن يكون لديه ميزة مرتبطة واحدة أو أكثر. تسمح علاقَات متعدد إلى متعدد للمستخدمين بمعرفة أن المكتب يحتوي عَلى كرَاسٍ ولكنهَا لن تسمح لك بتخزين عدد الكرَاسي الموجودة فِي كل مكتب.
يوضح الفِيديو التَالي كيفِية إنشَاء علاقَات بين الجدَاول.
بعد إنشَاء جَمِيع الجدَاول والعلاقَات، يجب أن يشبه نموذج البيَانَات للسينَاريو المقدم كمثَال الرسم التخطيطي التَالي.
ملاحظة
لا تقُم بإنشَاء هَذه الجدَاول والعِلاقَات الآن. سوف تستوردُ حلاً باستِخدَام الجدَاول والعِلاقَات المُنَاسِبة كجزءٍ مِن التمرينِ فِي الوحدةِ 4.
يستكشف القسم المتبقي مِن هَذه الوحدَة النمطية كيفِية العمل مع نموذج البيَانَات هَذا مِن تطبيق اللوحة.