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

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

Embed Size (px)

DESCRIPTION

מערכות בסיסי נתונים. 2006-2007. מידע כללי. מתרגל: גדעון רוטשילד שעת קבלה: יום ד ' 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, פאפיק תחתון - PowerPoint PPT Presentation

Citation preview

Page 1: מערכות בסיסי נתונים

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

2006-2007

Page 2: מערכות בסיסי נתונים

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

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: מערכות בסיסי נתונים

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

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

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

Page 4: מערכות בסיסי נתונים

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

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

Page 5: מערכות בסיסי נתונים

דגשים ולקחים

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

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

שפה•

העתקות•

Page 6: מערכות בסיסי נתונים

ספרי הקורס

• 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: מערכות בסיסי נתונים

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

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

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

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

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

Page 8: מערכות בסיסי נתונים

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

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

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

הנתונים

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

Page 9: מערכות בסיסי נתונים

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

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

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

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

Page 10: מערכות בסיסי נתונים

פקיד

חשבון

מטפל

'מסזהות

'מסחשבון

שם

סוג

לקוח

'מסזהות

שםכתוב

ת

בעל

ותק

יתרה

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

Page 11: מערכות בסיסי נתונים

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

idnameaccount

22455Moshe Levi233

23345Yair Cohen322

12234 Yoav Gal227

11113Michal Tam998

23349Yonit Ron239

accountcredittype

2332500regular

322300regular

2271000regular

9984000silver

2399560gold

Bank Clients

Bank Accounts

Page 12: מערכות בסיסי נתונים

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

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

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

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

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

Page 13: מערכות בסיסי נתונים

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

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

Page 14: מערכות בסיסי נתונים

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

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

'מסזהות

'מסקורס

שם שם קורס

מתרגל

'מסזהות

שםכתוב

ת

מלמד

ציון מקום

Page 15: מערכות בסיסי נתונים

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

ישות •

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

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

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

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

תחום התכונה•

טיפוס ישויות

תכונה

Page 16: מערכות בסיסי נתונים

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

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

תלמיד קורס

'מסזהות

'מסקורס

שם שם קורס

מנחה

'מסזהות

שםכתוב

ת

תלמיד קורס

'מסזהות

'מסקורס

שם שם קורס

מנחה

'מסזהות

שםכתוב

ת

Page 17: מערכות בסיסי נתונים

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

טיפוס קשרים•

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

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

'מסזהות

'מסקורס

שם שם קורס

ציון

Page 18: מערכות בסיסי נתונים

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

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

Page 19: מערכות בסיסי נתונים

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

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

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

סרט

Page 20: מערכות בסיסי נתונים

Actorid

name

Acted In Movie

title

type

year

Directorid

name

Directe

d

picture

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

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

Page 21: מערכות בסיסי נתונים

אילוצים

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

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

Page 22: מערכות בסיסי נתונים

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

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

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

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

B

b

A

a

R

Page 23: מערכות בסיסי נתונים

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

קורס

'מסקורס

שם קורס

מרצה

'מסזהות

שם

מלמד

מקום

קורס

'מסקורס

שם קורס

מרצה

'מסזהות

שם

מלמד

מקום

קורס

'מסקורס

שם קורס

מרצה

'מסזהות

שם

מלמד

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

Page 24: מערכות בסיסי נתונים

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

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

קורס

'מסקורס

שם קורס

מתרגל

'מסזהות

שם

מלמד

מקום

Page 25: מערכות בסיסי נתונים

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 26: מערכות בסיסי נתונים

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 27: מערכות בסיסי נתונים

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 28: מערכות בסיסי נתונים

לקוח

'מסזהות

שם

חשבון בנק

'מסחשבון

סוג

בעל

יתרה

Page 29: מערכות בסיסי נתונים

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

סטודנט

'מסזהות

שם

קורס 'מסקורס

שם קורס

נבחן

בחינה

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

מפתח כאן?

Page 30: מערכות בסיסי נתונים

Actorid

name

Produced Movie title

Directorid name

picture type

year

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

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

Page 31: מערכות בסיסי נתונים

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

'מסעובדזהות

שם

ניהול

מנהל

עובד

Page 32: מערכות בסיסי נתונים

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

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

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

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

Page 33: מערכות בסיסי נתונים

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

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

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

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

קשור

Page 34: מערכות בסיסי נתונים

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

צבע

סוג

שם

'מסזהות

----

----

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

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

Page 35: מערכות בסיסי נתונים

דוגמא

Booktitle

author

isbn

Copy

copy number condition

Copy Of

Borrowed

Person

id

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

Page 36: מערכות בסיסי נתונים

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

Booktitle

author

isbn

Copy

copy number condition

Copy Of

Borrowed

Person

id

Owned ByLibraryname

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

-----

Page 37: מערכות בסיסי נתונים

ISAירושה- קשר

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

אדם

שם

ת.ז.

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

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

פיתרון:

אדם

שם

ת.ז.

נישואין

ISA

אישהגבר

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

-קבוצות זרות

Page 38: מערכות בסיסי נתונים

דוגמא

Movie Person

ISA

Actor

id

name

picture Director

Page 39: מערכות בסיסי נתונים

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

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

Page 40: מערכות בסיסי נתונים

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

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

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

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

Actorpicture

Movieyear

typetitle

Acted Insalary

Award

id

nameyear

name

Page 41: מערכות בסיסי נתונים

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

Actorpicture

Movieyear

typetitle

Acted Insalary

AwardWon

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

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

id

name

year

name

Page 42: מערכות בסיסי נתונים

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

Actorpicture

Movieyear

typetitle

Acted Insalary

Award

Wonyear

name

id

name

Page 43: מערכות בסיסי נתונים

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: מערכות בסיסי נתונים

1תרגול

'מסעובדזהות

שם

ניהול

מנהל

עובד

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

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

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

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

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

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

Page 45: מערכות בסיסי נתונים

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

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

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

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

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

2תרגול אדם

אישהגבר

ISAאם אב

נישואין

אדם

נישואין

בן של

בן

אישה בעל

אבאם

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

Page 46: מערכות בסיסי נתונים

3תרגול

סטודנט

'מסזהות

שם

קורס 'מסקורס

שם קורס

נבחן

בחינה 'מס

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

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

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

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

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

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

Page 47: מערכות בסיסי נתונים

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

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

מדינה

שם מדינה

ספורטאי

'מסזהות

שם ספורטאי

מייצג

משכורת

משחק