תורגם בבינה מלאכותית. הקהילה עוד לא בדקה את התרגום. לקריאה באנגלית

בלוג · 14 בספטמבר 2023 · Steve Simpson · ארכיטקטורת נתונים

Steve Data Modeling: מרשימות בחירה אל האינסוף ומעבר לו

מבוא:

ברוכים הבאים למפגש מעמיק נוסף על מידול נתונים בסדרה Steve’s Data Modeling! במאמר הזה נבחן את השימושים הרבים של רשימות בחירה (picklists), ונדון בתרחישים שבהם כדאי לשקול חלופות לדרישות מידול נתונים מתקדמות יותר.

הבנת רשימות בחירה

רשימות בחירה מושלמות כשיש לכם שדה שדורש קבוצה של ערכים קבועים. הן מציעות חוויית משתמש נקייה, אבל באות עם כמה מגבלות:

שגיאות אימות נתונים מתרחשות אם ערכים שמגיעים מאינטגרציות של צד שלישי לא נוספו מראש ב-Salesforce.

אפשרויות לרשימות בחירה

הנה כמה אפשרויות לרשימות בחירה שכדאי לשקול:

אפשרות 1: קבוצות ערכים גלובליות

זו האפשרות הסטנדרטית של Salesforce, והיא יכולה לנצל רשימות על פני אובייקטים.

אפשרות 1, רשימות בחירה וקבוצות ערכים גלובליות. יתרון: חוויית משתמש נקייה. חסרונות: מנהל צריך להוסיף ערכים, שינויים דורשים פריסה לסביבות sandbox, מערכות חיצוניות גורמות לבעיות, וערך לא יכול להחזיק שדות קשורים

קבוצות ערכים גלובליות הן הטובות ביותר לערכים שמשמשים בכמה מקומות. לדוגמה, אפשר להחזיק שתי קבוצות ערכים גלובליות ל”קוטר הצינור” ול”עובי הצינור”, ולספק למשתמשים ממשק נקי לבחירת ערכים.

[caption id="" align=“alignnone” width=“1372”]קבוצות ערכים לדוגמה קבוצות ערכים לדוגמה [/caption] [caption id="" align=“alignnone” width=“1814”]ערכים לדוגמה ערכים לדוגמה [/caption] [caption id="" align=“alignnone” width=“676”]בחירה מתוך רשימה בחירה מתוך רשימה [/caption]

אפשרות 2: שדות טקסט

זה פשוט שדה טקסט בלי שום אימות.

אפשרות 2, שדות טקסט. יתרון: מקבלים כל ערך. חסרונות: אין אימות נתונים, וחוויית משתמש גרועה

אם ערכי הנתונים נדחפים דרך אינטגרציות, אפשר לשקול שדות טקסט. אבל בגישה הזו מאבדים את האימות, ומשתמשים יכולים להזין כל נתון, מה שעלול להוביל לחוסר עקביות.

זו יכולה להיות אפשרות אם השדות הם לקריאה בלבד ב-Salesforce ואתם רק מציגים את הערכים.

[caption id="" align=“alignnone” width=“678”]אין אימות אין אימות [/caption]

אפשרות 3: אובייקט ייחוס משותף

אפשרות 3, אובייקט ייחוס משותף עם סוגי רשומה, וקשרי lookup שמסוננים לפי סוג רשומה. יתרונות: נתונים נוספים באופן דינמי, וחלק מהשדות הקשורים. חסרונות: טעינות נתונים בסביבות sandbox, ואובייקט המקור מחזיק מפתח במקום הערך

אפשר להשתמש באובייקט ייחוס משותף עם כמה סוגי רשומה לטעינות נתונים. הגישה הזו יוצרת שני קשרי lookup באובייקט הראשי, שמקשרים לאובייקט הייחוס במקום לערכים עצמם. אפשר גם להוסיף ערכים חדשים באופן דינמי בלי הרשאות מנהל, מה שמגביר את הגמישות.

[caption id="" align=“alignnone” width=“1462”]שימוש בסוגי רשומה שימוש בסוגי רשומה [/caption] [caption id="" align=“alignnone” width=“1700”]השתמשו ב-lookup מסונן השתמשו ב-lookup מסונן [/caption] [caption id="" align=“alignnone” width=“1434”]הוספת ערכים הוספת ערכים [/caption] [caption id="" align=“alignnone” width=“658”]כך נראית בחירת ערך. המיון לא נכון, ולא כל הערכים מוצגים בטעינה הראשונה, כך שהמשתמש צריך לחפש אותם. ודאו גם שהסרתם את "Create" מהפרופילים ומערכות ההרשאות, כדי שמשתמשים לא ייצרו רשומות נוספות תוך כדי עבודה. כך נראית בחירת ערך. המיון לא נכון, ולא כל הערכים מוצגים בטעינה הראשונה, כך שהמשתמש צריך לחפש אותם. ודאו גם שהסרתם את “Create” מהפרופילים ומערכות ההרשאות, כדי שמשתמשים לא ייצרו רשומות נוספות תוך כדי עבודה. [/caption]

חלק 3: אפשרויות מתקדמות

לתרחישים מתקדמים יותר, שקלו את האפשרויות האלה:

אפשרות 4: מסכים מותאמים אישית עם אובייקט ייחוס

אפשרות 4, אובייקט ייחוס יחד עם שדה טקסט, ו-Lightning Web Component שקורא את ערכי רשימת הבחירה מאובייקט הייחוס. יתרונות: נתונים נוספים באופן דינמי, ואובייקט המקור שומר את הערכים. חיסרון: דורש פיתוח LWC ודפים מותאמים אישית

אם אתם משתמשים ב-Lightning Web Components ‏(LWC) מותאמים אישית במסכי העריכה, אפשר להשתמש באובייקט ייחוס כדי לקרוא ערכים ולהציג אותם, ולשמור את הערכים עצמם במקום קשרי lookup.

אפשרות 5: אובייקטים עצמאיים

אפשרות 5, אובייקטי ייחוס עצמאיים, אחד לכל רשימה. יתרונות: נתונים נוספים באופן דינמי, מודל נתונים נקי והרבה שדות קשורים. חסרונות: טעינות נתונים בסביבות sandbox, מפתחות במקום ערכים, והרבה אובייקטים

אם החשיבות של ערכי ה-lookup גדלה, שקלו ליצור אובייקטים עצמאיים לכל אחד מהם וקשרי lookup נפרדים. הגישה הזו מאפשרת הוספה דינמית של נתונים, שומרת על מודל נתונים נקי, ותומכת בשדות קשורים נוספים בכל אובייקט.

דוגמאות מעשיות

הנה דוגמאות מעשיות שממחישות כל אפשרות:

רשימות בחירה סטנדרטיות: מציעות ממשק נקי עם ערכים קבועים.

שדות טקסט בלי אימות: מספקים גמישות, אבל בלי אימות נתונים.

‏Lookup לאובייקטי ייחוס: משתמש באותו אובייקט עם סוגי רשומה מסוננים לגמישות.

אובייקטים עצמאיים: משתמשים באובייקטים נפרדים לכל lookup, ומציעים מודל נתונים נקי וגמיש.

סיכום

הבנת הדקויות של רשימות בחירה ושל החלופות שלהן חיונית למידול נתונים אפקטיבי. מרשימות בחירה סטנדרטיות ועד אובייקטים עצמאיים, כל אפשרות מציעה יתרונות ייחודיים שעונים על צרכים מסוימים במידול נתונים.

חזרו בקרוב!

לתובנות ולטיפים נוספים, הישארו איתנו כאן ב-www.SteveTechArc.com ובערוץ ה-YouTube ‏@SteveTechArc (opens in a new tab). הירשמו ושדרגו איתנו את הברק שלכם במידול נתונים!

עוזרים לשנות את העולם בשיתוף רעיונות מגניבים עם עמיתים ארכיטקטים ועם מי שנמצאים במסע שלהם לארכיטקטורה!

תמלול בסיוע בינה מלאכותית

STA 2.2