מהו קובץ SQL?
קובץ עם סיומת .sql הוא קובץ Structured Query Language (SQL) המכיל קוד לעבודה עם מסדי נתונים יחסיים. הוא משמש לכתיבת הצהרות SQL עבור פעולות CRUD (יצירה, קריאה, עדכון ומחק) בבסיסי נתונים. קבצי SQL נפוצים בזמן עבודה עם מסדי נתונים שולחניים כמו גם מבוססי אינטרנט. ישנן מספר חלופות ל-SQL כגון Java Persistence Query Language (JPQL), LINQ, HTSQL, 4D QL ועוד כמה. ניתן לפתוח קבצי SQL על ידי עורכי שאילתות של Microsoft SQL Server, MySQL ועורכי טקסט רגיל אחרים כגון Notepad במערכת ההפעלה Windows.
היסטוריה קצרה
- פותח והוצג על ידי דונל ד. צ’מברלין וריימונד פ. בויס ב-IBM בתחילת שנות ה-70
- משמש לאחסון ואחזור נתונים ממערכת ניהול מסד הנתונים המעין-יחסי המקורית של IBM, System R
- החלו בשימוש בבסיס מוצרים מסחריים מחזיקים את אב הטיפוס של System R כולל System/38, SQL/DS ו-DB2, שהיו זמינים מסחרית ב-1979, 1981 ו-1983, בהתאמה.
- אומצה רשמית על ידי קבוצות תקן ANSI ו-ISO כסטנדרט “שפת מסד נתונים SQL” עבור מערכות ניהול מסדי נתונים יחסיים (RDBMS) עד 1986
פורמט קובץ SQL
קבצי SQL הם בפורמט טקסט רגיל ויכולים להכיל מספר אלמנטים של שפה. ניתן להוסיף הצהרות מרובות לקובץ SQL בודד אם הביצוע שלהם אפשרי ללא תלות זה בזה. ניתן לבצע פקודות SQL אלו על ידי עורכי שאילתות לביצוע פעולות CRUD.
רכיבי שפת SQL
רכיבי שפת SQL הם כמפורט להלן.
אלמנט | תיאור |
---|---|
סעיפים | מרכיבים מרכיבים של הצהרות ושאילתות. |
ביטויים | יכול לייצר ערכים סקלאריים או טבלאות המורכבות מעמודות ושורות של נתונים |
פרדיקטים | ציין תנאים שניתן להעריך ל-SQL לוגיקה תלת-ערכית (3VL) (true/false/unknown) או ערכי אמת בוליאנית ומשמשים להגבלת ההשפעות של הצהרות ושאילתות, או לשינוי זרימת התוכנית. |
שאילתות | אחזר את הנתונים על סמך קריטריונים ספציפיים. זהו מרכיב חשוב של SQL. |
הצהרות | עשויה להיות השפעה מתמשכת על סכמות ונתונים, או עשויה לשלוט בטרנזקציות, זרימת תוכניות, חיבורים, הפעלות או אבחון. |
דוגמה ל-SQL
הצהרת SQL הבאה יוצרת טבלה בשם DATA, ואחריה פקודות ‘INSERT’ נוספות כדי להוסיף רשומות לטבלה זו.
CREATE TABLE DATA
(ID INTEGER REFERENCES STATION(ID),
MONTH INTEGER CHECK (MONTH BETWEEN 1 AND 12),
TEMP_F REAL CHECK (TEMP_F BETWEEN -80 AND 150),
RAIN_I REAL CHECK (RAIN_I BETWEEN 0 AND 100),
PRIMARY KEY (ID, MONTH));
INSERT INTO STATS VALUES (23, 1, 57.4, 0.31);
INSERT INTO STATS VALUES (21, 7, 91.7, 5.15);
INSERT INTO STATS VALUES (45, 1, 27.3, 0.18);
INSERT INTO STATS VALUES (65, 7, 74.8, 2.11);
INSERT INTO STATS VALUES (78, 1, 6.7, 2.10);
INSERT INTO STATS VALUES (88, 7, 65.8, 4.52);