לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #2  
ישן 14-12-2006, 20:02
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 1 שנכתבה על ידי ii007 שמתחילה ב "מהי טבלה זמנית ומה תפקידה?"

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

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

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

נערך לאחרונה ע"י ישראל K בתאריך 14-12-2006 בשעה 20:05.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 14-12-2006, 21:31
  דקל דקל אינו מחובר  
 
חבר מתאריך: 20.02.03
הודעות: 2,396
בתגובה להודעה מספר 3 שנכתבה על ידי DCD שמתחילה ב "Create View ?"

לא, ממש לא. view איננה טבלה זמנית, והקישור שהבאת גם מסביר מה זה בדיוק view. ממליץ לך לחזור ולקרוא שם.

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

לרוב כאשר מתייחסים לטבלה זמנית, מדובר בטבלה שנוצרת ע"י שרת הדטאבייס, על מנת לבצע חיפושים בתוך טבלה, כתוצאה משאילתא אשר דורשת "הרכבה" של טבלה חדשה (כתוצאה מפעולת join, למשל).

ואם כבר הוזכר נושא ה-view, שימוש ב-view יכול לגרור יצירה של טבלה זמנית (וכמובן שעדיף להינמע ממצב זה).

בברכה,
דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 17-12-2006, 07:04
  דקל דקל אינו מחובר  
 
חבר מתאריך: 20.02.03
הודעות: 2,396
בתגובה להודעה מספר 7 שנכתבה על ידי DCD שמתחילה ב "לפי ההסבר שלהם שם שזה יוצר..."

view היא טבלה וירטואלית, ולא שום דבר אחר. ההסבר לכך שהטבלה היא וירטואלית היא שלא קיים בדיסק שום קובץ בינארי (כמו שאר קבצי הנתונים של ה-DB) אשר מכיל את הנתונים של אותה הטבלה. כל DB מנהל את ה-views שלו באופן שונה, אבל בכלליות, כולם שומרים בדרך כלשהי את השאילתא של ה-view (מדובר בשאילתת SELECT) וברגע שישנו שימוש ב-view המדובר בשאילתא כלשהי, מפעיל ה-DB את אותה שאילתא ש"נשמרה" עבור אותו view מתאים.
ניקח לדוגמא את השאילתא הבאה ליצירת view:
קוד:
CREATE VIEW myVirtualTable AS SELECT pid, title, price FROM products WHERE price>100
השאילתא הנ"ל יוצרת טבלה וירטואלית חדשה, אשר "מכילה" את אותן הרשומות מתוך הטבלה products שמחירן גדול מ- 100 (השימוש במרכאות הכפולות הוא מכיוון שהטבלה אינה מכילה שום נתון, אולם שימוש עתידי בטבלה זו מאפשר לנו להסתכל על הטבלה כאילו היא מכילה נתונים).
כאשר נשתמש ב-view הנ"ל בשאילתא כלשהי, למשל כמו בשאילתא הבאה:
קוד:
SELECT title FROM myVirtualTable WHERE price<250
השרת יתרגם את הטבלה הוירטואלית שלנו myVirtualTable לקוד הבא:
קוד:
SELECT title FROM (SELECT pid, title, price FROM products WHERE price>100) WHERE price<250
והתשובה שנקבל היא כמובן אותם המוצרים מתוך הטבלה products אשר מחירם גדול מ-100, וקטן מ-250.

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

בתקווה שההסבר מובן

דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 04:50

הדף נוצר ב 0.04 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר