פרק 8: להשתעשע בבסיסי נתונים - GUFE - החזית הכללית והשימושיתבואו נדבר על GUFEהיופי של מודול ה DBI ב Perl, כמו שראינו בבסיס הנתונים אקסס תחת חלונות ובבסיס הנתונים MySQL תחת לינוקס, הוא שאתם יכולים להשתמש באותו קוד בסיסי כדי לבצע שאילתות על בסיס נתונים, כל עוד התקנתם את מודול הDBD המתאים לאותה צורה. בשני הפרקים הקודמים עבדנו כדוגמה עם בסיס נתונים פשוט, בשם Clients, שהכיל שתי טבלאות: billing ו invoices. עבדנו עם הקרביים של DBI וביצענו שאילתות על בסיס הנתונים, אבל שאילתות אלו נשארו תאורטיות... GUFE, מצד שני, הוא סקריפט של Perl המגשר על הפער בין בסיס הנתונים והדפדפן, בעיקר לביצוע שאילתות על בסיס הנתונים ועיצוב התוצאות בדפדפן בעזרת CGI. הממשק של GUFE פשוט למדי, כפי שתוכלו לראות בשקופית למעלה. החלק הצהוב (העליון) של העמוד מציג מבט על טבלה נבחרת בהתבסס על ביצוע שאילתה. ברירת המחדל היא הצגה של כל הטבלה מבסיס הנתונים כולל כל השורות והשדות, שווה ערך לפקודת ה SQL : select * from billing לדוגמה. כל תווית של שדה בשורה העליונה היא קישור (hyperlink) - הקשה על תווית השדה מייצרת רשימה ארוכה וממוינת של כל השדות האלו בטבלה, לכן, בקשה על התווית "ClientName" תמיין את הטבלה בסדר עולה ע"פ האלף-בית. לפי השדה ClientName. לחיצה נוספת על אותה תווית תמיין מחדש את הטבלה בסדר יורד. בתחתית האזור הצהוב ישנם קישורים לכל הטבלאות שהם חלק מבסיס נתונים זה, דבר המאפשר לכם להחליף את התצוגה לטבלה אחרת, ולכן מאפשרת לכם לחקור כל טבלה הנמצאת בבסיס הנתונים. בדוגמה שלנו, בסיס הנתונים Clients ישנם כמובן רק שתי טבלאות. החלק הכחול (הנמוך) של העמוד מציג מספר שדות שאילתה, שבעזרתם תוכלו לבצע שאילתות על הטבלה הנוכחית. בגלל ש GUFE היא כלי לימודי במאמר זה, יותר מאשר סקריפט מעשי, היישום של השאילתה אינו כה משכנע. לדוגמה, אתם חייבים לתחום ערכי מחרוזת במירכאות בשדה השאילתה, ואם תטעו בתנאים או/ו בסוגי שדות תגררו שגיאות, במילים אחרות, נסיון להתאים תווים מול שדות של מספרים בטבלת בסיס הנתונים. שדות רב-ברירה (Multiple criteria) יכולים להיות משולבים בעזרת "או" (OR ) או "וגם" ( AND ), אבל לא ניתן להשתמש בממשק זה כדי לבצע בו זמנית "או" על שדות מסוימים ו "וגם" על אחרים. בתכנון עבור העולם האמיתי נצטרך להתייחס לבעיות אלו בממשק, אבל הקוד הנוסף שדרוש יחטיא את המטרה העיקרית של GUFE ויגרום לסקריפט להיות יותר קשה להבנה. (כמו כן זה די קשה לכתיבה!). מדוע GUFE כללי? פרט לקישור השדה "Invoice" , GUFE יכול להיות מיושם בכל בסיס נתונים מתאים של SQL. כל הפלט של GUFE , כולל הרשימה של הטבלאות הזמינות, תצוגת הטבלה, ושדות המפתח מיוצרים תוך כדי ריצה על פי השאילתות על בסיס הנתונים הספציפי עליו הן מכוונות. לפיכך GUFE אינה קשורה לדוגמת ה clients שלנו,ויכולה להיות מיושמת בקלות עבור כל בסיס נתונים. אתם מוזמנים להשתעשע בGUFE על בסיס הנתונים clients שהגדרנו זה מכבר. למעשה אנו ממליצים על זאת בחום רב לפני קריאת המשך המאמר. החזית הכללית
והשימושית- GUFE -להשתעשע בבסיסי
נתונים
|