חשיפה: פרוייקט תבנית מסד נתונים גלובלי אופטימלי
-
שלום לכולם
פרוייקט גלובל אופטימום דטה בייס טמפלייט (באנגלית: Global optimum database template) הוא פרוייקט קוד פתוח מגלומני משהו, שאני חולם עליו כבר זמן רב אולם לאחר עמל של שנים, אני חושב שאני מתקרב למצב שבו אפשר להתחיל לרקום אותו יחד עם הציבור.
ההשראה לשם נלקחה מהמושג הזה ואני מאמין באמונה שלימה שיש אפשרות להגיע לזה בתבניות מסד נתונים.
אסביר את המטרה: המטרה היא בסופו של דבר שלקוחות שיבקשו עבודה, המפתח יוכל להתבסס על מסד הנתונים הזה, וממנו להמשיך ולהתאים ללקוח את יתר התוספות. הבנייה של דבר כזה צריכה להיות כזאת, שמצד אחד תכסה טווח רחב ביותר של לקוחות/ארגונים (מחוייבות למילה "גלובל") ומצד שני תהיה מערכת אחידה שהרכיבים בה לכל הפחות "לא יפריעו" לכמה שיותר ארגונים (מחוייבות למילה אופטימום) כלומר אפשר שיהיו רכיבים שעבור ארגונים מסויימים הם מיותרים, וזה לא מפריע, אבל שיהיו כמה שפחות רכיבים שמפריעים באופן מפורש לצורכי הארגון, ודורשים מהמפתח לשנות דברים בתבנית.
המתח בין הגלובלי לאופטימלי, יהיה נתון תמיד לנקודות ויכוח והכרעה, הצד הגלובלי הוא צד "מרחיב" מהצד הגלובלי, תמיד תהיה אפשרות להוסיף רכיבים (טבלאות, שדות וכדו') ואילו הצד האופטימלי הוא צד "מצמצם" תמיד יוכלו לטעון שרכיב זה אמור להפריע ללקוחות כאלו וכאלו, ולכן יש להסירו, ואולי אין להסירו כי אם הגלובליזציה נפגעת יותר אפשר לוותר קצת על אופטימיזציה.
את הפרוייקטים אני רוצה לבנות ב mysql וב sqlserver במקביל. מחפש פלטפורמה מתאימה ואפשר לצאת לדרך....
תגובות והערות לפרוייקט המגלומני יתקבלו בברכה.
פורסם במקור בפורום CODE613 ב25/06/2014 09:57 (+03:00)
-
טוב אז מקודם כתבתי כיוזם הפרוייקט באופן אובייקטיבי, וכעת אני כותב כחבר בפורום המגיב לפרוייקט.
דבר ראשון אני תומך בפרוייקט, ומחזיק אצבעות ליזם שיצליח בשאיפה הזאת :lol: :lol: :lol: :lol:
דבר שני להלן רשימה חלקית של המטרות הבסיסיות שמועילות לרוב הלקוחות, ואינן מפריעות לכמה שיותר:
אנשי קשר [כרגיל אין צורך להרחיב אנשי קשר אצלנו זה כולם כולם כולם כולם, ספקים, תורמים, תלמידים, הורים, צוות, משתמשים, וכו וכו]
תנועות פיננסיות [הכנסות, הוצאות, חיובים, זיכויים, חיובים קבועים, זיכויים קבועים, הכנסות קבועות {הו"ק וכדו}, הוצאות קבועות]
מוצרים [לכל ארגון שיש לו תנועות פיננסיות בדרך כלל יש מוצרים/שירותים, בין אם זה עסק רשמי, ובין אם זה עסק למכירת אותיות בספר תורה בנוכלות ורמאות]
תנועות מוצרים [כניסה למחסן, יציאה מהמחסן, רכישה של לקוח, הזמנות של לקוחות, הזמנות מספקים, יתרה של כל מוצר במלאי ויתרה להזמנות וכו' הכל נגזר בשאילתות]
פעילויות [משימות, תיעוד אירועים {משימות שבוצעו} משלוח מיילים, פקסים, SMS, הכלי הזה כמובן צריך להיות בלתי מוגבל באפשרויות המוניפולטיביות שלו כי הוא אמור לכסות כמעט כל שטח אפור בארגון]
מסמכים [ארגון מסמכים ע"י משרד ללא נייר, וכן מסמכים שצריך להשיגם/לטפל בהם]
שדות מותאמים אישית ע"י key\value [כן זה יכול לעצבן כמה אנשים, אבל זה לא מזיק, ולפעמים זה יכול לחסוך למפתח מיליארד שעות עבודה בשביל איזה קשקוש שהלקוח מבקש, פשוט להגיד לו תעשה שדה מותאם אישית, שהוא בעצם שורה בטבלה שמכילה קי ווליו]
מקורות ערכים [לשיטתנו כל הקובמו בוקסים, ממוקרים מטבלה מרכזית אחת המרכזת את כל הערכים האפשריים ע"י ID ו VALUE]
פרופרטיז למקורות ערכים [טבלה משנית המכילה מאפיינים שונים של כל מקור של ערך ע"י key\value]
ברירות מחדל [טבלת ברירות מחדל אמורה להכיל העדפות שונות של הלקוח/משתמש, והיא יכול לשמש גם כמנוע הרשאות נהדר, נרחיב בהמשך אודות טבלה זו]
משתמשים [טבלה בסיסית המכילה את המזהים של אנשי הקשר שהם גם משתמשי התוכנה, היא מכילה סיסמה, שם windows ועוד ירקות]
טבלת לוג שינויים, כל שינוי בטבלה אפשר לתעד בלוג על ידי טריגר (זה כמובן לבחירתו של המפתח)כללי פלדה לשמות האובייקטים:
בכל טבלה ולא משנה מה ומי ומו יש עמודת זיהוי ממוספרת אוטומטית ושמה: ID (בסטייל mysql id באותיות קטנות)
ב SqlServer המפריד בין מילים בשמות האובייקטים היא אות גדולה כמקובל בסטייל windows. ואילו ב mysql אין אותיות גדולות בכלל והמפריד בין מילים הוא תמיד קו תחתי.
לכל רשומה בכל מקום שהוא יש תאריך עדכון אחרון, שמתעדכן ע"י טריגר בעת עדכון רשומה, תאריך הוספת רשומה, ומזהה המשתמש שהוסיף את הרשומה (אם רוצים לעקוב אחרי משתמשים שעשוי שינויים ברשומות אפשר דרך טבלת הלוג). משתמש 0 הוא תמיד מערכת התוכנה האוטומטית [הרחבה בהמשך].אני מחפש פלטפורמה אינטרנטית שבה אפשר לבנות מסד נתונים משני הסוגים הנפוצים, ולחשוף אותו לציבור, משתמשי עריכה ומשתמשי צפייה, איך עושים דבר כזה??? האם יש בגיט האב אפשרות?
פורסם במקור בפורום CODE613 ב25/06/2014 10:17 (+03:00)
-
בהצלחה!
אני אכן מכיר מפתחים שיש להם אותו המסד לכל סוגי העבודות שמזמינים מהם לקוחות שונים.
ההגדרה של crm דוגלת בהרבה מעמדותיך.
שים לב שזה ממש לא יכול לעזור למסד נתונים גיאוגרפי או של תרופות ומרכיביהם.פורסם במקור בפורום CODE613 ב25/06/2014 12:18 (+03:00)
-
אני בעד!
מוכן להצטרף, לעזור ולהעזר בפרוייקט החשוב הזה.כמה דברים:
לגבי השינוי בין SQL SERVER לmysql , אולי כדאי לחשוב על כלל ברזל שיהיה תקף בשניהם (ולא מפריד אותיות גדולות במייקרוסופט וקו תחתון בMYSQL), כדי להקל על הגירה בין הפלטפורמות. ובנוסף, ברגע שכלל הברזל יהיה אחיד, יהיה אפשר להשתמש בו גם בכלים אחרים כדוגמת מנגוDB, אקסס וכו'.לגבי המשתמשים, צריך לזכור שבASP NET יש מערכת משתמשים מובנית (והאמת שאפשר לעשות התאמה למערכת המשתמשים הזו) - השאלה אם צריך גם ליצור טמפלטים שיכולים להתחבר לפרוייקטים קיימים בפלטפורמה, -ובעצם, טמפלטים בסיסיים לכל פלטפורמה.
אהבתי את השם של הפרוייקט!
בהצלחה!
פורסם במקור בפורום CODE613 ב26/06/2014 13:07 (+03:00)
-
אני בעד!
מוכן להצטרף, לעזור ולהעזר בפרוייקט החשוב הזה.אז כבר יש שותף אחד, חסרים לנו שניים למנין של ארבע.
לגבי השינוי בין SQL SERVER לmysql , אולי כדאי לחשוב על כלל ברזל שיהיה תקף בשניהם (ולא מפריד אותיות גדולות במייקרוסופט וקו תחתון בMYSQL), כדי להקל על הגירה בין הפלטפורמות. ובנוסף, ברגע שכלל הברזל יהיה אחיד, יהיה אפשר להשתמש בו גם בכלים אחרים כדוגמת מנגוDB, אקסס וכו'.
זה נכון, אבל אדרבה צריך לאמץ סטייל אחיד, ומי יגבר? סטייל וינדווס/דוט נט או סטייל לינוקס/js/mysql?? לעשות כלאים נראה לי לא מוצלח.
אגב בשביל מסד נתונים mysql אפשר להלביש על השרת שלנו (של הפורום) ולתת הרשאות למשתתפי הפרוייקט לעריכה, ולחברי הפרוייקט הרשאה לצפייה או סקריפט ליצירה. אבל לשרת sql server צריך שרת וינדווס נפרד.
החלום שלי הוא שזאת תהיה מערכת נפוצה כמו וורדפרס, ואנשים יפתחו פיצ'רים אינסופיים על בסיסה של מערכת זו.
פורסם במקור בפורום CODE613 ב26/06/2014 21:58 (+03:00)
-
זה נכון, אבל אדרבה צריך לאמץ סטייל אחיד, ומי יגבר? סטייל וינדווס/דוט נט או סטייל לינוקס/js/mysql?? לעשות כלאים נראה לי לא מוצלח.
אגב בשביל מסד נתונים mysql אפשר להלביש על השרת שלנו (של הפורום) ולתת הרשאות למשתתפי הפרוייקט לעריכה, ולחברי הפרוייקט הרשאה לצפייה או סקריפט ליצירה. אבל לשרת sql server צריך שרת וינדווס נפרד.
החלום שלי הוא שזאת תהיה מערכת נפוצה כמו וורדפרס, ואנשים יפתחו פיצ'רים אינסופיים על בסיסה של מערכת זו.
לי אישית יותר קל עם אות גדולה מפרידה, אבל זה כנראה בגלל שאני מייקרוסופטי מדאי <!-- s:-) --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":-)" title="מחייך" /><!-- s:-) -->
אני תורם לפרוייקט DB בSQL SERVER על הVPS שלי. פנה אלי בפרטי.
פורסם במקור בפורום CODE613 ב26/06/2014 23:47 (+03:00)
-
עקבתי אחרי פונקציות של sql server עצמו, והם לא ממש עקביים בשיטה, פעם אותיות גדולות, פעם קו תחתי + אותיות גדולות, ופעם קו תחתי ואותיות קטנות במילה השניה. לא ברור מה הולך שם. התלבטות קשה, צריך עוד גורמים שישתתפו בייעוץ...
פורסם במקור בפורום CODE613 ב27/06/2014 10:39 (+03:00)