
הטקסט המלא של הדקות הראשונות בהרצאה «מה זה מסד נתונים ?» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו עוברים לעבודה עם דאטאבייסים. יש היום בעולם שתי קטגוריות מרכזיות של דאטאבייסים. הקטגוריה הראשונה שאנחנו הולכים לראות עכשיו נקראת relational database.
הקטגוריה השנייה נקראת noSQL database שאנחנו נעבוד איתה בהמשך. בואו קודם כל נבין מה זה relational database.
אז ראשית, דאטאבייס זו פשוט תוכנה שיכולה להחזיק כמות גדולה של נתונים ולנהל אותם. ריליישנל אומר שיש לנו קשרים בין כל מיני אישויות בדאטאבייס, למעשה בין טבלאות.
ריליישנל דאטאבייס זה דאטאבייס שמכיל טבלאות, תכף אנחנו נראה בדיוק מה זה, וברוב הגדול של המקרים מכיל קישורים ביניהם, גם את זה תכף נראה.
קיימת שפה שנקראת שפת SQL שהיא משמשת בכדי לבצע query על המידע, כלומר לתשאל את המידע, לקבל ממנו נתונים מהדאטאבייס ויכולה לבצע מניפולציות על המידע.
ריליישנל דאטאבייס עובד עם שפת SQL. כמה מוצרים נפוצים בתעשייה של ריליישנל דאטאבייס? יש לנו את MySQL - ריליישנל דאטאבייס חינמי שניתן להוריד ולהשתמש בו.
יש לנו את Oracle של חברת Oracle, יש לנו את sqlite דייטאבייס שהוא מאוד מצומצם טוב למערכות שאין להם הרבה מידע כמו מובייל לדוגמה אין להם הרבה מקום הכוונה לאחסון נתונים.
דרבי משמש יותר בג'אווה באפאצ'י. יש לנו את IBM db2 מוצר של IBM. יש לנו את מיקרוסופט sql סרבר נקרא msql של כמובן מיקרוסופט. יש לנו את מיקרוסופט אקסס בטח שמעתם עליו מגיע חבילה של אופיס ויש לנו עוד הרבה אחרים.
אנחנו בנושא של ריליישנל דייטאבייס הולכים לעבוד עם מיי sql דייטאבייס מעולה חינמי והוא ממש טוב לעבודה גם עם נוד ג'יי אס. בואו נראה כל מיני מונחים בסיסיים בתחום של דייטאבייסים.
דבר ראשון המידע מאוחסן בטבלאות אנחנו רואים שיש לנו פה טבלה יש לנו עמודות יש לנו וכמו שאנחנו רואים יש לנו עמודה או ליתר דיוק טבלה שמתעסקת עם סופרים.
אנחנו רואים פה קוד סופר ושם פרטי ושם משפחה והאימייל של הסופר. כל הדבר הזה נקרא טייבל ומה שאנחנו רואים זה שהטבלה הזאתי יכולה להיקרא לדוגמה Authors, טבלת סופרים.
יש לנו עמודה, עמודה בטבלה מתארת מידע ספציפי של מה שאנחנו שומרים, לדוגמה first name. בעמודה הזאת אנחנו נשמור רק את השמות הפרטיים, לא יכול להיות שבעמודה הזאת איפשהו יהיה לנו לדוגמה גם תאריך לידה של סופר.
העמודה מתארת property אחד ויחיד. יש לנו שורה או רשומה, זה נקרא row או record. זה בעצם שורה אחת או המידע שנמצא בשורה הזאת, והוא מתאר לי פריט בודד בטבלה.
לדוגמה, אנחנו רואים שכל רשומה מכילה מידע לגבי סופר אחד. באותה השורה אני לא אשמור מידע לגבי שני סופרים. יש לנו תא, סל, זה מידע אחד ויחיד שנמצא בתוך תא או בתוך רשומה אחת, כלומר באיזשהו תא ברשומה הזאת.
אנחנו רואים שיש לנו author ID, זה בעצם עמודה שמכילה קוד של סופר. עכשיו, שימו לב, זה לא התעודת זהות הממשלתית שהמדינה מנפיקה עבור סופר. בואו נניח שזה לא מידע שמעניין אותי עבור סופרים מכל העולם, מה התעודת זהות שהמדינה הנפיקה להם.
אבל כן צריך להיות לכל טבלה עמודה שמכילה מזהה ייחודי עבור כל רשומה בטבלה. כאן אנחנו רואים שזה נקרא Outdoor ID, סופר ואנחנו רואים שהסופר הראשון יש לו אחד הסופר השני יש לו שתיים הסופר השלישי יש לו שלוש כנראה שהסופר הרביעי יהיה לו ארבע אבל מי מספק את המידע הזה כאשר אנחנו רוצים להוסיף לטבלת הסופרים סופר חדש אז כמובן אנחנו צריכים
להוסיף את השם הפרטי ואת השם המשפחה ואת האימייל וכדומה אבל האם אנחנו צריכים להוסיף גם את הקוד שלו אז כאן יש כמה אפשרויות דבר ראשון עבור סופרים בוא נניח שאין לי קוד מסוים שאני צריך לספק או שאני יודע לספק.
במקרה הזה הדאטאבייס יכול לספק לי את הקוד הזה. עכשיו כאן אנחנו רואים שהדאטאבייס פשוט נתנו מספר אוטומטי רץ 123 וכדומה. יש עוד כל מיני טכניקות שהדאטאבייס יכול לספק לי מידע אוטומטי.
אפשרות אחרת זו אפשרות שאני כן יודע לספק את המידע. נניח שיש לי טבלת מכוניות ויש לי מספר רכב, מספר רכב זה משהו שהוא ייחודי ומייחד רכב.
אז אולי במקרה הזה אני כן רוצה לספק את המידע הראשי או המזהה הייחודי עבור כל מכונית. כאן היוזר יכול להכניס את המידע. בכל מקרה העמודה הזאת מבחינה של מונח נקראת פריימרי קי, מפתח ראשי או בקיצור pk.
אז לכל טבלה צריך שיהיה מפתח ראשי שזאת עמודה שמייצגת את המידע, באופן חד חד ערכי עבור כל רשומה. בין אם הדאטאבייס מספק לי את המידע הזה ובין אם היוזר שמכניס את הנתונים מספק לי את המידע הזה.
אנחנו יכולים לראות שיש לנו פה לדוגמה עוד טבלה. כאן אנחנו רואים שיש לנו טבלת ספרים. שימו לב שכל טבלה מכילה מידע מאוד ייחודי עבור הטבלה.
לא הגיוני שיהיה לי טבלה אחת שיהיה לה גם סופרים וגם ספרים בטבלה אחת. טבלה אחת תהיה של סופרים והנה טבלה אחרת שמתארת ספרים.
אז כמובן שכאן אנחנו רואים שיש לנו מפתח ראשי לטבלה, זאת אומרת הדאטאבייס עבור כל ספר ייצר לי איזשהו מספור אוטומטי רץ 1, 2, 3, 4. אם אנחנו נוסיף ספר נוסף, הדאטאבייס ייצר לי עבורו 5. אבל מה זאת העמודה הזאת שאנחנו רואים פה?
כאן אנחנו רואים את אותה עמודה author ID שראינו בטבלה הקודמת. אז מה, למה העמודה הזאת נמצאת גם בטבלת הספרים שלנו?
אז למעשה אנחנו יודעים שספר נכתב על ידי סופר כלשהו, ואנחנו רוצים לתאר בספר, בטבלת הספרים, איזה סופר כתב את הספר.
אז זה לא הגיוני שאנחנו עכשיו נתחיל לכתוב את המידע של אותו הסופר, לדוגמה את השם הפרטי שלו, את השם המשפחה שלו ואת האימייל שלו, גם כאן זה יהיה שכפול מידע ממש לא מקצועי, לא עושים את זה.
אנחנו רוצים רק לתאר איזה סופר זה הסופר הזה, ולכן יש לנו כאן את הקוד שלו. ומה אנחנו רואים בעמודה הזאת? אנחנו רואים שסופר מספר 3 שהיה רוגי כתב את שלושת הספרים האלה, שלושת הספרים הראשונים, והסופר הראשון שהיה בטבלה היא מיידי אחד שהיה מוישה כתב רק את הספר הזה.
אבל איפה סופר מספר 2? סופר מספר 2 לא כתב לנו פה שום ספרים וזה בסדר. יכול להיות שהכנסנו אותו עכשיו ורק מחר נכניס את הספרים שלו. אין שום בעיה שיהיה סופר שעדיין לא הכנסנו לו ספרים.
אז סופר מספר 2 אנחנו