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


صفحة 2 من 2 الأولىالأولى 12
النتائج 9 إلى 11 من 11

الموضوع: أساسيات تصميم قواعد البيانات

  1. #9
    تربوي مميز
    تاريخ التسجيل
    Nov 2009
    المشاركات
    607
    معدل تقييم المستوى
    0

    رد: أساسيات تصميم قواعد البيانات



    إنشاء علاقات الجداول:-
    قد تحتاج بعد تقسيم المعلومات في جداول إلى تجميعها معاً مرة أخرى بطريقة صحيحة. على سبيل المثال، يتضمن النموذج التالي معلومات من عدة جداول.
    ** تأتي المعلومات في هذا النموذج من جدول “العملاء” و جدول “الموظفون” و جدول “الطلبات” و جدول “المنتجات و جدول”تفاصيل الطلبات”.
    إن Access هو نظام لإدارة قواعد البيانات الارتباطية. في قاعدة البيانات الارتباطية, يتم تقسيم المعلومات إلى جداول منفصلة مستندة إلى مواضيع. ثم يتم استخدم العلاقات بين الجداول لإرجاع المعلومات مع بعضها مرة أخرى عند الحاجة.
    إنشاء علاقة رأس بأطراف ( واحد الى متعدد ) :-
    راجع هذا المثال: جداول “الموردون” و”المنتجات” في قاعدة بيانات طلبات المنتجات. يمكن لمورد واحد تقديم أي عدد من المنتجات. وتبعاً لذلك يمكن أن يقابل كل مورد موجود في جدول “الموردون” عدة منتجات في جدول “المنتجات”. وهكذا تكون العلاقة بين جدولي “الموردون” وجدول “المنتجات” هي علاقة رأس بأطراف.
    لعرض علاقة رأس بأطراف في تصميم قاعدة البيانات، استخدم المفتاح الأساسي الموجود في ناحية “رأس” من العلاقة وقم بإضافته كعمود أو أعمدة إضافية للجدول الموجود في ناحية “الأطراف” من العلاقة. في هذه الحالة، يمكنك على سبيل المثال إضافة العمود “معرّف المورد” من جدول “الموردون” إلى جدول “المنتجات”. يستخدم Access بعد ذلك رقم معرّف المورد في جدول “المنتجات” لتحديد موقع المورد الصحيح لكل منتج.
    يسمى العمود “معرّف المورد” في جدول “المنتجات” مفتاح خارجي. يعد المفتاح الخارجي هو مفتاحاً اساسياً آخر للجدول. ولذلك يعتبر العمود “معرّف المورد” مفتاحاً خارجياً في جدول “المنتجات” وأساسي أيضاً في جدول “الموردون”.
    تقوم بتوفير أساس ضم الجداول المرتبطة عن طريق تأسيس أزواج من المفاتيح الأساسية والخارجية. في حالة عدم التأكد من الجداول التي تشترك في أعمدة شائعة، يتم تعريف علاقة رأس بأطراف لضمان حاجة الجدولين الموجودين في العلاقة إلى عمود مشترك بينهما.
    إنشاء علاقة أطراف بأطراف ( متعدد الى متعدد ) :-
    فكر في العلاقة بين جدول “المنتجات” وجدول “الطلبات”.
    قد يتضمن طلب واحد أكثر من منتج. على الجانب الآخر, يمكن أن يظهر منتج واحد في عدة طلبات. ولذلك، قد يكون لكل سجل في جدول “الطلبات” عدة سجلات في جدول “المنتجات”. وقد يكون أيضاً لكل سجل في جدول “المنتجات” عدة سجلات في جدول “الطلبات”. يسمى هذا النوع من العلاقات علاقة أطراف بأطراف، حيث يكون لأي منتج عدة طلبات؛ ويكون لأي طلب عدة منتجات. لاحظ أنه من المهم لاكتشاف علاقات أطراف بأطراف بين الجداول أن تضع جانبي العلاقة في الاعتبار.
    تتضمن مواضيع الجدولين — الطلبات والمنتجات — علاقة أطراف بأطراف مما يؤدى إلى ظهور مشكلة. لإدراك هذه المشكلة تخيل أنك تحاول إنشاء علاقة بين الجدولين بإضافة الحقل “معرّف المنتج” إلى جدول “الطلبات”. تحتاج للحصول على عدة منتجات لكل أمر لأكثر من سجل واحد في جدول “الطلبات” لكل أمر. قد تتكرر معلومات الأمر في كل صف مرتبط بأمر واحد — مما يتسبب في إنشاء تصميم غير فعال يقودك إلى بيانات غير دقيقة. ستقع في نفس هذه المشكلة إذا تم وضع الحقل “معرّف الطلب” في جدول “المنتجات” — قد تجد أكثر من سجل لكل منتج في جدول “المنتجات”. كيف يمكنك حل هذه المشكلة؟
    تتمثل الإجابة في إنشاء جدول ثالث يسمى جدول الوصل، الذي يقسم علاقة أطراف بأطراف إلى علاقتين رأس بأطراف. يتم إدراج المفتاح الأساسي من كلا الجدولين إلى الجدول الثالث. مما يؤدي إلى قيام الجدول الثالث بتسجيل كل تطابق أو مثيل في العلاقة.
    يمثل كل سجل في جدول “تفاصيل الطلبات” بند سطر واحد في الطلب. يتكون المفتاح الأساسي لجدول “تفاصيل الطلبات” من حقلين — المفاتيح الخارجية من جداول “الطلبات” و”المنتجات”. لا يعمل استخدام الحقل “معرّف الطلب” وحده مثل المفتاح الأساسي لهذا الجدول، لأنه يمكن أن يكون للطلب الواحد عناصر خطوط متعددة. يتم تكرار “معرّف الطلب” لكل بند سطر في الطلب، لا يتضمن الحقل قيم فريدة. وكذلك لا يعمل استخدام الحقل “معرّف المنتج” حيث يمكن ظهور منتج واحد في عدة طلبات مختلفة. ولكن دائماً ينتج الحقلان الاثنان معاً قيم فريدة لكل سجل.
    في قاعدة بيانات مبيعات المنتج، لا يرتبط كل من جدول “الطلبات” وجدول “المنتجات” مباشرة. بدلاً من ذلك، يرتبطا بطريقة غير مباشرة من خلال جدول “تفاصيل الطلبات”. يتم تقديم علاقة أطراف بأطراف بين الطلبات والمنتجات في قاعدة البيانات باستخدام علاقتي رأس بأطراف:
    تربط بين كل من جدول “الطلبات” وجدول “تفاصيل الطلبات” علاقة رأس بأطراف. قد يكون لكل طلب أكثر من بند سطر، ولكن كل بند سطر يرتبط بطلب واحد فقط.
    تربط بين كل من جدول “المنتجات” وجدول “تفاصيل الطلبات” علاقة رأس بأطراف. قد يقترن بكل منتج أكثر من عنصر خط واحد، ولكن يشير كل بند سطر إلى منتج واحد.
    من جدول “تفاصيل الطلبات”، يمكنك تحديد كافة المنتجات الموجودة ضمن طلب معين. يمكنك أيضاً تحديد كافة الطلبات الخاصة بمنتج معين.
    بعد تضمين جدول “تفاصيل الطلبات”، يجب أن تظهر قائمة الجداول والحقول كما يلي:
    إنشاء علاقة رأس برأس (واحد الى واحد ) :-
    تعد علاقة رأس برأس هي نوع آخر من أنواع العلاقات. على سبيل المثال، افترض أنك تحتاج لتسجيل معلومات حول بعض المنتجات الإضافية التي قليلاً ما تحتاجها أو يتم تطبيقها على عدد قليل من المنتجات. يجب وضع هذه المعلومات في جدول منفصل وذلك بسبب عدم الحاجة إليها في كثير من الأحيان، ولأن تخزين هذه المعلومات في جدول “المنتجات” يؤدي لظهور مساحات فارغة لكل منتج لا يتم تطبيقها عليه. يتم استخدام الحقل “معرّف المنتج” كمفتاح أساسي مثلما حدث في جدول “المنتجات”. تكون العلاقة بين الجدول الإضافي وجدول “المنتجات” هي علاقة رأس برأس. يوجد لكل سجل في جدول “المنتجات” سجل واحد مطابق له في الجدول الإضافي. يجب عند تعريف مثل هذه العلاقة أن يشترك كلا الجدولين في حقل مشترك.
    عند الحاجة لعلاقة رأس برأس في قاعدة البيانات، يجب التفكير فيما إذا كان يمكنك وضع المعلومات من الجدولين في جدول واحد ( و هذا الافضل ) . لكن في حالة عدم الرغبة في القيام بذلك ربما لأنه يتسبب في ظهور الكثير من المساحات الفارغة. يتم ربط الجدولين كما يلى :-
    إذا كان موضوع الجدولين هو نفسه، يمكنك إعداد العلاقة باستخدام نفس المفتاح الأساسي في كلا الجدولين.
    إذا كان لكل جدول من الجدولين موضوع مختلف بمفاتيح أساسيه مختلفة، اختر أحد الجداول وقم بإدراج مفتاحه الأساسي كمفتاح خارجي في الجدول الآخر.
    يساعد تحديد العلاقات بين الجداول على تأكيد وجود الجداول والأعمدة الصحيحة. عند وجود علاقة رأس برأس أو رأس بأطراف، يجب أن تشترك الجداول الموجودة في هذه العلاقات في عمود أو أعمدة مشتركة. عند وجود علاقة أطراف بأطراف، يجب أن يتم تقديم العلاقة من خلال جدول ثالث.



  2. #10
    تربوي مميز
    تاريخ التسجيل
    Nov 2009
    المشاركات
    607
    معدل تقييم المستوى
    0

    رد: أساسيات تصميم قواعد البيانات

    تنقية التصميم:-
    بمجرد الحصول على الجداول والحقول والعلاقات المطلوبة، يجب إنشاء الجداول بنماذج بيانات وتعبئتها ومحاولة العمل مع المعلومات: إنشاء استعلامات وإضافة سجلات جديدة وهكذا. يساعد القيام بذلك على تمييز المشاكل — على سبيل المثال، قد تحتاج لإضافة عمود لم يتم إدراجه أثناء مرحلة التصميم أو تقسيم جدول إلى جدولين لإزالة التكرار.
    تأكد أنه يمكنك استخدام قاعدة البيانات للحصول على الإجابات المرغوبة. قم بإنشاء مسودات للنماذج والتقارير وراجع ظهور البيانات المتوقعة. ابحث عن أي تكرار غير ضروري للبيانات وفي حالة العثور عليه يتم تغيير التصميم لإزالته.
    بينما تقوم بتجربة قاعدة بياناتك الأولية، ستكتشف وجود مساحة للتحسينات. فيما يلي بعض الأشياء التي يجب التحقق منها:
    هل تم نسيان أيه أعمدة؟ إذا حدث ذلك، هل تنتمي المعلومات للجدول الموجود؟ إذا كانت معلومات حول شيء آخر، قد تحتاج لإنشاء جدول آخر. قم بإنشاء عمود لكل عنصر معلومة تريد تعقبه. إذا لم تتمكن من حساب المعلومات من أعمدة أخرى، من الأفضل إنشاء أعمدة جديدة لها.
    هل هناك أعمدة غير ضرورية لأنه يمكن حسابها من حقول موجودة؟ — حساب السعر المُخفض من سعر التجزئة على سبيل المثال — إنه من الأفضل القيام بذلك فقط، وتجنب إنشاء أعمدة جديدة.
    هل قمت بإدخال معلومات متكررة أكثر من مرة في الجداول؟ إذا حدث ذلك، فيجب تقسيم الجدول إلى جدولين بينهما علاقة رأس بأطراف.
    هل يوجد جداول فيها حقول متعددة وعدد محدود من السجلات والعديد من الحقول الفارغة في سجلات مفردة؟ إذا حدث ذلك، فكر في إعادة تصميم الجدول بحيث يكون فيه عدد قليل من الحقول وسجلات أكثر.
    هل تم تقسيم كل عنصر معلومة إلى أجزاء صغيرة مفيدة؟ إذا أردت عمل تقرير أو فرز أو بحث أو حساب وفقاً لعنصر معلومات، يجب وضع هذا العنصر في الحقل الخاص به.
    هل يحتوي كل عمود على معلومة حول موضوع الجدول؟ إذا لم يكن كذلك، فقد تنتمي إلى جدول آخر.
    هل تم تقديم كل العلاقات بين الجداول، إما بواسطة حقول المشتركة أو جدول ثالث؟ تتطلب علاقتي رأس برأس ورأس بأطراف وجود أعمدة مشتركة. وتتطلب علاقة أطراف بأطراف وجود جدول ثالث.
    تنقية جدول “المنتجات”
    افترض أن كل منتج في قاعدة بيانات مبيعات المنتجات يقع أسفل فئة عامة، مثل فواتح الشهية والتوابل ومأكولات البحر. قد يتضمن جدول “المنتجات” حقل يظهر فئة كل منتج.
    افترض أنه بعد اختبار وتنقية تصميم قاعدة البيانات, قررت تخزين وصف الفئة واسمها. إذا تم إضافة حقل “وصف الفئة” إلى جدول “المنتجات”، يجب تكرار وصف كل فئة لكل منتج يقع أسفل هذه الفئة — لا يكون ذلك حلاً صحيحاً.
    الحل الأفضل هو أن تنشئ جدول “فئات” جديد في قاعدة البيانات لتعقبه وتعقب جدوله ومفتاحه الأساسي. يمكنك بعد ذلك إضافة مفتاح أساسي من الجدول “فئات” إلى جدول “المنتجات” كمفتاح خارجي.
    يربط الجدولان “الفئات” و”المنتجات” علاقة رأس بأطراف: يمكن أن تتضمن الفئة أكثر من منتج واحد، بينما ينتمي كل منتج إلى فئة واحدة فقط.
    عند مراجعة بنية الجدول، ابحث عن المجموعات المتكررة. على سبيل المثال، جرب جدول يحتوي على الأعمدة التالية:
    معرّف المنتج
    الاسم
    معرّف المنتج 1
    الاسم 1
    معرّف المنتج 2
    الاسم 2
    معرّف المنتج 3
    الاسم 3
    يكون كل منتج عبارة عن مجموعة متكررة من الأعمدة التي تختلف عن غيرها فقط بإضافة رقم في نهاية اسم العمود. عند مشاهدة عمود مُرقم بهذه الطريقة، يجب الرجوع إلى التصميم.
    إن مثل هذا التصميم به الكثير من الأخطاء، وخاصة بالنسبة للمبتدئين، لأنه يضطرك إلى وضع حد أعلى لأرقام المنتجات. ما أن يتم تجاوز هذا الحد، يجب إضافة مجموعة جديدة من الأعمدة إلى بنية الجدول وتلك مهمة إدارية ضخمة.
    توجد مشكلة أخرى وهي أن الموردين الذين يقل عدد منتجاتهم عن الحد الأقصى سيهدرون بعض المساحة، وستصبح الأعمدة الإضافية فارغة. من أكثر الأخطاء خطورة في هذا التصميم هو تنفيذ عدة مهام صعبة, مثل فرز الجدول وفهرسته بواسطة معرّف المنتج واسمه.
    كلما رأيت مجموعات متكررة راجع التصميم جيداً مع التأكد من تقسيم الجدول. في المثال السابق يكون من الأفضل استخدام جدولين أحدهما للموردين والآخر للمنتجات ويتم ربطهما بواسطة معرّف المورد.

  3. #11
    تربوي مميز
    تاريخ التسجيل
    Nov 2009
    المشاركات
    607
    معدل تقييم المستوى
    0

    رد: أساسيات تصميم قواعد البيانات

    تطبيق قواعد التسوية Normalization Rules :-
    يمكنك تطبيق قواعد تسوية البيانات (التي تسمى أحياناً قواعد التسوية فقط) كخطوة ثانية في التصميم. يتم استخدام هذه القواعد للتأكد من بناء الجداول بشكل صحيح. تسمى عملية تطبيق القواعد على تصميم قاعدة البيانات بتسوية قاعدة البيانات أو التسوية فقط.
    تزداد أهمية وفائدة التسوية بعد تقديم كافة المعلومات والوصول إلى التصميم المبدئي. تكمن الفكرة في مساعدتك على التأكد من تقسيم عناصر المعلومات إلى جداول مناسبة. لا يمكنك بواسطة التسوية التأكد من صحة كافة عناصر البيانات لبدء العمل بها.
    توجد ثلاثة قواعد تسوية مطلوبة لمعظم تصميمات قواعد البيانات.
    القاعدة الأولى
    تنص القاعدة الاولى على وجود قيمة مفردة في كل تقاطع أعمدة أو صفوف وليس مجموعة قيم . إذا كان كل تقاطع للصفوف والأعمدة يكون كالخلية، فإن كل خلية تحتوي على قيمة واحدة فقط.
    على سبيل المثال، لا يمكن إدخال أكثر من سعر واحد في حقل “السعر”.
    القاعدة الثانية
    و يتم تطبيق هذه القاعدة عندما يتكون المفتاح الأساسي من عدة أعمدة.
    تنص القاعدة الثانية على أن كل عمود بالجدول ( بلا مفتاح) يجب أن يعتمد اعتماداً كلياً على المفتاح الأساسي بأكمله وليس جزءاً منه فقط.
    على سبيل المثال، افترض أن هناك جدول يحتوي على الأعمدة التالية حيث يُكون “معرّف الطلب” و”معرّف المنتج” هما المفتاح الأساسي:
    معرّف الطلب (مفتاح أساسي)
    معرّف المنتج (مفتاح أساسي)
    اسم المنتج
    يخالف هذا التصميم القاعدة الثانية ، لأن اسم المنتج يستند إلى معرّف المنتج وليس إلى معرّف الطلب وبذلك فهو لا يعتمد على المفتاح الأساسي بأكمله. يجب إزالة اسم المنتج من الجدول. يتم نقل هذا الحقل إلى جدول مختلف (جدول المنتجات).
    القاعدة الثالثة
    تنص القاعدة الثالثة على ألا يعتمد أى عمود بالجدول ( بلا مفتاح) على أى عمود أخر غير المفتاح الاساسى .
    بمعنى آخر، يجب أن يعتمد كل عمود بلا مفتاح على المفتاح الأساسي فقط دون شيء آخر. على سبيل المثال، افترض وجود جدول يحتوي على الأعمدة التالية:
    معرّف المنتج (مفتاح أساسي)
    الاسم
    السعر
    الخصم
    افترض أن “الخصم” يعتمد على السعر المُقترح. يخالف هذا الجدول القاعدة الثالثة حيث يعتمد عمود بلا مفتاح وهو “الخصم” على عمود بلا مفتاح آخر وهو السعر. يُقصد بعدم اعتماد العمود أنه يمكنك تغيير أي عمود بلا مفتاح دون التأثير على أي عمود آخر. إذا قمت بتغيير القيمة في الحقل “السعر”، تتغير قيمة حقل “الخصم” وفقاً لذلك، ومن ثم مخالفة هذه القاعدة. في هذه الحالة، يجب نقل حقل “الخصم” إلى جدول آخر يعتمد على مفتاح الحقل السعر.

صفحة 2 من 2 الأولىالأولى 12

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •