פרטי בנק של לקוח בטבלה נפרדת או בטבלת לקוחות?
-
הרצתי בדיקה על מאגר של אלפי לקוחות/ספקים מכל העולם שיש בו את האפשרות להזין יותר מחשבון אחד,
התוצאה היא שאחד לתשע מאות היה יותר מחשבון אחד,
ואני מנחש שלפחות חלק מהם אלו מקרים של שינוי של חשבון שבמקום למחוק הוסיפו חדש.כך שבמסגרת המלחמה התמידית בין גמישות לפשטות, כאן הייתי ממליץ על פשטות (וכך אני גם עושה).
פורסם במקור בפורום CODE613 ב01/07/2014 11:25 (+03:00)
-
אני לא DBA, אבל לדתעי יש כמה מעלות להפרדה.
המדד הוא, אם רוב הפעמים שמתשאלים את טבלת הלקוחות לא מעוניינים לדעת את הפרטים הנוספים הללו (פרטי בנק במקרה זה).
הרציונל שלי:
שמירה על הסדר, בהירות, חיסכון בתאים ריקים במקרה של היעדר כל הפרטים מסוג התת נשוא (חשבון בנק), חיסכון בצורת אחסון האינדקסים (לענ"ד, מהשערה בלבד).
קלות תחזוקה גם בעבודה שוטפת בתשאול הטבלאות, גם בנפח בדיקות ועוד, וגם בשינוי מבנה גמיש (במקרה שיש צורך לאפשר רבים ליחיד באיזשהו שלב.סיבות לפיצול לא רלוונטיות כנראה אצלך:
ביצועי נעילת שורה
חלוקת אבטחה
פיצול אמצעי אחסון בין קבצים/שרתיםפורסם במקור בפורום CODE613 ב01/07/2014 11:29 (+03:00)
-
אגב, בEntity Framwork מאפשרים לאחסן בטבלה אחת מספר ישויות. המודל נקרא Table per Hierarchy מוכר בר"ת TPH. להמחשה: http://weblogs.asp.net/manavi/inheritance-mapping-strategies-with-entity-framework-code-first-ctp5-part-1-table-per-hierarchy-tph, http://blog.devart.com/table-per-type-vs-table-per-hierarchy-inheritance.html
פורסם במקור בפורום CODE613 ב01/07/2014 11:35 (+03:00)
-
שאלה במקום.
אישית אני מפריד את חשבונות הלקוחות (בין זיכויים ובין חיובים) והם נמצאים בטבלה אחת.
הסיבה שאני מפריד היא שיש מיקרים בהם הלקוח (לדוגמא הורה של ילד) רוצה לשלם חלק מהסכום כתרומה של הסבא וכו'. (נכון שיש לו אפשרות לפתוח עוד כרטיס על שמו של הסבא וכו' - לא תמיד הלקוח רוצה בכך, ואני מכבד את זה)פורסם במקור בפורום CODE613 ב01/07/2014 11:46 (+03:00)
-
@דוד ל.ט.
אני לא DBA, אבל לדתעי יש כמה מעלות להפרדה.
המדד הוא, אם רוב הפעמים שמתשאלים את טבלת הלקוחות לא מעוניינים לדעת את הפרטים הנוספים הללו (פרטי בנק במקרה זה).
הרציונל שלי:
שמירה על הסדר, בהירות, חיסכון בתאים ריקים במקרה של היעדר כל הפרטים מסוג התת נשוא (חשבון בנק), חיסכון בצורת אחסון האינדקסים (לענ"ד, מהשערה בלבד).
קלות תחזוקה גם בעבודה שוטפת בתשאול הטבלאות, גם בנפח בדיקות ועוד, וגם בשינוי מבנה גמיש (במקרה שיש צורך לאפשר רבים ליחיד באיזשהו שלב.סיבות לפיצול לא רלוונטיות כנראה אצלך:
ביצועי נעילת שורה
חלוקת אבטחה
פיצול אמצעי אחסון בין קבצים/שרתיםדוד מכובדי, הרשה לי לחלוק על אבן הבוחן שהצגת, אפשר לפי אבן בוחן זו להפריד עוד הרבה נתונים מטבלת הלקוח.
השאלה היא כמובן אם כאשר נפריד את אותם נתונים לטבלה אחרת, האם יקרה מצב בו נדרש ליותר משורה אחת באותה טבלה.המעלות של נורמליזציה של מסד נתונים ברורות והצגת אותם יפה, אך לנורמליזציה יש כללים ואין טעם להפריד את עצמך לדעת.
כמו שלא אפריד שם פרטי לטבלה אחרת כי מן הסתם לא אדרש לכמה שמות פרטיים ללקוח.במקרה דנן אין לי נתונים מהו אופי הפתרון, הלקוח וכו' רק הצבעתי על העובדה שב 99% מהמקרים זה לא בשימוש
פורסם במקור בפורום CODE613 ב01/07/2014 12:07 (+03:00)
-
המעלות של נורמליזציה של מסד נתונים ברורות והצגת אותם יפה, אך לנורמליזציה יש כללים ואין טעם להפריד את עצמך לדעת.
כמו שלא אפריד שם פרטי לטבלה אחרת כי מן הסתם לא אדרש לכמה שמות פרטיים ללקוח.הנורמליזציה לא עוסקת בכלל בביצועים/נוחות, ואני עסקתי רק בזה.
בקשר לשם פרטי, אם רוב השאילתות לא מתשאלים אותו, אהמממ... לא בטוח שלא הייתי מפריד (בתנאי שיש סט תאים כאלו הם מכנה משותף, כי אחרת זה רק עושה מבלבל יותר).פורסם במקור בפורום CODE613 ב01/07/2014 16:10 (+03:00)
-
@דוד ל.ט.
המעלות של נורמליזציה של מסד נתונים ברורות והצגת אותם יפה, אך לנורמליזציה יש כללים ואין טעם להפריד את עצמך לדעת.
כמו שלא אפריד שם פרטי לטבלה אחרת כי מן הסתם לא אדרש לכמה שמות פרטיים ללקוח.הנורמליזציה לא עוסקת בכלל בביצועים/נוחות, ואני עסקתי רק בזה.
בקשר לשם פרטי, אם רוב השאילתות לא מתשאלים אותו, אהמממ... לא בטוח שלא הייתי מפריד (בתנאי שיש סט תאים כאלו הם מכנה משותף, כי אחרת זה רק עושה מבלבל יותר).במקום לקבל את המחמאה המובלעת בדברי, אתה עונה לי תשובה לא נכונה . . .
נורמליזציה מדברת בדיוק על זה ()אגב אם האגלית שלך טובה מומלץ בחום לעשות את הקורס הבא של אוניברסיטת סטנפורד:
פורסם במקור בפורום CODE613 ב02/07/2014 11:07 (+03:00)
-
נורמליזציה מדברת בדיוק על זה (http://he.wikipedia.org/wiki/נרמול_בסיס_נתונים)
ציטוט משם:
יצירת שדה "מספר חשבון בנק" בטבלת "פרטי אדם", אף היא עלולה להפר את חוקי הנירמול, מפני שאם יש לאדם מספר חשבונות רב, הוא יצטרך לפתוח מספר רשומות כמספר פרטי החשבון ויצטרך לשכפל את פרטי האדם שוב ושוב. פתרון הוא ליצור טבלת "חשבון בנק" שתקושר לטבלת "פרטי האדם" ויופיעו בה רשומות כמספר החשבונות.
ווואו בדיוק הנושא שלנו.....
אגב אם האגלית שלך טובה
דווח על תוכן פוגעני
פורסם במקור בפורום CODE613 ב02/07/2014 11:32 (+03:00)
-
במקום לקבל את המחמאה המובלעת בדברי, אתה עונה לי תשובה לא נכונה . . .
נורמליזציה מדברת בדיוק על זה ()המענה שלי בפורום הוא תכליתי מאוד, כך שאינך אמור לנחש מדברי אם קיבלתי את מחמאתך או לאו
אבל, להסביר לי מה זה נרמול מסדי נתונים זה מעליב אותי (ועוד עם לינק מויקיפדיה).
נרמול מסדי נתונים מדבר על ביצועי אחסון בלבד. ולא על ביצועי אחסון של מהירות, אלא של מקום. ואני דיברתי על זה רק במילים "תאים ריקים", כל שאר השיקולים עסקו בביצועי המסד, שהנורמליזציה לא עוסקת בה, כי היא בכלל לא יורדת לרזולוציה המעשית - היא תיאורטית לגמרי. לדוגמה: מבחינת ביצועי מסד, join זה דבר גרוע מאוד. אבל מבחינת ה"נרמול" - חיסכון עדכון כפול, אחידות, עקביות (לא בהירות! לא חיסכון ביצועי מסד! ולא קלות לתחזוקת המסד) אז צריך לעשות שתי טבלאות עם join.פורסם במקור בפורום CODE613 ב02/07/2014 16:06 (+03:00)
-
אגב אם האגלית שלך טובה מומלץ בחום לעשות את הקורס הבא של אוניברסיטת סטנפורד:
יאהוו, יש לי את הכבוד להתקוטט בפורום עם בוגר אוניברסיטה!
מקוה שתשאר איתנו בפורום ותחכים אותנו! תודה מראש...אגב, גם לי השכלה מרשימה: אני בוגר חיידר מבני ברק, ועוד היד נטויה! :lol:
פורסם במקור בפורום CODE613 ב02/07/2014 16:28 (+03:00)
-
@דוד ל.ט.
אגב, גם לי השכלה מרשימה: אני בוגר חיידר מבני ברק, ועוד היד נטויה!
לא אוהב עד כועס על הנחיתות, ראיתי פעם מודעה של חברת השמה למתכנתים עבור השב"כ והיה מודגש שם שאין צורך בתואר אקדמאי, לדעתי האנגלית היא חסם טכני משמעותי ביותר בתחום הזה, ומי שיש לו מוח בקדקדו שיעזוב לחודשיים את כל העסקים וילך להשתלם באנגלית, זה שער לכל כסף וזהב ואבנים טובות ומרגליות שבעולם, ואעפ"כ איני דר אלא במקום תורה.
בוגרי ישיבה שנגעו בתחום התיכנות יש להם יכולת אינטלקטואלית שעוברת בשנות אור את כל העובדים המצטיינים בחברות הטכנולוגיה המובילות, החסם היחידי הוא חסם טכני של השפה שאנשים בגילאי ה 20-30 מתקשים לפרוץ אותו זה הכל, לדעתי עם קצת עקשנות זה אפשרי.
השמועה אומרת שאדובי רצתה לקנות את "תג" במיליוני דולרים (את קוד המקור כמובן, לא את האינטרפייס העלוב שלו), ווייסמן לא הסכים בגלל שזה הבייבי שלו, אבל לאדובי אין את הפתרונות הגאוניים שלו לעימוד עברי יש עוד אחד זרח חוטר גם חרדי אלמוני, שמעתי שחברות שוכרות אותו לפעמים באלפיים ש"ח לשעה!!!! זה מחיר גבוה מאוד גם בעמק הסיליקון וזה מראה על יכולות יוצאות דופן.
אז נא להפסיק עם הנחיתיות, תרבות (=תורה) היא המנוע האנטלקטואלי החזק ביותר, וכל טפילי הטכנולוגיה המודרניים נשענים על מנועים תרבותיים עמוקים שהעניקו לאנושות קידמה אינטלקטואלית אמיתית, מה שאתם רואים כטכנולוגיה אינה אלא פונקצייה יישומית של רעיונות שההוגים המקוריים שלהם לא היו אנשי עסקים ולא ניהלו מכלאות של עובדים..... אז אנא... תנו כבוד לתרבות.פורסם במקור בפורום CODE613 ב02/07/2014 18:55 (+03:00)
-
ארכיטקט , עשית ממני משכיל אז אני חייב להגיב . . .
לגבי ההשכלה, אולי אפילו למדתי עם דוד באותו חיידר . . . בכל אופן אני בוגר חיידר וישיבות קדושות, ואין לי שום השכלה שאיננה תורנית.
אני חושב שאני הוא בדיוק הטיפוס של בחור הישיבה שאותו תיארת בתגובתך בד"ה "בוגרי ישיבה" עיי"ש.
מכיוון שכך, למותר לציין שאני מסכים כמעט לחלוטין עם דעתך (למעט הזלזול ב"עובדים המצטיינים בחברות הטכנולוגיה המובילות").כשנתקלתי במקרים בהם נוכחתי לדעת שחסר לי רקע תיאורטי לקחתי קורסים אינטרנטיים כמו זה שהמלצתי עליו,
שהם גם חינמיים וגם של מוסדות נחשבים בעולם, מבחינתי היה שווה כל דקה.דוד, הבה נסכים שלא להסכים על העניין מפאת קוצר היריעה, הזמן וכו'.
ושוטח אני בזאת את התנצלותי הכנה . . . אני לא מספיק מכיר את הציבור כאן, וגם ככה אני חלש בלזכור שמות . . .פורסם במקור בפורום CODE613 ב03/07/2014 02:57 (+03:00)
-
ארכיטקט , עשית ממני משכיל
חס וחלילה, לא הזכרתי דבר כזה אף ברמז, ואם השתמע כך אני מודיע כאן בפירוש שלא זאת הכוונה. אינני מזלזל כלל בתואר אקדמאי ובלימודים, וגם על זה כמעט אומר "חס וחלילה". נהפוך הוא, כעסתי על הנחיתות שהביע דוד, כי בכך הוא זלזל גם באקדמיה (האמיתית!!! לא בקורסים מחורטטים על מדעי רוח והומאניזם שונים ומשונים) ובעיקר הוא זלזל בהשכלתו התלמודית. והואיל ואני מכיר את דוד אישית, אני מצפה ממנו לגאוות יחידה קרבית מובחרת!!
@softsכשנתקלתי במקרים בהם נוכחתי לדעת שחסר לי רקע תיאורטי לקחתי קורסים אינטרנטיים כמו זה שהמלצתי עליו,
שהם גם חינמיים וגם של מוסדות נחשבים בעולם, מבחינתי היה שווה כל דקה.נכון מאוד ואני מסכים, מי שמתעצל ללמוד דברים כמו שצריך רק נדפק ודופק את הלקוחות שלו בסופו של דבר.
@softsמכיוון שכך, למותר לציין שאני מסכים כמעט לחלוטין עם דעתך (למעט הזלזול ב"עובדים המצטיינים בחברות הטכנולוגיה המובילות")
כנראה שנסחפתי קצת מתוך להט בקטע הזה, אני בטוח שאינני מכיר מספיק, אבל ממה שאני מכיר לא ראיתי שם סחורה מי יודע מה אבל אני מקבל את דבריך זה נשמע שיש לך יותר היכרות עם חברות.
@softsאני לא מספיק מכיר את הציבור כאן
נא להכיר מיסטר softs זה הציבור מהאיכותיים בעולם וברוך הבא
פורסם במקור בפורום CODE613 ב03/07/2014 10:01 (+03:00)