ישות לעומת תכונה
טכניקת Entity-Rationship Modeling (ERM) נמצאת בשימוש נרחב ליצירת מודלים של מסדי נתונים. מודל מערכות יחסים בין ישות הוא תהליך המצאת ייצוג מופשט ורעיוני של נתונים. אחד מאבני הבניין העיקריות של ERM הוא ישות. ישות מייצגת אובייקט בעולם האמיתי או דבר שיכול לעמוד בפני עצמו באופן עצמאי וניתן לזהות אותו באופן ייחודי. תכונות הן המאפיינים של הישויות הללו. דיאגרמות ER הן תוצר של מודלים של מערכות יחסים בין ישות. דיאגרמות ER מצוירות באמצעות ישויות, תכונות וסמלים אחרים (כגון קשרים).
מהי ישות?
ישות מייצגת דבר שיכול להתקיים באופן עצמאי ושניתן לזהותו באופן ייחודי. ליתר דיוק, ישות מייצגת לעתים קרובות מחלקה, קבוצה או קטגוריה של אובייקטים דומים. לרוב, ישות מייצגת אובייקט בעולם האמיתי כגון מכונית או עובד. ניתן להתייחס לישויות כשמות עצם שעולים במהלך תיאור הבעיה שיש לפתור. ישויות מיוצגות כטבלאות במסדי נתונים יחסיים. באופן כללי, כל ישות תמפה לטבלה אחת בדיוק במסד הנתונים. שורות בודדות בטבלאות מתאימות למופעים בפועל של האובייקט/דבר המיוצג על ידי הישות. לדוגמה, במסד נתונים של עובדים, כל שורה תואמת לרשומות של עובדים בודדים של החברה.
מהי תכונה?
במודלים של ישות-יחסי, מאפיינים של ישויות נקראים תכונות. במילים אחרות, תכונות מייצגות תת קבוצת מידע של האובייקט המיוצג על ידי הישות. תכונות מגדירות את המופעים האישיים ועוזרות להבדיל בין כל מופע על ידי תיאור המאפיין שלהם.חשוב לציין שלא ניתן להעריך תכונות ערך והן צריכות להיות אטומיות. במסדי נתונים יחסיים, שבהם ישויות מתממשות כטבלאות, כל עמודה מייצגת את התכונות של הישויות הללו. לדוגמה, בטבלת Employee, עמודות כגון מחלקה, דרגה ושכר הן דוגמאות לתכונות של העובדים. על מנת להבדיל בין מופעים בודדים של הישות, ניתן לבחור שדה תכונה אחד או יותר עם ערכים ייחודיים (עבור כל המופעים) כמפתח. לדוגמה, תכונת מספר תעודת זהות (שהיא ייחודית לכל העובדים) משמשת לעתים קרובות כמפתח הראשי של טבלת עובדים. לפעמים תכונות מרובות יכולות להוות גם את המפתח הראשי.
מה ההבדל בין ישות לתכונה?
במודלים של מערכות יחסים בין ישויות, ישויות מייצגות אובייקטים/דברים בעולם האמיתי שניתן לזהות כייחודיים ועצמאיים, בעוד שתכונות מייצגות את המאפיינים של הישויות הללו. במסדי נתונים יחסיים, ישויות הופכות לטבלאות (כל שורה מייצגת מופעים בודדים), בעוד שתכונות הופכות לעמודות של אותן טבלאות מתאימות.כאשר מעצבים מסדי נתונים, נפוץ יש בלבול לגבי בחירת ישות לעומת תכונה לייצג אובייקט מילה אמיתית מסוימת. לדוגמה, האם כתובתו של העובד צריכה לייצג כתכונה או ישות אחרת (המחוברת לישות העובדת באמצעות מערכת יחסים)? כלל אצבע כללי הוא, אם לעובד יש יותר מכתובת אחת, הכתובת חייבת להיות ישות (מכיוון שתכונות אינן מוגדרות כערך). באופן דומה, אם חשוב ללכוד את מבנה הכתובת, אז שוב הכתובת צריכה להיות ישות (כי התכונות הן אטומיות).