טבלאות של חנות

Raful

New member
טבלאות של חנות

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

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

Raful

New member
אתה יכול להעיד? תישבע.

סתם, סתם... דוגמה תספיק, תודה
 

זהר פלד

New member
גמאני גמאני גמאני!!!

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

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

Raful

New member
אגב, את המשפט ההוא

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

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

זהר פלד

New member
הילדים של היום... ../images/Emo8.gif

עוד משפט משעשע שאמר לי הבוס ההוא, על ילד שפרץ לנו למערכת והחלטנו להעסיק אותו - "הילדים האלה כבר נולדו עם USB בתחת..."
 

זהר פלד

New member
שבע מאות חמישים שקל...

אתה יכול לשלוח אותם אלי, אני כבר אעביר לו את החלק (המזערי) שלו. (אם למתווך רגיל מגיע עמלה של 10 אחוז, אני לוקח עמלה של 95 אחוז...
)
 

tovtov23

New member
בלי בול../images/Emo93.gif

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

Raful

New member
אתר חביב

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

tovtov23

New member
אז ככה

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

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

tovtov23

New member
מקבל בהערכה אבל מתקן אותך... ../images/Emo8.gif

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