Menu
Coddy logo textTech

מה זה מסד נתונים (Database)?

מסד נתונים (database) הוא אוסף מאורגן של נתונים שנשמר במחשב, כך שתוכניות יכולות למצוא, להוסיף, לשנות ולמחוק אותם במהירות ובבטחה. מנהלת אותו תוכנה שנקראת מערכת לניהול מסדי נתונים (DBMS), כמו PostgreSQL, MySQL, SQLite או MongoDB.

מאת Kevin Spektor, מייסד שותף ו-CTO

עודכן ב-24 בספטמבר 2026

כשנכנסים לאתר, האתר צריך למצוא את החשבון שלכם מבין מיליוני חשבונות אחרים, לבדוק את הסיסמה ולטעון את ההגדרות שלכם, והכול תוך כמה אלפיות שנייה. הוא לא פותח קובץ טקסט וקורא אותו שורה אחרי שורה. הוא שולח בקשה כמו SELECT * FROM users WHERE email = 'ana@example.com' למסד נתונים, ומסד הנתונים קופץ ישר לשורה הנכונה בעזרת אינדקס, בדומה למפתח שבסוף ספר.

איך מסד נתונים עובד

שני חלקים עובדים יחד. מסד הנתונים הוא הנתונים, מאורגנים במבנה קבוע. המערכת לניהול מסדי נתונים (DBMS) היא התוכנית ששומרת את הנתונים בקבצים, שומרת על העקביות שלהם ועונה לבקשות. PostgreSQL, MySQL ו-SQLite הן מערכות DBMS; רשימת הלקוחות שלכם היא מסד הנתונים.

במסד נתונים רלציוני, הנתונים נמצאים בטבלאות. לכל טבלה יש עמודות (שם, מדינה, נקודות) ושורות (אחת לכל משתמש). בקשה עוברת את השלבים האלה:

  1. התוכנית שלכם שולחת שאילתה, בדרך כלל כתובה ב-SQL (Structured Query Language).
  2. ה-DBMS מנתח את השאילתה ומתכנן איך לענות עליה: אילו טבלאות לקרוא והאם אינדקס יכול לדלג על רוב השורות.
  3. הוא קורא את הנתונים מהדיסק בדפים בגודל קבוע (4,096 בייטים כברירת מחדל ב-SQLite, 8 KB ב-PostgreSQL), ומחזיק בזיכרון דפים שמשתמשים בהם לעתים קרובות.
  4. הוא מסנן, ממיין ומשלב שורות, ואז מחזיר את התוצאה.

Python מגיעה עם SQLite, כך שאפשר להריץ כאן מסד נתונים אמיתי:

Kenji 340
Omar 340
Ana 120
users: 4 average points: 222.5

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

סוגי מסדי נתונים

סוגשומר נתונים כדוגמאותשימוש טיפוסי
רלציוני (SQL)טבלאות של שורות ועמודות, מקושרות במפתחותPostgreSQL, MySQL, SQLite, Oracle, SQL Serverמשתמשים, הזמנות, תשלומים: רוב האפליקציות
מסמכיםמסמכים דמויי JSONMongoDB, Firestore, CouchDBרשומות שהשדות שלהן משתנים מאחת לשנייה
מפתח ערךערך שנשלף לפי מפתח אחדRedis, DynamoDBמטמון, סשנים, מונים
עמודות רחבותשורות עם עמודות גמישות שמפוזרות על שרתים רביםCassandra, HBaseכמויות כתיבה גבוהות מאוד
גרףצמתים והקשרים ביניהםNeo4jרשתות חברתיות, המלצות
סדרות זמןמדידות עם אינדקס לפי זמןInfluxDB, TimescaleDBמדדים, קריאות של חיישנים
וקטורירשימות של מספרים (embeddings)pgvector, Pinecone, Milvusחיפוש דמיון לתכונות AI

כל מה שאינו רלציוני מקובץ לעתים קרובות תחת השם NoSQL. מסדי נתונים רלציוניים נשארים ברירת המחדל לרוב האפליקציות, כי טבלאות, אילוצים ו-SQL מכסים היטב מגוון רחב של בעיות. מוצרים רבים גם משלבים סוגים: PostgreSQL שומר מסמכי JSON, ו-pgvector מוסיף לו חיפוש וקטורי.

טרנזקציות: הכול או כלום

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

transfer 30 done
{'ana': 20, 'ben': 30}
transfer 40 failed: CHECK constraint failed: balance >= 0
{'ana': 20, 'ben': 30}

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

מסד נתונים מול גיליון אלקטרוני מול קובץ

קובץ טקסט או CSVגיליון אלקטרונימסד נתונים
גודלמה שהתוכנית שלכם יכולה לטעון1,048,576 שורות בגיליון ב-Excelמיליארדי שורות
הרבה כותבים בו זמניתלאמוגבלכן, עם נעילות וטרנזקציות
מציאת רשומה אחתקוראים את כל הקובץסינון או חיפושחיפוש באינדקס
כללים על הנתוניםאיןאימות אופציונליטיפוסים, אילוצים, מפתחות זרים
שאילת שאלותכותבים קוד בעצמכםנוסחאותSQL או API לשאילתות

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

איך מסדי נתונים מגינים על הנתונים

DBMS כותב כל שינוי ליומן לפני שהוא נוגע בקובצי הנתונים (write-ahead log), כך שאחרי קריסה הוא יכול להריץ שוב או לבטל עבודה שלא הסתיימה. PostgreSQL יכול לשמור checksum על כל דף של 8 KB ולדווח על כשל checksum כשדיסק כושל מחזיר נתונים פגומים. משתמשים והרשאות קובעים מי רשאי לקרוא או לשנות אילו טבלאות, ושכפול (replication) שומר עותקים על שרתים אחרים. תוכניות חייבות גם להעביר קלט של משתמשים כפרמטרים, כמו מצייני המקום ? שלמעלה, ולעולם לא להדביק אותו לתוך טקסט ה-SQL, כי כך קורות מתקפות SQL injection.

תפיסות שגויות נפוצות

  • "SQL הוא מסד נתונים." SQL היא השפה. PostgreSQL, MySQL ו-SQLite הם מסדי נתונים שמבינים אותה.
  • "NoSQL פירושו בלי SQL בכלל." בדרך כלל קוראים את המונח כ-"not only SQL", ולכמה מסדי נתונים NoSQL יש שפות שאילתה שנראות כמו SQL, למשל CQL של Cassandra.
  • "מסד נתונים הוא תמיד שרת גדול." SQLite הוא קובץ יחיד שתוכנית פותחת ישירות, בלי שום שרת. הוא רץ בתוך כל טלפון Android ו-iOS.
  • "נתונים במסד נתונים בטוחים לנצח." מסד נתונים מגן מפני קריסות, לא מפני מישהו שמריץ DELETE בטעות. עדיין צריך גיבויים.

לאן ממשיכים מכאן

קורס SQL מלמד שאילתות מה-SELECT הראשון. התיעוד של SQLite מכסה את הצעדים הבאים: מה זה SQLite, יצירת טבלה, אינדקסים ומניעת SQL injection. כדי לראות איך הנתונים מסודרים בדיסק, קראו מה זה בייט, וchecksum מסביר איך מזהים דפים פגומים.

שאלות נפוצות

מה זה מסד נתונים במילים פשוטות?
מסד נתונים הוא מקום שבו תוכנית שומרת מידע כדי שתוכל למצוא אותו שוב מהר. חשבו על ארון תיוק עם אינדקס מושלם: מבקשים "את כל ההזמנות מהשבוע שעבר" ומקבלים את התשובה תוך אלפיות שנייה, גם כשיש מיליוני רשומות.
מה דוגמה למסד נתונים?
אנשי הקשר בטלפון שלכם שמורים במסד נתונים: גם Android וגם iOS מגיעות עם SQLite. בנק שומר את חשבונות הלקוחות במסד נתונים כמו Oracle או PostgreSQL, וויקיפדיה שומרת את הערכים שלה ב-MariaDB. חנות אונליין שומרת מוצרים, לקוחות והזמנות בטבלאות שקשורות זו לזו.
מהם ארבעת סוגי מסדי הנתונים?
אין רשימה רשמית של ארבעה. ארבעת הסוגים שמוזכרים הכי הרבה הם מסדי נתונים רלציוניים (טבלאות ו-SQL), מסדי נתונים של מסמכים (רשומות דמויות JSON), מאגרי מפתח ערך (ערך שנשלף לפי מפתח) ומסדי נתונים של גרפים (צמתים וקשרים). ספרי לימוד ישנים מונים גם מסדי נתונים היררכיים ומסדי נתונים מסוג רשת.
מהם 5 מסדי הנתונים המובילים?
Oracle, MySQL, Microsoft SQL Server, PostgreSQL ו-MongoDB מחזיקים כבר שנים בחמשת המקומות הראשונים בדירוג הפופולריות של DB-Engines. בקרב מפתחים, PostgreSQL הוא מסד הנתונים הנפוץ ביותר בסקר המפתחים של Stack Overflow מאז 2023, ו-SQLite הוא הנפוץ ביותר בהתקנות, כי הוא מגיע בתוך טלפונים ודפדפנים.
מה ההבדל בין מסד נתונים ל-DBMS?
מסד הנתונים הוא הנתונים עצמם, מאורגנים בטבלאות או במסמכים. ה-DBMS הוא התוכנה ששומרת את הנתונים בדיסק ועונה לבקשות עליהם, כמו PostgreSQL או MySQL. אנשים אומרים לעתים קרובות "מסד נתונים" על שניהם.
צריך ללמוד SQL כדי להשתמש במסד נתונים?
במסדי נתונים רלציוניים, כן: SQL היא הדרך ליצור טבלאות ולשאול שאלות על הנתונים, ואת הבסיס שלה לומדים בכמה ימים. תוכניות רבות משתמשות בספרייה שכותבת SQL בשבילן, אבל ידיעת SQL מקלה מאוד להבין מה הספרייה עושה ולמה שאילתה איטית.
איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל