none
שאלה של מתחילים - בנייה של מסד הנתונים RRS feed

  • שאלה

  • מקווה שהשאלה לא בסיסית מידי אם יש פורום יותר מתאים תעבירו בכיף :)

    אתר ראשון שאני בונה עם PHP וSQL, את הביצוע של כל דבר אני יכול ללמוד בגל מיני מקומות, איך לארגן את הטבלאות שלי לא כ"כ מצאתי... 

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

    כלומר 2*7*24*(60\5)=4032 זמנים בהם שמורים 3 נתונים (כמובן צריך לשמור אפשרות להוסיף נתון שניים שלושה בהמשך).

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

    בעיקרון אמורים להיות באתר משתמשים רשומים שלכל אחד מהם אמור להישמר המידע (לא יותר מ20 משתמשים, אם זה רלוונטי)....

    אז איך אני מתחיל?

    חשבתי על התשובה הברורה

    טבלה של : מספר סידורי (מפתח) - שם משתמש - סיסמה

    טבלה : מספר סידורי (מפתח) - שם - גיל - נתונים על המשתמש - וכו'

    טבלה : מספר סידורי  - תאריך ושעה התחלה - +5 דקות - +5 דקות -...- +5 דקות (לכל ערך בשבועיים הקרובים סה"כ 4032 תאים)

    זה נראה הפתרון הטריוויאלי... השאלה אם אני בכיוון? יש דברים שלא חשבתי עליהם? דרך אחרת הרבה יותר הגיונית ויעילה לבנות?

    תודה רבה רבה לעוזרים!

    יום שישי 17 אוקטובר 2014 19:22

תשובות

  • מקווה שהשאלה לא בסיסית מידי אם יש פורום יותר מתאים תעבירו בכיף :)

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

    אתר ראשון שאני בונה עם PHP וSQL, את הביצוע של כל דבר אני יכול ללמוד בגל מיני מקומות, איך לארגן את הטבלאות שלי לא כ"כ מצאתי... 

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

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

    כלומר 2*7*24*(60\5)=4032 זמנים בהם שמורים 3 נתונים (כמובן צריך לשמור אפשרות להוסיף נתון שניים שלושה בהמשך).

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

    בעיקרון אמורים להיות באתר משתמשים רשומים שלכל אחד מהם אמור להישמר המידע (לא יותר מ20 משתמשים, אם זה רלוונטי)....

    אז איך אני מתחיל?

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

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

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

    יהיה לנו טור של סוג המדידה, טור של הזמן, וטוד של הערך.

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

    * אתה מבין את הכיוון של תכנון גמיש?

    ** אין סיבה למחוק נתונים אחרי שבועיים אם המערכת מנוהלת נכון ואין לך בעיית מקום. שרתי SQL Server יכולים לעבוד עם מסדי נתונים בגדלים של כצי מליון טרה בייט, זה אומר חצי מליון כפול מליון גיגה בייט! אני מניח שאין לך דיסק כל כך גדול :-)
    הנה כאן תוכל לראות מה זה באמת שרת SQL ולמה הוא יכול לעשות: http://msdn.microsoft.com/en-us/library/ms143432.aspx

    *** בהחלט חשוב ורלוונטי מספר המשתמשים :-) טוב מאוד שציינת.

    חשבתי על התשובה הברורה

    טבלה של : מספר סידורי (מפתח) - שם משתמש - סיסמה

    טבלה : מספר סידורי (מפתח) - שם - גיל - נתונים על המשתמש - וכו'

    טבלה : מספר סידורי  - תאריך ושעה התחלה - +5 דקות - +5 דקות -...- +5 דקות (לכל ערך בשבועיים הקרובים סה"כ 4032 תאים)

    זה נראה הפתרון הטריוויאלי... השאלה אם אני בכיוון? יש דברים שלא חשבתי עליהם? דרך אחרת הרבה יותר הגיונית ויעילה לבנות?

    תודה רבה רבה לעוזרים!

    לפני שנעבור לתשובות יותר ספציות בוא תענה על כמה שאלות:

    1. איזה גרסה של שרת אתה מוכן להחזיק. יש אפשרות אחרות בגרסאות שונות.

    2. האם האפליקציה תרוץ על אותו מחשב שבוא השרת SQL והאם יהיו עוד דברים שירוצו על אותה מכונה?

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

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

    תתחיל משלב ראשון בעזרת לימוד פיתוח C# למשל (כל מערכת שתלמד לפתח כוללת מערכת של משתמשים ויהיה לך שם דוגמה מלאה).


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

    • סומן כתשובה על-ידי Eran Sharvit יום ראשון 19 אוקטובר 2014 09:02
    יום שישי 17 אוקטובר 2014 21:47
    מנחה דיון

כל התגובות

  • מקווה שהשאלה לא בסיסית מידי אם יש פורום יותר מתאים תעבירו בכיף :)

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

    אתר ראשון שאני בונה עם PHP וSQL, את הביצוע של כל דבר אני יכול ללמוד בגל מיני מקומות, איך לארגן את הטבלאות שלי לא כ"כ מצאתי... 

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

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

    כלומר 2*7*24*(60\5)=4032 זמנים בהם שמורים 3 נתונים (כמובן צריך לשמור אפשרות להוסיף נתון שניים שלושה בהמשך).

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

    בעיקרון אמורים להיות באתר משתמשים רשומים שלכל אחד מהם אמור להישמר המידע (לא יותר מ20 משתמשים, אם זה רלוונטי)....

    אז איך אני מתחיל?

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

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

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

    יהיה לנו טור של סוג המדידה, טור של הזמן, וטוד של הערך.

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

    * אתה מבין את הכיוון של תכנון גמיש?

    ** אין סיבה למחוק נתונים אחרי שבועיים אם המערכת מנוהלת נכון ואין לך בעיית מקום. שרתי SQL Server יכולים לעבוד עם מסדי נתונים בגדלים של כצי מליון טרה בייט, זה אומר חצי מליון כפול מליון גיגה בייט! אני מניח שאין לך דיסק כל כך גדול :-)
    הנה כאן תוכל לראות מה זה באמת שרת SQL ולמה הוא יכול לעשות: http://msdn.microsoft.com/en-us/library/ms143432.aspx

    *** בהחלט חשוב ורלוונטי מספר המשתמשים :-) טוב מאוד שציינת.

    חשבתי על התשובה הברורה

    טבלה של : מספר סידורי (מפתח) - שם משתמש - סיסמה

    טבלה : מספר סידורי (מפתח) - שם - גיל - נתונים על המשתמש - וכו'

    טבלה : מספר סידורי  - תאריך ושעה התחלה - +5 דקות - +5 דקות -...- +5 דקות (לכל ערך בשבועיים הקרובים סה"כ 4032 תאים)

    זה נראה הפתרון הטריוויאלי... השאלה אם אני בכיוון? יש דברים שלא חשבתי עליהם? דרך אחרת הרבה יותר הגיונית ויעילה לבנות?

    תודה רבה רבה לעוזרים!

    לפני שנעבור לתשובות יותר ספציות בוא תענה על כמה שאלות:

    1. איזה גרסה של שרת אתה מוכן להחזיק. יש אפשרות אחרות בגרסאות שונות.

    2. האם האפליקציה תרוץ על אותו מחשב שבוא השרת SQL והאם יהיו עוד דברים שירוצו על אותה מכונה?

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

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

    תתחיל משלב ראשון בעזרת לימוד פיתוח C# למשל (כל מערכת שתלמד לפתח כוללת מערכת של משתמשים ויהיה לך שם דוגמה מלאה).


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

    • סומן כתשובה על-ידי Eran Sharvit יום ראשון 19 אוקטובר 2014 09:02
    יום שישי 17 אוקטובר 2014 21:47
    מנחה דיון
  • מדידה שנעשית ביחד או לחוד? ז"א בכל נקודת זמן של מדידה יש ערך אחד של טמפ וערך אחד של לחות, או שהמדידות נעשות בנפרד?

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

    יהיה לנו טור של סוג המדידה, טור של הזמן, וטוד של הערך.

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


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



    לפני שנעבור לתשובות יותר ספציות בוא תענה על כמה שאלות:

    1. איזה גרסה של שרת אתה מוכן להחזיק. יש אפשרות אחרות בגרסאות שונות.

    2. האם האפליקציה תרוץ על אותו מחשב שבוא השרת SQL והאם יהיו עוד דברים שירוצו על אותה מכונה?



    שאני מציע להתחיל ממנו הוא מערכת פשוטה של ניהול משתמשים. עזוב לחלוטין כרגע את הרעיון של האפליקציה ותתחיעל ממערכת הכוללת משתמשים. יש הרבה מאוד תבניות מוכנות ב(3)VS אם אתה צריך. אני ממליץת ללכת בעקבות התכנון הראשוני שלך, הוא לא(4) טוב. אתה צריך לחשוב יותר בכיוון של מודל האובייקטים ולחשוב על מה שנקרא בפיתוח יישויות או Entity. לכל ישות בונים טבלה בדרך כלל, וכל שורה בטבלה היא מופע של יישות.

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

    תתחיל משלב ראשון בעזרת לימוד פיתוח (6)C# למשל (כל מערכת שתלמד לפתח כוללת מערכת של משתמשים ויהיה לך שם דוגמה מלאה).



    1) האמת שעוד לא חשבתי על זה. אני עדיין בשלב בתכנונים גישושים, מריץ דטהבייס וPHP על המחשב. יש המלצות?

    2)אני עוד לא שוחה במושגים אז אם תוכל לעזור לי פה..... למה אתה מתייחס האפליקציה? הקוד PHP שיושב בשרת? שאני אבין את זה אני אוכל לענות לך אם ירוצו עליה עוד (:

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

    מאיך שאני מבין אני צריך לכתוב קוד PHP שנמצא בשרת, ומדבר עם מסד נתונים SQL שנמצא בשרת. ( מי זה המחשב שעליו תשב האפליקציה ולמה שלא יהיה עם מסד הSQL באותו שרת/מחשב?)

    הגישה לדף הPHP שעושה את כל השטויות היא דרך הדפדפן\אקפליקציה ששולח בקשות לדף הנ"ל.

    אם הבנתי את העסק בערך ותוכל להסביר לי למה התכוונת זה יהיה נהדר!

    3)מה זה VS? אתה בעצם מציע להוריד פרוייקט של מסד נתונים שיוצר משתמשים ולהתרשם ממנו? פרויקט שמשתמש באובייקטים (פיתוח ישויות)?

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

    5)למה הטבלה של סוגי המדידות (1-טמפ', 2-לחות, 3- אבטיח) תהיה הכבדה ביותר ואליה נכניס את המידע? המדידות שהן רוב המידע יהיה בטבלת המדידות שבהן אחד התאים יהיה המפתח 1/2/3....אני מבין שתהיינה הרבה גישות לטבלת המפתחות אבל למה היא ה"כבדה" ביותר? או שאני לא מבין בדיוק את כוונתך....

    6)מה זה C#? סי שארפ? מה הקשר עכשיו ולמה אני צריך ללמוד גם אותה? :) :) 

    תודה רבה רבה על העזרה והסבלנות באמת תשובות תענוג :)

    שבת שלום

    שבת 18 אוקטובר 2014 01:55
  • ולמה כל פעם שמשהו מובלט (בולד) הוא זז לי מלאנתלפים פיקסלים הצידה? אני משתמש בכרום, צריך לשנות הגדרות תאימות או משהו?
    שבת 18 אוקטובר 2014 01:56
  • אני אתחיל מהסוף :-(

    >> "ולמה כל פעם שמשהו מובלט (בולד) הוא זז לי מלאנתלפים פיקסלים הצידה? אני משתמש בכרום, צריך לשנות הגדרות תאימות או משהו?"

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

    1) האמת שעוד לא חשבתי על זה. אני עדיין בשלב בתכנונים גישושים, מריץ דטהבייס וPHP על המחשב. יש המלצות?

    מה ז"א אם יש המלצות? כדי להמלץ אני צריך לבצע אפיון שלם של הצרכים שלכם ולשל המערכת ושל התקציבים שלכם וכל מה שקשור ולא קשור לנושא :-) בלי כל הנתונים אני יכול רק להמליץ ללכת על הכי יקר והכי טוב :-)
    sql server enterprise edition 2014

    2)אני עוד לא שוחה במושגים אז אם תוכל לעזור לי פה..... למה אתה מתייחס האפליקציה? הקוד PHP שיושב בשרת? שאני אבין את זה אני אוכל לענות לך אם ירוצו עליה עוד (:

    בכיף :-) אני אנסה להשיב, בשביל זה אני נכנס לפורום :-)

    כן אפליקציה היא היישום שמפותח באמצעות שפות כמו PHP. קוד PHP הוא בדרך חלק מאפליקציה מסוג web application או בשם העממי שלה: אתר אינטרנט.

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

    מאיך שאני מבין אני צריך לכתוב קוד PHP שנמצא בשרת, ומדבר עם מסד נתונים SQL שנמצא בשרת. ( מי זה המחשב שעליו תשב האפליקציה ולמה שלא יהיה עם מסד הSQL באותו שרת/מחשב?)

    בעקרון נכון :-)
    אתה משתמש במילה שרת וזה קצת לא ברור כי יש שרת מסדי נתונים כמו ה SQL Server ויש שרת ה IIS או ה apache לחמשל שהם שרתים לאפליקציות אינטרנט. כל אפליקציה (תוכנה) שנותנת שירו למשתמשים נקראת שרת :-)

    ישנם מכונות (המילה מכונה מחליפה את המילה "מחשב" כי אנחנו בעולם שבוא הרבה עובדים עם מכונות וירטואליות) שכוללו תוכנה אחת של שרת כמו IIS ונועדו לארח אתרים בלבד, ואחרות כוללות רק שרת SQL כדי לנהל בסיסי נתונים, ויש מכונות שמתקינים בהם הרבה שרתים ותוכנות שונות.

    הגישה לדף הPHP שעושה את כל השטויות היא דרך הדפדפן\אקפליקציה ששולח בקשות לדף הנ"ל.
    אם הבנתי את העסק בערך ותוכל להסביר לי למה התכוונת זה יהיה נהדר!

    ניראה לי שהבנת טוב :-)

    3)מה זה VS? אתה בעצם מציע להוריד פרוייקט של מסד נתונים שיוצר משתמשים ולהתרשם ממנו? פרויקט שמשתמש באובייקטים (פיתוח ישויות)?

    טעות שלי, אתה בטח לא עובד עם VS אם אתה מפתח PHP. התוכנה שאיתה מפתחים בדרך בטכנלגיית דוט נט נקראת Visual Studio ואליה התכוונתי בקיצור VS. בשלב הזה של התשובות שלי כבר שכחתי את השאלה ושכחתי שאמר שאתה עובד עם PHP :-)

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

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

    5)למה הטבלה של סוגי המדידות (1-טמפ', 2-לחות, 3- אבטיח) תהיה הכבדה ביותר ואליה נכניס את המידע? המדידות שהן רוב המידע יהיה בטבלת המדידות שבהן אחד התאים יהיה המפתח 1/2/3....אני מבין שתהיינה הרבה גישות לטבלת המפתחות אבל למה היא ה"כבדה" ביותר? או שאני לא מבין בדיוק את כוונתך....

    לא זו תהיה הטבלה הכבדה ביותר :-) טעיתי והתכוותי למה שאתה כותב :-) הטבלה של המדידות היא הכבדה כמובן. אני זוכר למה טעיתי.. הוספתי את זה מאוחר יותר ואם נכנסים לעריכה של ההודעה אז יש ירידת שורה וראיתי את התחלת השורה "טבלה של מדידות". התכוונתי אליה :-)

    6)מה זה C#? סי שארפ? מה הקשר עכשיו ולמה אני צריך ללמוד גם אותה? :) :) 

    אתה לא צריך. ראה הערה שלי לנקודה 3 על ה VS. כל מה שכתבתי C# הכוונה מבחינתך PHP. :-)

    בכל מערכת PHP של אתרי אינטרנט תוכל למצוא שיש מערכת משתמשים. אני לא כותב ב PHP ולכן אני אוטומטית כותב C# בהודעה :-) כמובן שמה שכתבתי אפשר גם PHP, ב C# ב VB.NET או בכל טכנולוגיה של צד שרת.

    >> קיבלתי. אני בפרוייקט הזה בעיקר כדי ללמוד את העקרונות ולמרות שאני אקבל את כל המדידות ממקור אחד ובאותו זמן אני אלך על טבלה עם מפתחות של מדידות.

    אני חושב שקיבלת החלטה נכונה :-) כמו שכתבתי זה יאפשר לך גמישות.

    אני מקווה שהדברים יותר ברורים כרגע :-)


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    שבת 18 אוקטובר 2014 11:06
    מנחה דיון
  • סימנתי את השאלה כפתורה כיוון שניתן מידע רב וכמו שאני רואה את זה האשכול הופך לדיון רחב ולא מתמקד בשאלה ספציפית. בלי קשר אפשר כמובן להמשיך כאן את הדיון ואת השאלות.

    תודה.


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

    יום ראשון 19 אוקטובר 2014 09:05
  • לקח לי כמה ימים לסיים מבחנים ולחזור לפה לומר תודה רבה על התשובות המפורטות!

    באמת תענוג.

    הורדתי מערכת משתמשים בשם USER CAKE (מישהו מכיר?) ואני מנסה (כרגע ללא הצלחה) להעלות אותה.

    היית ממליץ לקחת את המערכת הזאת ללמוד אותה ופשוט להוסיף אליה את מה שאני צריך או לבנות מההתחלה ברוח הדוגמא (כמתחיל)?

    יום שלישי 21 אוקטובר 2014 22:39
  • אני לא מכיר, וזו לא היתה הכוונה שלי בדיוק. הכוונה שלי היתה לפתח מערכת מאפס, בעזרת מדריכים של צעד אחרי צעד. בזמן הפיתוח של כל מערכת אינטרנטית סבירה, היית גם מפתח את מערכת המשתמשים.

    אני לא מכיר מדריכים ומערכות עם PHP אבל אם היית מפתח ב asp.net אז הייתי יכול לתת לך קישורים מעולים.


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

    יום רביעי 22 אוקטובר 2014 11:50
    מנחה דיון