47
םםםםםם םםםםם םםםםםם2006-2007

מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

  • View
    234

  • Download
    9

Embed Size (px)

Citation preview

Page 1: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מערכות בסיסי נתונים

2006-2007

Page 2: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מידע כללימתרגל: גדעון רוטשילד•

12:00-13:00 'שעת קבלה: יום ד–

http://www.cs.huji.ac.il/~dbדף הבית: •[email protected] דוא"ל: •קבוצות דיון:•

–local.course.db.ta–local.course.db.stud

מועדי תרגולים: •, פאפיק תחתון14:00-16:00 'יום ד–115, שפרינצק 18:00-20:00 'יום ד–

Page 3: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מידע כלליחומר הקורס: הרצאות, תרגולים ותרגילים•

תרגולים כוללים בעיקר חומר שאינו מועבר •בהרצאה

מבחן75% תרגילים + 25%ציון קורס: •

Page 4: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

תרגילים תרגילים במהלך הסמסטר8-10יהיו כ- •(Ross -2)תרגילים תיאורטיים יש להגיש בתיבת הקורס •תרגילי תכנות יש להגיש דרך אתר הקורס• התרגיליםכלחובה להגיש את •עד יום לפני המועד המקורי דחייה יש לשלוח /בקשות לפטור•אישיתאם לא צוין אחרת, התרגילים הם להכנה והגשה • זהות, ושם משתמש'שם, מסיש להקפיד על כתיבת •ערעורים יש להגיש בטופס המתאים, לתיבה האישית שלי •

(Ross 0)לא יאוחר משבוע ממועד החזרת התרגיל ,

Page 5: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

דגשים ולקחים

שקפים: חלקיים, מומלץ להדפיס מראש•

להקפיד על הגשת תרגילים בפורמט נכון•

שפה•

העתקות•

Page 6: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

ספרי הקורס

• Database Management Systems, by Raghu Ramakrishnan

• Principles of Database and Knowledge-Base Systems, Volumes I and II, by Jeffery Ullman )essentially chapter 7 concerning Design Theory(

• Oracle 8i: The Complete Reference, by Kevin Loney and George Koch

Page 7: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מערכות מסדי נתונים60ראשית התחום בסוף שנות ה-•הגידול האדיר בכמות המידע הנשמר במחשב יצר •

צורך חזק בשמירה יעילה ונוחה של המידעהדבר גרם להתפתחות מואצת של תחום מערכות •

מסדי נתונים Walmart חברת הסופרמרקטים הענקית 2006ב-•

מכרה מוצרים בכמעט מיליארד דולר ביום! ברור כי גופים עם צורך כה גדול בשמירה ושימוש •

במידע זקוקים למערכת יעילה ונוחה ככל האפשר

Page 8: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מערכות מסדי נתונים

: מערכת מידע (Database)בסיס נתונים •ממוחשבת

: כוללת (DBMS)מערכת ניהול בסיסי נתונים •בסיסי נתונים וסדרת תוכניות מחשב לשליפת

הנתונים

למידע ויעילה נוחהמטרה: לאפשר גישה •

Page 9: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

דוגמא: בסיס נתונים של בנק בנק הינו דוגמא קלאסית לגוף העושה שימוש רב •

בבסיסי נתוניםבסיס הנתונים של בנק מסוים יכיל מידע על:•

( ' חשבון, וכו' ת.ז., כתובת, מס'לקוחות הבנק )שם, מס–(' חשבון, סוג חשבון, יתרה וכו'חשבונות )מס–('עובדי הבנק )שם, דרגה, לקוחות, וכו–ועוד... –

ניתן להבחין במספר מאפיינים של בסיס נתונים:•מחזיק מידע רב בנושאים שונים–יש קשר בין סוגי המידע השונים–ניתן לשמור את המידע באופנים שונים–במקרים שונים נהיה מעוניינים בחלקים שונים של המידע –, טבלאות, ...ERניתן לתארו ברמות הפשטה שונות- –

Page 10: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

פקיד

חשבון

מטפל

'מסזהות

'מסחשבון

שם

סוג

לקוח

'מסזהות

שםכתוב

ת

בעל

ותק

יתרה

ייצוג בסיס נתונים בדיאגרמת ישויות-קשרים )מצומצם(

Page 11: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

ייצוג בסיס נתונים בטבלאות )מצומצם(

idnameaccount

22455Moshe Levi233

23345Yair Cohen322

12234 Yoav Gal227

11113Michal Tam998

23349Yonit Ron239

accountcredittype

2332500regular

322300regular

2271000regular

9984000silver

2399560gold

Bank Clients

Bank Accounts

Page 12: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

בסיס נתונים לעומת מערכת קבצים רגילה

מידע רב נשמר בקבצים רגילים של מערכת •ההפעלה

מדוע לא ניתן לשמור בהם את כל המידע במקום •בבסיס נתונים?

( לכל לקוח wordנניח כי בנק מחזיק קובץ )נניח • חשבון.' זהות, גיל, בנקאי אישי, מס'ובו: שם, מס

אילו בעיות עלולות להתעורר?•

Page 13: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

בסיס נתונים לעומת מערכת קבצים רגילה

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

Page 14: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מודל ישויות קשרים

תלמיד לומדקורס

'מסזהות

'מסקורס

שם שם קורס

מתרגל

'מסזהות

שםכתוב

ת

מלמד

ציון מקום

Page 15: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מודל ישויות וקשרים: ישויות

ישות •

טיפוס ישויות•

הקשר בין ישות לטיפוס ישויות אנלוגי לקשר בין • בתכנות מונחה עצמיםclassאוביקט ל-

תכונות של טיפוס ישויות•

ערך של התכונה•

תחום התכונה•

טיפוס ישויות

תכונה

Page 16: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מפתח של טיפוס ישויותמפתח: אוסף מינימלי של תכונות אשר צירופן •

ייחודי לכל ישות )אין שתי ישויות עם אותם ערכים של תכונות המפתח(

תלמיד קורס

'מסזהות

'מסקורס

שם שם קורס

מנחה

'מסזהות

שםכתוב

ת

תלמיד קורס

'מסזהות

'מסקורס

שם שם קורס

מנחה

'מסזהות

שםכתוב

ת

Page 17: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מודל ישויות וקשרים: קשריםקשר בין ישויות•

טיפוס קשרים•

תכונות טיפוסי קשרים•

תלמיד לומדקורס

'מסזהות

'מסקורס

שם שם קורס

ציון

Page 18: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

קשר חייב להיות ניתן לזיהוי ייחודי על פי •הישויות המשתתפות בו!

קשרים המובדלים 2 קשרים זהים ואין 2)אין •ע"י תכונות הקשר בלבד(

Page 19: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

דוגמאשרטט דיאגרמה עבור המערכת הבאה: •

בסיס נתונים מחזיק מידע לגבי סרטים, שחקנים, –ובמאים

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

סרט

Page 20: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

Actorid

name

Acted In Movie

title

type

year

Directorid

name

Directe

d

picture

היכן נמקם משכורות של שחקנים?

מה החיסרון של דיאגרמה זו?

Page 21: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

אילוצים

מהות אילוצים•

סוגי אילוצים:•אילוץ מפתח )מידת ריבוי של טיפוס קשרים(–אילוץ השתתפות–

Page 22: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

אילוץ מפתחמידת הריבוי של טיפוס קשרים בינרי בין טיפוס ישויות •

A-ל B:יכול להיות רבים לרבים–B לאחד מ Aרבים מ –B לרבים מ Aאחד מ –אחד לאחד–

לכיוון טיפוס קשרים Aסימון: חץ מכיוון טיפוס ישויות • משתתפת A אומר שכל יישות ב Bעם טיפוס ישויות

)כמובן, רק B יישות אחת מ לכל היותרבקשר עם פעם אחת(

B

b

A

a

R

Page 23: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מידות ריבוי של טיפוסי קשרים

קורס

'מסקורס

שם קורס

מרצה

'מסזהות

שם

מלמד

מקום

קורס

'מסקורס

שם קורס

מרצה

'מסזהות

שם

מלמד

מקום

קורס

'מסקורס

שם קורס

מרצה

'מסזהות

שם

מלמד

מקום מה המשמעות של הדיאגרמות הבאות?

Page 24: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

אילוצי השתתפות המשתתף Aאילוץ השתתפות על טיפוס ישויות •

A, משמעו שכל ישות ב-Rבטיפוס קשרים Rחייבת להשתתף לפחות במופע אחד של

קורס

'מסקורס

שם קורס

מתרגל

'מסזהות

שם

מלמד

מקום

Page 25: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 26: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 27: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 28: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 29: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

טיפוס קשרים טרינרי

סטודנט

'מסזהות

שם

קורס 'מסקורס

שם קורס

נבחן

בחינה

'מסבחינה מה משמעות אילוץ

מפתח כאן?

Page 30: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

Actorid

name

Produced Movie title

Directorid name

picture type

year

חזרה לבסיס הנתונים של הקולנוע

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

Page 31: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

טיפוס קשרים רקורסיבי

'מסעובדזהות

שם

ניהול

מנהל

עובד

Page 32: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

טיפוס ישויות חלשאינו מוגדר באופן ייחודי ע"י תכונותיו•

זהות ונעלים מיוצגות ע"י סוג 'נניח שילדים מיוצגים ע"י שם ומס•וצבע

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

לכן נעלים יהיו טיפוס ישויות חלש בדוגמה זו •

Page 33: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

טיפוס ישויות חלש )יותר פורמלי(

טיפוס ישויות שאוסף כל תכונותיו אינו מהווה •מפתח עבורו

יזוהה ע"י קשר לטיפוס ישויות חזק•

מפתח של טיפוס ישויות חלש: צירוף תכונותיו •עם המפתח של טיפוס הישויות החזק אליו הוא

קשור

Page 34: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

ילדשייכותנעל

צבע

סוג

שם

'מסזהות

----

----

טיפוס ישויות חלש

מהו המפתח של נעל?

Page 35: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

דוגמא

Booktitle

author

isbn

Copy

copy number condition

Copy Of

Borrowed

Person

id

-------------

Page 36: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

ואם אנו שומרים מידע לגבי ספרים מספריות רבות...

Booktitle

author

isbn

Copy

copy number condition

Copy Of

Borrowed

Person

id

Owned ByLibraryname

-------------

-----

Page 37: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

ISAירושה- קשר

מאפשר לבטא ירושה, הכללה והפרדה•

אדם

שם

ת.ז.

נישואיןמה הבעיה בדיאגרמה זו? )בהנחה

שהרישום הוא ברבנות...(

פיתרון:

אדם

שם

ת.ז.

נישואין

ISA

אישהגבר

-אילוץ שלמות מלא

-קבוצות זרות

Page 38: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

דוגמא

Movie Person

ISA

Actor

id

name

picture Director

Page 39: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

קיבוץ )אגרגציה(

מאפשר לבטא השתתפות של קבוצת קשרים •בקבוצת קשרים

Page 40: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

מעוניינים לשמור מידע אודות שחקנים שקיבלו פרסים על משחקם בסרט מסוים

מה הבעיה עם דיאגרמה זו?

כל שחקן קיבל לפחות פרס אחד1.

כל סרט קיבל לפחות פרס אחד2.

Actorpicture

Movieyear

typetitle

Acted Insalary

Award

id

nameyear

name

Page 41: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

ניסיון שני...

Actorpicture

Movieyear

typetitle

Acted Insalary

AwardWon

מה הבעיה עם דיאגרמה זו?

שיחק A מבלי שהשחקן F וסרט Aפרס יכול להינתן לצמד שחקן Fבסרט

id

name

year

name

Page 42: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

פיתרון: קיבוץ

Actorpicture

Movieyear

typetitle

Acted Insalary

Award

Wonyear

name

id

name

Page 43: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

Movie Person

ISA

Actor

id

name

address

birthday

picture Director

Movieyear

typetitle

Acted In Directedsalary

Award

Organization

Gives

year

name

name

phonenumber

Won

Page 44: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

1תרגול

'מסעובדזהות

שם

ניהול

מנהל

עובד

לא יתכן:/יתכן

שמעון מנהל של יוסי ואלי•

לדוד המנהל אין עובדים•

לברוך העובד אין מנהל•

המנהלים של יאיר הם דני ויוסי•

חיים מנהל את עצמו •

Page 45: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

:' ו-ב'לא נכון עבור א/נכון לזוג מסוים יכולים להיות כמה ילדים •

משותפים. יש אפשרות לרשום ילדים שנולדו מחוץ •

לנישואין. לגבר יכולות להיות כמה נשים במשך חייו.• לגבר יכולות להיות כמה נשים בעת ובעונה •

אחת. לאדם יכולים להיות רשומים שני הורים מאותו •

מין )אחד בתפקיד האב ואחד בתפקיד האם(. יש אנשים שלא ידוע מי הוריהם.•

2תרגול אדם

אישהגבר

ISAאם אב

נישואין

אדם

נישואין

בן של

בן

אישה בעל

אבאם

'דיאגרמה ב 'דיאגרמה א

Page 46: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

3תרגול

סטודנט

'מסזהות

שם

קורס 'מסקורס

שם קורס

נבחן

בחינה 'מס

סידורי לא נכון:/נכון

34 וגם בקורס 23 קיימת בקורס 366 בחינה •

אינו נבחן באף קורס112 סטודנט •

221 בקורס 332 ביצע את בחינה 155 סטודנט •פעמיים

וגם 122 את בחינה 221 ביצע בקורס 155 סטודנט •123

889 אף סטודנט לא נבחן בבחינה •

Page 47: מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון רוטשילד –שעת קבלה: יום ד' 12:00-13:00 דף הבית: dbdb

4תרגול צייר דיאגרמה המתארת את המערכת הבאה:

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

מדינה

שם מדינה

ספורטאי

'מסזהות

שם ספורטאי

מייצג

משכורת

משחק