You are on page 1of 79

‫ميحرلا نمحرلا هللا مسب‬

‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪0213-0210‬م‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫االهداء‬
‫إلى من يسعد قلبي بلقياها‬
‫إلى روضة الحب التي تنبت أزكى األزهار‬
‫أمي‬
‫ألي من روحي‬
‫إلى من هم اقرب ّ‬
‫إلى من شاركني حضن أالم وبهم استمد عزتي وإصراري‬
‫اخوتي‬
‫إلى من آنسني في دراستي وشاركني همومي‬
‫تذكارا وتقديرا‬
‫أصدقائي‬
‫والي االتساذ الاذل ‪ /‬تسليم خذلد شعب‬
‫اهدي هذا البحث‬

‫السيرة الذاتية‬

‫االتسم ‪ :‬وائ عذدل الصلوي‬

‫العنوان ‪ :‬اليمن – تعز‬

‫رقم الهذتف ‪010071107:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫اتســـم المقرر ‪ :‬قواعد البيذنذت‬
‫"المحذلرة الامهيدية"‬

‫أهمية قواعد البيانات ‪:‬‬

‫تعتبر قواعد البيانات ذات أهمية كبيرة لتقدم أي مجتمع خصوصا ونحن نعيش عصر التقنية والمعلوماتية‪.‬‬
‫وبالتالي فنحن بحاجة إلى آلية لتنظيم البيانات (والتي أصبحت في عصرنا كبيرة ومتنوعة) والمحافظة عليها‬
‫من التلف وضمان أمنها‪.‬‬

‫سهولة إدارتها‬

‫سهولة في التخزين واإلضافة والتعديل‬

‫وسرعة في البحث واالستعالم‬

‫التحليل اإلحصائي‬

‫سهولة وسرعة استخراج التقارير‬

‫"المحذلرة األولى" بعنوان‬

‫مقدمة في أنظمة قواعد البيذنذت‬

‫مقدمة في أنظمة قواعد البيانات‬

‫أصبحت قواعد البيانات و تطبيقاتها عنصرا جوهريا في تسيير أمور الحياة اليومية في المجتمع‬ ‫‪‬‬
‫المعاصر ‪ ،‬حيث أن جميع األنشطة التي يمارسها أفراد المجتمع من تسجيل مواليد ووفيات و نتائج‬
‫دراسية و وثائق السفر و العمليات البنكية و غيرها الكثير يجب فيها التعامل مع احد قواعد البيانات‬
‫كافة األنشطة السابقة تدخل في نطاق التطبيقات التقليدية لقاعدة البيانات ‪.‬‬ ‫‪‬‬
‫توجد حاليا تطبيقات متقدمة لقواعد البيانات مثل استخدام الذكاء االصطناعي و التجارة االلكترونية‬ ‫‪‬‬

‫خواص قواعد البيانات‬

‫تمثل بعض مظاهر العالم الحقيقي‪ .‬أي إنها تمثل حالة من حاالت البيانات التي تصف موضوع حقيقي‬ ‫‪‬‬
‫تمثل مجموعة من البيانات المتالصقة منطقيا وتحتوي على معنى ضمني‬ ‫‪‬‬
‫يتم تصميمها و تخزين البيانات فيها من أجل غرض معين‬ ‫‪‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مفهوم قواعد البيانات‬

‫قواعد البيانات (‪ : )D atabase‬هي أسلوب محدد لتنظيم المعلومات يبسط كيفية إدخالها و تعديلها‬ ‫‪‬‬
‫و استخراجها في صورة مالئمة و مفهومة للمستخدم لمجموعة مشتركة من البيانات المترابطة‬
‫والمتجانسة منطقيا ‪.‬‬
‫عناصر البيانات المنطقية المرتبطة مع بعضها البعض بعالقة معينة‪ ،‬وتتكون‬
‫ِ‬ ‫هي مجموعة من‬ ‫‪‬‬
‫قا عدة البيانات من جداول (واحد أو أكثر)‪ .‬ويتكون الجدول أعمدة (حقول ‪ )Fields‬ومن صفوف‬
‫(سجالت (‪.Record‬‬

‫نظم ملفات البيانات‬

‫استخدام الملفات في تخزين البيانات‪.‬‬ ‫‪‬‬


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

‫نظم ملفات البيانات (‪)File Systems‬‬

‫أنواع الملفات ‪:‬‬

‫ملف تتابعي ‪ :‬يتم تخزين سجالت البيانات بشكل تتابعي بنفس ترتيب وصولها للملف سجل بعد سجل‪.‬‬ ‫‪‬‬
‫السترجاع البيانات تجري عملية قراءة السجالت من أول سجل إلى أخر سجل و بشكل تتابعي‪.‬‬
‫ملف عشوائي ‪ :‬يتم تخزين سجالت البيانات بشكل عشوائي مع معرفة موقع أو عنوان كل سجل‬ ‫‪‬‬
‫بيانات‪ ،‬و تتم قراءة البيانات مباشرة عن طريق العنوان‪.‬‬
‫ملف مفهرس ‪ :‬يستخدم فهرس أشبه بفهرس الكتاب من خالله يتم الوصول إلى أي سجل بيانات‪ ،‬يتم‬ ‫‪‬‬
‫عمل الفهرس من خالل احد حقول البيانات‪.‬‬

‫مشاكل الملفات ‪:‬‬

‫تكرار البيانات ‪ :‬تكرار البيانات في أكثر من ملف مما يضيع حيز التخزين و الجهد و الوقت‪.‬‬ ‫‪‬‬
‫عدم تجانس أو توافق البيانات ‪ :‬نفس المعلومة تكون مخزنه في أكثر من ملف عند تعديلها قد ال‬ ‫‪‬‬
‫نعدلها في الملفات األخرى‪.‬‬
‫عدم المرونة ‪ :‬عملية التعديل و الحذف تتطلب جهد و وقت و كلفة عالية‪.‬‬ ‫‪‬‬
‫االفتقار إلى المواصفات القياسية‪.‬‬ ‫‪‬‬
‫معدل منخفض إلنتاج البرامج‬ ‫‪‬‬

‫مشاركة محدودة جدا بين البرامج المختلفة و ملفات البيانات‪.‬‬ ‫‪‬‬


‫صعوبة الصيانة أي تعديل لملف يلزم تعديل كافة البرامج الخاصة به ‪.‬‬ ‫‪‬‬
‫امن سرية المعلومات تكون على نطاق محدود‪.‬‬ ‫‪‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫نظم قواعد البيانات‬

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

‫أمثلة نظم إدارة قواعد البيانات‬

‫يمكن إنتاج و معالجة قاعدة البيانات باستخدام الحاسب اآللي بواسطة مجموعة من البرامج‬ ‫‪‬‬
‫التطبيقية المصممة خصيصا لهذا الغرض أو بواسطة نظم إدارة قواعد البيانات (‪ )DBMS‬مثل ‪:‬‬

‫‪MS-Access‬‬ ‫‪‬‬
‫‪Oracle‬‬ ‫‪‬‬
‫‪Sybase‬‬ ‫‪‬‬
‫‪Builder Power‬‬ ‫‪‬‬
‫‪Informix‬‬ ‫‪‬‬

‫الفرق بين نظم قواعد البيانات ونظم الملفات التقليدية‬

‫يوجد العديد من الخواص التي تفرق بين قواعد البيانات ونظم الملفات التقليدية وهي ‪:‬‬

‫الوصف الذاتي للبيانات (‪:)Self-Description Nature‬‬

‫تحتوى قواعد البيانات علي البيانات ووصف البيانات وذلك عن طريق إنش اء فهرس البيانات والذي يحتوي‬
‫على ما يسمى (‪)Meta-data‬‬

‫الفصل بين البرامج والبيانات( ‪:)Program/Data Insulation‬‬

‫ال تحتوى البرامج على وصف البيانات بل يوجد فصل بينهما مما يتيح إمكانية تعديل شكل البيانات بدون‬
‫الحاجة لتعديل البرامج‪.‬‬

‫المشاركة في البيانات والتعامل مع العديد من المستخدمين ( ‪Data Sharing and Multi-user‬‬


‫‪:)system‬‬

‫تتيح قواعد البيانات المشاركة في استخدام البيانات وكذلك تعطي إمكانية تعامل العديد من المستخدمين مع‬
‫نفس قواعد البيانات في نفس الوقت بدون مشاكل‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫قواعد البيانات و نظم إدارة قواعد البيانات‬

‫‪-‬نظام إدارة قواعد البيانات ‪ :‬هو مجموعة من البرامج التي يمكن استخدامها في إنشاء و معالجة قاعدة‬
‫بيانات‪.‬‬

‫‪ -‬نظام إدارة قواعد البيانات هو نظام برامجي متعدد األغراض يسهل تعريف و بناء و معالجة قواعد البيانات‬
‫التطبيقية‪.‬‬

‫‪-‬يمكن أن تصمم قاعدة بيانات واحدة تستخدم مع العديد من البرامج والتطبيقات‪.‬‬

‫خواص أخرى لقواعد البيانات‬

‫يمكن أن تكون قاعدة البيانات في أي حجم فيمكن أن تحتوي على القليل من السجالت أو المئات‬ ‫‪‬‬
‫منها ويمكن أن تحتوي على مئات الماليين من السجالت‬
‫يمكن أن يتم إنشائها و التعامل معها يدويا أو باستخدام الحاسبات اآللية‬ ‫‪‬‬
‫إذا تم است خدام الحاسب اآللي إلدارة قواعد البيانات فإن ذلك يتم عن طريق مجموعة من البرامج التي تصمم‬ ‫‪‬‬
‫خصيصا لذلك أو عن طريق استخدام نظم إدارة قواعد البيانات ‪..‬‬

‫( ‪)Database Management System DBMS‬‬

‫نظام إدارة قواعد البيانات ( ‪)Database Management System DBMS‬‬

‫تسمى قواعد البيانات ‪ +‬نظم إدارة قواعد البيانات بنظم قواعد البيانات‬

‫(قواعد البيانات ‪ +‬نظم إدارة قواعد البيانات ← نظم قواعد البيانات )‬

‫( ‪)Database System (DBS) → Database (DB) + DBMS‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مميزات استخدام قواعد البيانات‬

‫ندرة التكرار وإمكانية التحكم في تكرار البيانات‬ ‫‪‬‬


‫امن و سرية البيانات عالية جدا‬ ‫‪‬‬
‫فرض القيود على المستخدمين الذين ليس لهم صالحيات معينة‬ ‫‪‬‬
‫توفير بيئة تخزين مناسبة و صعوبة فقد البيانات‬ ‫‪‬‬
‫السماح باستنباط معلومات من البيانات المتواجدة‬ ‫‪‬‬
‫توفير واجهات متعددة لتعامل المستخدم مع البيانات‬ ‫‪‬‬
‫تمثيل العالقات المعقدة بين البيانات بسهولة‬ ‫‪‬‬
‫تكامل البيانات بشكل عالي و متناسق‪.‬‬ ‫‪‬‬
‫سهولة الصيانة حيث أي تعديل يتم بكل سهولة و من مكان واحد‬ ‫‪‬‬
‫توفير طرق متعددة للحصول على النسخ االحتياطية و كذلك معالجة البيانات في حاالت األعطال التي‬ ‫‪‬‬
‫قد تحدث لقواعد البيانات‬
‫تساعد على وضع معايير قياسية للتعامل مع البيانات‬ ‫‪‬‬
‫تقليل زمن تطوير البرامج‬ ‫‪‬‬
‫المرونة الشديدة في استخدام وتعديل البيانات‬ ‫‪‬‬
‫توفير بيانات على درجة عالية من التحديث‬ ‫‪‬‬
‫اقتصادية االستخدام‬ ‫‪‬‬
‫المرونة العالية في مشاركة البيانات و بكل سهولة‬ ‫‪‬‬

‫مخطط يوضح قواعد البيانات ونظم إدارتها‬

‫مستخدمون ‪ /‬برامج‬

‫مستخدم قواعد البيانات‬

‫مدير قواعد البيانات(‪:)DBA‬‬

‫يقوم بإدارة قواعد البيانات والتحكم في صالحيات العمل ومراقبة النظام وتحسين أداء قواعد البيانات‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مصمم قواعد البيانات (‪:)DB Designer‬‬

‫يقوم بتصميم قواعد البيانات ليتم إنشائها وبنائها بطريقة ذات كفاءة عالية طبقا لمتطلبات المستخدم‪.‬‬

‫مستخدم قواعد البيانات (‪:)End User‬‬

‫بعض المستخدمين يكون لديهم الخبرة الكافية إلعداد االستفسارات المطلوبة بلغة االستفسارات‪ ،‬وبعض‬
‫المستخدمين ليس لديهم الخبرة فيتم إنشاء برامج خاصة لهم يقومون بتشغيلها للحصول على المطلوب‪.‬‬

‫محلل النظم ومبرمج النظم(‪:)Programmer &Analyst‬‬

‫‪ -‬يقوم بتحديد متطلبات المستخدم وتطوير هذه المواصفات المطلوبة لتحديد المطلوب من قواعد البيانات‪.‬‬

‫‪ -‬بينما يقوم مبرمج النظم بتنفيذ المتطلبات إلنشاء التطبيقات المناسبة‬

‫‪ -‬هندسة النظم هي عملية تحليل النظام باإلضافة لعملية إنشاء البرامج التطبيقية‬

‫( محلل النظم ‪ +‬مبرمج النظم← مهندس النظم)‬

‫( ‪)Software Engineer → Programmer + Analyst‬‬

‫متى ال نستخدم قواعد البيانات؟‬

‫إذا كانت تكلفة اإلعداد عالية بالنسبة لحجم المشروع‬ ‫‪‬‬


‫إذا كانت قاعدة البيانات و التطبيقات بسيطة و سهلة‬ ‫‪‬‬
‫إذا كان المشروع يحتاج لسرعة استجابة عالية جدا وبشكل ضروري‬ ‫‪‬‬
‫إذا كان العمل ال يحتاج إلى بيئة ذات عدة مستخدمين‬ ‫‪‬‬

‫أشخاص يتعاملون مع قواعد البيانات بطريقة غير مباشرة‬

‫هؤالء ال يهتمون بقواعد البيانات ذاتها ولكنهم يقدمون لمستخدم قواعد البيانات البيئة الالزمة لهم وهم ‪:‬‬

‫مصمموا ومنفذوا نظم إدارة قواعد البيانات ‪:‬‬

‫يقومون بتصميم وتنفيذ نظم إدارة قواعد البيانات نفسها‪.‬‬

‫مطوروا البرامج المساعدة ‪:‬‬

‫يقومون بتطوير البرامج المساعدة مثل برامج تحليل النظم‪ ،‬تصميم النظم‪ ،‬إنشاء وتطوير التطبيقات‪ ،‬إنشاء‬
‫التقارير وواجهات التطبيق‪.‬‬

‫المشغلون وأفراد الصيانة ‪:‬‬

‫يقومون بتشغيل النظم وإدارتها وصيا نتها وكذلك صيانة البرامج واألجهزة المستخدمة في إنشاء وتطوير‬
‫قواعد البيانات‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫"المحذلرة الثذنية" بعنوان‬

‫هيكلية نظم إدارة قواعد البيذنذت‬

‫‪Architecture of DBMS‬‬

‫مكونات بيئة نظم قواعد البيانات‬

‫المكونات المادية ‪ :‬المكونات المادية من حواسيب وخوادم وأجهزة ومعدات‪.‬‬ ‫‪‬‬


‫المكونات البرمجية ‪ :‬نظم البرمجة الخاصة بقواعد البيانات‬ ‫‪‬‬
‫البيانات ‪ :‬هي العنصر المركزي لقواعد البيانات‬ ‫‪‬‬
‫اإلجراءات والعمليات ‪ :‬هي التعليمات التي تحكم التصميم واستخدام قواعد البيانات بالشكل األفضل‪.‬‬ ‫‪‬‬
‫المستخدمون ‪ :‬األشخاص الذين يتعاملون مع قواعد البيانات‬ ‫‪‬‬

‫مبادئ قواعد البيانات‬

‫قاعدة البيانات هي أسلوب محدد لتنظيم المعلومات يبسط كيفية اإلدخال و اإلخراج في إطارات‬ ‫‪‬‬
‫مختلفة مع التحكم في كل عملية‪.‬‬
‫أنواع قواعد البيانات‬ ‫‪‬‬
‫‪ o‬قواعد البيانات الشبكية (‪)Database Network‬‬
‫‪ o‬قواعد البيانات الهرمية (‪)Database Hierarchical‬‬
‫‪ o‬قواعد البيانات العالقية (‪)Database Relational‬‬

‫هيكلية نظم إدارة قواعد البيانات ‪)DBMS Architecture( :‬‬

‫‪ .1‬النظام المركزي( ‪: )Centralized system‬‬

‫وفيه تتواجد جميع وظائف قواعد البيانات والنظم التطبيقية وواجهات التعامل مع المستخدم وغيرها من‬
‫البرامج في نظام واحد مركزي‪.‬‬

‫‪ .2‬نظام الخادم ـ العميل (‪:)Client-Server‬‬

‫وفيه يحتوي العميل (يكون عادة عبارة عن حاسب شخصي) النظم التطبيقية وواجهات التعامل مع المستخدم‬
‫بينما يقوم الخادم بوظائف قواعد البيانات ( وفي بعض النظم الحديثة قد يقوم العميل ببعض وظائف قواعد‬
‫البيانات)‬

‫نماذج البيانات (‪)Data Models‬‬

‫‪ -‬هو وصف للبيانات أو أنشطة أو أحداث في مكان ما لجعل البيانات منظمة و مفهومة‪.‬‬

‫‪ -‬بناء البيانات هو تحديد نوع البيانات و العالقات بين البيانات والقيود المفروضة عليها‬

‫‪ -‬يمكن أن يحتوي نموذج البيانات على بعض العمليات األساسية ( مثل كيفية تعديل أو استرجاع البيانات)‬

‫‪ -‬في نظم البيانات الشيئية يمكن أن يحتوي النموذج علي مجموعة من العمليات التي يعرفها المستخدم علي‬
‫البيانات‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫حاالت قواعد البيانات (‪)Instances‬‬

‫البيانات المتواجدة داخل قواعد البيانات في لحظة معينة تسمي ”حالة قواعد البيانات أو الوضع الحالي‬
‫لقواعد البيانات (‪)Instance DB State or Current Set of Occurrence or‬‬

‫يتم إنشاء الوضع االبتدائي لها عند إدخال البيانات ألول مرة ثم يتغير وضعها عند إجراء العمليات‬ ‫‪‬‬
‫المختلفة على البيانات ( إضافة – حذف – تعديل)‬
‫تسمى حالة البيانات هذه ”‪“Extension‬‬ ‫‪‬‬

‫هيكلية نظم قواعد البيانات (‪)DB System‬‬

‫تحتوي نظم قواعد البيانات على ثالث مستويات من المخططات وذلك لدعم الخواص التي يجب أن‬ ‫‪‬‬
‫تقدمها نظم إدارة قواعد البيانات ‪:‬‬
‫‪ .1‬مستوى البيانات الخارجي(‪)External or View Level The‬‬
‫‪ .2‬المستوى المفاهيمي (‪)Conceptual Level The‬‬
‫‪ .3‬المستوي الداخلي (‪)Level Internal‬‬

‫البيانات الخارجي ‪: External or View Level The‬‬ ‫‪ .1‬مستوى‬


‫هو الجزء الذي يستهدف المستخدمين‬ ‫‪o‬‬
‫التخاطب واالتصال واسترجاع البيانات‬ ‫‪o‬‬
‫يستخدم برامج تطبيقية وبرامج رسومية أو مباشر‬ ‫‪o‬‬

‫مرحلة التحليل‬ ‫‪o‬‬

‫‪ .2‬المستوى المفاهيمي ‪Conceptual Level The:‬‬

‫‪ -‬يحتوي علي ‪ Conceptual Schema‬التي تصف بناء البيانات في قواعد البيانات – نموذج البيانات‬
‫المنطقي‬

‫‪-‬تقوم بإخفاء التفاصيل الخاصة بالبناء الفعلي للبيانات‬

‫‪ -‬تقوم بوصف الكيانات‪ ،‬نوع البيانات‪ ،‬العالقات‪ ،‬القيود و كذلك العمليات التي يعرفها المستخدم‬

‫‪-‬يمكن استخدام ‪ Conceptual data model‬أو ‪ Representation data model‬في بناء هذا‬
‫المستوي و يطلق عليه مرحلة التصميم‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .3‬المستوى الداخلي (‪:)Internal Level‬‬

‫‪ -‬وهو يحتوي علي المخطط الداخلي والذي يقوم بوصف التخزين الفعلي لقواعد البيانات وعملية إنشاء قاعدة‬
‫البيانات‪.‬‬

‫‪ -‬مرتبط باألجهزة و البرامج‬

‫‪ -‬هذا المخطط الداخلي يتم وصفه باستخدام نموذج (‪ )Physical Data Model‬الذي يركز على تمثيل‬
‫وإنشاء قواعد البيانات المصممة على جهاز الحاسب و يطلق عليه مرحلة التنفيذ‪.‬‬

‫ش كل يوضح الثالث‬
‫مستويات لمخططات‬
‫قواعد البيانات ‪The (:‬‬
‫‪Three-Schema‬‬
‫‪)Architecture‬‬

‫مالحظات علي الثالث مستويات لمخططات نظم قواعد البيانات‬

‫‪ -‬تعتبر طـريقة مناسبة وأداة سـهـلة للمستخدم ليفهم و يتخيل مسـتويات مخـططات البيانات داخل نظم قــواعد‬
‫البيـانات‬

‫‪ -‬معظم نظم إدارة قواعد البيانات ال تفصل تماما بين المستويات الثالث‬

‫‪ -‬تقوم نظم إدارة قواعد البيانات بتحويل المخططات بين المستويات الثالث وتحويل البيانات بين هذه‬
‫المستويات (‪)mapping‬‬

‫‪ -‬التحويل بين المخططات (‪ )mapping‬يعتبر عملية مستهلكة للوقت ولذلك فإن بعض نظم إدارة قواعد‬
‫البيانات ال تدعم المستوي الثالث (‪)External Level‬‬

‫‪ -‬معظم نظم إدارة قواعد البيانات تحتوي علي المستوي الثالث (‪ )External level‬د اخل المستوي الثاني‬
‫(‪)Conceptual level‬‬

‫‪ -‬بعض نظم إدارة قواعد البيانات تحتوي علي التفاصيل الفعلية (‪ )Physical details‬داخل المستوي‬
‫الثاني (‪)Conceptual level‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫استقاللية البيانات (‪)Data Independence‬‬

‫هي المقدرة علي تغيير مخطط البيانات في مستوي معين بدون وجوب تغير المخطط في المستويات‬ ‫‪‬‬
‫األخرى‬
‫عند تغيير المخطط في مستوى معين فإن الذي يتغير هو طرق التحويل (‪ )mapping‬بين‬ ‫‪‬‬
‫المستويات‬
‫يوجد نوعان من استقاللية البيانات و هما ‪:‬‬ ‫‪‬‬
‫‪ o‬االستقالل المنطقي (‪)Data Independence Logical‬‬
‫‪ o‬االستقالل الفعلي (‪)Data Independence Physical‬‬

‫االستقالل المنطقي (‪:)Data Independence Logical‬‬ ‫‪‬‬


‫هي المقدرة علي تغيير مخطط البيانات في المستوي الثاني (‪ )Level Conceptual‬بدون‬ ‫‪‬‬
‫الحاجة إلى تغيير المخطط في المستوي الثالث (‪ )Level External‬وكذلك بدون تغيير البرامج‬
‫التطبيقية‬
‫يكون التغيير في المستوي الثاني لكي تستوعب قواعد البيانات التغيرات التي قد تحدث في المخطط‬ ‫‪‬‬
‫نتيجة زيادة أو حذف عناصر بيانات‬
‫التطبيقات التي تتعامل مع العناصر التي تغيرت هي فقط التي يتم تعديلها أما باقي التطبيقات فال‬ ‫‪‬‬
‫تتغير‬

‫االستقالل الفعلي (‪:)Data Independence Physical‬‬ ‫‪‬‬


‫هي المقدرة علي تغيير مخطط البيانات في المستوي األول‪ ))Level Internal‬بدون الحاجة إلى‬ ‫‪‬‬
‫تغير المخطط في المستوي الثاني (‪)Level Conceptual‬‬
‫يكون التغيير في المستوي األول (‪ )Level Internal‬بسبب التغيرات التي قد تحدث نتيجة‬ ‫‪‬‬
‫استخدام أساليب جديدة في تنظيم الملفات من أجل تحسين أداء النظام‬
‫التطبيقات التي تتع امل مع العناصر التي تغيرت هي فقط التي يتم تعديلها أما باقي التطبيقات فال‬ ‫‪‬‬
‫تتغير‬

‫لغات نظم إدارة قواعد البيانات‬

‫لغة وصف البيانات (‪:)Definition Language DDL Data‬‬ ‫‪‬‬

‫‪ -‬تستخدم بواسطة مدير قواعد البيانات (‪ )DBA‬وكذلك مصمم قواعد البيانات لتعريف بناء قواعد البيانات‬

‫‪ -‬ي وجد مترجم للغة التعريف (‪ )DDL Compiler‬وذلك لترجمة هذه اللغة وإنتاج برامج يتم تنفيذها لتقوم بإنشاء‬
‫مخططات البيانات وتخزينها داخل فهرس قواعد البيانات (‪.)DB Catalog‬‬

‫لغة تعريف األشكال(‪:)Definition Language VDL View‬‬ ‫‪‬‬

‫تستخدم في بعض نظم إدارة قواعد البيانات التي ت ستخدم هيكل قواعد البيانات الثالثي بطريقة حقيقية وذلك‬
‫لتعريف مخطط البيانات في المستوي الخارجي (‪ )External Level‬النماذج ‪ Forms‬الرسومية ‪GUI‬‬
‫التفاعل من خالل القوائم ‪menu‬‬

‫لغة التعامل مع البيانات ( ‪:)Data Manipulation Language DML‬‬ ‫‪‬‬

‫تستخدم السترجاع وإدخال وحذف وتعديل البيانات‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مالحظات على لغات قواعد البيانات‬ ‫‪‬‬

‫‪ -‬نظم إدارة قواعد البيانات الحالية تستخدم لغة واحدة شاملة تحتوي علي لغات ‪DDL,VDL,DML‬‬

‫‪ -‬لغة االستفسار الهيكلية (‪ )SQL‬هي لغة تستخدم مع نموذج البيانات العالئقي و تحتوي علي لغات‬
‫‪ DDL,VDL,DML‬وكذلك الجمل الخاصة بتعديل مخطط البيانات‬

‫بيئة نظم قواعد البيانات‬

‫نظم إدارة قواعد البيانات هي نظم معقدة وتحتوي على العديد من الوحدات التي تدعم ما يحتاجه المستخدم من‬
‫وظائف ومنها ‪:‬‬

‫مترجم لغة تعريف البيانات (‪:)Compiler DDL‬‬ ‫‪‬‬

‫لترجمة تعريف مخطط البيانات والتأكد من صحته ثم تخزين هذا التعريف داخل فهرس النظام‬

‫منفذ قواعد البيانات (‪:)DB processor Run-Time‬‬ ‫‪‬‬

‫يقوم بالتعامل مع قواعد البيانات عند تشغيل أي أمر خاص بقواعد البيانات‬

‫مترجم لغة االستفسارات (‪:)Compiler Query‬‬ ‫‪‬‬

‫يتعامل مع االستفسارات عن طريق فهم األوامر وترجمتها ثم إرسالها إلى منفذ قواعد البيانات لتنفيذها‬

‫خدمات تقدمها نظم إدارة قواعد البيانات‬

‫تقوم بعض نظم إدارة قواعد البيانات بتقديم خدمات إضافية تساعد المستخدم في إدارة نظم قواعد البيانات‬
‫مثل ‪:‬‬

‫تحميل البيانات (‪:)Loading‬‬ ‫‪‬‬

‫وهي عبارة عن عملية تحويل البيانات الموجودة سابقا في النظم القديمة الى شكل مالئم للتصميم الجديد بدون‬
‫الحاجة الى إعادة إدخالها يدويا والذي يكون غير ممكن عمليا في كثير من الحاالت‪ .‬ويوجد بعض األدوات‬
‫المساعدة والتي تقوم بتحويل البيانات من الشكل القديم التي كانت عليه الى الشكل الجديد و المالئم لقواعد‬
‫البيانات المصممة حديثا‬

‫النسخ االحتياطية (‪:)Backup‬‬ ‫‪‬‬

‫عملية إنشاء نسخ احتياطية للبيانات الموجودة بهدف تأمين البيانات من األعطال التي قد تؤدي لضياعها‬

‫تنظيم الملفات (‪:)reorganization File‬‬ ‫‪‬‬

‫عملية إعادة تنظيم الملفات علي أسطوانات التخزين بهدف تحسين أداء النظام‬

‫مراقبة األداء (‪:)monitoring Performance‬‬ ‫‪‬‬

‫تست خدم لمراقبة وتسجيل أداء قواعد البيانات وبذلك تقدم لمدير قواعد البيانات (‪ )DBA‬اإلحصائيات الالزمة‬
‫لتحليل أداء النظام ودراسة كيفية تحسينه (بعض النظم تقدم أيضا حلول لرفع األداء)‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫أدوات تدعم عمل مستخدم قواعد البيانات‬

‫‪ ( tools CASE‬أدوات مساعدة هندسة النظم)‪:‬‬ ‫‪‬‬

‫‪ -‬تستخ دم في مراحل تصميم قواعد البيانات ويوجد العديد من األدوات التي تقوم بتنفيذ الكثير من المراحل‬
‫التي يمر بها تصميم النظام‪.‬‬

‫أدوات تطوير النظم ‪:‬‬ ‫‪‬‬

‫تستخدم عند تطوير نظم قواعد البيانات سواء أكانت لتصميم قواعد البيانات أو واجهات التعامل مع المستخدم‬
‫أو تعديل وإنشاء اال ستفسارات علي البيانات وكذلك أثناء إنشاء البرامج التطبيقية‪.‬‬

‫برامج االتصال عبر الشبكات ‪:‬‬ ‫‪‬‬

‫وتستخدم لتقديم إمكانية التعامل مع قواعد البيانات عبر الشبكات‬

‫تصنيف قواعد البيانات‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫المحذلرة الثذلثة" بعنوان‬

‫قواعد البيذنذت العالقية‬

‫‪Relational Databases‬‬

‫مبادئ قواعد البيانات العالقية‬

‫‪ -‬نظرا لقوة ()‪ )Relational Database Management System (RDMS‬أصبحت هي النوع‬


‫الوحيد المستخدم حاليا‪ ،‬لما تقدمه من قوه و كفاءة و أدوات مساعدة للمبرمجين‬

‫‪ -‬تعتمد قاعدة البيانات العالقية في تصميمها على المفاهيم الطبيعية الموجودة في بيانات نموذج العالم‬
‫المصغر الذي تمثله قاعدة البيانات‪.‬‬

‫‪ -‬أساس قواعد البيانات العالقية هو العالقات الرابطة بين البيانات و التي تعتبر الجزء األهم و الذي يمثل‬
‫اغلب التعامالت مع قاعدة البيانات‪.‬‬

‫مثال ‪ :‬نموذج قاعدة بيانات بسيطة (قاعدة بيانات لمستشفى)‬ ‫‪‬‬

‫‪ -‬نموذج قاعدة البيانات (‪ )Database Model‬هو نموذج يبين لنا صورة كاملة لنظام المعلومات و‬
‫الوظائف و القيود الموجودة داخل قاعدة البيانات و يركز على التكامل بين البيانات‪.‬‬

‫‪ -‬لتعريف قاعدة البيانات يجب تحديد تركيب السجالت التي يمكن تخزينها في كل ملف و تحديد األنو اع‬
‫المختلفة لعناصر البيانات‪.‬‬

‫‪ -‬كل سجل يحتوي على بيانات تمثل مثال رقم المريض و اسم المريض و الطبيب و الجنس و رقم الغرفة‬
‫( المثال السابق)‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ -‬يجب أن نحدد نوع البيانات لكل عنصر بيانات داخل السجل مثل ‪-:‬‬

‫اسم المريض سلسلة حروف‬ ‫‪o‬‬


‫رقم المريض يكون رقم صحيح‬ ‫‪o‬‬

‫‪ -‬يجب أن يكو ن هنالك رابط بين السجالت المختلفة حيث نجد معلومات عن مريض محدد مثال احمد في ملف‬
‫”مريض“ و معلومات عن الدواء و من يعالجه في ملفي ”دواء“ و ”يعالج بواسطة“‪.‬‬

‫‪ -‬الكثير من العالقات في قواعد البيانات تربط انواع مختلفة من السجالت مع بعضها البعض و يطلق عليها‬
‫العالقات الرابطة ”ٌ‪. “Relationships‬‬

‫‪ -‬كذلك تتضمن معالجة قواعد البيانات االستعالم و التعديل مثل ‪-:‬‬

‫استخرج أسماء المرضى الذين يعالجهم د‪ .‬عبدهللا‪.‬‬ ‫‪o‬‬


‫عدّل اسم المريض احمد إلى محمد‪.‬‬ ‫‪o‬‬

‫مقدار تشاركية العالقات – درجة العالقة‬

‫‪ o‬ارتباط الجداول والعالقات بعضها ببعض‪.‬‬


‫‪ o‬درجة العالقة إما ‪:‬‬

‫‪ -‬واحد ‪ -‬واحد مسافر ‪ -‬تذكرة‬

‫‪ -‬واحد – متعدد طالب – كتب مستعارة‬

‫‪ -‬متعدد – واحد مؤلفون ‪ -‬كتاب‬

‫‪ -‬متعدد – متعدد طالب – نشاطات‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مقدار تشاركية العالقات – درجة العالقة‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫درجة الجدول‬

Email : wael1554@gmail.com

facebook : www.facebook.com/wael.aedl ‫وائل عادل الصلوي‬: ‫اعداد الطالب‬


‫مفاهيم أساسية في قواعد البيانات العالقية‬

‫‪ -‬البيانات ”‪ : “Data‬هي أي حدوث للبيانات التي تصف أي كائن‬

‫‪ -‬البيانات الوصفية ”‪ : “Metadata‬هي البيانات التي تصف البيانات المخزنة وصفا دقيقا و يطلق عليها‬
‫‪Data about data‬‬

‫‪ -‬الكينونة ”‪ : “Entity‬هي وحدة معلومات تمثل فئة أو مجموعة من األشياء أو الكائنات أو األنشطة‪ ،‬هذه‬
‫الوحدة لها مواصفات (خصائص) تصفها و تخصصها و تعبر عن مجموعة الكائنات التي تنتمي إليها‪ ،‬هذه‬
‫المجموعة هي أمثلة أو حاالت أو نماذج أو كائنات تتبع هذا الكيان‪.‬‬

‫‪ -‬و في اغلب األحيان يكون اسم الكيان اسما مفردا‪.‬‬

‫‪ -‬أمثلة على الكيان من األمثلة السابقة ‪ :‬مريض ‪ ،‬دواء ‪ ،‬يعالج بـ ‪.‬‬

‫العالقة الرابطة“‪:“Relationships‬‬ ‫‪‬‬

‫‪ -‬هي العالقة التي تربط بين الكيانات و تمثل رابطة العالم المصغر الذي تمثله قاعدة البيانات‪.‬‬

‫‪ -‬تعبر العالقات الرابطة عن الروابط بين البيانات في الواقع و تمثل في اغلب األحوال بفعل مضارع أو فعال‬
‫مبني للمجهول‬

‫أمثلة على العالقات الرابطة‬ ‫‪‬‬

‫الكيان طالب و الكيان مدرس و مقرر دراسي يوجد بينهم عدة عالقات رابطه منها‬ ‫‪o‬‬

‫الطالب يدرس مقرر درسي‬ ‫‪‬‬


‫المدرس يُدرس المقرر الدراسي‪.‬‬ ‫‪‬‬
‫المدرس يُدرس الطالب المقرر الدراسي ‪.‬‬ ‫‪‬‬
‫المدرس يرشد الطالب إلى المقرر المناسب‪.‬‬ ‫‪‬‬
‫الطالب يُرشد بواسطة المدرس ‪.‬‬ ‫‪‬‬

‫‪ -‬الخاصية أو الحقل ”‪ : “Attribute‬هي صفه تصف كيان معين و قيمتها هي احد مكونات سجالت‬
‫البيانات مثل رقم الطالب و اسم الطالب في الجدول ( العالقة) طالب‪.‬‬

‫عنصر البيانات ”‪: “Item Data‬‬ ‫‪‬‬

‫هو اقل وحدة بيانات مثل قيمه مخصصة مثال رقم الطالب ‪ ، 0111‬اسم الطالب احمد حيث احمد و الرقم‬
‫‪ 0111‬هي عناصر بيانات‪.‬‬

‫عنصر بيانات مجمع ”‪: “aggregate Data‬‬ ‫‪‬‬

‫هو عنصر بيانات يتكون من عناصر بيانات بسيطة اصغر مثال اسم الطالب ( محمد احمد عبدهللا ) حيث‬
‫أن االسم هنا مجمع من ثالث بيانات اصغر هي االسم األول و اسم األب و العائلة‪.‬و يمكن تقسيمها إلى‬
‫ثالث حقول مختلفة تمثل جميعها االسم الكامل للطالب‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫سجل ”‪: “Record‬‬ ‫‪‬‬

‫هو تجميع لعناصر بيانات تمثل احد أمثلة أو حاالت كيان محدد ‪.‬مثال ‪:‬‬

‫‪ o‬كل طالب له ( اسم و رقم و تخصص )‬


‫‪ o‬وبالتالي مثال لسجل طالب ‪:‬‬
‫( احمد ‪ ، 0111 ،‬حاسوب )‬
‫( عبدهللا ‪ ، 0011 ،‬علوم )‬

‫كل قيمة من قيم السجل تمثل عناصر بيانات لخاصية من خواص الكيان‪.‬‬ ‫‪‬‬

‫المفتاح ”‪: “Key‬‬ ‫‪‬‬

‫هو خاصية واحدة أو ( عدة خصائص مجتمعه) من خصائص الكيان تستخدم الختيار سجل أو أكثر من‬
‫سجالت ذلك الكيان و يوجد منها ثالث أنواع ‪-:‬‬

‫المفتاح الرئيسي ”‪ : “Primary Key‬المفتاح األساسي لكيان هو احد خصائص هذا الكيان و قيمته‬
‫تكو ن وحيدة في كل سجل و ال تتكرر (‪ )Unique‬في أي سجل أخر من نفس الكيان ‪ ،‬و يجب كذلك أن‬
‫تحتوي على قيمة و ال يجوز تركها فارغة مثل رقم الطالب في جدول طالب ‪ ،‬حيث كل طالب يجب أن‬
‫يكون له رقم مختلف عن زمالئه ‪ ،‬و يوضع خط مستقيم أسفل الحقل للداللة على انه مفتاح رئيسي‪.‬‬

‫المفتاح األجنبي ”‪ :“Foreign Key‬هو عبارة عن خاصية عادية من ضمن خواص الكيان و موجودة‬
‫كخاصية مفتاح أساسي في كيان آخر ‪ ،‬نميز هذا المفتاح بوضع خط متقطع أسفل اسم الخاصية‪.‬‬

‫ليس بالضرورة أن يكون اسمي الحقلين متشابهين في الكيانين‬ ‫‪‬‬

‫المفتاح الخارجي يستخدم للربط بين الكيانات الستخراج بيانات ذات صلة بين كيانين مختلفين‪ ،‬مثل‬ ‫‪‬‬
‫استخراج اسم القسم و الكلية التي يدرس فيها الطالب‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫المفتاح الثانوي ”‪ :“Secondary Key‬هو أي خاصية يمكن استخدامها الختيار سجالت معينة من بين‬
‫السجالت الموجودة في الكيان‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مخططات قواعد البيانات (‪)Schemas‬‬

‫وصف قواعد البيانات يسمي ” مخطط قواعد البيانات“ (‪)Schema‬‬

‫يستخدم المخطط عند تصميم قواعد البيانات‬ ‫‪‬‬


‫هذا المخطط ال يتوقع تغيره بشكل تكراري‬ ‫‪‬‬
‫يتم عادة تمثيل هذا المخطط باستخدام شكل أو رسم هندسي‬ ‫‪‬‬
‫يوضح هذا المخطط بعض األشياء مثل أسماء السجالت وأسماء الحقول وقد ال تظهر فيه نوع‬ ‫‪‬‬
‫البيانات المستخدمة أو العالقات بين البيانات‬
‫يسمى هذا المخطط ”‪“Intension‬‬ ‫‪‬‬
‫هذا المخطط يتم تخزين وصفه داخل قواعد البيانات وهذا ما يعرف باسم ”‪“meta-data‬‬ ‫‪‬‬

‫مخطط لبيانات جامعة‬


‫(‪)Schema‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫"المحذلرة الرابعة" بعنوان‬

‫قواعد البيذنذت العالقية‬

‫‪Relational Databases‬‬

‫مقدار تشاركية العالقات – درجة العالقة‬

‫مفاهيم اساسية في قواعد البيانات العالقية‬

‫‪ .1‬البيانات ”‪ : “Data‬هي اي حدوث للبيانات التي تصف اي كائن‬


‫‪ .2‬البيانات الوصفيه ”‪ : “Metadata‬هي البيانات التي تصف البيانات المخزنه وصفا ً دقيقا ً و يطلق‬
‫عليها ‪about data Data‬‬

‫‪ .1‬الكينونه ”‪ : “Entity‬هي وحدة معلومات تمثل فئة او مجموعة من االشياء او الكائنات او االنشطة‪،‬‬
‫هذه الوحدة لها مواصفات (خصائص) تصفها و تخصصها و تعبر عن مجموعة الكائنات التي تنتمي‬
‫اليها‪ ،‬هذه المجموعه هي امثلة او حاالت او نماذج او كائنات تتبع هذا الكيان‪.‬‬

‫‪ .1‬و في اغلب االحيان يكون اسم الكيان اسما ً مفردا ً‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫امثلة على الكيان من االمثلة السابقة ‪ :‬مريض ‪ ،‬دواء ‪ ،‬يعالج بـ ‪.‬‬

‫‪ .1‬العالقة الرابطة“‪ :“Relationships‬هي العالقة التي تربط بين الكيانات و تمثل رابطة العالم‬
‫المصغر الذي تمثله قاعدة البيانات‪.‬‬

‫‪ .1‬تعبر العالقا ت الرابطة عن الروابط بين البيانات في الواقع و تمثل في اغلب االحوال بفعل م ضارع او‬
‫فعالً مبني للمجهول‬

‫‪ .1‬امثلة على العالقات الرابطة‬

‫‪ .1‬الكيان طالب و الكيان مدرس و مقرر دراسي يوجد بينهم عدة عالقات رابطه منها‬

‫‪ .1‬الطالب يدرس مقرر درسي‬

‫‪ .1‬المدرس يُدرس المقرر الدراسي‪.‬‬

‫‪ .1‬المدرس يُدرس الطالب المقرر الدراسي ‪.‬‬

‫‪ .1‬المدرس يرشد الطالب الى المقرر المناسب‪.‬‬

‫‪ .1‬الطالب يُرشد بواسطة المدرس ‪.‬‬

‫‪ .1‬الخاصية او الحقل ”‪ : “Attribute‬هي صفه تصف كيان معين و قيمتها هي احد مكونات سجالت‬
‫البيانات مثل رقم الطالب و اسم الطالب في الجدول ( العالقة) طالب‪.‬‬

‫‪ .1‬عنصر البيانات ”‪ :“Item Data‬هو اقل وحدة بيانات مثل قيمه مخصصة مثال رقم الطالب ‪، 1222‬‬
‫اسم الطالب احمد حيث احمد و الرقم ‪ 1222‬هي عناصر بيانات‪.‬‬

‫‪ .1‬عنصر بيانات مجمع ”‪ : “aggregate Data‬هو عنصر بيانات يتكون من عناصر بيانات بسيطة‬
‫اصغر مثال اسم الطالب (محمد احمد عبدهللا ) حيث ان االسم هنا مجمع من ثالث بيانات اصغر هي‬
‫االسم االول و اسم االب و العائله‪ .‬و يمكن تقسيمها الى ثالث حقول مختلفة تمثل جميها االسم الكامل‬
‫للطالب‪.‬‬

‫سجل ”‪ : “Record‬هو تجميع لعناصر بيانات تمثل احد امثلة او حاالت كيان محدد ‪.‬مثال ‪:‬‬

‫‪ .1‬كل طالب له ( اسم و رقم و تخصص )‬

‫‪ .1‬وبالتالي مثال لسجل طالب‪:‬‬


‫( احمد ‪ ، 1222 ،‬حاسوب )‬
‫( عبدهللا ‪ ، 0022 ،‬علوم )‬

‫‪ .1‬كل قيمة من قيم السجل تمثل عناصر بيانات لخاصية من خواص الكيان‪.‬‬

‫‪ .1‬المفتاح ”‪ : “Key‬هو خاصية واحدة او (عدة خصائص مجتمعه) من خصائص الكيان تستخدم‬
‫الختيار سجل او اكثر من سجالت ذلك الكيان و يوجد منها ثالث انواع‪-:‬‬

‫‪ .1‬المفتاح الرئيسي ”‪ :“Key Primary‬المفتاح االساسي لكيان هو احد خصائص هذا الكيان و قيمته‬
‫تكون وحيدة في كل سجل و ال تتكرر (‪ )Unique‬في اي سجل اخر من نفس الكيان ‪ ،‬و يجب كذلك‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫ان تحتوي على قيمة و ال يجوز تركها فارغه مثل رقم الطالب في جدول طالب ‪ ،‬حيث كل طالب‬
‫يجب ان يكون له رقم مختلف عن زمالئه ‪ ،‬و يوضع خط مستقيم اسفل الحقل للدالله على انه مفتاح‬
‫رئيسي‬

‫الكلية‬ ‫التخــــــــــصص‬ ‫اسم الطالب‬ ‫رقم الطالب‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫نماذج البيانات (‪)Data Models‬‬

‫‪ .1‬هو وصف للبيانات عن شاء او انشطة او احداث في مكان ما لجعل البيانات منظمة و مفهومة‪.‬‬

‫بناء البيانات هو تحديد نوع البيانات و العالقات بين البيانات والقيود المفروضة عليها‬ ‫‪‬‬

‫‪ .1‬يمكن أن يحتوي نموذج البيانات علي بعض العمليات األساسية (مثل كيفية تعديل أو استرجاع‬
‫البيانات)‬

‫في نظم البيانات الشيئية يمكن أن يحتوي النموذج علي مجم وعة من العمليات التي يعرفها المستخدم‬ ‫‪‬‬
‫علي البيانات‬

‫مخططات قواعد البيانات (‪)Schemas‬‬

‫وصف قواعد البيانات يسمي ” مخطط قواعد البيانات“ (‪)Schema‬‬

‫‪ .1‬يستخدم المخطط عند تصميم قواعد البيانات‬

‫‪ .1‬هذا المخطط ال يتوقع تغيره بشكل تكرارى‬

‫‪ .1‬يتم عادة تمثيل هذا المخطط باستخدام شكل أو رسم هندسي‬

‫‪ .1‬يوضح هذا المخطط بعض األشياء مثل أسماء السجالت وأسماء الحقول وقد ال تظهر فيه نوع البيانات‬
‫المستخدمة أو العالقات بين البيانات‬

‫‪ .1‬يسمى هذا المخطط ”‪“Intension‬‬

‫هذا المخطط يتم تخزين وصفه داخل قواعد البيانات وهذا ما يعرف باسم ”‪“meta-data‬‬ ‫‪‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫حاالت قواعد البيانات (‪)Instances‬‬

‫البيانات المتواجدة داخل قواعد البيانات في لحظة معينة تسمي ”حالة قواعد البيانات أو الوضع الحالي لقواعد‬
‫البيانات‬

‫(‪)Instance DB State or Current Set of Occurrence or‬‬

‫‪ .1‬يتم إنشاء الوضع االبتدائى لها عند إدخال البيانات ألول مرة ثم يتغير وضعها عند إجراء العمليات‬
‫المختلفة على البيانات (إضافة – حذف – تعديل)‬

‫تسمى حالة البيانات هذه ”‪“Extension‬‬ ‫‪‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫الروابط في قواعد البيانات العالقية‬

‫‪ .1‬ق واعد البيانات العالقية تركز بشكل اساسي على الروابط بين عناصر البيانات او بين الكيانات او‬
‫سجالت البيانات‪.‬‬

‫‪ .1‬اهم اسباب نجاح ق واعد البيانات العالقية هي تمثيلها للروابط المختلفة التي توفر امكانيات استعالم‬
‫سهلة و قوية‪.‬‬

‫نسبة المشاركة في العالقة الرابطة‬

‫‪ .1‬اي رابطة بين عناصر البيانات هي باالساس تربط عنصر بيانات معين اما بعنصر بيانات معين او بعدة‬
‫عناصر بيانات‪.‬‬

‫‪ .1‬العالقة الرا بطة بين الكيانات (او السجالت) هي باالساس تربط كيان بكيانات اخرى‪.‬‬

‫‪ )Cardinality( .1‬هو مفهوم يتحكم في الروابط و يعبر عن نسبة المشاركة العالقة او الرابطة بين عنصر و‬
‫اخر او كيان و اخر‪.‬‬

‫‪ .1‬تعني نسبة المشاركة عدد العناصر او السجالت المشاركة في العالقة الرابطة‪.‬‬

‫‪ .1‬تحدد ال كارديناليتي مفهومين مرافقين للعالقة الرابطة‪-:‬‬

‫‪ .1‬اختياري ‪ :‬اي انه يمكن ان تكون المشاركة صفر او اكثر‪.‬‬

‫‪ .1‬اجباري‪ :‬اي انه البد ان تكون هنالك المشاركة بعنصر واحد على االقل او اكثر‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .1‬انواع الروابط بين عناصر البيانات‬

‫‪ .1‬ر‬

‫‪1‬‬

‫ابطة واحدة ‪ : Association One‬رابطة بين عنصرين تع ني ان كل عنصر بيانات من خاصية ما‬
‫يقابلها عنصر بيانات واحد من العنصر الثاني (كل رقم طالب يقابله اسم طالب واحد )‬

‫‪1:1‬‬

‫‪ .1‬رابطة متعددة ‪ : Association Many‬رابطة بين عنصرين تعني ان كل عنصر بيانات من‬
‫خاصية ما يقابلها عناصر بيانات متعددة من العنصر الثاني (كل رقم طالب يقابله اكثر من مقرر مادة‬
‫)‬

‫‪1‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫المحذلرة الخذمسة‬

‫مبذدئ قواعد البيذنذت العالقية‬

‫‪Fundamentals of Relational Databases‬‬

‫تصميم نمو ج الكيذن والعالقة الرابطة‬

‫)‪Design of Entity-Relationship Diagram (ERD‬‬

‫عناصر المحاضرة‬ ‫‪.1‬‬


‫انواع العالقات الرابطة بين الكيانات (السجالت)‬ ‫‪.2‬‬
‫درجة العالقة الرابطة بين السجالت (الكيانات)‬ ‫‪.3‬‬
‫النموذج العالقي (‪)Model Relational‬‬ ‫‪.4‬‬
‫نموذج الكيان و العالقة الرابطة (‪)Relationship Model Entity‬‬ ‫‪.5‬‬
‫تصميم نموذج الكيان والعالقة الرابطة‬ ‫‪.6‬‬

‫انواع العالق ات الرابطة بين الكيانات ( السجالت)‬

‫‪ .1‬العالقات الرابطة بين الكيانات هي اهم ما يميز قاعدة البيانات العالقية ‪ ،‬حيث تتوقف قاعدة البيانات‬
‫التي نصممها و ننفذها بشكل كبير على انواع العالقات الرابطة‬

‫‪ .2‬تقسم الى ثالث انواع‪-:‬‬

‫‪ .1‬عالقة سجل واحد مع سجل واحد‬

‫‪ .1‬عالقة سجل واحد مع عدة سجالت‬

‫‪ .1‬عالقة عدة سجالت مع عدة سجالت‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫النموذج العالقي ( ‪) Relational model‬‬

‫‪ .1‬لبناء قواعد بيانات يفضل مبرمجو و مصممو قواعد البيانات استخدام نموذج البيانات العالقي‪ .‬هذا‬
‫النموذج مبني على العالقات بين الكيانات و البيانات‪.‬‬
‫‪ .2‬اغلب البرامج و النظم المستخدمة في مجال قواعد البيانات صممت لبناء هذا النوع‪.‬‬
‫‪ .3‬مميزات النموذج العالقي ‪ :‬يتميز النموذج العالقي عن غيره من نظم قواعد البيانات لالسباب التالية‪.‬‬

‫‪ .1‬له االدوات و الخ صائص التي تميزه عن غيره و الخاصه به‪.‬‬

‫‪ .1‬يمثل منطقيا ً كافة الكيانات و العالقات و خصائصها‪.‬‬

‫‪ .1‬يعد تطويرا ً و امتدادا ً لشكل ملف البيانات التقليدي‪.‬‬

‫‪ .1‬يستخدم المفاتيح االساسية و األجنبية للربط بين الكيانات‪.‬‬

‫‪ .1‬اعتمادا ً عليه بنيت خصائص قواعد البيانات التي تجعلها ال تتأثر بم شاكل الصيانه‪.‬‬

‫‪ .1‬يمكن تطبيق كافة العمليات الحسابية و المنطقية على مكوناته‪.‬‬

‫نموذج الكيان و العالقة الرابطة (‪)Entity Relationship Model‬‬

‫‪ .1‬احد اشهر و اهم طرق تمثيل و تصميم قواعد البيانات هو نموذج الكيان و العالقة الرابطة‬
‫‪.) Model ERD)Entity-Relationship Data(( .2‬‬

‫‪ .1‬نموذج ( ‪ )ERD‬هو النموذج الذي يتم استخدامه النشاء قواعد البيانات على الحاسب اآللي و له‬
‫قواعد و اشكال محددة تصف الكيانات الموجودة في تطبيق معين و العالقات الرابطة بين تلك‬
‫الكيانات و خصائصها و كذلك القيود المفروضة على كل منها‪.‬‬

‫‪ .1‬يمثل تصميم قاعدة البيانات‪.‬‬

‫‪ .1‬جميع اال شكال التي تم دراستها هي نماذج مبسطة من نماذج ( ‪)ERD‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫أسلوب تصميم نموذج الكيان والعالقة الرابطة‬

‫يتم تصميم قواعد البيانات باستخدام إحدى طريقتين‪:‬‬

‫‪ )1‬استخدام الرسم البياني للكيان والعالقة الرابطة (‪)Entity Relationshi diagram‬‬

‫‪)0‬تطبيع قواعد البيانات (‪)Database Normalization‬‬

‫‪ .1‬يتكون تصميم ‪ ERD‬من مجموعة من الكيانات (‪ )Entity‬تربط بعضها ببعض عالقات رابطة‬
‫(‪.)Relationship‬‬

‫السجالت التي تتبع الكيانات عبارة عن بيانات شبه ثابتة ‪،‬ونادرا ما تحتاج الى التعديل(‪Static‬‬ ‫‪‬‬
‫‪)Data‬‬

‫‪ .1‬يتم تحديد خصائص كل كيان‬

‫الخاصية التي تميز كل سجل يتبع الكيان وال تتكرر هي خاصية المفتاح الرئيسي(‪)Key Primary‬‬ ‫‪‬‬

‫‪ .1‬السجالت التي تصف العالقات الرابطة فهي عبارة عن بيانات تتجدد وتتغير وتضاف وتحذف بشكل‬
‫متواصل(‪.)Data Dynamic‬‬
‫‪ .2‬يجب تحديد لكل عالقة رابطة الخصائص التي تساعد على وصف العالقة الرابطة بين كل كيانين‬
‫‪ .3‬يجب تحديد نوع العالقة ‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .1‬واحد إلى واحد(‪)One-to-One‬‬

‫‪ .1‬واحد إلى كثير(‪)One-to-Many‬‬

‫كثير إلى كثير(‪)Many-to-Many‬‬ ‫‪‬‬

‫‪ .1‬يجب تحديد نسبة المشاركة (‪2‬أو‪)1‬‬

‫تطبيق قاعدة بيانات الكلية المصغر‬

‫‪ .1‬في قاعدة بيانات الكلية نهتم بـ ‪:‬‬

‫‪ .1‬تخزين بيانات الطلبة(الرقم الجامعي‪ ،‬االسم‪ ،‬العنوان‪ ،‬التخصص)‬


‫‪ .2‬بيانات المقررات التي يسجلها الطالب( رمزالمقرر‪،‬اسم المقرر‪ ،‬عدد الساعات المعتمدة‪،‬العام الدراسي‪،‬‬
‫الفصل الدراسي‪ ،‬العالمة)‬

‫بيانات أعضاء هيئة التدريس(الرقم‪،‬االسم‪،‬الهاتف‪ ،‬القسم ‪ ،‬المقررات)‬ ‫‪‬‬

‫‪ .1‬التصميم ‪:‬‬

‫‪ .1‬الكيانات ‪ :‬هي وحدة معلومات لها خصائص تصفها تخصهاوانها تكون أسماء‪.‬وقد تم تحديد الكيانات‬
‫التالية‪:‬‬

‫‪ .1‬الطالب ‪،‬وخصائصه هي‪( :‬رقم الطالب‪ ،‬االسم‪ ،‬العنوان‪ ،‬التخصص)‬

‫‪ .1‬المدرس‪،‬وخصائصه هي‪( :‬رقم المدرس‪ ،‬االسم‪،‬الهاتف‪،‬القسم)‬

‫‪ .1‬المقرر‪،‬وخصائصه هي‪( :‬رمز المقرر‪ ،‬اسم المقرر ‪،‬عدد الساعات المعتمدة )‬

‫مالحظة(‪:)1‬المعلومات المذكورة هي معلومات شبه ثابتة (‪)Static‬‬ ‫‪‬‬

‫‪ .1‬مالحظة(‪ :)0‬لم يتم ذكر معلومات عن المواد التي يدرسها الطالب في جدول الطالب‪ ،‬ولم يتم ذكر‬
‫معلومات عن المواد التي يدرسها المدرس في جدول المدرس ‪ ،‬ولم يتم ذكر معلومات الفصل الدراسي‬
‫في جدول المقرر‪ ،‬فهي كلها معلومات متغيرة (‪ )Dynamic‬ال تذكر في الكيانات‪.‬‬

‫‪ .1‬مالحظة (‪ :)3‬تم تحديد الصفة المميزة لكل كيان بوضع خط تحتها‪.‬‬


‫‪.2‬‬

‫‪ )0‬العالقات الرابطة ‪ :‬هي عبارة عن فعل يمثل العالقة بين كيان ونفسه‪ ،‬أو كيانين‪ ،‬أو ثالثة كيانات معا‪ .‬وقد‬
‫تم تحديد العالقات التالية‪:‬‬

‫‪ .1‬يُس ِ ّجل ‪:‬‬

‫‪ .1‬هي عالقة تربط الطالب بالمقررات التي يسجلها للدراسة‬

‫‪ .1‬لها الخصائص(الف صل الدراسي‪ ،‬العام الدراسي‪ ،‬العالمة)‬

‫كل طالب يمكنه تسجيل عدة مقررات‪،‬وكل مقرر يمكن ان يسجله اكثر من طالب‪ ،‬أي ان نوع العالقة‬ ‫‪‬‬
‫كثير إلى كثير(‪to – Many )M:N– Many‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫درس ‪:‬‬
‫‪ .1‬يُ ِ ّ‬

‫‪ .1‬هي عالقة تربط عضو هيئة التدريس بالمقرر الدراسي‬

‫‪ .1‬لها الخصائص(الفصل الدراسي‪ ،‬العام الدراسي)‬

‫كل مدرس يمكنه تدريس عدة مقررات‪،‬وكل مقرر يمكن ان يدرسه اكثر من مدرس ‪ ،‬أي ان نوع‬ ‫‪‬‬
‫العالقة كثير إلى كثير(‪to – Many )M:N– Many‬‬

‫تطبيق قاعدة بيانات المستشفى المصغر‬

‫‪)1‬الكيانات‪:‬‬

‫‪ .1‬المريض (الرقم‪ ،‬االسم)‬


‫‪ .2‬الطبيب ( الرقم ‪ ،‬االسم‪ ،‬الهاتف‪ ،‬التخصص)‬
‫‪ .3‬الدواء ( الرقم ‪ ،‬االسم)‬

‫الغرفة ( الرقم ‪ ،‬الهاتف‪ ،‬عدد األسرة)‬ ‫‪‬‬


‫‪‬‬

‫‪ )0‬العالقات الرابطة ‪:‬‬

‫‪ .1‬يعالج ‪:‬‬

‫‪ .1‬عالقة رابطة بين الطبيب والمريض‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .1‬المريض يتبع دكتور واحد‪،‬اما الدكتور فيتبعه عدة مرضى ويمكن اال يتبعه أي مريض ‪،‬وبالتالي تكون‬
‫الكارديناليتي (‪)1:1‬من جهة الطبيب‪،‬و تكون الكارديناليتي (‪)N:2‬من جهة المريض‪ ،‬وعليه يكون نوع‬
‫العالقة واحد إلى كثير(‪)N:1‬‬

‫‪ .1‬ينام في ‪:‬‬

‫‪ .1‬عالقة رابطة بين المريض والغرفة‬

‫‪ .1‬كل غرفة يقيم فيها اكثر من مريض‪ ،‬أو ال يقيم فيها احد‪ ،‬لذلك فالكارديناليتي من جهة المريض هي‬
‫(‪)N:2‬‬

‫كل مريض يمكن ان ينام في غرفة واحدة‪ ،‬او ليتم تنويمه في حالة العيادة الخارجية‪ ،‬لذلك‬ ‫‪‬‬
‫فالكارديناليتي من جهة الغرفة هي (‪)2:1‬‬

‫نوع العالقة واحد إلى كثير (‪)N:1‬‬ ‫‪‬‬

‫‪ .1‬لها عالقة (تاريخ التنويم)‬

‫‪ .1‬يصرف ‪:‬‬

‫‪ .1‬عالقة رابطة بين المريض والدواء‬

‫‪ .1‬المريض يمكن ان يصرف اكثر من دواء او ال يصرف دواءا ‪ ،‬وبالتالي الكارديناليتي تكون (‪)N:2‬من‬
‫ناحية الدواء‬

‫‪ .1‬ك ل دواء يمكن صرفه من اكثر من مريض‪ ،‬ويمكن ان اليصرفه أي مريض ‪ ،‬وبالتالي الكارديناليتي‬
‫تكون (‪)N:2‬من ناحية المريض‬

‫وعليه يكون نوع العالقة كثير إلى كثير(‪)N:M‬‬ ‫‪‬‬

‫‪ .1‬هذه العالقة لها الخاصية (الكمية)‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫تطبيق اإلستعارة اإللكترونية‬

‫‪ .1‬الكيانات‪:‬‬

‫‪ .1‬المستعير (الرقم‪ ،‬االسم‪ ،‬العمل‪ ،‬جهة العمل‪ ،‬تاريخ الميالد)‬


‫‪ .2‬الكتاب ( الرقم‪ ،‬عنوان الكتاب‪ ،‬عدد الصفحات‪ ،‬دار النشر‪ ،‬سنة النشر)‬

‫المؤلف (اسم المؤلف‪،‬العنوان االلكتروني)‬ ‫‪‬‬

‫‪ .1‬يستعير‪:‬‬

‫‪ .1‬عالقة رابطة بين المستعير والكتاب‬

‫‪ .1‬لها الخصائص ( نوع االستعارة‪ ،‬مدة االستعارة‪ ،‬تاريخ االستعارة)‬

‫‪ .1‬يمكن ألي مستعير أن يستعير عدة كتب‪ ،‬وعلى االقل كتاب واحد‪،‬لذلك الكارديناليتي (‪)N:1‬من ناحية‬
‫الكتاب‬

‫‪ .1‬ي مكن ان يستعير الكتاب عدة مستعيرين‪،‬أوال احد ‪ ،‬لذلك تكون الكاردينالتي (‪)N:2‬من ناحية المستعير‪.‬‬

‫‪ .1‬هذه العالقة من النوع كثير إلى كثير(‪)N:M‬‬

‫‪ .1‬كُتِ َ‬
‫ب بواسطة‪:‬‬

‫‪ .1‬عالقة رابطة بين المؤلف والكتاب‬

‫‪ .1‬يمكن ألي مؤلف أن يكتب عدة كتب‪ ،‬وعلى االقل كتاب واحد‪،‬لذلك الكارديناليتي (‪)N:1‬من ناحية‬
‫الكتاب‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .1‬يمكن ان يشترك في تاليف اي كتاب عدة مؤلفين‪،‬أو على االقل مؤلف واحد ‪ ،‬لذلك تكون الكاردينالتي‬
‫(‪)N:1‬من ناحية المؤلف‪.‬‬

‫‪ .1‬هذه العالقة من النوع كثير إلى كثير (‪)N:M‬‬

‫المحذلرة السذدتسة‬

‫تصميم نمو ج الكيذن والعالقة الرابطة ‪ -‬تذبع‬

‫)‪Design of Entity-Relationship Diagram (ERD‬‬

‫عناصر المحاضرة ‪:‬‬

‫‪ .1‬المزيد من مكونات مخطط الكيان العالقة‬

‫الكيان‬ ‫‪.1‬‬
‫الصفة وانواعها‬ ‫‪.2‬‬
‫المفتاح الرئيسي والمفتاح الجزئي‬ ‫‪.3‬‬
‫الكيان الضعيف‬ ‫‪.4‬‬
‫العالقات و أنواع العالقات‬ ‫‪.5‬‬
‫أنواع القيود على العالقات‬ ‫‪.6‬‬

‫‪ .1‬مثال‪ (0‬مخطط الكيان العالقة لجامعة)‬

‫مثال‪ ( 0‬مخطط الكيان العالقة لشركة)‬ ‫‪‬‬

‫ما هو مخطط الكيان العالقة؟‬

‫هو نموذج عالي المستوي يقوم بعرض بناء البيانات‪ ،‬ويتم استخدام هذا النموذج أثناء مرحلة التصميم‬
‫المفاهيمي للنموذ ج األولى‪،‬وينتج عن ذلك النموذج األولي ‪ ،‬لقاعدة البيانات‪ ،‬والذي عن طريقه نقوم بتصميم‬
‫مخطط قاعدة البيانات‪ ،‬ويتم تمثيل بناءالبيانات والقيود المطلوبة عليها باستخدام أشكال رسومية سهلة ومحددة‪.‬‬

‫مكونات مخطط الكيان العالقة‬

‫‪ .1‬الكيان أو الكينونة(‪ :)Entity‬هو الوحدة األسا سية التي يتم تمثيلها بنموذج الكينونة‪/‬العالقة ويشير هذا‬
‫الكيان إلي “ شيء” حقيقي في الحياة سواء كان له وجود فعلي مثل (طالب – موظف – سيارة ‪... -‬‬
‫الخ) أو وجود منطقي مثل ( شركة – وظيفة – مقرر ‪ ...-‬الخ)‪.‬‬

‫‪ .1‬ويتم تمثيل الكيان باستخدام شكل مستطيل يكتب داخله اسم الكيان أو الكينونة‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .1‬الصفة (‪ :)Attribute‬هي صفة معينة تصف الكيان وتكون تابعة له في المخطط ‪ ،‬مثل اسم الموظف‬
‫‪ ،‬عمر الطالب‪ ،‬مرتب موظف‪ ،‬درجة طالب‪ ،‬عدد الساعات الدراسية لمقرر‪ ،‬الحظ أن كل صفة تتبع‬
‫كيانا معينا‪.‬‬

‫‪ .1‬الصفة يمكن أن تكون صفة بسيطة – أو صفة مركبة‬

‫‪ .1‬الصفة يمكن أن تكون أحادية القيمة – أو صفة متعددة القيم‬

‫‪ .1‬يوضع خط تحت اسم الصفة أو الصفات التي تمثل مفتاح الكيان‬

‫‪ .1‬الصفة المشتقة ‪ :‬وهي صفة بسيطة يمكن الحصول عليها من صفة بسيطة أخرى‪ ،‬مثل الصفة عمر‬
‫الطالب التي يمكن الحصول عليها من تأريخ الميالد‬

‫‪ .1‬يتم تمثيل الصفة باستخدام شكل بيضاوي ‪ ،‬والصفة متعددة القيم يتم تمثيلها بالشكل البيضاوي المزدوج‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫صفة المفتاح الرئيسي(‪ : )Primary Key Attribute‬هي تلك الصفة المميزة للكيان ‪ ،‬ويتم تمثيلها بشكل‬
‫بيضاوي مع خط تحت إسم الصفة‪ ،‬وقد يكون للكيان أكثر من صفة لتمثل معا المفتاح الرئيسي‬

‫صفة المفتاح الجزئي (‪ : )Partial Key Attribute‬هي تلك الصفة التي لم ترقى لتكون مميزة للكيان‬
‫‪،‬ولكنها صفة قد تساعد في تكوين صفة مميزة إذا تم ضمها إلى صفة مميزة من كيان آخر‪ ،‬ويتم تمثيلها بشكل‬
‫بيضاوي مع خط متقطع تحت إسم الصفة‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫الكيان الضعيف(‪ : )Weak Entity‬هو ذلك ا لكيان الذي ليس لديه مفتاح رئيسي يميز بياناته عن بعضها‬
‫البعض‪ ،‬وعادة ما يقترن الكيان الضعيف بكيان قوي عن طريق عالقة تعريف تقويه‪ ،‬ويتم تمثيل الكيان‬
‫الضعيف بمستطيل مزدوج‬

‫يرتبط المفتاح الجزئي بالكيان الضعيف‪ ،‬ليساعد فيما بعد بتكوين مفتاح رئيسي للكيان الضعيف‬

‫‪ .1‬يرتبط المفتاح الجزئي بالكيان الضعيف‪ ،‬ليساعد فيما بعد بتكوين مفتاح رئيسي للكيان الضعيف‪.‬‬

‫‪ .1‬العالقات(‪ :)Relation‬العالقة ( ‪ ) R‬بين مجموعة من الكيانات (‪ )En... ،E1,E2‬هي مجموعة‬


‫تمثل االرتباطات بين هذه الكيانات‪ ،‬كل وحدة في العالقة (‪ )R‬هي عبارة عن اتحاد أو ارتباط بين‬
‫الكيانات المرتبطة بهذه العالقة‪ ،‬بحيث أن هذه الوحدة تمثل بصف واحد من كل كيان مشارك في‬
‫العالقة‪.‬‬

‫‪ .1‬في نموذج الكيان‪ /‬العالقة‪ ،‬يجب أن يتم تمثيل المرجعية من كيان إلى كيان آخر‪ ،‬باستخدام “عالقة”‬
‫وليس كصفة في الكيان‬

‫‪ .1‬يتم تمثيل العالقة في نموذج الكينونة‪/‬العالقة باستخدام شكل المعين‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .1‬درجة العالقة ‪ :‬لكل عالقة درجة‪ ،‬وتتحدد هذه الدرجة بعدد الكيانات المرتبطة بهذه العالقة (ثنائية –‬
‫ثالثية ‪).... -‬‬

‫‪ .1‬نوع العالقة(‪ :)Ratio Cardinality‬المصطلح يعني نسبة االرتباط بين وحدات الكيان‪ ،‬التي‬
‫ترتبط بنفس العالقة‪ ،‬وفي العالقة الثنائية بين كيانين‪،‬‬
‫‪ .2‬نوع العالقة هو عدد الوحدات (‪ )Instances‬في العالقة التي يمكن أن يشترك فيها الكيان وهي ثالثة‬
‫أنواع‪:‬‬

‫‪ .1‬عالقة واحد‪ -‬الى‪-‬واحد ‪ )one-to-one(:‬وفيها ترتبط وحدة واحدة من الكيان األول بوحدة واحدة‬
‫من الكيان اآلخر على األكثر‪ ،‬ويرمز لها بالرمز‪1:1‬‬

‫‪ .1‬عالقة واحد‪ -‬الى‪-‬كثير ‪ )one-to-many( :‬وفيها يمكن أن ترتبط وحدة واحدة من أحد الكيانات‬
‫بأكثر من وحدة في الكيان اآلخر‪ ،‬والعكس غير صحيح‪ ،‬ويرمز لها بالرمز ‪N:1‬‬

‫‪ .1‬عالقة كثير‪ -‬الى‪-‬كثير ‪ )many-to-many( :‬وفيها يمكن أن ترتبط أكثر من وحدة من الكيان األول‬
‫بأكثر من وحدة في الكيان اآلخ ر‪ ،‬والعكس‪ ،‬أي يمكن ألي وحدة في الكيان اآلخر أن ترتبط بأي وحدة‬
‫في الكيان األول‪ ،‬ويرمز لها بالرمز ‪M:N‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


Email : wael1554@gmail.com

facebook : www.facebook.com/wael.aedl ‫وائل عادل الصلوي‬: ‫اعداد الطالب‬


‫‪ .1‬أنواع القيود على العالقات‪ : Constraints Relationship‬كما أوضحنا سابقا فالعالقات‬
‫تختلف فيما بينها‪ ،‬وكذلك شروط العالقة تختلف حسب طبيعة العالقة‪ ،‬وحسب الكيانات المرتبطة‪ ،‬وقيد‬
‫العالقة هو القيد الذي يعتمد على طبيعة اشتراك كيانين في عالقة ما‪ ،‬هل هو اشتراك كلي أم جزئي؟‪،‬‬
‫ويحدد نوع االشتراك ما إذا كان وجود الكيان يعتمد على كونه مرتبط بكيان آخر عن طريق العالقة‪.‬‬

‫‪ .0‬االشتراك الكلي ( ‪ :)Total participation‬نقول أن العالقة عالقة االشتراك الكلي ‪ ،‬إذا كان كل وحدة‬
‫في الكيان أألول يجب أن ترتبط بوحدة من الكيان اآلخر ضمن العالقة‪ ،‬يسمي هذا القيد بقيد “ارتباط الوجود“ ‪،‬‬
‫أي أن وجود وحدة من كيان ما يستلزم ارتباطها بوحدة من كيان آخر‪،‬ومثال ذلك كيان ( سجل االكاديمي) لطالب‬
‫في نظام معلوم ات الجامعة‪ ،‬إذ ال بد أن يرتبط أي قيد في السجل الطبي بطالب ما في كيان الطالب‪ ،‬وإال فال‬
‫معنى للعالقة هذه‪.‬‬

‫‪ .1‬ويتم تمثيل قيد االشتراك الكلي‪ ،‬برسم خط مزدوج‪ ،‬يربط الكيانات المرتبطة بهذه العالقة‪ ،‬من جهة‬
‫الكيان المعتمد على االشتراك الكلي‬

‫‪ .0‬االشتراك الجزئي (‪ :)Partial participation‬نقول أن العالقة عالقة اشتراك جزئي‪ ،‬إذا كانت بعض‬
‫الوحدات في الكيان المشترك بالعالقة ترتبط ببعض الوحدات في الكيان اآلخر ضمن العالقة‪ ،‬ويتم تمثيل قيد‬
‫االشتراك الجزئي برسم خط مفرد يربط الكيانات المرتبطة‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


0‫مثال‬

0‫مثال‬

Email : wael1554@gmail.com

facebook : www.facebook.com/wael.aedl ‫وائل عادل الصلوي‬: ‫اعداد الطالب‬


‫المحذلرة السذبعة‬

‫تصميم قواعد البيذنذت العالقية‬

‫‪Design of Relational Database‬‬

‫عناصر المحاضرة‬

‫‪ .1‬دورة حياة قاعدة البيانات ‪Life Cycle (DBLC) Database‬‬


‫‪ .2‬مخطط قواعد البيانات ‪Schema Database‬‬

‫التحويل من مخطط الكيان العالئقي إلى مخطط قواعد بيانات‬ ‫‪‬‬

‫تحويل الكيان‬ ‫‪.1‬‬


‫تحويل الصفة المركبة والصفة متعددة القيمة‬ ‫‪.2‬‬
‫تحوي الكيان الضعيف‬ ‫‪.3‬‬
‫تحويل العالقات‬ ‫‪.4‬‬

‫‪ .1‬مثال‪ (0‬مخطط الكيان العالقة لجامعة)‬

‫مثال‪ ( 0‬مخطط الكيان العالقة لشركة)‬ ‫‪‬‬

‫دورة حياة قاعدة البيانات )‪Database Life Cycle (DBLC‬‬

‫‪ .1‬إن عملية تطوير قاعدة البيانات تمر بمجموعة من المراحل‪،‬هذه المراحل المتتالية تسمى بدورة حياة‬
‫قاعدة البيانات‪.‬‬
‫‪ .2‬هذه المراحل أو دورة الحياة تمر بصورة متزامنة ضمن مراحل دورة حياة نظام المعلومات‪ ،‬كما‬
‫يوضح الشكل التالي‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫تتكون دورة حياة قاعدة البيانات من المراحل التالية ‪:‬‬

‫‪ .1‬تحديد المواصفات والمتطلبات الخاصة بقاعدة البيانات‪ ،‬وهي مرحلة جزئية ضمن جمع مواصفات‬
‫ومتطلبات نظام المعلومات في مرحلة التحليل‪.‬‬
‫‪ .2‬إعداد قاعدة البيانات األولية‪ ،‬وفيها يتم تصميم نموذج اولي للبيانات بواسطة مخططات الكيان‬
‫العالقة‪)E-RD (.‬‬
‫‪ .3‬تصميم قاعدة البيانات المنطقية‪ ،‬تحويل قاعدة البيانات األولية‪ ،‬أو مخطط الكيان‪/‬العالقة إلى مخطط‬
‫االسكيما ‪ ،‬وذلك ب إتباع قواعد التحويل‬

‫‪ .1‬تحسين قاعدة البيانات المنطقية‪ ،‬وذلك بتطبيق قواعد تطبيع البيانات ‪ Normalization‬التي تهدف‬
‫إلى تقليل تكرارية البيانات‪ ،‬من أجل رفع كفاءة قاعدة البيانات ما أمكن‪.‬‬

‫‪ .1‬تنفيذ قاعدة البيانات الفيزيائية ‪ database physical:‬وفي هذه المرحلة يتم كتابة أكواد إنشاء‬
‫قاعدة البيانات بلغة ‪ ، SQL‬ويحدد فيها بنية الجداول ونوع بيانات الحقول والمفاتيح االساسية واالجنبية‬
‫وباقي شروط تصميم قاعدة البيانات‪ ،‬ثم تنفيذ ذلك ضمن مدير قاعدة بيانات ‪ DBMS‬مناسب‪ ،‬مثل‬
‫‪))access, sqlserver, mysql …. etc ،oracle‬‬

‫مخطط قواعد البيانات ‪Database Schema‬‬

‫‪ .1‬مخطط قواعد البيانات‪ : Schema Database‬هو مخطط يصف قاعدة البيانات بشكل رسومي‬
‫تمهيدا لبنائه على شكل جداول في نظام إدراة قواعد بيانات ‪DBMS‬‬

‫‪ .1‬مخطط قواعد البيانات هو مخطط ينتج عن عملية إخضاع مخطط الكيان العالقة لخوارزمية‬
‫التحويل‪Algorithm Mapping‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .1‬لوصف مخطط قواعد البيانات ‪،‬نستخدم المصطلحات التالية ‪:‬‬

‫‪ .1‬العالقة (جدول السكيما) ‪ : relation‬أو يمكن أن نطلق عليها إسم الجداول ‪،‬وهي مكونات مخطط‬
‫قاعدة البيانات الناتجة من إجراء عمليات تحويل مخطط كينونة‪ -‬عالقة‪.‬‬

‫‪ .1‬الحقل ‪ : field‬هو العمود ‪ column‬الذي يشكل جزء من مكونات الجدول‪ ،‬ويتكون من مجموعة من‬
‫األعمدة أو الحقول التي تتميز بتجانس بيانات كل حقل‪ ،‬على أنه يمكن أن يكون نوع بيانات كل حقل‬
‫مختلفا عن بيانات النوع اآلخر‬

‫‪ .1‬السجل ‪ : Record‬هو الصف ‪ row‬الذي يمثل وحدة ‪ instance‬من وحدات الكيان‪ ،‬بعد تحويله‬
‫إلى جدول‪ ،‬ويتكون الصف من الخاليا الن اتجة عن تقاطعه مع األعمدة المكونة للجدول‪.‬‬
‫‪.2‬‬

‫‪ .1‬لوصف مخطط قواعد البيانات ‪،‬نستخدم المصطلحات التالية ‪:‬‬

‫‪ .1‬المفتاح الرئيسي ‪ Key(PK) Primary:‬هو حقل في جدول يتميز بأن قيمه وحيدة في جميع‬
‫صفوف الجدول‪ ،‬وتكون قيمته مميزة لكل صف عن أي صف آخر‪.‬‬

‫‪ .1‬المفتاح األجنبي ‪ key(FK) foreign:‬هو حقل موجود في جدول وهو ال يمثل واحدة من صفاته‪،‬‬
‫ولكنه يعتبر مفتاح أجنبيا ألنه يمثل جدوال آخر‪ ،‬ويجب أن يكون هو نفسه المفتاح الرئيسي في ذلك‬
‫الجدول‪ ،‬أو على األقل تكون قيمته وحيده ‪ value unique‬ويقوم المفتاح األجنبي بتمثيل العالقة‬
‫‪ relationship‬والربط بين جدولين‪.‬‬

‫التحويل من مخطط الكيان العالقة إلى مخطط قواعد بيانات‬


‫‪Mapping ERD to DB schema‬‬

‫تتم عملية تحويل مخطط ‪ ، ERD‬بتطبيق مجموعة من الخطوات البسيطة‪ ،‬تسمى خوارزمية‬
‫التحويل‪ ، Mapping Algorithm‬وتتكون هذه الخطوات من جميع الحاالت البسيطة المحتملة‪ ،‬التي قد تكون‬
‫موجودة ف ي النموذج األولى‪ ،‬ويتم تطبيق هذه الخوارزمية كاملة‪ ،‬مع تجاوز الحاالت التي لم تظهر في النموذج‬
‫األولي‬

‫خوارزمية التحويل (‪:)Mapping Algorithm‬‬

‫تحويل الكيانات العادية (القوية)‬ ‫‪‬‬


‫تحويل الكيانات الضعيفة‬ ‫‪‬‬
‫تحويل العالقات الثنائية من النوع‪1:1‬‬ ‫‪‬‬
‫تحويل العالقات الثنائية من النوع ‪N:1‬‬ ‫‪‬‬
‫تحويل العالقات الثنائية من النوع ‪N:M‬‬ ‫‪‬‬
‫تحويل الصفات متعددة القيم‬ ‫‪‬‬
‫تحويل العالقات فوق الثنائية‬ ‫‪‬‬

‫‪ 㿋‬تحويل أنواع الكيانات العادية ‪ :‬يتم هنا تحويل جميع الكيانات العادية‪ ،‬أي الكيانات غير الضعيفة‪ ،‬بإنشاء‬
‫جدول يتكون من الحقول التي تقابل صفات ذلك الكيان‪ .‬ويتم تحديد أحد مفاتيح الكيان‪ ،‬وتسميته بالمفتاح‬
‫الرئيسي )‪ primary key(PK‬وإذا كانت الصفة التي تمثل المفتاح من النوع المركب فإن المفتاح‬
‫الرئيسي سيكون مجموعة الحقول التي تنشأ من الصفة المركبة‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ 㿖‬تحويل الكيانات الضعيفة ‪ :‬يتم تحويل كل واحدة من الكيانات الضعيفة‪ ،‬بإنشا ء جدول يتكون من الحقول التي‬
‫تقابل صفات ذلك الكيان‪ ،‬كما يجب إضافة المفتاح الرئيسي للكيان القوي الذي يتبعه ذلك الكيان‬
‫الضعيف‪ ،‬ويكون المفتاح الرئيسي ‪ PK‬للجدول الجديد‪ ،‬عبارة عن مفتاح مركب مكون من المفتاح‬
‫األجنبي ‪ FK‬باإلضافة إلى المفتاح الجزئي (‪ )Partial Key‬الخاص به‪.‬‬

‫‪ 㿡‬تحويل العالقات الثنائية من النوع (‪ :)0:0‬إذا كانت العالقة بين الكيانين عالقة واحد‪-‬إلى‪-‬واحد فإن عملية‬
‫التحويل تتم وفق عدة خيارات أشهرها‪ ،‬خيار يسمى بطريقة المفتاح األجنبي‪ ،‬وفيه يتم إضافة المفتاح‬
‫الرئيسي ألحد الجدولين إلى الجدول اآلخر كمفتاح أجنبي ويف ضل أن يكون الجدول الذي يحتوي على‬
‫المفتاح األجنبي‪ ،‬هو الجدول الذي يكون نوع قيد اشتراكه في العالقة‪ ،‬من نوع (االشتراك الكلي)‬

‫‪ 㿬‬تحويل العالقات الثنائية من النوع (‪ :)N: 0‬يتم هنا إنشاء جدولين لتمثيل الكيانين المرتبطين‪ ،‬على أن يتم‬
‫تطبيق طريقة المفتاح األجنبي السابقة‪ ،‬وذلك بإضافة المفتاح الرئيسي للجدول من جهة العالقة (‪ )N‬إلى‬
‫الجدول اآلخر المرتبط بالعالقة ( ‪ ،㿋‬بغض النظر عن نوع قيد االشتراك‪.‬‬

‫‪ 㿷‬تحويل العالقات الثنائية من النوع (‪ :)N:M‬في هذا النوع من العالقات‪ ،‬يتم استحداث جدول جديد‪ ،‬فيكون‬
‫الناتج من هذه العالقة ثالثة جدا ول‪ ،‬جدولين لتمثيل الكيانين المرتبطين بالعالقة ويضم الجدول الثالث‬
‫حقلين كمفتاحين أجنبيين يمثالن المفتاحين الرئيسيين في الجدولين‪ ،‬ويمكن إضافة أي حقل آخر يكون له‬
‫مغزى‪ ،‬كأن تكون العالقة لها صفة بذاتها‪ ،‬فتتحول الصفة إلى حقل في الجدول الجديد‪.‬‬

‫‪ 䀂‬تحويل الصفات متعددة القيم ‪ :‬يتم في هذه الحالة‪ ،‬عادة‪ ،‬إنشاء جدول جديد يضم الصفة المتعددة القيم كحقل‪،‬‬
‫ويضاف إلى الجدول مفتاح أجنبي ‪ FK‬يكون ممثال للمفتاح الرئيسي في الجدول الناتج من الكيان الذي‬
‫يحتوي على الصفة متعددة القيم‪ .‬أما الصفات المركبة فتتحول إلى صفات بسيط‪ ،‬فحقول عادية كما‬
‫أوضحنا أعاله‪ ،‬والصفات ذات القيم المشتقة تلغى من الجدول‪ ،‬ألنها صفات قابلها لالشتقاق من صفات‬
‫أخرى‪ ،‬فال داعي لوجودها‬

‫‪ 䀍‬تحويل العالقات غير الثنائية‪ ،‬كالعالقة الثالثية وما فوقها ‪ :‬في حاالت نادرة تظهر لدينا عالقات معقدة‪،‬‬
‫كالعالقة الثالثية (بين ثالثة كيانات) و الرباعية وما فوقها‪ ،‬وتعالج هذه الحالة بطريقة معالجة الحالة‬
‫الخامسة (حالة تحويل العالقات الثنائية من النوع ((‪ N:M‬حيث يتم إنشاء جدول جديد‪ ،‬وإضافة المفاتيح‬
‫الرئيسية للجداول المشتركة‪ ،‬حسب عددها‪ ،‬إلى الجدول الجديد كمفاتيح أجنبية مكونة بمجموعها‪ ،‬مفتاحا‬
‫مركبا يمثل المفتاح الرئيسي للجدول‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫تمرين ‪ :‬حول كل من نماذج الكيان العالقة التاليين إلى ما يقابلهما من مخطط قواعد البيانات ‪Database‬‬
‫‪Schema‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مثال‪0‬‬

‫تحويل مخطط الكيان العالقة لجامعةإلى ما يقابله من مخطط قواعد البيانات (جداول)‬

‫نبدأ بتحويل الكيان العادي ‪:‬‬ ‫‪‬‬


‫يتم تمثيل الكيان العادي (القوي) بشكل المستطيل أحادي اإلطار‪ ،‬ويحتوي مخطط الكيان العالئقي‬ ‫‪‬‬
‫السابق على ثالث كيانات هي‪:‬‬

‫الطالب (‪)Student‬‬ ‫‪‬‬

‫المحاضر(‪)Instructor‬‬ ‫‪‬‬

‫المقرر(‪)Course‬‬ ‫‪‬‬

‫‪ .1‬وتتم عملية تحويل الكيانات القوية بتمثيل كل منها بجدول يحمل إسم الكيان ‪ ،‬ويحتوي حقوال تمثل‬
‫الصفات( تمثل الصفات بالشكل البيضاوي) المرتبطة(االرتباط يمثل بخط مستقيم) بالكيان‪.‬‬
‫‪ .2‬في حالة الصفة المركبة( شكل بيضاوي مرتبط باشكال بيضاوية جزئية) يتم أخذ األجزاء المكونة‬
‫للصفة المركبة‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .3‬يتم تجاهل الصفة المشتقة( تمثل بشكل بيضاوي متقطع االطار) بسبب القدرة على إشتقاقها بجملة‬
‫إستعالم‪.‬‬

‫أما الصفة متعددة القيمة( تمثل بشكل بيضاوي مزدوج اإلطار) فيتم إنشاؤها في جدول مستقل يحمل‬ ‫‪‬‬
‫إسم الكيان والصفة متعددة القيمة‪ ،‬ويحتوي حقوال تمثل الصفة متعددة القيمة وصفة المفتاح الرئيسي‬
‫للكيان‪.‬‬

‫نالحظ في هذا المثال أن كل الصفات من النوع البسيط‬

‫ويكون المفتاح الرئيسي (‪ )Primary Key‬للجدول هو مجموعة صفات المفتاح الرئيسي المرتبطة بالكيان‬

‫وينتج عن عملية التحويل الجداول التالية‪:‬‬


‫‪program‬‬ ‫‪name‬‬ ‫‪sid‬‬ ‫‪STUDENT‬‬

‫‪title‬‬ ‫‪dept‬‬ ‫‪name‬‬ ‫‪iid‬‬ ‫‪INSTRUCTOR‬‬

‫‪Credits‬‬ ‫‪syllabus‬‬ ‫‪title‬‬ ‫‪courseno‬‬ ‫‪COURSE‬‬

‫‪ .0‬تحويل الكيان الضعيف ‪:‬‬

‫يتم تمثيل الكيان الضعيف بشكل مستطيل مزدوج اإلطار‪ ،‬وسبب ضعف الكيان ‪ ،‬ينتج من عدم وجود صفة‬
‫مفتاح رئيسي له‪ ،‬ولكن يحتوي على صفة مفتاح جزئي‪ ،‬ولدينا في هذا المثال كيان ضعيف واحد هو‪:‬‬

‫كيان الشعب الفصلية المقترحة(‪)Course-Offerings‬‬

‫و يحتوي هذا الكيان على صفات المفتاح الجزئي التالية‪:‬‬

‫السنة(‪)Year‬‬ ‫‪‬‬
‫الفصل(‪)Semester‬‬ ‫‪‬‬

‫‪ .1‬رقم الشعبة(‪)Section-no‬‬

‫ويجب أن يرتبط الكيان الضعيف بكيان قوي بواسطة عالقة تعريف( تمثل عالقة التعريف بشكل معين مزدوج‬
‫اإلطار)‪ ،‬وذلك في سبيل تقوية الكيان الضعيف‪.‬‬

‫وتتم عملية تحويل ال كيان الضعيف بتحويله إلى جدول يحمل إسم الكيان الضعيف‪،‬ويحتوي حقوال من الصفات‬
‫المرتبطة به ‪ ،‬باالضافة إلى حقل المفتاح الرئيسي من جدول الكيان القوي المرتبط معه بعالقة تعريف‪،‬وفي حال‬
‫وجود أي صفة على عالقة التعريف‪ ،‬يتم تمثيلها بحقل في الجدول‪ .‬ويكون المفتاح الرئيسي للجدول هو مفتاح‬
‫الكيان القوي باإلضافة الى المفاتيح الجزئية في الكيان الضعيف‪.‬‬

‫وينتج عن عملية التحويل الجدول التالي‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وبذلك يرتبط جدول الشعب الفصلية المقترحة(‪ )Course-Offerings‬بجدول المقرر(‪ )Course‬بوجود‬
‫المفتاح األجنبي(‪)Foreign Key‬رقم المقرر (‪)courseno‬‬

‫تحويل مخطط الكيان العالقة لجامعةإلى ما يقابله من مخطط قواعد البيانات (جداول)‬

‫‪.3‬تحويل العالقات ‪:‬‬

‫يتم تمثيل العالقة بشكل معين أحادي اإلطار‬

‫في هذه الحالة يتم التعامل مع العالقة حسب نوعها كل على حده‪ ،‬حيث تصنف العالقات إلى األنواع التالية‪:‬‬

‫عالقة واحد إلى واحد (‪)Relationship One-to-One‬‬ ‫‪‬‬


‫عالقة واحد إلى كثير (‪)One-to-Many‬‬ ‫‪‬‬
‫عالقة كثير إلى كثير(‪)Many-to-Many‬‬ ‫‪‬‬

‫يتم تجاهل عالقة التعريف ( شكل معين مزدوج اإلطار) ‪ ،‬النه تم بناؤها مسبقا عند تحويل الكيان الضعيف‬

‫‪ .3‬أ) تحويل عالقة واحد إلى واحد ‪:‬‬

‫إذا كانت العالقة بين الكيانين عالقة واحد‪-‬إلى‪ -‬واحد فإن عملية التحويل تتم وفق عدة خيارات أشهرها‪ ،‬خيار‬
‫يسمى بطريقة المفتاح األجنبي‪ ،‬وفيه يتم إضافة المفتاح الرئيسي ألحد الجدولين إلى الجدول اآلخر كمفتاح أجنبي‬
‫ويفضل أن يكون الجدول الذي يحتوي على المفتاح األجنبي‪ ،‬هو الجدول الذي يكون نوع قيد اشتراكه في‬
‫العالقة‪ ،‬من نوع (االشتراك الكلي)‪ .‬وفي حال وجود صفة على العالقة يتم إضافتها كحقل إضافي مع المفتاح‬
‫األجنبي‪.‬‬

‫في هذا المثال التوجد عالقة من النوع واحد‪ -‬إلى‪ -‬واحد‬

‫‪.3‬ب) تحويل عالقة واحد إلى كثير ‪:‬‬

‫في هذه الحالة يتم أخذ نسخة من المفتاح الرئيسي من الجدول ذو طرف العالقة واحد ويتم إضافته كحقل مفتاح‬
‫أجنبي في جدول طرف العالقة كثير‪ .‬وفي حال وجود صفة على العالقة يتم إضافتها كحقل إضافي مع المفتاح‬
‫األجنبي‪.‬‬

‫في هذا المثال لدينا عالقة يُدرس(‪)teaches‬بين كيان المحاضر(‪ )Instructor‬وكيان الشعب الفصلية‬
‫المقترحة(‪،)Course-Offerings‬‬

‫في هذا المثال لدينا عالقة يُدرس(‪)teaches‬بين كيان المحاضر ( ‪ )Instructor‬وكيان الشعب الفصلية‬
‫المقترحة (‪.)Course-Offerings‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وعليه يتم أخذ المفتاح الرئيسي (‪ )iid‬من جدول ‪ Instructor‬كونه طرف العالقة واحد ‪ ،‬ويضاف كمفتاح‬
‫أجنبي في جدول ‪ ،course-offerings‬وبالتالي يتم تعديل جدول ‪ Course-Offerings‬ليصبح بالشكل‬
‫التالي‪:‬‬

‫وبذلك يرتبط جدول الشعب الفصلية المقترحة(‪ )Course-Offerings‬بجدول المحاضر ( ‪)Instructor‬‬


‫بوجود المفتاح األجنبي رقم المحاضر (‪)iid‬‬

‫‪.3‬ج) تحويل عالقة كثير إلى كثير ‪:‬‬

‫في هذا النوع من العالقات يتم إنشاء جدول جد يد يحمل إسم العالقة‪ ،‬وتكون حقوله هي حقول المفتاح الرئيسي‬
‫من كال الجدولين المشاركين في العالقة مكونة المفتاح الرئيسي للجدول الجديد‪ ،‬وفي حال وجود صفة على‬
‫العالقة يتم إضافتها كحقل إضافي في الجدول‬

‫في هذا المثال‪ ،‬يوجد لدينا عالقتين من نوع كثير إلى كثير‪ ،‬هما‪:‬‬

‫عالقة يُ سَ ِ لجل (‪)enrols‬‬ ‫‪‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫ينتج عن هذه العالقة الجدول التالي‪:‬‬
‫‪grade‬‬ ‫‪semester‬‬ ‫‪year‬‬ ‫‪secno‬‬ ‫‪courseno‬‬ ‫‪sid‬‬ ‫‪ENROLS‬‬

‫‪)0‬عالقة يتطلب (‪)Requires‬‬

‫وينتج عن هذه العالقة الجدول التالي‪:‬‬


‫‪prerequisiteno‬‬ ‫‪maincourseno‬‬ ‫‪REQUIRES‬‬

‫وبذلك يرتبط جدول يتطلب(‪ )Requires‬مع جدول المقرر(‪)course‬‬

‫وبذلك نكون قد أنشأنا مخطط قواعد البيانات الناتج عن التحويل للمثال رقم (‪ ،)0‬وهو على الشكل‬ ‫‪‬‬
‫التالي ‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫نالحظ االرتباط الوثيق بين جداول قاعدة البيانات‪ ،‬فال يجوز أن يكون هناك جدول دون عالقة بباقي‬ ‫‪‬‬
‫الجداول‪ ،‬أو بمعزل عن الجداول األخرى في قاعدة البيانات‬

‫نبدأ بتحويل الكيان العادي ‪:‬‬ ‫‪‬‬

‫يحتوي مخطط الكيان العالئقي السابق على ثالث كيانات عادية هي‪:‬‬

‫الموظف (‪)Employee‬‬ ‫‪‬‬


‫القسم(‪)Department‬‬ ‫‪‬‬
‫المشروع(‪)Project‬‬ ‫‪‬‬

‫‪ .0‬أ) كيان الموظف (‪)Employee‬‬

‫نالحظ في هذا الكيان وجود صفة مركبة هي صفة اإلسم(‪)Name‬والتي تتكون من الصفات الجزئية االسم‬
‫األول (‪ ، )Fname‬و حرف االسم األوسط (‪ ، )Minit‬واالسم األخير (‪ .)Fname‬وكما اوضحنا سابقا ‪ ،‬فإن‬
‫الصفة المركبة في عملية التحويل تدرج بصفاتها الجزئية فقط‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وينتج عن عملية التحويل الجدول التالي‪:‬‬

‫‪.0‬ب) كيان القسم (‪)Department‬‬

‫نالحظ في هذا الكيان وجود صفة مشتقة هي عدد الموظفين (‪ ،)Number of employees‬وذكرنا سابقا‬
‫أننا في عملية التحويل نتجاه هذه الصفة ‪،‬ليتم بناؤها الحقا بجملة إستعالم‬

‫كما نالحظ وجود صفة متعددة القيمة وهي المواقع (‪ )locations‬وذكرنا سابقا أن الصفة متعددة القيمة يتم‬
‫تحويلها إلى جد ول مستقل مع المفتاح الرئيسي للكيان ‪،‬ويكون إسم الجدول مكون من إسم الكيان مضافا إليه إسم‬
‫الصفة متعددة القيمة‪.‬‬

‫وينتج عن عملية التحويل الجدولين التاليين‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪.0‬ج) كيان المشروع ‪:‬‬

‫هذا الكيان يحتوي على صفات بسيطة فقط‪،‬وبالتالي ينتج عن عملية التحويل الجدول التالي‪:‬‬
‫‪Location‬‬ ‫‪Name‬‬ ‫‪Number‬‬ ‫‪Project‬‬

‫‪.0‬تحويل الكيان الضعيف ‪:‬‬

‫في هذا المثال كيان ضعيف واحد هو‪:‬‬ ‫‪‬‬

‫كيان المعتمد على (‪ ، )Dependent‬حيث يصف هذا الكيان أفراد عائلة الموظف المعتمدين عليه في إعالتهم‪.‬‬

‫ويحتوي هذا الكيان على صفة المفتاح الجزئي اإلسم (‪،)Name‬التالية‪:‬‬

‫و يرتبط هذا الكيان الضعيف بكيان قوي هو كيان الموظف (‪ )Employee‬بواسطة عالقة التعريف يعتمد على‬
‫(‪.)Dependent_of‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وتتم عملية تحويل الكيان الضعيف بتحويله إلى جدول يحمل إسم الكيان الضعيف(‪،)Dependent‬ويحتوي‬
‫حقوال من الصفات المرتبطة به ‪ ،‬باالضافة إلى حقل المفتا ح الرئيسي من جدول الكيان القوي(‪)Employee‬‬
‫المرتبط معه بعالقة التعريف(‪ .)Dependent-of‬ويكون المفتاح الرئيسي للجدول هو مفتاحا للكيان‬
‫القوي(‪ )Empoyee-Ssn‬باإلضافة إلى المفتاح الجزئي في الكيان الضعيف (‪.)Dependent-Name‬‬

‫وينتج عن عملية التحويل الجدول التالي‪:‬‬

‫وبذلك يرتبط جدول (‪ )Dependent‬بجدول (‪ )Employee‬بوجود المفتاح األجنبي رقم الموظف‬


‫(‪.)Employee-Ssn‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪.0‬تحويل العالقات ‪:‬‬

‫‪ .3‬أ) تحويل عالقة واحد إلى واحد ‪:‬‬

‫في هذا المثال توجد عالقة من النوع واحد‪ -‬إلى‪ -‬واحد ‪،‬وهي عالقة (‪)Manages‬بين كيان‬
‫الموظف‪،‬وكيان القسم‪ ،‬والعالقة ذات إشتراك كلي من جهة القسم ‪ ،‬مع وجود الصفة‬
‫(‪ ) start_date‬على العالقة‪.‬‬

‫وبناءا علي النقطة السابقة ‪ ،‬يتم أخذ نسخة من المفتاح الرئيسي لجدول الموظف (‪،)Employee_Ssn‬‬
‫مضافا إليها الصفة على العالقة (‪ ،)start_date‬ووضعهما كتعديل على جدول القسم(‪،)department‬‬
‫ويف ضل إعادة تسمية المفتاح الرئيسي ليدل على العالقة وهي عالقة ادارة ‪ ،‬فهو مدير (‪ ،)Manager‬وبالتالي‬
‫بدال من التسمية ‪ Employee_Ssn‬تصبح التسمية ‪Manager_Ssn‬‬

‫وعليه يتم التعديل على جدول القسم(‪)Department‬ليصبح بالشكل التالي‪:‬‬


‫‪Start_date‬‬ ‫‪Manager-Ssn‬‬ ‫‪Name‬‬ ‫‪Number‬‬ ‫‪Department‬‬

‫وبذلك يرتبط جدول (‪ )Department‬بجدول (‪ )Employee‬بوجود المفتاح األجنبي رقم الموظف‬


‫(‪.)Employee-Ssn‬‬

‫‪.3‬ب) تحويل عالقة واحد إلى كثير ‪:‬‬

‫في هذا المثال لدينا ثالث عالقات من نوع واحد إلى كثير وهي‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪.1‬عالقة موظف يعمل في قسم(‪)Works_for‬‬

‫نتيجة لهذه العالق ة يتم التعديل على جدول الموظف(‪ )Employee‬ليحتوي على رقم‬
‫القسم(‪ )Department_Number‬الذي يعمل فيه‪ ،‬ليصبح جدول الموظف (‪ )Employee‬بالشكل التالي‪:‬‬

‫وعليه تتوثق العالقة بين جدول الموظف والقسم‪ ،‬بإضافة مفتاح أجنبي جديد‪ ،‬وهو رقم القسم في جدول‬
‫الموظف‪ ،‬كما يظهر في الشكل التالي‪:‬‬

‫‪)0‬عالقة قسم يتحكم بمشروع (‪)Controls‬‬

‫نتيجة لهذه العالقة يتم التعديل على جدول المشروع (‪ )Project‬ليحتوي على رقم‬
‫القسم(‪ )Department_Number‬الذي يتحكم في المشروع‪ ،‬ليصبح جدول المشروع (‪ )Project‬بالشكل‬
‫التالي‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪Department_Number‬‬ ‫‪Location‬‬ ‫‪Name‬‬ ‫‪Number‬‬ ‫‪Project‬‬

‫وعليه يرتبط جدول القسم بجدول المشروع بواسطة المفتاح األجنبي رقم القسم (‪)Department-Number‬‬
‫الذي تم إضافته إلى جدول المشروع ‪ ،‬كما يظهر في الشكل التالي‪:‬‬

‫‪)3‬عالقة إشراف موظف على موظف (‪:)Supervision‬‬

‫هذه العالقة هي عالقة أحادية ذات تغذية راجعة‪،‬أي عالقة كيان على نفسه‪.‬‬

‫ن تيجة هذه العالقة أن يتم إضافة حقل جديد هو حقل المشرف (‪،)Supervisor‬وهو حقل يعبر عن رقم‬
‫الموظف‪ ،‬مع إعطائه خصوصية كونه مشرفا على غيره من الموظفين‪.‬الحقل يتم إضافته إلى جدول الموظف‬
‫(‪ )Employee‬ليصبح بالشكل التالي‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪.3‬ج) تحويل عالقة كثير إلى كثير ‪:‬‬

‫في هذا المثال‪ ،‬يوجد لدينا عالقة واحدة من نوع كثير إلى كثير‪ ،‬هي عالقة موظف يعمل على مشروع‬
‫(‪)Works_on‬‬

‫وفي هذه الحالة يتم إنشاء جدول جديد تحت إسم العالقة (‪ ،)Works-on‬ونقوم بأخذ المفتاح الرئيس من كل‬
‫الجدولين ‪ ،‬الموظف (‪ )Employee‬والمشروع (‪ ،)Project‬باإلضافة إلى الصفة عدد الساعات (‪)Hours‬‬
‫المرتبطة بالعالقة‪ ،‬ويصبح لدينا الجدول التالي‪:‬‬

‫وبذلك يرتبط جدول الموظف (‪ )Employee‬وجدول المشروع (‪ )Project‬عن طرق الجدول الجديد‬
‫(‪ )Works_on‬عن طريق المفاتيح األجنبية رقم الموظف (‪ )Employee-Ssn‬من جدول‬
‫الموظف‪ ، Employee‬ورقم المشروع (‪ )Project-Number‬من جدول المشروع (‪)Project‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وبذلك نكون قد أنشأنا مخطط قواعد البيانات الناتج عن التحويل للمثال رقم (‪ ،)0‬وهو على الشكل التالي ‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫المحذلرة السذبعة – الجزء الثذني‬

‫تصميم قواعد البيذنذت العالقية‬

‫‪Design of Relational Database‬‬

‫عناصر المحاضرة‬

‫‪ .1‬دورة حياة قاعدة البيانات ‪Life Cycle (DBLC) Database‬‬


‫‪ .2‬مخطط قواعد البيانات ‪Schema Database‬‬

‫التحويل من مخطط الكيان العالئقي إلى مخطط قواعد بيانات‬ ‫‪‬‬

‫تحويل الكيان‬ ‫‪.1‬‬


‫تحويل الصفة المركبة والصفة متعددة القيمة‬ ‫‪.2‬‬
‫تحوي الكيان الضعيف‬ ‫‪.3‬‬
‫تحويل العالقات‬ ‫‪.4‬‬

‫‪ .1‬مثال‪ (0‬مخطط الكيان العالقة لجامعة)‬

‫مثال‪ ( 0‬مخطط الكيان العالقة لشركة)‬ ‫‪‬‬

‫مثال‪0‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫تحويل مخطط الكيان العالقة لشركة إلى ما يقابله من مخطط قواعد البيانات (جداول)‬

‫نبدأ بتحويل الكيان العادي ‪:‬‬

‫يحتوي مخطط الكيان العالئقي السابق على ثالث كيانات عادية هي‪:‬‬

‫الموظف (‪)Employee‬‬ ‫‪‬‬


‫القسم(‪)Department‬‬ ‫‪‬‬
‫المشروع(‪)Project‬‬ ‫‪‬‬

‫‪ .0‬أ) كيان الموظف (‪)Employee‬‬

‫نالحظ في هذا الكيان وجود صفة مركبة هي صفة اإلسم(‪ )Name‬والتي تتكون من الصفات الجزئية االسم‬
‫األول (‪ ، )Fname‬و حرف االسم األوسط (‪ ، )Minit‬واالسم األخير (‪ .)Fname‬وكما اوضحنا سابقا ‪ ،‬فإن‬
‫الصفة المركبة في عملية التحويل تدرج بصفاتها الجزئية فقط‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وينتج عن عملية التحويل الجدول التالي‪:‬‬
‫‪Sex‬‬ ‫‪Salary‬‬ ‫‪Address‬‬ ‫‪Bdate‬‬ ‫‪Lname‬‬ ‫‪Minit Fname Ssn EMPLOYEE‬‬

‫‪.0‬ب) كيان القسم (‪)Department‬‬

‫نالحظ في هذا الكيان وجود صفة مشتقة هي عدد الموظفين (‪ ،)Number of employees‬وذكرنا سابقا‬
‫أننا في عملية التحويل نتجاه هذه الصفة ‪،‬ليتم بناؤها الحقا بجملة إستعالم‬

‫كما نالحظ وجود صفة متعددة القيمة وهي المواقع (‪ )locations‬وذكرنا سابقا أن الصفة متعددة القيمة يتم‬
‫تحويلها إلى جدول مستقل مع المفتاح الرئيسي للكي ان ‪،‬ويكون إسم الجدول مكون من إسم الكيان مضافا إليه إسم‬
‫الصفة متعددة القيمة‪.‬‬

‫وينتج عن عملية التحويل الجدولين التاليين‪:‬‬

‫‪.0‬ج) كيان المشروع ‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫هذا الكيان يحتوي على صفات بسيطة فقط‪،‬وبالتالي ينتج عن عملية التحويل الجدول‬

‫التالي‪:‬‬
‫‪Location‬‬ ‫‪Name‬‬ ‫‪Number‬‬ ‫‪Project‬‬

‫‪.0‬تحويل الكيان الضعيف ‪:‬‬

‫في هذا المثال كيان ضعيف واحد هو‪:‬‬

‫كيان المعتمد على (‪ ، )Dependent‬حيث يصف هذا الكيان أفراد عائلة الموظف المعتمدين عليه في إعالتهم‪.‬‬

‫ويحتوي هذا الكيان على صفة المفتاح الجزئي اإلسم (‪،)Name‬التالية‪:‬‬

‫و يرتبط هذا الكيان الضعيف بكيان قوي هو كيان الموظف (‪ )Employee‬بواسطة عالقة التعريف يعتمد على‬
‫(‪.)Dependent_of‬‬

‫وتتم عملية تحويل الكيان الضعيف بتحويله إلى جدول يحمل إسم الكيان الضعيف(‪،)Dependent‬ويحتوي‬
‫حقوال من الصفات المرتبطة به ‪ ،‬باالضافة إلى حقل المفتاح الرئيسي من جدول الكيان القوي(‪)Employee‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫المرتبط معه بعالقة التعريف(‪ .)Dependent-of‬ويكون المفتاح الرئيسي للجدول هو مفتاحا للكيان‬
‫القوي(‪ )Empoyee-Ssn‬باإلضافة إلى المفتاح الجزئي في الكيان الضعيف (‪.)Dependent-Name‬‬

‫وينتج عن عملية التحويل الجدول التالي‪:‬‬

‫وبذلك يرتبط جدول (‪ )Dependent‬بجدول (‪ )Employee‬بوجود المفتاح األجنبي رقم الموظف‬


‫(‪.)Employee-Ssn‬‬

‫‪.0‬تحويل العالقات ‪:‬‬

‫‪ .3‬أ) تحويل عالقة واحد إلى واحد ‪:‬‬

‫في هذا المثال توجد عالقة من النوع واحد‪ -‬إلى‪ -‬واحد ‪،‬وهي عالقة (‪)Manages‬بين كيان الموظف‪،‬وكيان‬
‫القسم‪ ،‬والعالقة ذات إشتراك كلي من جهة القسم ‪ ،‬مع وجود ال صفة (‪ ) start_date‬على العالقة‪.‬‬

‫وبناءا علي النقطة السابقة ‪ ،‬يتم أخذ نسخة من المفتاح الرئيسي لجدول الموظف (‪،)Employee_Ssn‬‬
‫مضافا إليها الصفة على العالقة (‪ ،)start_date‬ووضعهما كتعديل على جدول القسم(‪،)department‬‬
‫ويفضل إعادة تسمية المفتاح الرئيسي ليدل على الع القة وهي عالقة ادارة ‪ ،‬فهو مدير (‪ ،)Manager‬وبالتالي‬
‫بدال من التسمية ‪ Employee_Ssn‬تصبح التسمية ‪Manager_Ssn‬‬

‫وعليه يتم التعديل على جدول القسم(‪)Department‬ليصبح بالشكل التالي‪:‬‬


‫‪Start_date‬‬ ‫‪Manager-Ssn‬‬ ‫‪Name‬‬ ‫‪Number‬‬ ‫‪Department‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وبذلك يرتبط جدول (‪ )Department‬بجدول (‪ )Employee‬بوجود المفتاح األجنبي رقم الموظف‬
‫(‪.)Employee-Ssn‬‬

‫‪.3‬ب) تحويل عالقة واحد إلى كثير ‪:‬‬

‫في هذا المثال لدينا ثالث عالقات من نوع واحد إلى كثير وهي‪:‬‬

‫‪.1‬عالقة موظف يعمل في قسم(‪)Works_for‬‬

‫نتيجة لهذه العالقة يتم التعديل على جدول الموظف(‪ )Employee‬ليحتوي على رقم‬
‫القسم(‪ )Department_Number‬الذي يعمل فيه‪ ،‬ليصبح جدول الموظف (‪ )Employee‬بالشكل التالي‪:‬‬

‫وعليه تتوثق العالقة بين جدول الموظف والقسم‪ ،‬بإضافة مفتاح أجنبي جديد‪ ،‬وهو رقم القسم في جدول‬
‫الموظف‪ ،‬كما يظهر في الشكل التالي‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪)0‬عالقة قسم يتحكم بمشروع (‪)Controls‬‬

‫هذه العالقة هي عالقة أحادية ذات تغذية راجعة‪،‬أي عالقة كيان على نفسه‪.‬‬

‫نتيجة هذه العالقة أن يتم إضافة حقل جديد هو حقل المشرف (‪،)Supervisor‬وهو حقل يعبر عن رقم‬
‫الموظف‪ ،‬مع إعطائه خصوصية كونه مشرفا على غيره من الموظفين‪.‬الحقل يتم إضافته إلى جدول الموظف‬
‫(‪ )Employee‬ليصبح بالشكل التالي‪:‬‬

‫‪.3‬ج) تحويل عالقة كثير إلى كثير ‪:‬‬

‫في هذا المثال‪ ،‬يوجد لدينا عالقة واحدة من نوع كثير إلى كثير‪ ،‬هي عالقة موظف يعمل على مشروع‬
‫(‪)Works_on‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫وفي هذه الحالة يتم إنشاء جدول جديد تحت إسم العالقة (‪ ،)Works-on‬ونقوم بأخذ المفتاح الرئيس من كل‬
‫الجدولين ‪ ،‬الموظف (‪ )Employee‬والمشروع (‪ ،)Project‬باإلضافة إلى الصفة عدد الساعات (‪)Hours‬‬
‫المرتبطة بالعالقة‪ ،‬ويصبح لدينا الجدول التالي‪:‬‬

‫وبذلك يرتبط جدول الموظف (‪ )Employee‬وجدول المشروع (‪ )Project‬عن طرق الجدول الجديد‬
‫(‪ )Works_on‬عن طريق المفاتيح األجنبية رقم الموظف (‪ )Employee-Ssn‬من جدول‬
‫الموظف‪ ، Employee‬ورقم المشروع (‪ )Project-Number‬من جدول المشروع (‪)Project‬‬

‫وبذلك نكون قد أنشأنا مخطط قواعد البيانات الناتج عن التحويل للمثال رقم (‪ ،)0‬وهو على الشكل التالي ‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫المحذلرة رقم (‪)8‬‬

‫تصميم قواعد البيذنذت العالقية‬

‫‪Design of Relational Database‬‬

‫عناصر المحاضرة‬

‫تحسين قواعد البيانات‬ ‫‪.1‬‬


‫مفهوم العالقة الرابطة ‪ISA‬‬ ‫‪.2‬‬
‫تصميم قواعد البيانات من مستندات‬ ‫‪.3‬‬
‫البيانات الغير ممثلة في قواعد البيانات‬ ‫‪.4‬‬

‫تحسين قواعد البيانات‬


‫يمكن العمل على تحسين قواعد البي انات باستخدام ما يعرف بتطبيع قواعد البيانات ‪Database‬‬
‫‪ ، Normalization‬والذي يستخدم إلزالة عيوب البيانات المخزنة‪ ،‬والوصول إلى مخطط قواعد بيانات‬
‫متين‪،‬‬

‫و يتم تطبيق التطبيع على أربعة مراحل متتالية هي‪:‬‬

‫شكل التطبيع األول (‪)Normalization Form First‬‬ ‫‪.1‬‬


‫شكل التطبيع الثاني (‪)Normalization Form Second‬‬ ‫‪.2‬‬
‫شكل التطبيع الثالث (‪)Normalization Form Third‬‬ ‫‪.3‬‬
‫شكل التطبيع الرابع (‪)Normalization Form Fourth‬‬ ‫‪.4‬‬
‫ونكتفي هنا بذكرها دون الخوض في تفاصيلها‬ ‫‪.5‬‬

‫مفهوم العالقة الرابطة ‪ISA‬‬

‫‪ .1‬هي عالقة بين كيانين ‪،‬أحدهما طبقة أعلى(أصل أو أب)‪ ،‬واألخرى طبقة أسفل (فرع أو إبن)متفرعة‬
‫من الطبقة األصل‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪ .2‬عملية تحويل العالقة ‪ ISA‬تختلف ‪ ،‬فهي تربط كيان الفرع بكيان األصل بإستخدام المفتاح الرئيسي‬
‫في كيان األصل‪ ،‬مكونة بذلك جدوال جديدا لكل كيان فرع مكون من حقل المفتاح الرئيسي من من‬
‫كيان األصل مضاف إليه خواص كيان الفرع‪.‬‬

‫‪ .1‬مثال‪:‬ينتج عن تحويل عالقة ‪ ISA‬في مخطط الكيان العالقة المقابل الجداول التالية‪:‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫تصميم قواعد البيانات من مستندات‬

‫إن عملية تمثيل البيانات من نماذج تم جمعها من موقع الدراسة او الحالة المراد بناء قواعد البيانات إليها‪،‬‬ ‫‪.1‬‬
‫قد تختلف‪ ،‬فمثال لو أخذنا بعين اإلعتبار الشكل التالي‪:‬‬
‫قيم محسوبة‬ ‫‪.2‬‬
‫قيم مستنتجة‬ ‫‪.3‬‬
‫سجالت من اكثر‬ ‫‪.4‬‬

‫من كيان‪...‬الخ‬

‫البيانات الغير ممثلة في قواعد البيانات‬

‫‪ .1‬البيانات التي ال يتم تسجيلها في قاعدة البيانات ‪:‬‬

‫‪ .1‬الشعارات او اسم الجهة صاحبة المستند‪.‬‬

‫‪ .1‬الرقم المسلسل‪ ،‬او رقم كل صفحة مطبوعةأو تاريخ الطباعة‬

‫‪ .1‬البيانات التي يمكن إشتقاقها أو حسابها من بيانات أخرى‬

‫‪ .1‬المالحظات والتوقيعات والتعليقات‬

‫مشاكل البيانات‬

‫‪ .1‬ذكرنا فيما سبق مشاكل ملفات البيانات‪ ،‬والتي هي على عالقة وطيدة بمشاكل البيانات‪ ،‬ونذكر منها‪:‬‬

‫‪ .1‬تكرار البيانات‬
‫‪ .2‬مشاكل إدخال البيانات‬
‫‪ .3‬مشاكل حذف البيانات‬

‫مشاكل التعديل والحذف للبيانات‬

‫‪ .1‬تكرار البيانات‬

‫‪ .1‬لنأخذ الجدول التالي‪:‬‬


‫‪#ST‬‬ ‫‪NAME ADDRESS‬‬ ‫‪#CRS‬‬ ‫‪TITLE HOURS‬‬ ‫‪#INST INAME‬‬ ‫‪DEPT GRADE‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS101‬‬ ‫‪Intro‬‬ ‫‪3‬‬ ‫‪7‬‬ ‫‪Ali‬‬ ‫‪CS‬‬ ‫‪A‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS102‬‬ ‫‪C‬‬ ‫‪4‬‬ ‫‪10 Jameel‬‬ ‫‪MATH‬‬ ‫‪B‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS103‬‬ ‫‪++C‬‬ ‫‪4‬‬ ‫‪0 Rashid‬‬ ‫‪CS‬‬ ‫‪+C‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS325‬‬ ‫‪DB1‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪Khalid‬‬ ‫‪CS‬‬ ‫‪+B‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫‪0 FAHAD‬‬ ‫‪QASSIM CS426‬‬ ‫‪DB2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪Tareq‬‬ ‫‪CS‬‬ ‫‪B‬‬

‫‪ .1‬نالحظ أن‪:‬‬

‫‪ .1‬بيانات الطالب تتكرر تخزينها مع تسجيله كل مقرر‬

‫‪ .1‬تتكرر بيانات كل مقرر مع كل طالب يسجل ذلك المقرر‬

‫‪ .1‬تتكر ر بيانات كل مدرس مع كل مقرر يسجله طالب ماينتج عن هذا التكرار مشاكل كثيرة مثل‪:‬‬

‫‪ .1‬استهالك حيز التخزين‪.‬‬

‫‪ .1‬زيادة وقت إدخال البيانات‬

‫‪ .1‬تضييع وقت القائمين على عملية اإلدخال‬

‫‪ .1‬ئؤثر على سرعة معالجة البيانات‪ ،‬واستهالك االجهزة‬

‫مشاكل إدخال البيانات‬

‫‪ .1‬تتعدد مشاكل إدخال البيانات ‪ ،‬فنظرة إلى الجدول التالي يظهر لنا المشاكل التالية‪:‬‬
‫‪#ST‬‬ ‫‪NAME ADDRESS‬‬ ‫‪#CRS‬‬ ‫‪TITLE HOURS‬‬ ‫‪#INST INAME‬‬ ‫‪DEPT GRADE‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS101‬‬ ‫‪Intro‬‬ ‫‪3‬‬ ‫‪7‬‬ ‫‪Ali‬‬ ‫‪CS‬‬ ‫‪A‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS102‬‬ ‫‪C‬‬ ‫‪4‬‬ ‫‪10 Jameel‬‬ ‫‪MATH‬‬ ‫‪B‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS103‬‬ ‫‪++C‬‬ ‫‪4‬‬ ‫‪0 Rashid‬‬ ‫‪CS‬‬ ‫‪+C‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS325‬‬ ‫‪DB1‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪Khalid‬‬ ‫‪CS‬‬ ‫‪+B‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS426‬‬ ‫‪DB2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪Tareq‬‬ ‫‪CS‬‬ ‫‪B‬‬

‫ال نستطيع إدخال بيانات أي مقرر لم يسجله طالب واحد على األقل‪.‬‬ ‫‪‬‬
‫اليمكننا ادخال بيانات مدرس لم يدرس مقرر درسه طالب واحد على االقل‬ ‫‪‬‬
‫عن د ادخال بيانات طالب جديد ‪ ،‬نضطر أن نترك معلومات المقرر والمدرس فارغا‬ ‫‪‬‬
‫بسبب ادخال بيانات معينة اكثر من مرة‪ ،‬فإنه يزيد امكانية حدوث إدخال خطأ للبيانات مما يسبب‬ ‫‪‬‬
‫تضارب في البيانات‪،‬بغض النظر كان الخطأ مقصودا أو ال‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫مشاكل الحذف للبيانات‬

‫عند حذف بيانات ما ‪ ،‬فان ذلك قد يؤثر على وجود بيانات أخرى‪.‬في الجدول التالي‪:‬‬
‫‪#ST‬‬ ‫‪NAME ADDRESS‬‬ ‫‪#CRS‬‬ ‫‪TITLE HOURS‬‬ ‫‪#INST INAME‬‬ ‫‪DEPT GRADE‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS101‬‬ ‫‪Intro‬‬ ‫‪3‬‬ ‫‪7‬‬ ‫‪Ali‬‬ ‫‪CS‬‬ ‫‪A‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS102‬‬ ‫‪C‬‬ ‫‪4‬‬ ‫‪10 Jameel‬‬ ‫‪MATH‬‬ ‫‪B‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS103‬‬ ‫‪++C‬‬ ‫‪4‬‬ ‫‪0 Rashid‬‬ ‫‪CS‬‬ ‫‪+C‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS325‬‬ ‫‪DB1‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪Khalid‬‬ ‫‪CS‬‬ ‫‪+B‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS426‬‬ ‫‪DB2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪Tareq‬‬ ‫‪CS‬‬ ‫‪B‬‬

‫‪ .1‬عند حذف بيانات طالب وحيد في مقرر ما‪،‬يتم حذف بيانات المقرر نهائيا ونفقد بياناته‬

‫‪ .1‬عند حذف بيانات مدرس يدرس مقرر يحتوي على طالب وحيد‪ ،‬نفقد معلومات الطالب‬

‫‪ .1‬عند حذف سجل طالب أو مقرر أو مدرس ‪ ،‬فإنه يجب علينا فعل ذلك في سجال أخرى متعلقة بنفس‬
‫المحذوف‪ ،‬األمر الذي قدننساه أو النستطيع حذفه‬

‫مشاكل التعديل للبيانات‬

‫‪ .1‬التعديل في بيانات سجل ما قد يخلق تضاربا مع معلومات سجل آخر‪ ،‬من الجدول التالي‪:‬‬

‫‪#ST‬‬ ‫‪NAME ADDRESS‬‬ ‫‪#CRS‬‬ ‫‪TITLE HOURS‬‬ ‫‪#INST INAME‬‬ ‫‪DEPT GRADE‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS101‬‬ ‫‪Intro‬‬ ‫‪3‬‬ ‫‪7‬‬ ‫‪Ali‬‬ ‫‪CS‬‬ ‫‪A‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS102‬‬ ‫‪C‬‬ ‫‪4‬‬ ‫‪10 Jameel‬‬ ‫‪MATH‬‬ ‫‪B‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS103‬‬ ‫‪++C‬‬ ‫‪4‬‬ ‫‪0 Rashid‬‬ ‫‪CS‬‬ ‫‪+C‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS325‬‬ ‫‪DB1‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪Khalid‬‬ ‫‪CS‬‬ ‫‪+B‬‬

‫‪0 FAHAD‬‬ ‫‪QASSIM CS426‬‬ ‫‪DB2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪Tareq‬‬ ‫‪CS‬‬ ‫‪B‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫عند تعديل بيانات مقرر أو طالب أو مدرس‪ ،‬يجب أن نجري نفس التعديالت في كافة مواضع تخزين تلك‬
‫البيانات‬

‫ربما يحدث خطأ في تعديل البيانات في موضع تخزينمعين دون مواضع أخرى سهوا أو عمدا‪ .‬ينتج عن ذلك عد‬
‫توافقية البيانات موضوع التعديل‬

‫أسباب فقد البيانات‬

‫‪ .1‬فقد البيانات أو ضياعها يحدث نتيجة أسباب كثيرة‪ ،‬نذكر منها‪:‬‬

‫‪ .1‬خطأ بشري في إدخال بيانات غير سليمة‬

‫‪ .1‬عدم إكتمال تنفيذ بعض العمليات التي تجرى على البيانات‬

‫‪ .1‬تعطل نظم البرامج‬

‫‪ .1‬تعطل األجهزة‬

‫‪ .1‬تعطل خطوط نقل البيانات(ال شبكات)‬

‫‪ .1‬فيروسات الحاسب‬

‫‪ .1‬كوارث طبيعية‬

‫إمكانية إستعادة البيانات‬

‫‪ .1‬يوفر نظام إدارة قواعد البيانات (‪ )DBMS‬عدة تقنيات لمواجهة مشاكل فقد البيانات‪ ،‬واستعادتها الى‬
‫الحالة السابقة للفقد أو الخطأ مباشرة‪.‬‬
‫‪ .2‬من االمكانيات المتاحة لالستعادة نذكر‪:‬‬

‫النسخ االحتياطي(‪:)Backup‬يوفر ‪DBMS‬إجراءا آليا لعمل نسخة احتياطية لكامل قاعدة البيانات‪.‬‬

‫مفكرة النظام(‪:)System Log‬وهي آلية يستخدمها ‪ DBMS‬لتسجيل كافة التعامالت مع قاعدة البيانات‬

‫نقط اإلختبار(‪ :)Check Point‬وهو سجل ينشئه ‪ DBMS‬ليسجل فيه عملية فحص للنظام‪ ،‬واعتبار عملية‬
‫الفحص الناجحة نقطة إسترجاع ممكنة‬

‫برنامج إدارة اإلستعادة(‪ :)Recovery Manager‬هو برنامج يقوم بإرجاع قاعدة البيانات إلى الحالة‬
‫السليمة عند حدوث األعطال‪ ،‬ثم يعيد تنفيذ تعامالت البرامج والمستخدمين من المفكرة(مفكرة النظام)‬

‫طرق استعادة البيانات‬

‫اعتمادا على نوع فقد البيانات‪ ،‬وإمكانيات ا إلستعادة المتوفرة‪ ،‬يمكن إستخدام أحد طرق اإلستعادة التالية‪:‬‬

‫اإلستعادة العكسية (‪ :)Backward Recovery‬تستخدم لعمل تراجع عن الفعل أي ‪،Undo‬والعودة للحالة‬


‫السابقة‪.‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫اإلستعادة األمامية (‪ :)Forward Recovery‬تستخدم للعودة إلى نقطة مرجعية صالحة لإلستخدام‪ ،‬وبدء‬
‫اإلجراءات منها للوصول للوضع السليم أي ‪Redo‬‬

‫إعادة التحميل وإعادة التشغيل (‪ :)Rerun &Restore‬تستخدم للتعامالت السابقة للعطل بعد آخر نسخة‬
‫إحتياطية‪ .‬حيث يجري تحميل النسخة االحتياطية‪ ،‬ثم إعادة تشغيل التعامالت التي تمت بعد عملية النسخ إلى‬
‫وقت حدوث العطل‪.‬‬

‫سالمة وتكامل التعامل (‪ :)Transaction Integrity‬حركة العمل( ‪ )Transaction‬هي مجموعة من‬


‫العمليات التي إما أن تتم معا أوال تتم إطالقا‪ ،‬لذلك عند حدوث العمليات إذا كان تأثيرها يؤدي إلى ضياع أو‬
‫تضارب في البيانات ‪ ،‬فإنها ال تتم ‪ ،Rollback‬وإال فانها تتم ‪.Commit‬‬

‫أنواع فقد البيانات‬

‫‪ .1‬فقد البيانات أنواع تتراوح ما بين إدخال قيم غير صحيحة لبيانات معينة إلى الفقد الكامل لبيانات قاعدة‬
‫البيانات‪.‬‬
‫‪ .2‬بناءا على نوع فقد البيانات ‪،‬يتم تحديد طريقة اإلستعادة المناسبة‬
‫‪ .3‬من أنواع فقد البيانات‪:‬‬

‫تسجيل بيانات غير صحيحة ‪:‬‬

‫‪ .1‬تصحيح الخطأ يدويا إذا كان الخطأ بسيطا‬


‫‪ .2‬اذا كانت االخطاء كثيرة ‪ ،‬يمكن إستخدام االستعادة العكسية‪ ،‬أو البدء من آخر نقطة فحص‬

‫التعامالت المجهضة( الغير مكتملة)‪:‬‬

‫‪ .1‬نستخدم تقنية إلغاء ‪ /‬التراجع عن كافة نتائج التعامالت غير المكتملة‬

‫فناء قاعدة البيانات ( ‪:)Database Destruction‬‬

‫‪ .1‬االستعادة باعادة التحميل من ال نسخة االحتياطية‪،‬ثم تنفيذ كافة التعامالت باالستعادة االمامية‬

‫تعطل النظام مع سالمة قاعدة البيانات(‪:)System Failure‬‬

‫‪ .1‬نستخدم تقنية إلغاء ‪ /‬التراجع عن آخر تعامالت او البدء من آخر نقطة فحص‬

‫أمن قواعد البيانات‬

‫‪ .1‬مع تقدم التكنولوجيا أصبحت االمور أكثر يسرا على المستخدم‪ ،‬كما اصبحت االمور أكثر خطورة‬
‫بسبب االختراقات الممكنة عن طريق شبكات الحاسوب التي تسبب خسائر طائلة في المال‬
‫والمعلومات‪.‬‬
‫‪ .2‬يعرف أمن قاعدة البيانات على أنه حماية قاعدة البيانات من االستخدام الخطأ أو االضرار المتعمد‬
‫للبيانات‬

‫‪ .1‬على من تقع مسئولية أمن قواعد البيانات؟‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬


‫تقع المسؤولية عل مدير قاعدة البيانات ‪ ، DBA‬بسبب الصالحيات الممنوحة له في استخدام الوسائل والسياسات‬
‫الالزمة لحماية قاعدة البيانات‬

‫ما هي الوسائل المستخدمة في حماية قواعد البيانات؟‬

‫استخدام الجداول االفتراضية بدال من الجداول األصلية‪ ،‬االمر الذي يقيد حرية التعامل مع البيانات األصلية دون‬
‫تعطيل عمليات االستعالم‬

‫استخدام قواعد الترخيص بالصالحيات من قبل ‪ DBA‬بشكل كفؤ‪ ،‬بحيث يحكم من يصل المعلومات بضوابط‬
‫أمنية‬

‫استخدام برامج تحجيم المستخدمين ‪ ،‬لتقييدهم وسد الطرق عليهم في الوصول لقاعدة البيانات بطريقة غير‬
‫مشروعة‬

‫استخدام ب رامج التشفير أو الترميز‪ ،‬في هذه الحالة حتى لو تم الوصول للبيانات فلن يتم فهماها بسبب تشفيرها‬

‫‪ ..‬عمل الطالبة ‪.♥ ّ susan :‬‬ ‫‪62‬‬

‫‪Email : wael1554@gmail.com‬‬

‫‪facebook : www.facebook.com/wael.aedl‬‬ ‫اعداد الطالب ‪:‬وائل عادل الصلوي‬

You might also like