שם הכותב: תאריך: 31 אוקטובר 2013

מבוא לטכנולוגיות מידע – שיעור 3:

ראשית נגדיר כמה מושגי יסוד:

נתון – שדה: הפריט הקטן ביותר שיש בעולם שדה הנתונים. לשדה לבדו אין שום משמעות. יש לו חשיבות רק כאשר הוא יאוגד בתוך רשומה.

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

סוג נתונים:
טקסט – (מלל) יכול להכיל כל דבר. מספר – יכול להכיל רק ערכים מספריים.

שדה מחושב – הוא שדה שעל מנת להציג את המידע שלו יש צורך לבצע חישוב ולהגיע לתוצאה. (שדה מחושב לא יופיע בטבלה. בכל פעם שיש שדות מחושבים, לדוגמה בפרטים אישיים, לא משתמשים בהם)

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

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

כדי לקבוע מה סוג הנתונים אני בוחן 2 דברים חשובים:

  1. ההבדל בין מספר לטקסט יהיה ב 0 מוביל (כמו בת.ז)
  2. שדה מחושב – האם אני מתכוון לבצע איתו פעולות חשבוניות (כאשר זה טקסט לפעולות החשבוניות אין כל משמעות).

 

גיל הוא שדה מספרי משום שהוא לעולם לא מתחיל ב 0 , וניתן לבצע איתו פעולות חשבוניות (ממוצע הגילאים בכיתה).

 

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

כלל ברזל מספר 1: שדה חייב להיות הפריק ביותר האפשרי. כתובת היא שדה שמורכב מ4 שדות, ולכן הוא לא הפריק ביותר. יש לפרק אותו לעיר, רחוב, מספר בית, מיקוד וכו'.

שאלות עסקיות על פרטי סטודנטים: כמה סטו' למנהל עסקים גרים בתא, כמה סטודנטים עובדים, כמה סטודנטים נולדו משנת 1979 ואילך.

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

 

סטודנט

קורסים

מחלקות

מספר זהות מ.ר

קוד קורס מ.ר

קוד מחלקה
מ.ר

שם פרטי

שם קורס

שם מחלקה

שם משפחה

מס' נק'

שם ראש מחלקה

תאריך לידה

הציון הממוצע של כלל הסטודנטים בקורס זה

 

הציון הממוצע של הסטודנט בכלל הקורסים שלו

   

 

כל נתון או שדה בטבלה חייב להיות קשור באופן ישיר למפתח של הטבלה.

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

קשרי גומלין מפתח זר

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

כלל: מסד נתונים הוא אוסף טבלאות קטנות המקושרות בניהן בקשרי גומלין.

מפתח זר הוא מפתח ראשי מטבלה אחת אשר מועתק לטבלה אחרת, לצורך יצירת קשרי הגומלין.

סטודנטים:
בכל מחלקה הרבה סטודנטים. כל סטודנט שייך למחלקה אחת.

מספר זהות – מ.ר

שם פרטי

שם משפחה

תאריך לידה

קוד מחלקה -מ.ז

 

123

א

א

1.2.98

1

 

124

ב

ב

2.1.45

2

 

125

ג

ג

3.2.56

3

 
           
           

 

מחלקות: לכל סטודנט הרבה מחלקות. בכל מחלקה סטודנט אחד.

קוד מחלקה – מ.ר

שם מחלקה

שם ראש מחלקה

מספר זהות – מ.ז

   

1

א

ד

123

   

2

ב

ג

124

   

3

ג

ה

125

   
           
           

 

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

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

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

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

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

שייך לנושאים: כללי


שלוש + 5 =

תואר ראשון
תואר שני
מרצים