שאלה ב-pma

שאלה ב-pma

אני בונה מערכות ב-php כבר שנה. כיום אני עובד על פרויקט שהולך כך: אנשים יכניסו נתונים והמערכת תיצור עבורם תרשים(דיאגרמה) הקטע הוא כיצד לבנות את המסד צריך להיות: תרשים id שם התרשים וחמש אפשרויות של הכנסת נתונים(מספרים). כיצד לעשות זאת בדרך היעילה ביותר. לפי הדרך שלי יש מלא שדות. בבקשה עיזרו לי תודה מראש.
 
===>

אז זהו שצריך להיות: תרשים id שם התרשים וחמש אפשרויות של הכנסת נתונים(מספרים). אבל ככה זה יוצא מלא שדות. כיצד לעשות בדרך הכי יעילה? כי צריך להיות לכל ערך שם. דוגמה IDתרשים- 3 שם התרשים- מהו המאכל האהוב עליך? אפשרות אחת-פיצה ערך אחד-76 אפשרות שתיים- פסטה ערך שתיים-55 . . . . אפשרות חמש-מזון מהיר ערך חמש- 154 עכשיו, השאלה שלי היא כיצד לארגן את הנתונים האלו ב-DB? תודה מראש
 

Terminal Frost

New member
שלוש טבלאות, כדלקמן

טבלת "תרשימים": תרשים_ID - מספור אוטומטי, אינדקס שם_תרשים טבלת "אופציות": אופציה_ID - מספור אוטומטי, אינדקס שם_אופציה טבלת "אופציות_לתרשימים": אופציה_לתרשים_ID - מספור אוטומטי, אינדקס אופציה_ID - אילוץ זר על שדה אופציה_ID בטבלת "אופציות" תרשים_ID - אילוץ זר על שדה תרשים_ID בטבלת "תרשימים" כך תוכלי לשלוף בשליפה אחת את כל האופציות המשוייכות לתרשים מסויים, וגם לקבל את שמות האופציות. בהצלחה
 
רגע משהו לא מובן

לא ממש הבנתי את הטבלה השלישית. מה בעצם יש בטבלה הזו? הרי זה אותם שמות. למה זה טוב? תודה מראש.
 
אההה הבנתי אבל...

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

Terminal Frost

New member
לא, אתה יוצר את זה באותו שם

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

מה זה החלק הזה? למה הוא טוב לי לפרויקט? אופציה_לתרשים_ID - מספור אוטומטי, אינדקס אופציה_ID - אילוץ זר על שדה אופציה_ID בטבלת "אופציות" תרשים_ID - אילוץ זר על שדה תרשים_ID בטבלת "תרשימים"
 

Terminal Frost

New member
תראה

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