פרטי המסמך:

הועלה: סוג מסמך: מסמך אונליין מסמך אונליין
עמודים: 24 הורדות: 58467
מדריך למתחיל בשפת SQL. בין הנושאים הכלולים במסמך: פקודות בסיסיות: Insert, Select, Update. פקודות לניהול טבלה: Create, Drop. פקודות לאיחוד טבלאות: Inner Join, Left Join ועוד פקודות רבות אחרות.

1. מבוא – בסיסי נתונים ושפת SQL

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

המסמך אינו דורש ידע מוקדם בשום שפת תיכנות.

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

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

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

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

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

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

חשוב לציין שישנם מימושים שונים לשפת SQL ולצערנו אין תאימות מוחלטת בין מימושים שונים גם בחלקים החופפים במימוש, וכך כמעט בטוח שיהיה צורך להתאים קוד SQL בהעתקתו בין מימושים שונים, למשל קוד SQL של ACCESS הינו שונה במעט מקוד SQL של Sql Server אף ששני המוצרים שייכים לחברת מיקרוסופט, ושניהם יהיו שונים מקודי SQL עבור MySQL ועבור Oracle של חברת Sun

מאת: רוזית

שם

Microsoft VBScript runtime error '800a005e'

Invalid use of Null: 'Replace'

/document-details.asp, line 513