ערכתי לאחרונה בתאריך 02.06.13 בשעה 13:16 בברכה, MrSus
אני בונה אתר לעסק של אבא שלי. זה עסק גדול עם עשרות (אולי יותר מ-100) עובדים.
האתר נבנה ב- PHP, MySQL והוא אמור לשמש בעיקר לצרכים פנים ארגוניים.אני רוצה לבנות את האתר בשיטת בזק (כלומר בלי לחשוב על הפרטים הקטנים, ובלי להתעסק בעיצוב ודברים מתוחכמים, אלא בעיקר מערכת פשוטה לניהול נתונים) כדי שהם יוכלו להתחיל לעבוד בו ולשמור נתונים במחשב במקום בדפים. בהמשך, כנראה שנשנה הכל מהיסוד ונבנה את המערכת כמו שצריך. מה גם שעדיין אין לי כל כך ניסיון, וזה פרויקט שאני הולך ללמוד ממנו בעיקר.
חלק מרכזי באתר הוא אפליקצייה לניהול משכורות. כבר בניתי בעבר אפליקציה של משכורות באקסל בהתממשקות עם אקסס.. משהו דיי מתוחכם לזמנו, אבל היום אני חושב (גם יש לי פרספקטיבה קצת שונה היום) שזה מאד מיושן ולא יעיל.
בכל מקרה אני רוצה להתחיל דווקא מהנושא של המשכורות, והדבר הראשון שאני עושה זה לבנות את בסיס הנתונים.
עכשיו, אני רוצה להתייעץ איתכם איך צריך לבנות כזה בסיס נתונים.
כשבונים בסיס נתונים, אז יש את העניין של databases ו- tables. עד היום עבדתי רק עם db יחיד והרבה טבלאות.. אני לא מצליח להבין באילו סיטואציות צריך ליצור כמה db-ים.
בעסק יש כמה תחומים שיש ביניהם קורולציה...
אני רוצה ליצור טבלה שנקראת "עובדים" שבה יהיו כל הנתונים על העובדים, וטבלה שנקראת "משכורות" שבה ינוהלו כל הנתונים על המשכורות... ויש עוד כל מיני טבלאות שלא אפרט אבל כל אחת מהן משלבת נתונים גם מהטבלאות האחרות.
האם עלי להפריד את הטבלאות ל- db-ים שונים? ואם לא, מתי כן צריך ליצור כמה db-ים?
אם אני מפריד לכמה db-ים, האם זה מקובל לשלב נתונים בין db-ים שונים? (למשל, ב- db אחד תיהיה נגיד הטבלה של העובדים, וב- db השני תיהיה הטבלה של המשכורות עצמה (כדי שאולי נגן עליה בצורה שונה משאר ה- db-ים), אבל מן הסתם הטבלה של המשכורות קשורה באופן ישיר לטבלה של העובדים, וכך גם טבלאות של תחומים אחרים בעסק..) האם פשוט לבנות שאילתות שמשלבות נתונים ממספר db-ים?
אני מצטער על החפירה בשביל שאלה יחסית פשוטה, אבל חשוב לי שתבינו מדוע אני שואל ואולי אקבל תשובה שתיהיה יותר ממוקדת לצרכים שלי. חוץ מזה, האם יש איזה ספר מומלץ שעוסק בעיצוב בסיסי נתונים? (ואולי אפילו ספציפית ב- mysql).
אגב, מי שעוקב אחרי ההודעות שלי, אין קשר לאשכול הזה: https://rotter.name/nor/prog/20044.shtml 