מערכות בסיסי נתונים 2006-2007. מידע כללי מתרגל: גדעון...
Post on 22-Dec-2015
234 views
TRANSCRIPT
מערכות בסיסי נתונים
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 'יום ד–115, שפרינצק 18:00-20:00 'יום ד–
מידע כלליחומר הקורס: הרצאות, תרגולים ותרגילים•
תרגולים כוללים בעיקר חומר שאינו מועבר •בהרצאה
מבחן75% תרגילים + 25%ציון קורס: •
תרגילים תרגילים במהלך הסמסטר8-10יהיו כ- •(Ross -2)תרגילים תיאורטיים יש להגיש בתיבת הקורס •תרגילי תכנות יש להגיש דרך אתר הקורס• התרגיליםכלחובה להגיש את •עד יום לפני המועד המקורי דחייה יש לשלוח /בקשות לפטור•אישיתאם לא צוין אחרת, התרגילים הם להכנה והגשה • זהות, ושם משתמש'שם, מסיש להקפיד על כתיבת •ערעורים יש להגיש בטופס המתאים, לתיבה האישית שלי •
(Ross 0)לא יאוחר משבוע ממועד החזרת התרגיל ,
דגשים ולקחים
שקפים: חלקיים, מומלץ להדפיס מראש•
להקפיד על הגשת תרגילים בפורמט נכון•
שפה•
העתקות•
ספרי הקורס
• 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
מערכות מסדי נתונים60ראשית התחום בסוף שנות ה-•הגידול האדיר בכמות המידע הנשמר במחשב יצר •
צורך חזק בשמירה יעילה ונוחה של המידעהדבר גרם להתפתחות מואצת של תחום מערכות •
מסדי נתונים Walmart חברת הסופרמרקטים הענקית 2006ב-•
מכרה מוצרים בכמעט מיליארד דולר ביום! ברור כי גופים עם צורך כה גדול בשמירה ושימוש •
במידע זקוקים למערכת יעילה ונוחה ככל האפשר
מערכות מסדי נתונים
: מערכת מידע (Database)בסיס נתונים •ממוחשבת
: כוללת (DBMS)מערכת ניהול בסיסי נתונים •בסיסי נתונים וסדרת תוכניות מחשב לשליפת
הנתונים
למידע ויעילה נוחהמטרה: לאפשר גישה •
דוגמא: בסיס נתונים של בנק בנק הינו דוגמא קלאסית לגוף העושה שימוש רב •
בבסיסי נתוניםבסיס הנתונים של בנק מסוים יכיל מידע על:•
( ' חשבון, וכו' ת.ז., כתובת, מס'לקוחות הבנק )שם, מס–(' חשבון, סוג חשבון, יתרה וכו'חשבונות )מס–('עובדי הבנק )שם, דרגה, לקוחות, וכו–ועוד... –
ניתן להבחין במספר מאפיינים של בסיס נתונים:•מחזיק מידע רב בנושאים שונים–יש קשר בין סוגי המידע השונים–ניתן לשמור את המידע באופנים שונים–במקרים שונים נהיה מעוניינים בחלקים שונים של המידע –, טבלאות, ...ERניתן לתארו ברמות הפשטה שונות- –
פקיד
חשבון
מטפל
'מסזהות
'מסחשבון
שם
סוג
לקוח
'מסזהות
שםכתוב
ת
בעל
ותק
יתרה
ייצוג בסיס נתונים בדיאגרמת ישויות-קשרים )מצומצם(
ייצוג בסיס נתונים בטבלאות )מצומצם(
idnameaccount
22455Moshe Levi233
23345Yair Cohen322
12234 Yoav Gal227
11113Michal Tam998
23349Yonit Ron239
accountcredittype
2332500regular
322300regular
2271000regular
9984000silver
2399560gold
Bank Clients
Bank Accounts
בסיס נתונים לעומת מערכת קבצים רגילה
מידע רב נשמר בקבצים רגילים של מערכת •ההפעלה
מדוע לא ניתן לשמור בהם את כל המידע במקום •בבסיס נתונים?
( לכל לקוח wordנניח כי בנק מחזיק קובץ )נניח • חשבון.' זהות, גיל, בנקאי אישי, מס'ובו: שם, מס
אילו בעיות עלולות להתעורר?•
בסיס נתונים לעומת מערכת קבצים רגילה
יתרונות בסיס נתונים לשמירת מידע:•גישה מהירה לנתונים–קונסיסטנטיות–מסגרת אחידה–שמירה על מהימנות המידע באמצעות אילוצים–התמודדות עם נפילות מערכת כך שהמידע יישמר נכון–
מודל ישויות קשרים
תלמיד לומדקורס
'מסזהות
'מסקורס
שם שם קורס
מתרגל
'מסזהות
שםכתוב
ת
מלמד
ציון מקום
מודל ישויות וקשרים: ישויות
ישות •
טיפוס ישויות•
הקשר בין ישות לטיפוס ישויות אנלוגי לקשר בין • בתכנות מונחה עצמיםclassאוביקט ל-
תכונות של טיפוס ישויות•
ערך של התכונה•
תחום התכונה•
טיפוס ישויות
תכונה
מפתח של טיפוס ישויותמפתח: אוסף מינימלי של תכונות אשר צירופן •
ייחודי לכל ישות )אין שתי ישויות עם אותם ערכים של תכונות המפתח(
תלמיד קורס
'מסזהות
'מסקורס
שם שם קורס
מנחה
'מסזהות
שםכתוב
ת
תלמיד קורס
'מסזהות
'מסקורס
שם שם קורס
מנחה
'מסזהות
שםכתוב
ת
מודל ישויות וקשרים: קשריםקשר בין ישויות•
טיפוס קשרים•
תכונות טיפוסי קשרים•
תלמיד לומדקורס
'מסזהות
'מסקורס
שם שם קורס
ציון
קשר חייב להיות ניתן לזיהוי ייחודי על פי •הישויות המשתתפות בו!
קשרים המובדלים 2 קשרים זהים ואין 2)אין •ע"י תכונות הקשר בלבד(
דוגמאשרטט דיאגרמה עבור המערכת הבאה: •
בסיס נתונים מחזיק מידע לגבי סרטים, שחקנים, –ובמאים
זהות'עבור שחקנים ובמאים נשמור שם, מס–עבור שחקנים, נשמור גם תמונה–עבור סרט, נשמור את שמו, שנת הפקה וסוג הסרט–רוצים לשמור מידע אודות השחקנים והבמאים בכל –
סרט
Actorid
name
Acted In Movie
title
type
year
Directorid
name
Directe
d
picture
היכן נמקם משכורות של שחקנים?
מה החיסרון של דיאגרמה זו?
אילוצים
מהות אילוצים•
סוגי אילוצים:•אילוץ מפתח )מידת ריבוי של טיפוס קשרים(–אילוץ השתתפות–
אילוץ מפתחמידת הריבוי של טיפוס קשרים בינרי בין טיפוס ישויות •
A-ל B:יכול להיות רבים לרבים–B לאחד מ Aרבים מ –B לרבים מ Aאחד מ –אחד לאחד–
לכיוון טיפוס קשרים Aסימון: חץ מכיוון טיפוס ישויות • משתתפת A אומר שכל יישות ב Bעם טיפוס ישויות
)כמובן, רק B יישות אחת מ לכל היותרבקשר עם פעם אחת(
B
b
A
a
R
מידות ריבוי של טיפוסי קשרים
קורס
'מסקורס
שם קורס
מרצה
'מסזהות
שם
מלמד
מקום
קורס
'מסקורס
שם קורס
מרצה
'מסזהות
שם
מלמד
מקום
קורס
'מסקורס
שם קורס
מרצה
'מסזהות
שם
מלמד
מקום מה המשמעות של הדיאגרמות הבאות?
אילוצי השתתפות המשתתף Aאילוץ השתתפות על טיפוס ישויות •
A, משמעו שכל ישות ב-Rבטיפוס קשרים Rחייבת להשתתף לפחות במופע אחד של
קורס
'מסקורס
שם קורס
מתרגל
'מסזהות
שם
מלמד
מקום
לקוח
'מסזהות
שם
חשבון בנק
'מסחשבון
סוג
בעל
יתרה
לקוח
'מסזהות
שם
חשבון בנק
'מסחשבון
סוג
בעל
יתרה
לקוח
'מסזהות
שם
חשבון בנק
'מסחשבון
סוג
בעל
יתרה
לקוח
'מסזהות
שם
חשבון בנק
'מסחשבון
סוג
בעל
יתרה
טיפוס קשרים טרינרי
סטודנט
'מסזהות
שם
קורס 'מסקורס
שם קורס
נבחן
בחינה
'מסבחינה מה משמעות אילוץ
מפתח כאן?
Actorid
name
Produced Movie title
Directorid name
picture type
year
חזרה לבסיס הנתונים של הקולנוע
כיצד נשמור מידע על סרט שיש לו במאי אבל אין לו שחקנים?
טיפוס קשרים רקורסיבי
'מסעובדזהות
שם
ניהול
מנהל
עובד
טיפוס ישויות חלשאינו מוגדר באופן ייחודי ע"י תכונותיו•
זהות ונעלים מיוצגות ע"י סוג 'נניח שילדים מיוצגים ע"י שם ומס•וצבע
מהציור ניתן לראות כי אי אפשר לייצג זוג נעליים מסוים •באמצעות תכונותיו בלבד, אלא רק ע"י שיוכו לבעליו
לכן נעלים יהיו טיפוס ישויות חלש בדוגמה זו •
טיפוס ישויות חלש )יותר פורמלי(
טיפוס ישויות שאוסף כל תכונותיו אינו מהווה •מפתח עבורו
יזוהה ע"י קשר לטיפוס ישויות חזק•
מפתח של טיפוס ישויות חלש: צירוף תכונותיו •עם המפתח של טיפוס הישויות החזק אליו הוא
קשור
ילדשייכותנעל
צבע
סוג
שם
'מסזהות
----
----
טיפוס ישויות חלש
מהו המפתח של נעל?
דוגמא
Booktitle
author
isbn
Copy
copy number condition
Copy Of
Borrowed
Person
id
-------------
ואם אנו שומרים מידע לגבי ספרים מספריות רבות...
Booktitle
author
isbn
Copy
copy number condition
Copy Of
Borrowed
Person
id
Owned ByLibraryname
-------------
-----
ISAירושה- קשר
מאפשר לבטא ירושה, הכללה והפרדה•
אדם
שם
ת.ז.
נישואיןמה הבעיה בדיאגרמה זו? )בהנחה
שהרישום הוא ברבנות...(
פיתרון:
אדם
שם
ת.ז.
נישואין
ISA
אישהגבר
-אילוץ שלמות מלא
-קבוצות זרות
דוגמא
Movie Person
ISA
Actor
id
name
picture Director
קיבוץ )אגרגציה(
מאפשר לבטא השתתפות של קבוצת קשרים •בקבוצת קשרים
מעוניינים לשמור מידע אודות שחקנים שקיבלו פרסים על משחקם בסרט מסוים
מה הבעיה עם דיאגרמה זו?
כל שחקן קיבל לפחות פרס אחד1.
כל סרט קיבל לפחות פרס אחד2.
Actorpicture
Movieyear
typetitle
Acted Insalary
Award
id
nameyear
name
ניסיון שני...
Actorpicture
Movieyear
typetitle
Acted Insalary
AwardWon
מה הבעיה עם דיאגרמה זו?
שיחק A מבלי שהשחקן F וסרט Aפרס יכול להינתן לצמד שחקן Fבסרט
id
name
year
name
פיתרון: קיבוץ
Actorpicture
Movieyear
typetitle
Acted Insalary
Award
Wonyear
name
id
name
Movie Person
ISA
Actor
id
name
address
birthday
picture Director
Movieyear
typetitle
Acted In Directedsalary
Award
Organization
Gives
year
name
name
phonenumber
Won
1תרגול
'מסעובדזהות
שם
ניהול
מנהל
עובד
לא יתכן:/יתכן
שמעון מנהל של יוסי ואלי•
לדוד המנהל אין עובדים•
לברוך העובד אין מנהל•
המנהלים של יאיר הם דני ויוסי•
חיים מנהל את עצמו •
:' ו-ב'לא נכון עבור א/נכון לזוג מסוים יכולים להיות כמה ילדים •
משותפים. יש אפשרות לרשום ילדים שנולדו מחוץ •
לנישואין. לגבר יכולות להיות כמה נשים במשך חייו.• לגבר יכולות להיות כמה נשים בעת ובעונה •
אחת. לאדם יכולים להיות רשומים שני הורים מאותו •
מין )אחד בתפקיד האב ואחד בתפקיד האם(. יש אנשים שלא ידוע מי הוריהם.•
2תרגול אדם
אישהגבר
ISAאם אב
נישואין
אדם
נישואין
בן של
בן
אישה בעל
אבאם
'דיאגרמה ב 'דיאגרמה א
3תרגול
סטודנט
'מסזהות
שם
קורס 'מסקורס
שם קורס
נבחן
בחינה 'מס
סידורי לא נכון:/נכון
34 וגם בקורס 23 קיימת בקורס 366 בחינה •
אינו נבחן באף קורס112 סטודנט •
221 בקורס 332 ביצע את בחינה 155 סטודנט •פעמיים
וגם 122 את בחינה 221 ביצע בקורס 155 סטודנט •123
889 אף סטודנט לא נבחן בבחינה •
4תרגול צייר דיאגרמה המתארת את המערכת הבאה:
( זהות'מס )שם ספורטאי, ספורטאי• )שם מדינה(מדינה•. אחת ויחידהמדינה מייצגכל ספורטאי • או יותר מדינות.0 ב -משחקכל ספורטאי •ספורטאי מקבל משכורת על ייצוג מדינה •כל מדינה מיוצגת ע"י לפחות שחקן אחד •
מדינה
שם מדינה
ספורטאי
'מסזהות
שם ספורטאי
מייצג
משכורת
משחק