| המועמדים צריכים להיות מסוגלים: | הערות והנחיות |
|---|---|
| 1 הגדרת בסיס נתונים בטבלה אחת על בסיס דרישות אחסון נתונים הנתונות | • כולל: – שדות – רשומות – אימות |
| 2 הצעת סוגי נתונים בסיסיים מתאימים | • כולל: – טקסט/אלפנומרי – תווית – בוליאני – שלם – אמיתי – תאריך/שעה |
| 3 הבנת מטרת מפתח ראשי והיכרות עם מפתח ראשי מתאים לטבלת בסיס נתונים נתונה | |
| 4 קריאה, הבנה והשלמה של סקריפטים שפת שאילת מבוססת (SQL) לשאילת נתונים מאוחסנים בטבלת בסיס נתונים אחת | • מוגבל ל: – SELECT – FROM – WHERE – ORDER BY DESCENDING – ORDER BY ASCENDING – SUM – COUNT – AND – OR • זיהוי הפלט שנוצר על ידי הוראת SQL שתשאל את התוכן הנתון של טבלת בסיס נתונים |
מאגרי נתונים
מדעי המחשב IGCSE · נושא 9
8:17
מאגרי נתונים
לפני המחשבים, ספרייה שמרה מגירה כזו. כרטיס אחד לספר, כל אחד מהם מכיל את אותם מעט עובדות, כולן מסודרות — כדי שהספרן יוכל למצוא כל ספר…
קריאת קול באנגלית · תרגום אנגלי + סינית שרוף בתוך הסרטון
סיילבוס
מקור: הסיילבוס הבינלאומי של קמבריד'ג'
9.1
מהי מסד נתונים?
מסד נתונים הוא מאגר נתונים מאורגן, המיועד לכך שיהיה קל לחפש, למיין ולעדכן. ב-IGCSE עובדים עם מסד נתונים בטבלה אחת – כל הנתונים מאוחסנים בטבלה אחת.


9.2
רשומות ושדות
טבלת מאגר נתונים מורכבת מרשומות ושדות.
- רשומה היא שורה אח בטבלה — כל הנתונים על דבר אחד (למשל, סטודנט אחד).
- שדה הוא עמודה אח בטבלה — חלק נתונים אחד שכל רשומה מכילה (למשל, "שם פרטי").
| StudentID | FirstName | DateOfBirth | FormClass | FeesPaid |
|---|---|---|---|---|
| 1 | Amy | 14/03/2009 | 10A | TRUE |
| 2 | Ben | 02/11/2008 | 10B | FALSE |
במקרה זה, כל שורה היא רשומה, וכל עמודה היא שדה.

9.3
סוגי נתונים לשדות
כל שדה מאחסן סוג נתונים אחד. תבחר בסוג המתאים ביותר לנתונים.

| Data type | Used for | Example |
|---|---|---|
| טקסט/אלפנומרי | אותיות, ספרות וסימנים | "10A", "Amy" |
| אופיין | אופיין אחד | 'M' |
| בוליאני | אחד משני ערכים | TRUE / FALSE |
| שלם | מספר שלם | 42 |
| ממשי | מספר עם נקודה עשרונית | 3.5 |
| תאריך/שעה | תאריך או שעה | 14/03/2009 |
| English | עברית |
|---|---|
| database/ˈdeɪtəbeɪs/ | מאגר נתונים |
| single-table database/ˈsɪŋɡl ˈteɪbl ˈdeɪtəbeɪs/ | בסיס נתונים טבלא יחיד |
| record/ˈrekɔːd/ | רשום |
| field/fiːld/ | שדה |
| data type/ˈdeɪtə taɪp/ | סוג נתונים |
| text/alphanumeric/tekst ˌælfənjuːˈmerɪk/ | טקסט/אלפאנומרי |
| character/ˈkærɪktə/ | אישייה / אופי |
| Boolean/ˈbuːlɪən/ | בוליאני |
| integer/ˈɪntɪdʒə/ | מספר שלם |
| real/rɪəl/ | ממשי |
| date/time/deɪt taɪm/ | תאריך/שעה |
| primary key/ˈpraɪməri kiː/ | מפתח ראשי |
| unique/juːˈniːk/ | ייחודי |
9.4
המפתח הראשי
מפתח ראשי הוא שדה המכיל ערך יחיד לכל רשום. אין לשני רשומות להיות אותו מפתח ראשי, ולכן הוא מאפשר לך לבחור בדיוק רשומה אחת.
בטבלה למעלה, StudentID הוא מפתח ראשי טוב כי כל תלמיד מספר שונה. שדה כמו FormClass יהיה מפתח ראשי גרוע, כי הרבה תלמידים חולקים אותה כיתה.
9.5
אימות במאגר נתונים
כשנתונים מוזנים למאגר נתונים, בדיקות אימות מבטיחות שהן הגיוניות — לדוגמה, בדיקת טווח בשדה גיל, או בדיקת נוכחות כדי לוודא שלא משאירים שדה ריק. (ראיתם בדיקות אלו בנושא 7.)

| English | עברית |
|---|---|
| validation/ˌvælɪˈdeɪʃn/ | אימות |
| structured query language/ˈstrʌktʃəd ˈkwɪərɪ ˈlæŋɡwɪdʒ/ | שפת שאלות מבנית (SQL) |
9.6
שפת שאילתות מבנית (SQL)
שפת שאילתות מבנית (SQL) היא שפה המשמשת לשאול ממאגר נתונים — לבחור את הרשומות הרצויות. עליכם להבין ולהשלם סكريפטים של SQL.
SELECT, FROM ו-WHERE
SELECTאומר אילו שדות להציג.FROMאומר איזו טבלה להשתמש בה.WHEREמספק תנאי, כך שמוצגות רק רשומות התואמות.

SELECT FirstName, FormClass
FROM Student
WHERE FeesPaid = TRUE;
זה מציג את השם הפרטי והכיתה של כל תלמיד ששילם את האגרה.
השתמשו ב* כדי לבחור כל השדות:
SELECT *
FROM Student
WHERE FormClass = '10A';
ORDER BY
ORDER BY ממיין את התוצאות. השתמשו בASC עבור סדר עולה (הקטן ביותר קודם, A→Z) או בDESC עבור סדר יורד (הגדול ביותר קודם, Z→A).
SELECT FirstName, DateOfBirth
FROM Student
ORDER BY DateOfBirth ASC;
AND ו-OR
חברו תנאים עם AND (שניהם חייבים להיות נכונים) או עם OR (אחד לפחות חייב להיות נכון).
SELECT FirstName
FROM Student
WHERE FormClass = '10A' AND FeesPaid = FALSE;
SUM ו-COUNT
SUMמוסיף את הערכים בשדה מספרי.COUNTסופר כמה רשומות תואמות.
SELECT COUNT(StudentID)
FROM Student
WHERE FeesPaid = FALSE;
זה סופר כמה סטודנטים לא שילמו. SUM עובד באותו אופן אך מוסיף שדה מספרי במקום לספור שורות.
חישוב התוצאה
כדי למצוא את תוצאת הסקריפט של SQL, קרא אותו בסדר זה:
FROM— איזו טבלה;WHERE— שמור רק את הרשומות התואמות לתנאי;SELECT— הצג רק את השדות הנבחרים;ORDER BY— סדר את התוצאות.

על בסיס צעדים אלו, ניתן לכתוב בדיוק אילו שורות ועמודות השאלה מחזירה.
דוגמה פתורה. טבלת Book מכילה את השדות Title, Author, Price וInStock. כתוב שאלה המציגה את הכותרת והמחיר של כל הספר מאת אורוול שבמלאי, מהזול ביותר ראשונה.
SELECT Title, Price
FROM Book
WHERE Author = 'Orwell' AND InStock = TRUE
ORDER BY Price ASC;
בנה אותה בסדר הקריאה: FROM מיימן את הטבלה; WHERE משאיר רק את הרשומות התואמות, וכיוון שישנם שני תנאים הם דורשים AND; SELECT מציג רק את שני השדות המבוקשים; ORDER BY … ASC ממין אותם. ערכי טקסט נמצאים בתוך ציטוטים, ובשדה SELECT חייבים להיות רק השדות שהשאלה מבקשת - הוספת Author פשוט כי סיננת לפי הוא הדרך הנפוצה ביותר לאבד נקודה כאן.
SELECT … WHERE
עבור על שאלה: WHERE מסנן שורות, SELECT בוחר עמודות.
| English | עברית |
|---|---|
| query/ˈkwɪərɪ/ | שאלה |
| condition/kənˈdɪʃn/ | תנאי |
| ascending/əˈsendɪŋ/ | עלייה |
| descending/dɪˈsendɪŋ/ | ירידה |
9.7
טיפים לבחינות
- רשומה היא שורה (כל הנתונים על דבר אחד); שדה הוא עמודה (פריט אחד שכל רשומה מכילה).
- מפתח ראשי חייב להיות יחיד לכל רשומה, כך שהוא מזוהה בדיוק רשומה אחת (StudentID, ולא FormClass).
- למד את חלקי SQL:
SELECT(אילו שדות),FROM(איזו טבלה),WHERE(התנאי),ORDER BY(סידור, ASC או DESC). - קרא שאלה בסדר FROM → WHERE → SELECT → ORDER BY כדי לחשב את תוצאתה.
COUNTסופר את הרשומות התואמות;SUMמוסיף שדה מספרי.
שיעורים אינטראקטיביים בנושא זה
לעבור על הדברים צעד אחר צעד, עם תרגילים לבדיקה מיידית.