السلام عليكم ورحمة الله وبركاته.
كما نعلم جميعاً أن من أهم مميزات قواعد البيانات العلائقية هي عدم تكرار البيانات، ولكن عندما فكرت في عمل برنامج آكسس لإدارة مغسلة، وكذلك عندما فكرت في عمل برنامج لإدارة مستشفى، واجهتني مشكلة في جدول الزبائن في الحالة الأولى، وفي جدول المرضى في الحال الثانية.
لنفرض أني قمت بفتح مغسلة وأردت أن أقوم بعمل برنامج لمتابعة الحركة فيها والأرباح والخسائر الخ...
بالطبع أحد الجداول في قاعدة البيانات هذه هو جدول الزبائن، والمشكلة أننا قد يأتينا في اليوم 40 زبون ، بالتالي سينتج التكرار حتماً.
على سبيل المثال:
جاء في اليوم الأول زبون اسمه "علي عبد السلام القحطاني" ، فقمت بإعطاءه رقم متسلسل في جدول الزبائن، وقمت بتسجيل سجل في جدول الحركة خاص بهذا الزبون، ثم جاء نفس الزبون ولكن بعد شهر، فسألته عن اسمه (لأنني بالطبع لا أستطيع أن أتذكر كل الزبائن الذين يدخلون المغسلة) فقال اسمي "علي عبد السلام أحمد" حيث أن "أحمد" هو اسم جده، فقمت بتسجيل اسمه مرة أخرى بشكل مختلف عن المرة الأولى.
الآن لدينا عدة مشاكل:
1- تكرار نفس الزبون في جدول الزبائن (وهذا يتناقض مع أساسيات قواعد البيانات العلائقية)
2- إذا طلب مني هذا الزبون أن أعطيه تقرير بكافة المعاملات التي قام بها مع المغسلة، فلن أتمكن من ذلك، لأنني قد أبحث عن اسمه بـ "علي عبد السلام أحمد" ، وهذا سيعطيني النتائج المسجلة بهذا الاسم فقط، وبالتالي يكون التقرير ناقص، والمعلومات التي تخرج من قاعدة البيانات غير صحيحة.
3- لا أستطيع أن أعرف ما هو العدد (الحقيقي) للزبائن الذين تعاملوا مع المغسلة خلال فترة معينة، لأن هذه المشكلة (مشكلة تكرار اسم الزبون بأكثر من شكل في جدول الزبائن) قد تحدث مع كثير من الزبائن ! وبالتالي لن أستطيع من معرفة العدد الحقيقي للزبائن الذين تعاملوا مع المغسلة.
طبعا نفس المشاكل في جدول الزبائن سنجدها في جدول المرضى في حالة قيامنا ببرنامج لإدارة مستشفى.
لا أدري هل هذه مشكلة أم لا، فقد يكون هذا هو الوضع الطبيعي في البرامج التي هذه طبيعتها.
أرجو الشرح والتوضيح
وجزاكم الله خيراً




