1 / 28

מבוא לתכנון הסכמה – חלק ב'

מבוא לתכנון הסכמה – חלק ב'. An Introduction to Schema Design – Part 2. אילוצים ( Constraints ) ב- ERD. אילוצים שכבר ראינו. כבר ראינו שני סוגי אילוצים: מפתח של קבוצת ישויות הינו אילוץ שאין שתי ישויות עם אותם ערכים של אטריבוטים המופיעים במפתח קבוצת קשרים יחיד ליחידרבים.

meara
Download Presentation

מבוא לתכנון הסכמה – חלק ב'

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. מבוא לתכנון הסכמה – חלק ב' An Introduction to Schema Design – Part 2

  2. אילוצים (Constraints) ב-ERD

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

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

  5. אילוץ כללי על מספר הקשרים עם אותה ישות • להלן ERD עבור בית חולים • נניח שמנתח נקרא מומחה רק אחרי שהוא ביצע 20 ניתוחים שם • ניתוח מבוצע על ידי שלושה מנתחים מומחים חולה תז' עובר חדר ניתוח מבצע >=20 ניתוח מנתח מומחה סוג תאריך תרגיל: האם אפשר ש: שעה לא

  6. אילוץ כללי על מספר הקשרים עם אותה ישות שם • אותו ניתוח מבוצע בשני חדרים שונים חולה תז' עובר חדר ניתוח מבצע >=20 ניתוח מנתח מומחה סוג תאריך תרגיל: האם אפשר ש: שעה לא

  7. אילוץ כללי על מספר הקשרים עם אותה ישות שם • יש שני ניתוחים שונים שנקבעו לאותו תאריך ושעה חולה תז' עובר חדר ניתוח מבצע >=20 ניתוח מנתח מומחה סוג תאריך תרגיל: האם אפשר ש: שעה לא

  8. אילוץ כללי על מספר הקשרים עם אותה ישות שם • חולה 1223 לא היה בניתוח חולה תז' עובר חדר ניתוח מבצע >=20 ניתוח מנתח מומחה סוג תאריך תרגיל: האם אפשר ש: שעה כן

  9. אילוץ כללי על מספר הקשרים עם אותה ישות שם • יש 1000 חולים, 2000 ניתוחים ו-100 מנתחים מומחים חולה תז' עובר חדר ניתוח מבצע >=20 ניתוח מנתח מומחה סוג תאריך תרגיל: האם אפשר ש: שעה כן

  10. אילוץ כללי על מספר הקשרים עם אותה ישות שם • יש 1000 חולים, 1000 ניתוחים ו-1000 מנתחים מומחים חולה תז' עובר חדר ניתוח מבצע >=20 ניתוח מנתח מומחה סוג תאריך תרגיל: האם אפשר ש: שעה לא

  11. קבוצת ישויות חלשה Weak Entity Set

  12. קבוצת ישויות חלשה • קבוצת ישויות נקראת חלשה עם אין לה מספיק אטריבוטים טבעיים כדי להגדיר מפתח • עלינו לעצב בסיס נתונים ששומר מידע על • מלגות סטודנטים • ארגונים שמעניקים את המלגות • ייתכן שלכמה ארגונים יש מלגה עם אותו שם שם מס' טלפון קבוצת קשרים תומכת קבוצת ישויות חלשה קבוצת ישויות תומכת (Supporting entity set) אפשר שיהיו כמה קבוצות תומכות חייב להיות בדיוק אחת! ארגון נותן קיבל מלגה ת.ז. סטודנט שם שנה סכום שם

  13. :ER כלי לתכנון במודל קריאה מכוונת How to Read With ER-Design in Mind

  14. קריאה מכוונת לתכנון ER • המטרה של קריאה מכוונת לתכנון ER היא למצוא את הישויות והקשרים תוך כדי ניתוח דרישות. • בתור דוגמה, ניקרא ביחד חלק מהפרויקט של שנת תשע"ב:

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

  16. 3. כל פעם שהחולה מבקר במרפאה נרשמים נתוני הביקור: • תאריך ושעה • מס' הרופא המטפל • נתוני תלונת החולה: • רשימה של קודי תלונה • טקסט חופשי לתיאור התלונה • נתוני אבחנת הרופא: • רשימה של קודי אבחנה (של הרופא) • טקסט חופשי לאבחנת הרופא • הוראות הטיפול: • רשימה של קודי בדיקות לביצוע • רשימה של תרופות: לכל תרופה קוד תרופה (מארז ספציפי, ע' לקמן), ומינון • טקסט חופשי להוראות הרופא • תאריך מומלץ לביקור הבאה

  17. ERD עבור פרויקט בשנת תשע"ב סותרת מבוצע מחלה סניף בדיקה תרופה אם אב חולה הפניה בתוכו מומלץ מבקר מוצר ביקור חולה אב בן אב מש' מאורז מוגשת נראה אצל אריזה תלונה אבחנה רופא רגיש

  18. תרגום למודל היחסים

  19. מה נעשה עם ה ERD שתיכננו • עלינו להגדיר טבלאות עם מפתחות ראשים ומפתחות זרים על סמך ה-ERD שתיכננו • להלן נפרט את תהליך התרגום מERD לטבלאות

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

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

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

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

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

  25. תרגום של קשר ISAלטבלה אחת שם ת.ז. • חסרון: נצטרך להשתמש ב-NULL חבר סגל isa isa חוקר מרצה תחום המחקר חבר סגל

  26. תרגום של קשר ISA: דרך ב' שם ת.ז. • חסרון: אין טבלה בשביל חבר סגל • כל שינוי באטריבוטים של חבר סגל צריכים להתבצע בשתי טבלאות • כל שאילתה על חברי סגל צריכה לשלוף מידע משתי טבלאות חבר סגל isa isa חוקר מרצה תחום המחקר חוקר מרצה

  27. תרגום של קשר ISA: דרך ג' שם ת.ז. • חסרון: מדע על חוקר מפוזר. חבר סגל isa isa חוקר מרצה תחום המחקר חוקר מרצה חבר סגל

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

More Related