טבלאות דינמיות

טבלאות דינמיות

שלום,
אני צריך לבנות אתר למישהו כשחלק מהאפשרויות שהמנהל רוצה זה להגדיר את העמודות שיהיו לטבלאות מסוימות. זה לא יהיה שימוש נפוץ אך מדי פעם הוא ירצה להוסיף עמודות לטבלאות.
חשבתי על שלושה דרכים לעשות את זה.
א. כל פעם שהוא יוריד עמודה אני אריץ פקודת drop על העמודה וכשהוא יוסיף אריץ add.
ב. הטבלה תהיה מנורמלת ובכל פעם שארצה לתשאל את הטבלה אשתמש בשאילתת unpivot שתחזיר לי טבלה שטוחה.
ג. אשתמש במסד נתונים מסוג mongo ואז אני לא צריך להגדיר את סכמת העמודים.

אשמח להמלצות.
 

ziv1f

New member
Content management system

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

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

בברכה,
זיו
 
אבל.. למה?

אתה באמת רוצה לתת ללקוח לשנות לך את ה db? את הסכמה עצמה?
אתה צריך לבעוט ולצרוח מול דרישה כזו. הסכמה של ה db זה אחד הדברים היחידים שהם כמעט כמו ה executable עצמו.

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

איך אתה משווה את מונגו מול טבלאות מנורמלות?
אגב, את המונגו אני הצעתי, זיו הציע מערכת מוכנות.
 
אופס. סליחה

אכן, מונגו היה רעיון שלך, זיו הציע אומבראקו. טעות, טעיתי, טועים.
&nbsp
אני לא משווה מונגו מול רלציוני. זה כמו להשוות תפוחים לבננות.
אני טוען שפתרון כמו לשנות סכמה של db זה פתרון מסוכן, וצריך לשקול פתרונות אחרים לפני שניגשים לממש אותו.
&nbsp
כמו שאני מבין את זה, יכול להיות שהפתרון לדרישות הפרוייקט הוא שילוב של db רלציוני (ללא שינויים בסכמה אחרי deployment) עם משהו גמיש יותר. הבאסה העיקרית היא שלא תוכל לשלוף הכל באותה שאילתה.
&nbsp
אני מציע לך אלטרנטיבות:
1. כשהלקוח ירצה להוסיף עמודות - הוא יקנה שעות פיתוח, תוסיף את העמודות ותעשה deployment מחדש
2. להוסיף מראש X עמודות לכל טבלה ורק לתת ללקוח את האפשרות להציג או להסתיר אותן.
 
למעלה