מערכת Reportoire - מערכת שאילתות מותאמת ללקוח

גלעד ויזל בתוך: מידע וטקסט, כרך כא' חוברת 2, דצמבר 2014 17.07.2014 02:26
מערכת Reportoire  -  מערכת שאילתות מותאמת ללקוח


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



מערכת Reportoire  -  מערכת שאילתות מותאמת ללקוח

 

גלעד ויזל

תמצית

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

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

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

מהי הבעיה שאנו מנסים לפתור

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

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

ארכיטקטורת Reportoire .

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

בשלב הגדרת המערכת מבוצעות הגדרת הישויות ברכיב הנקרא "מילון" או Dictionary . פעולה זו מתבצעת על ידי מומחה Reportoire  לפי רשימת דרישות מהלקוח.  כמו כן  ניתנת תחזוקה שותפת הכוללת שנוי ההגדרות לאורך חיי המערכת.

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

 

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

ממשק לבסיס הנתונים זמין עבור Oracle  ו SQL Server.

 

הגדרת View

 

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

טבלה "פיסית" אחת בבסיס הנתונים יכולה להופיע ב View  מספר פעמים. למשל טבלת פענוחים המפענחת שדות שונים בטבלאות שונות.

בהגדרת ה View  אנו מגדירים מהם השדות שיוחצנו כשדות שליפה.  כמו כן אנו מגדירים מהם הסרגלים הזמינים באותו View  ומהם השדות המרכיבים כל סרגל. בכל סרגל אנו מגדירים גם את שדות המיון.

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

רשימת הקשרים  החיצוניים ל Views מגדירה את הקשרים בין ה Views  על פי אותם שדות קשר שהוחצנו בהגדרת ה View .

ה View  עצמו הוא במבנה רשתי בו הטבלאות הם ה Nodes  המקושרים דרך ה"קשרים הרופפים".

Query Composition

 

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

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

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

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

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

בצועים

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

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

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

המערכת יוזמת יצירת SQL  עם SubQuery  במידה והדבר מתאפשר.  בצוע של  SubQuery   יעיל מ Join   חלופי.

 

סיכום

 

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

ההגדרה הראשונית חוסכת הגדרות חוזרות ונשנות של משתמשים.

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

המערכת מאפשרת יצירת מנגנון Data Discovery  פשוט הניתן להגדרה על ידי משתמשי הקצה.

מצגת ההרצאה




הוספת תגובה
  מגיב אנונימי
שם או כינוי:
חסימת סיסמה:
  זכור אותי תמיד במחשב זה

כותרת ראשית:
אבקש לקבל בדואר אלקטרוני כל תגובה לטוקבק שלי
אבקש לקבל בדואר אלקטרוני כל תגובה למאמר הזה