380 likes | 722 Views
מודל הנתונים. המודל התפישתי Conceptual Model. תרשים ישויות קשרים - ERD ( Entity Relationship Data Model ) מייצג את ההבנה והידע שלנו על המציאות הרלוונטית לבעיה מאפשר בניית המציאות הרלוונטית באופן גרפי משוחרר מכל היבט הקשור למחשב ולצורה בה הוא מיושם במודל לוגי כל שהוא.
E N D
המודלהתפישתיConceptual Model • תרשים ישויות קשרים - ERD • ( Entity Relationship Data Model) • מייצג את ההבנה והידע שלנו על המציאות הרלוונטית לבעיה • מאפשר בניית המציאות הרלוונטית באופן גרפי • משוחרר מכל היבט הקשור למחשב ולצורה בה הוא מיושם במודל לוגי כל שהוא
המודל הלוגיLogical Model • הסכימה של המציאות הרלוונטית כפי שהיא מיוצגת במערכת DBMS מסויימת • מודל היררכי • מודל רשתי • מודל טבלאי • מודלטבלאימוטה אובייקטים
המודל הפיזיPhysical Model • צורת היישום של המודל הלוגי למבנה פיזימסוים • לוקח בחשבון: * אילוצי בצוע ויעילות (בניית טבלאות אינדקס) * נפחי אחסון (חלוקת טבלה לכמה טבלאות לפי חודשים) * ארגון הטבלה (אינדקס סידרתי, אקראי) * שיטות גישה לנתונים
מודל ישויות - קשריםישות (Entity) • מייצגת במודל אובייקט ממשי או מופשט מהמציאות, בעל משמעות בהקשרמסוים • מאופיינת ע”י מלבן או אליפסה • עצם - בנין, ספר, מכונית • גוף חי - עובד במפעל, סטודנט • מושג מופשט או רעיון - קורס, מבחן, טיסה • אירוע - דיווח נוכחות, תנועה בחשבון
ישות (Entity) • ישות חזקה - ישות שקיומה העצמאי במודל אינו תלוי בקיומה של ישות אחרת • דוגמא: עובד, סטודנט, ספר, ח-ן בנק • ישות חלשה - ישות שקיומה העצמאי מותנה בקיום ישות אחרת • דוגמא: הישות “ציון של מבחן בקורס”. כי קיומה מותנה בקיום הישות “סטודנט” ו- “קורס” • דוגמא נוספת: תנועות של ח-ן בבנק
תכונה (Attribute) • מאפיין (Characteristics) בעל משמעות כל שהוא של אובייקט במודל • לדוגמא: לישות “סטודנט” קיימים התכונות: מס’ זיהוישם, כתובת, תאריךלידה • תכונהפשוטה - תכונה המכילה מרכיב אחד בלבד ואינה ניתנת לחלוקה נוספת - שכ”ל, ציון • תכונהמורכבת - תכונה המכילה מספר רכיבים וניתן לחלק אותה למרכיביה - כתובת, שם מרצה
תכונה (Attribute) • ערך של תכונה (Value) - תוכן התכונה בנקודת זמן מסוימת. • נקרא גם “ נתון" (Data) • הערך של התכונה יכול להשתנות באופן דינאמי • ערך חובה מול ערך רשות (יכול לקבל Null value ) • תכונה עם ערך בודד (Single Value Attribute) - מכילה בכל נקודת זמן ערך אחד בלבד • תכונה מרובת ערכים (Multiple Value Attribute) - יכולה לקבל בכל נקודת זמן ערך אחד או יותר
טיפוס נתונים (Data Type) • סוג הערכים שתכונה יכולה לקבל: • מספר שלם (Integer) • מספרעשרוני (Decimal) • מחרוזתתווים (Character) • בוליאני (Boolean) - תכונה המקבלת את הערך “אמת” או “שקר” • תאריך, זמן • תמונה • קטע וידאו
מרחב הערכים של התכונהAttribute Domain • אוסף כל הערכים החוקיים שהתכונה יכולה לקבל - • ) שלם x = וכן x = (x | 1<x< 5 • x = (x | “Lesson” or “Seminar”)
קבוצת ישות (Entity Group) • אוסף של ישויות מאותו סוג
מפתח אפשרי (Candidate Key) • אוסף של תכונות המזהה באופן חד ערכי מופע של ישות מסוימת בתוך קבוצת הישות • כל מפתח חייב לקיים את הכללים: * זיהויחד-ערכי (Unique Identification) * מינימליות (Non Redundancy)
מפתח עיקרי (Primary Key) • אחד מבין המפתחות האפשריים אשר נבחר לשמש כמפתח של קבוצת הישות • שיקולים לבחירה: יציבות לאורך זמןקצרמובן
מפתחות • מפתח פשוט (Simple Key) - מפתח המורכב מתכונה אחת בלבד • מפתח מורכב (Compound Key) - מפתח המורכב ממספר תכונות • המפתח העיקרי יסומן בהמשך ע”י קו תחתי מתחת לשם/ות התכונה/ות המרכיב/ותאת המפתח העיקרי • מפתח זר (Foreign Key) - אוסף תכונות המופיע בקבוצת ישות E1 המשמש גם כמפתח עיקרי בקבוצתישות E2
הכללה (Generalization) • תהליך הפשטה המאפשר לבנות קבוצה המהווה קבוצת-על (Superset) של קבוצות אחרות • אילוץ של קבוצות זרות (Disjoint Constraints) - אילוץ המונע מחבר בתת קבוצה אחת להיות חבר גם בתת קבוצה אחרת • אילוץ חפיפה (Overlap Constraint) - אילוץ המתיר לחבר בתת קבוצה אחת להיות חבר גם בתת קבוצה אחרת
הכללה (Generalization) • תהליך ההכללה מאפשר לבנות היררכיות של קבוצות ישות שמקובל לכנות אותן בשם: היררכיות הכללה (Generalization Hierarchies) או באופן כללי יותרהיררכיות סמנטיות (Semantic Hierarchies)
קשר • קשר (Relationship) - יחס בעל משמעות בין ישויות שונות • קבוצת קשר (Relationship Type) - אוסף כל הקשרים בעלי אותה משמעות בין הישויות השונות • במודל ישויות-קשרים נסמן קשר ע”י מעויין הנושא את שם הקשר
קשר • דרגת הקשר (Relationship Degree) - מספר קבוצות הישות המשתתפות בקשר • פונקציונליות הקשר (Relationship Function) - סוג המיפוי הקיים בין הקבוצות המשתתפות בקשר • הפונקציונליות יכולה להיות מסוג: 1:1, M:N, 1:N
קרדינליות הקשר (Relationship Cardinality) • מספר הישויות המינימליוהמקסימלי בקבוצת ישותJהקשורות לישות אחת בקבוצת ישות I • במקרה בו אין אילוץ קרדינליות לא נרשום את האילוץ כלל
תלות קיומית(Existence Dependence) • קיום ישות בקבוצת ישות A מותנה בקיום ישות בקבוצת ישות אחרת B
קשר נושא מידע • קשר המכיל את המפתחות העיקריים של קבוצות הישויות שהוא קושר ביניהן וגם תכונות נוספותהתלויות חד ערכית במפתחות אלה
ייצוג קבוצות ישות וקשרים ע”י טבלאות
תרגיל • נתונה חברה "השוקולד" המייצרת ומוכרת קופסאות שוקולד. • להלן הטבלאות העיקריות: • פירטי הזמנה • לקוחות החברה מבצעים הזמנות של קופסאות שוקולד.כל הזמנה כוללת: מס' מזהה של קופסת שוקולד וכן כמות הקופסאות שברצונם להזמין מאותו סוג קופסה. פירטי ההזמנה יכולים כמובן להכיל יותר ממס' מזהה אחד של קופסאות שוקולד. • קופסת שוקולד • כל קופסת שוקולד מכילה מספר סוגי ממתקים, ומספר יחידות מכל סוג ממתק. לקופסת השוקולד קובעים מחיר מכירה, כמו כן לכל ממתק קובעים את עלותו. קימות שתי סוגים של קופסאות: מיובאות (נתונים ייחודים: הרב נותן הכשרות, סוג הכשרות, ארץ מוצא) וכן מקומיות (נתון ייחודי: קוד מפעל מייצר) • לקוחות, רבנים, סוגי כשרות, ארץ מוצא (ואולי עוד….) • יש לבנות תרשיםERDלמודל הנתונים של חברת “השוקולד” בדומה למודל של “ניהול פרוייקטים”