عدد الرسائل : 17العمر : 41 الوظيفة : محاسب sms : كلمتان خفيفاتان فى اللسان حبيبتان الى الرحمن " سبحان الله وبحمده سبحان الله العظيم " تاريخ التسجيل : 15/02/2009نقاط : 3451200
موضوع: تقسيم المعلومات الى جداول الإثنين 23 فبراير 2009, 11:04 pm
تقسيم المعلومات إلى جداول
لتقسيم المعلومات إلى جداول، اختر الوحدات أو المواضيع الرئيسية. على سبيل المثال، بعد العثور على معلومات لقاعدة بيانات مبيعات منتج وتنظيمها، يجب أن تظهر القائمة المبدئية كما يلي:
تعتبر الوحدات الرئيسية المعروضة هنا هي المنتجات والموردين والعملاء والطلبات. ولذلك من الأفضل البدء بهذه الجداول الأربعة: يتضمن الأول حقائق حول المنتجات والثاني حول الموردين والثالث حول العملاء والرابع حول الطلبات. على الرغم من أن ذلك لم تكتمل القائمة, إلا أنها نقطة بداية جيدة. يمكنك متابعة تنقية هذه القائمة حتى تحصل على تصميم يعمل جيداً. عند مراجعة قائمة العناصر المبدئية أولاً، قد تحاول وضع كافة العناصر في جدول واحد بدلاً من الأربعة المعروضة في الشكل السابق. ستتعرف هنا على سبب خطأ هذه الفكرة. فكر للحظة في الجدول المعروض هنا:
في هذه الحالة، يتضمن كل صف معلومات عن كل منتج من المنتجات وموردها. لأنه يمكنك الحصول على عدة منتجات من مورد واحد، يتم تكرار المعلومات الخاصة باسم المورد وعنوانه مرات عديدة، مما يؤدي إلى إهدار مساحة القرص. للحصول على حل أفضل بكثير يمكنك تسجيل معلومات عن المورد مرة واحدة فقط في جدول "الموردون" منفصل ثم ربط هذا الجدول بجدول "المنتجات". تظهر المشكلة الثانية في هذا التصميم عند الرغبة في تعديل المعلومات حول المورد. على سبيل المثال، افترض إنك تحتاج لتغيير عنوان العميل. بسبب ظهوره في أماكن عديدة، ربما تقوم بطريق الخطأ بتغيير العنوان في مكان واحد وتنسى تغييره في الأماكن الأخرى. يتمثل حل هذه المشكلة في تسجيل عنوان المورد في مكان واحد فقط. عند تصميم قاعدة بيانات، حاول دائماً تسجيل كل معلومة مرة واحدة. إذا تم تكرار نفس المعلومة في أكثر من مكان، عنوان عميل معين مثلاً، قم بوضع هذه المعلومة في جدول منفصل. أخيراً، افترض أن هناك منتج واحد فقط يدعمه "أسامة شبانة"، وأردت حذف المنتج والإبقاء على المعلومات الخاصة باسم المورد وعنوانه. كيف يمكنك حذف سجل المنتج بدون فقدان بيانات المورد؟ لا يمكنك ذلك نظراً لاحتواء كل سجل على حقائق عن المنتج والمورد أيضاًَ. لا يمكنك حذف واحد دون حذف الآخر. للإبقاء على هذه الحقائق منفصلة، يجب تقسيم الجدول الواحد إلى جدولين: يضم الأول معلومات حول المنتج والثاني يضم معلومات حول المورد. وبذلك فإن حذف سجل المنتج يؤدي إلى حذف الحقائق حول المنتج فقط، دون الحقائق حول المورد. بمجرد اختيار الموضوع الذي سيعرضه الجدول، يجب أن يتم تخزين حقائق حول هذا الموضوع فقط في أعمدة الجدول. على سبيل المثال، يجب تخزين حقائق حول المنتج فقط في جدول المنتجات. ونظراً لأن عنوان المورد هو حقيقة حول المورد وليس المنتج، فهو ينتمي إلى جدول الموردين