לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 17-01-2008, 14:19
  maoz_mel maoz_mel אינו מחובר  
 
חבר מתאריך: 13.11.04
הודעות: 64
שלח הודעה דרך ICQ אל maoz_mel
עזרה בתכנון של DB פשוט.

שלום, אני חדש בתחום ה DB, ורציתי להתייעץ בקשר לבעייה שנתקלתי בה.
אני בונה כרגע DB באמצעות MySql.

אני אציג את הבעיה, ואז אשאל לגבי 2 אפשרויות פתרון:

יש לי עולם שבו יש סוגים שונים של אובייקטים (כמו חנות). למשל: מכונית, אקווריום, ספר.
לכל אובייטק יש מספר תכונות שמרכיבות אותו. למשל לספר יש מספר עמודים, עובי כריכה ועוד...
מספר התכונות הוא משתנה ודינאמי, בממוצע בין 10-20 תכונות.
לכל אובייקט כזה יש בין עשרות לאלפי מופעים: למשל כל הספרים הם מופעים של האובייקט ספר.

העולם שלי הוא דינאמי וכל הזמן נוספים לו אובייקטים חדשים (אלפים) ומופעים נוספים של אובייקטים.

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

2. אפשרות שניה.
ליצור 4 טבלאות מרכזיות במקום אלפי טבלאות.
טבלה ראשונה היא טבלה של האובייקטים. מכילה את כל סוגי האובייקטים. למשל ספר, מכונית...
טבלה שנייה שתשמש למופעי אובייקטים. למשל עבור מופעים של ספרים. שורה תכיל ספר מסויים, או מכונית מסויימת. (שורה מייצגת רק את המופע ושמו, ללא תכונות.למשל ספר בשם "בסיסי נתונים" הוא מופע)
טבלה שלישית של metadata של כל האובייקטים. כלומר שורה בטבלה תראה כך: סוג אובייקט, מספר תכונה, שם תכונה. למשל: ספר, תכונה מס 1, אורך בעמודים.
טבלה רביעית תכיל את כל המידע. כלומר שורה בטבלה תראה כך: מספר מופע של אובייקט, מספר תכונה, הערך של התכונה. למשל: ספר 1 ("בסיסי נתונים"), תכונה 1 (מספר עמודים), 433 עמודים.

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

לי נראה שהצורה הראשונה טובה יותר מכל הבחינות, מבחינת פשטות, נוחות, הכנסת מידע וחיפוש.
השאלה שלי היא מה עדיף מבחינת יעילות ה DB.
הרבה טבלאות עם מעט מידע בכל טבלה?
או מעט טבלאות עם הרבה מידע בכל טבלה?

תודה מראש,
מעוז
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 09:44

הדף נוצר ב 0.03 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר