קשרי גומלין - MS Access

Shaycus

New member
קשרי גומלין - MS Access

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

יש לי מערכת של בנק שכוללת: לקוחות, חשבונות, ערוצי הפצה.

בכל ערוץ הפצה יש פעולה אחת אפשרית.

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

אותו כנ"ל בנוגע לשאר ערוצי ההפצה.

האופציות הקיימות שאני רואה הן:

1. טבלת לקוחות אשר מקושרת בקשר של יחיד לרבים לטבלת חשבונות אשר מקושרת בקשר של יחיד לרבים לטבלת ערוצי ההפצה אשר מקושרת בקשר של יחיד ליחיד לכל אחת מהפעולות האפשריות (ז"א שיש טבלה אחת של ערוצי ההפצה והיא מחוברת ל6 טבלאות אחרות שמהוות 6 פעולות, אחת עבור כל ערוץ הפצה)

2. טבלת לקוחות אשר מקושרת בקשר של יחיד לרבים לטבלת חשבונות אשר מקושרת בקשר של יחיד לרבים לטבלת ערוצי ההפצה אשר מקושרת בקשר של יחיד ליחיד לטבלת פעולות ובטבלת הפעולות יש 6 שדות שכל שדה מייצג את הפעולה הקיימת.

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

הקבצים לצורך המחשה מצורפים

תודה
 

0 אור 0

New member
אופציה 2 לא בנויה טוב

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

Shaycus

New member
היי אור

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

אם אני בונה את אופציה 2 עם השדות שעכשיו אני מצרף פה בקובץ, זה יותר הגיוני? כי אני באמת התכוונתי ללכת על אופציה 2 רק בצורה של טופס דינמי שמכיל שדות שמשתנים בהתאם לשדה המפתח (נניח עבור מספר פעולה 3 נקבל שדות a, b, c ועבור מספר פעולה 5 נקבל שדות e, f, g), ואם את אומרת שהאופציה הזאת זה משהו שאת רואה בו חסרון ולא יתרון אני אשמח לשמוע הרחבה על העניין הזה.

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

תודה,
שי
 

0 אור 0

New member
קשה לי להגיד לך מה נכון כי בעצם ממשתי רק את

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

Shaycus

New member
אחלה

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

יש לי שאלה אחרת ברשותך בתור אחת שמתעסקת ב ms access.

אם היית צריכה לבחור במערכת מידע שתכיל את בסיס הנתונים של מערכת בנקאית באיזה מערכת היית בוחרת? אקסס? SQL Server? משהו אחר? בהנחה וזה משהו שהוא לא אקסס - אני את הטעות שלי כבר עשיתי ובחרתי באקסס (שמסתבר לי לא כבחירה הכי נכונה) איזה Edge יש לאקסס שאין לתוכנות אחרות בתחום של מערכת בנקאית (כמובן שישנו דגש על אבטחת המידע פה) או שבכלל אין אדג' שכזה וזאת בחירה לא נכונה וזהו?

תודה על כל העזרה את ממש מצילה אותי :)
 

0 אור 0

New member
אקסס

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