בסיס נתונים יחסי
בסיס נתונים יחסי (מכונה גם מסד נתונים רלציוני או בסיס נתונים טבלאי, ובראשי תיבות מאנגלית: RDBMS) הוא כיום המודל הנפוץ ביותר של בסיס נתונים, שדחק הצידה את המודלים שקדמו לו: בסיס נתונים רשתי ובסיס נתונים היררכי.
במודל זה בסיס הנתונים בנוי מטבלאות, כאשר כל טבלה מכילה מידע על ישות מסוימת (לדוגמה, לקוחות במערכת בנקאית). ולכל רשומה בטבלה יש שדה ID שמזהה באופן ייחודי את הרשומה. הקשרים בין הרשומות בטבלאות השונות נעשה באמצעות שדה מיוחד זה הנקרא שדה מפתח. שליפת מידע ופעולות עדכון בבסיס נתונים טבלאי נעשות באמצעות שפת SQL, המהווה ממשק המאפשר גישה לנתונים מבלי להתייחס לאופן שמירתם בבסיס הנתונים.
בסיס הנתונים הטבלאי הוצג לראשונה בשנת 1970 במאמרו החלוצי של אדגר קוד מחברת IBM בשם A Relational Model of Data for Large Shared Data Banks.
תוכן עניינים |
מרכיבי בסיס הנתונים הטבלאי [עריכה]
יחידת הנתונים הקטנה ביותר בבסיס הנתונים הטבלאי (כמו במודלים אחרים לבסיסי נתונים) היא השדה (field). בנתוני אזרח במרשם התושבים, למשל, מספר הזהות, השם הפרטי, ושם המשפחה הם שדות בטבלה. השדה חייב להיות מסוג מסוים, שמגביל את הזנת הערכים לו לאותו סוג נתונים. כך, למשל, שדה שהוגדר מספרי לא יוכל להכיל תווי אותיות.
אוסף כל השדות המתארים את האזרח הוא הרשומה (record) של אותו אזרח, ואוסף הרשומות של כל האזרחים הוא טבלה (table).
דוגמה לטבלת אזרח:
| מספר תעודת זהות | שם משפחה | שם פרטי | תאריך לידה | שם האב |
| 05674856 | כהן | אברהם | 20.08.77 | ישראל |
| 06777777 | לוי | יצחק | 12.10.99 | שלמה |
| 02775877 | יעקובוביץ | ישראל | 06.12.57 | יהושע |
עמודה בטבלה היא שדה, ושורת נתונים היא רשומה. שדה תעודת זהות הוא שדה המפתח הייחודי שעל פיו, יקושרו רשומות בטבלאות אחרות לטבלה זו.
מפתחות [עריכה]
לכל רשומה יש מפתח ראשי (primary key), המשמש לזיהוי חד-משמעי שלה. לכל טבלה יכול להיות רק מפתח ראשי אחד, שערכיו חייבים להיות ייחודיים ואסור שיהיו ריקים.
מפתח משני משמש לאיתור ומיון מהיר של רשומות ולקישור בין רשומות בטבלאות שונות. מפתח משני יכול להיות בעל ערכים לא ייחודיים. ברשומת האזרח, מספר הזהות משמש כמפתח ראשי, ושם המשפחה והשם הפרטי משמשים כמפתח משני. מפתח זר משמש לקישור למפתח ראשי בטבלה אחרת. מפתח המורכב מכמה שדות קרוי מפתח מורכב.
המפתח או האינדקס הינו שדה שמוגדר ככזה. כמעט כל שדה יכול להיות מוגדר כשדה מפתח (למעט שדה בינארי ושדה מזכר), אבל רק שדה אחד בכל טבלה יכול להיות מוגדר כמפתח ראשי, שאר המפתחות יהיו מוגדרים כמפתחות זרים או מפתחות משניים. שדה מפתח הוא שדה שהתוכנה יוצרת בעבורו מפתח פנימי ממוין של כל הערכים באותו שדה. תפקידיו של המפתח, להאיץ את העבודה עם הטבלה, במיון, בחיפוש ובשליפה של ערכים. וכן למנוע במפתח שהוגדר ללא כפילות, הזנת ערכים זהים. כמו גם, לבקר את הקישורים בין הטבלאות השונות.
יחסים בין הטבלאות [עריכה]
בסיס נתונים מכיל בדרך כלל טבלאות רבות, המקושרות באמצעות מפתחות. לתרשים שמבטא את כל הקשרים בין הטבלאות השונות קוראים דיאגרמה, מבנה חשוב בהגדרת מסד הנתונים הוא "תרשים קשרי ישויות" (ERD - Entity Relationship Diagrams) שבו מתארים את כל הטבלאות והיחסים שהם מקיימים.
היחסים בין טבלאות יכולים להיות מכמה סוגים:
- יחס של אחד לרבים, שבו לכל רשומה בטבלה הראשית יכולים להיות מספר רשומות בטבלה המשנית,
- יחס של אחד לאחד, שבו לכל רשומה בטבלה הראשית יכולה להיות רק רשומה אחת בטבלה המשנית.
- יחס של רבים לרבים, שבו בכל רשומה באחת מהטבלאות המקושרות יכולים להיות מספר רב של רשומות בטבלה השנייה. (יחס זה מיושם באמצעות טבלת ביניים, שמחברת בין שתי הטבלאות המתייחסות)
דוגמה: במרשם התושבים, לאם אחת מקושרים ילדים אחדים (יחס של אחד לרבים), אך לא יותר מבן-זוג אחד (יחס של אחד לאחד). בבסיס הנתונים יש מנגנון בקרה מיוחד האוכף את התנאים הללו ושמו מנגנון אימות היחוסים הוא גם מכונה מנגנון בקרת יתומים ואלמנות, מכיוון שאינו מאפשר ליצור או להותיר רשומות בטבלאות המשניות ללא כל התייחסות בטבלה הראשית.
טבלת ילדים שמתייחסת לטבלת אזרח
| מספר תעודת זהות של האב | שם משפחה | שם פרטי | תאריך לידה |
| 05674856 | כהן | דוד | 20.8.2000 |
| 05674856 | כהן | עדי | 12.10.2003 |
| 05674856 | כהן | קרן | 12.10.2005 |
על פי שדה "מספר תעודת הזהות של האב" שקיים בטבלת ילדים, ניתן לשייך את כל הרשומות של הילדים לאביהם בטבלת אזרח
יישומים מסחריים של המודל הטבלאי [עריכה]
- DB2
- dBase IV
- InterBase
- Microsoft Access - גרסת אנסי 89,92
- Microsoft SQL Server - גרסת אנסי 92
- MySQL
- Oracle
- PostgreSQL
- Sybase
- Informix
- SQLite
- Firebird
ראו גם [עריכה]
לקריאה נוספת [עריכה]
- רז הייפרמן, בסיסי נתונים טבלאיים ושפת SQL, הוצאת הוד-עמי.
קישורים חיצוניים [עריכה]
| אחסון נתונים | ||
|---|---|---|
|