الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حول جدول الزبائن ( مشكلة التكرار )

بدأه fafe0 في 2 مارس 2008 · 12 رد · 5,055 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته.

كما نعلم جميعاً أن من أهم مميزات قواعد البيانات العلائقية هي عدم تكرار البيانات، ولكن عندما فكرت في عمل برنامج آكسس لإدارة مغسلة، وكذلك عندما فكرت في عمل برنامج لإدارة مستشفى، واجهتني مشكلة في جدول الزبائن في الحالة الأولى، وفي جدول المرضى في الحال الثانية.

لنفرض أني قمت بفتح مغسلة وأردت أن أقوم بعمل برنامج لمتابعة الحركة فيها والأرباح والخسائر الخ...

بالطبع أحد الجداول في قاعدة البيانات هذه هو جدول الزبائن، والمشكلة أننا قد يأتينا في اليوم 40 زبون ، بالتالي سينتج التكرار حتماً.

على سبيل المثال:

جاء في اليوم الأول زبون اسمه "علي عبد السلام القحطاني" ، فقمت بإعطاءه رقم متسلسل في جدول الزبائن، وقمت بتسجيل سجل في جدول الحركة خاص بهذا الزبون، ثم جاء نفس الزبون ولكن بعد شهر، فسألته عن اسمه (لأنني بالطبع لا أستطيع أن أتذكر كل الزبائن الذين يدخلون المغسلة) فقال اسمي "علي عبد السلام أحمد" حيث أن "أحمد" هو اسم جده، فقمت بتسجيل اسمه مرة أخرى بشكل مختلف عن المرة الأولى.

الآن لدينا عدة مشاكل:

1- تكرار نفس الزبون في جدول الزبائن (وهذا يتناقض مع أساسيات قواعد البيانات العلائقية)

2- إذا طلب مني هذا الزبون أن أعطيه تقرير بكافة المعاملات التي قام بها مع المغسلة، فلن أتمكن من ذلك، لأنني قد أبحث عن اسمه بـ "علي عبد السلام أحمد" ، وهذا سيعطيني النتائج المسجلة بهذا الاسم فقط، وبالتالي يكون التقرير ناقص، والمعلومات التي تخرج من قاعدة البيانات غير صحيحة.

3- لا أستطيع أن أعرف ما هو العدد (الحقيقي) للزبائن الذين تعاملوا مع المغسلة خلال فترة معينة، لأن هذه المشكلة (مشكلة تكرار اسم الزبون بأكثر من شكل في جدول الزبائن) قد تحدث مع كثير من الزبائن ! وبالتالي لن أستطيع من معرفة العدد الحقيقي للزبائن الذين تعاملوا مع المغسلة.

طبعا نفس المشاكل في جدول الزبائن سنجدها في جدول المرضى في حالة قيامنا ببرنامج لإدارة مستشفى.

لا أدري هل هذه مشكلة أم لا، فقد يكون هذا هو الوضع الطبيعي في البرامج التي هذه طبيعتها.

أرجو الشرح والتوضيح

وجزاكم الله خيراً

تم تعديل هذه المشاركة بواسطة fafe0 في 2 مارس 2008 في 14:20

#2

من ضمن الحلول السليمة في هذه الحالة وليكن حالة المستشفي والمرضي

يمكنك الاعتماد علي رقم البطاقة الشخصية لكل مريض أو رقم هويتة الشخصية وفي هذه الحالة اذا جاء هذا المريض في يوم من الايام وقال لك ان اسمة كمال محمد عبد الرحيم ثم جاء بعد ذلك وليكن بعد مليووووووووووووووووووون سنة وقال لك ان اسمة حسنين محمد عبد القادر فلم ولن ان يحدث لك تكرار في الاسماء بل بالعكس ستصحح له اسمة من خلال رقم بطاقتة الشخصية طبعا دي لو كانت مستشفي للامراض العقلية اما اذا كانت هذه المستشفي للمرضي العاديين فسيخبرك باسمة الحقيقي B) B)

واذا اردت ان تدخل لمشاركة فعالة تتحدث عن موضوع التكرار فتفضل بالدخول اكيد هتستفاد منها

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 2 مارس 2008 في 14:45

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

السلام عليكم أخي محمد فؤاد تركي

حل البطاقة الشخصية ممتاز، وفكرت فيه مسبقاً، ولكن...

ماذا إذا كانت حالة محل تجاري لبيع (مواد غذائية) أو ( مغسلة ) في مثل هذه الحالات في الغالب لا نطلب رقم البطاقة الشخصية من الزبون، في هذه المحلات نحن نطلب فقط اسم الزبون لكي نعطيه مثلاً فاتورة باسمه.

فهل نتجاهل أساسيات قواعد البيانات العلائقية فيما يتعلق بجدول الزبائن ولا نبالي بالتكرار في مثل هذه الحالات ؟

#4

الاخ الكريم

بعد التحية

هناك حلول عده لهذا الموضوع

وعن تجربة عملية في حال المصبغة مثلا

نقوم بعمل كرت خاص بالمصبغة وعليه رقم للعميل وعند حضور عميل جديد يأخذ رقم علي هذاالكارت وهو ما سيتم التعامل معه في قاعدة البيانات

ونقوم بالتنبيه علي العميل عند ارساله اي احد من منزله يخبره برقم العميل " ههههههههه " حلو كده

طيب علشان العميل يهتم بموضوع الرقم بنعمل ايه

1- العملاء اصحاب الارقام يتم اعطاهم خصم علي خدماتهم

2- يتم السحب كل فتره علي ارقام العملاء الأكثر تعاملا معنا

3- اعطاء ميزات للعميل الذي يحضر معه الكارت الخاص به

4 - ............ وهكذا

فبهذا سيهتم العميل بالرقم الذي تم اعطائه له للإستفادة من العروض المقدمة

وبالتالي لا يهم اذا كان اول مرة الاب الذي حضر واخبرنا اسمه ثم المرة الثانية الأبن فسنتعامل معهم من خلا ل الرقم

اتمني ان اكون اعطيتك شئ يفيدك

وشكرا

سوف أنسى الأمس واليوم و قــد أنــسى غــــــــــــــــــــدا

و سأنسى فترة في العمر قـــد ضاعت ســــــــــــــــــدى

غير أني سوف لا أنسى ســــــــــــــــــــــــــؤالا واحدا

حــــين قال القلب يوما فـــي ارتـــباك: كــــيف أنسي

#5

عندي مشكلة مشابهة .... برجاء مساعدتي ....

لدي جدول بعناوين البريد الإلكتروني لمستخدمين ... يتكرر في الإستعلام لدي :

كودالعضو - اسم العضو - بكل عنوان بريد الإلكتروني ...

يعني كل مستخدم لديه أكثر من بريد إلكتروني أو أكثر من رقم هاتف واحد يتم تكرار كوده واسمه ...

كيف أتخلص من هذا التكرار ...

هو نعم لا يظهر في التقرير لكن أنا أريد تصميم التقرير في الفيجوال ...

أيضاً دالة aggregate لا تعمل على البيانات من نوع string

شاكرة سلفاً ..

#6

أخي الغالي

fafe0

Just now

السلام عليكم ورحمة الله وبركاتة

دعوني اوضح لكم بعض الامور البسيطة والتي تخص نقطة البيع والشراء وحسابات العملاء وبعيد عن موضوع البرمجة تعالوا نفهم الموضوع ماشي ازاي عشان نقدر نحلل ونبني برنامجنا بطريقة فعالة تخدم مكان العمل

أولاً:-

بخصوص محلات الاغذية اود ان اقول لكم الخطوات السليمة والصحيحة لخط سير بضاعة الاغذية وهي كما ترون بالصورة التي امامكم

770107-1322.jpg

فاذا تتبعنا خط سير البضائع من البداية لوجدنا ان البضاعة يتم شراؤها من من جهة المستوردين من الخارج ثم بعد ذلك يتم توزيع هذه البضاعة من خلال الموزعين المعتمدين في جميع انحاء المحافظات ثم يقوم الموزع بتوزيع وبيع هذه البضاعة لتجار الجملة ثم يقوم تاجر الجملة بتوزيع وبيع البضاعة لتاجر التجزئة ومن تاجر التجزئة يتم بيع البضاعة للمستهلك او للجمهور كما هو موضح بالصورة اعلاة....

من هنا يجب ان نعرف ان البضاعة تمر بمراحل كثيرة حتي تصل في ايدي المستهلك او ايدي الجمهور وهذه المراحل التي تمر بها البضاعة ليست بدون فواتير واوراق لا بل يوجد لهذه البضاعة فواتير ومستندات عديدة لكي نستطيع ان نتحكم في في اشياء كثيرة مثل سعر السلعة وكمية السلعة وما الي ذلك....

ومن خلال هذه المراحل اكيد اذا كانت هذه المنشآت تحمل مستندات منتظمة سنجد التالي . . . . .

1 - يتم شراء البضاعة من جهة المستوردين من الموردين من الخارج من خلال فواتير واجراءات جمارك وخلافة وبالطبع يسجل المستورد اسم المورد لدية من خلال فاتورة المورد المعتمدة والتي تحمل اسم الشركة والتي من الصعب تغيير هذا الاسم

2 - عند توزيع البضاعة من المستورد الي الموزعين المعتمدين ولابد من من وجود المستندات التالية بين الطرفين

أ - عقود

ب - اقرارات ضريبية

ج - سجل تجاري

واوراق كثيرة جداً ويكون بالطبع اسم الموزع مذكور بكل هذه الاوراق وموثق بالشهر العقاري باسم وشهرة محل وما الي ذلك وتعتبر هذه الخطوة الثانية والتي ايضا لا يمكن احتمال حدوث خطأ اثناء تسجيل اسماء الشركات او اسماء الموردين داخل البرنامج لان هذه الاسماء تسجل من واقع اوراق موثقة

3 - هذه الاجراءات السابقة بالطبع تنطبق علي التعاملات التي تجري بين الموزعين وبين تجار الجملة

لذلك يتم تسجيل اسم الشركة او اسم التاجر او العميل او المورد من خلال مستندات موثقة ومعتمدة ولا يجوز فيها التغيير او التبديل باكثر من اسم شخص او شركة

4 - نأتي هنا الي النقطة الاخيرة والتي يوجد بها الخلاف وهي نقطة بيع البضاعة من تاجر التجزئة الي المستهلك او الي الجمهور

فهل تتخيل ان تاجر التجزئة سيتم تسجيل اسم كل مستهلك علي البرنامج يقوم بشراء سلعة معينة منه وسيقوم بطلب البطاقة الشخصية عند بيع منتج او سلعة غذائية للمستهلك

في هذه الحالة اكيد المستهلك سيترك هذا المكان ولن يرجع الية مرة اخري بل سيقول علي صاحب هذا المكان انه مجنون ....... :haha:

وهذا راجع لان المستهلك لا يحمل سجل تجاري معروف ومحدد المعالم لذلك احببت ان اوضح لك هذه النقطة

اما اذا اردت حساب العميل وحساب المورد فسيكون كالتالي

اذا كنت تاجر جملة فهذا سهل فمن خلال الفواتير والمستندات التي بينك وبين المورد الموثقة يمكنك تسجيل اسم المورد مرة واحدة فقط بدون اي اخطاء

اما اذا كنت تاجر تجزئة فسيتم حساب المورد من خلال اوراقك المتداولة بينك وبين المورد

وبخصوص المستهلك سيتم حساب جملة مبيعاتك خلال فترة زمنية ولا يتم وضع اسم للمستهلك بالبرنامج

اتمني ان اكون وقد وضحت الصورة كما يجب ان تكون

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 3 مارس 2008 في 09:55

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7

أستاذنا الكبير

محمد فؤاد شكرا جزيلا لك

علي هذه المعلومات القيمة جدا والمهمة جدا بل اساسية في الموضوع

فما ذكرته منطقي جدا من حيث تتبع الموضوع من البداية وحتي النهاية

أما بالنسبة للمشاركة التي ذكرتها اعلائها تخص نقطة معينة من خط السير الذي تكرمت واسهبت في شرحة

انا اتكلمت عن برنامج بسيط يقوم علي خدمة عملاء المصبغة وهو موجود بالفعل عندي

المهم ان خدمة المصبغة ليست عملية بيع وشراء بالمعني الصريح ولكنها تقديم خدمة للعملاء هي ( الغسيل والكي ) وما كنا نعانية موضوع تكرار واختلاف الاسم

ولم تحل المشكلة إلا كما ذكرت سالفاً عن طريق اعطاء رقم لكل عميل خاصة في خدمات التوصيل للمنازل

اسماء العملاء ممكن تتشابه وتروح توصل حاجات تخص شخص لآخر لكن عن طريق رقم العميل لا يمكن الخطأ

وبما اننا نتكلم عن هذه النقطة بالتحديد فلماذا نقوم بتسجيل اسم كل مستهلك نهائي كما ذكرت اعلاه

في حال محل يبيع أغذية ليس من الأهمية ان نحتفظ باسم المستهلك النهائي كلام سليم

لكن في حال تقديم الخدمات ستجد ان الآحتفاظ ببيانات العملاء هام جداً جداً لاي منشأة

لكن اشكرك جدا لاني استفدت جدا من شرحك السابق

دومت لنا استاذنا الغالي

سوف أنسى الأمس واليوم و قــد أنــسى غــــــــــــــــــــدا

و سأنسى فترة في العمر قـــد ضاعت ســــــــــــــــــدى

غير أني سوف لا أنسى ســــــــــــــــــــــــــؤالا واحدا

حــــين قال القلب يوما فـــي ارتـــباك: كــــيف أنسي

#8

السلام عليكم ورحمة الله وبركاته.

أخي just now جزاك الله خيراً على مساعدتك،، فعلاً عندك أفكار رائعة :)

أخي الغالي محمد فؤاد تركي، أسأل الله عز وجل أن يجعل لك بكل حرف كتبته في شرحك الوافي حسنة في ميزان حسناتك.

فعلاً هذا ما كان ينقصني فهمه؛ فجزاك الله خيراً.

بالفعل نحن لا يهمنا أن نقوم بتسجيل اسم الزبون في حالة محل يبيع مواد غذائية.

أنا عندي وجهة نظر، وأريد رأيكم فيها:

من وجهة نظري أننا حتى لو أردنا أن نقوم بتسجيل اسم الزبون في برنامج لإدارة محل مواد غذائية؛ فإننا يجب أن نخصص حقل في جدول الحركة (المبيعات) باسم الزبون ونعيّن الخاصية مطلوب لهذا الحقل إلى لا، وليس هناك داعي أصلاً لعمل جدول للزبائن (حيث يصعب تتبعهم، وحيث أن عددهم وحركتهم كثيرة وغير مستقرة) .

طبعاً أنا أقول هذا الكلام بحكم تجربتي في الحياة، فقد لاحظت في محلات الأغذية، أنا صاحب المحل غالباً يبيع لك السلعة ولا يسألك ،،، لا عن اسمك ولا عن أصلك ولا عن فصلك ولا أي شيء، هو فقط يبيع لك السلعة وانتهى الأمر، ولكن في بعض الحالات؛ إذا طلب الزبون فاتورة من صاحب المحل فإنه يسأل عن الاسم ليسجل الفاتورة باسم الزبون. ----- إذاً الاسم غير ضروري، ولكننا قد نحتاج إليه أحياناً.

فما رأيكم في هذا الحل؟ ( أعني تخصيص حقل لاسم الزبون في جدول الحركة، ويكون هذا الحقل غير مطلوب).

تم تعديل هذه المشاركة بواسطة fafe0 في 4 مارس 2008 في 01:53

#9

بارك الله بكم اخواني الكرام على هذه المداخلات الجميله

وتتويجا لهذه المشاركه نضع بين ايديكم برنامج مغسله متكامل كل ما عليكم فقط هو ادخال البيانات او تعديل اسعار الخدمات

Clean_clothes_Service.rar

#10

شكراً استاذتنا الرائعة زهرة

علي البرنامج الجميل وتشريفك الموضوع

نتمني لكِ دوام التوفيق والعطاء

سوف أنسى الأمس واليوم و قــد أنــسى غــــــــــــــــــــدا

و سأنسى فترة في العمر قـــد ضاعت ســــــــــــــــــدى

غير أني سوف لا أنسى ســــــــــــــــــــــــــؤالا واحدا

حــــين قال القلب يوما فـــي ارتـــباك: كــــيف أنسي

#11

أختي ومعلمتي الغالية زهرة

برنامجك فعلاً متميز وجديد

كل الشكر والتقدير لكي يا معلمتنا الغالية علي هذا البرنامج المفيد

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 4 مارس 2008 في 09:04

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#12

السلام عليكم

في مشاركتي الأخيرة طلبت رأيكم في الحل الذي اقترحته عليكم (بخصوص اسم الزبون).

ما رأيكم إخواني في الحل المقترح ؟

#13

السلام عليكم

أنا من وجهة نظري أن الحل المقترح حل جيد، ولكن لا أدري ما هو رأيكم ...

أرجو من لديه وجهة نظر أن يتفضل بها؛ وشكراً

مواضيع مشابهة