מערכת 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 פשוט הניתן להגדרה על ידי משתמשי הקצה.
מצגת ההרצאה