قواعد البيانات (1) PDF

Document Details

ReputableUnicorn

Uploaded by ReputableUnicorn

كلية التربية النوعية

2024

قسم تكنولوجيا التعليم والمعلومات (ش‪.‬معلم حاسب)

Tags

database management systems databases data structures computer science

Summary

This document is a course outline for a Database Management Systems (DBMS) course, covering topics such as database introduction, relational databases, entity-relationship diagrams (ERDs), and schema conversion. The course is part of the educational program at the College of Specialized Education.

Full Transcript

‫قواعد البيانات (‪)1‬‬ ‫إعداد‬ ‫قسم تكنولوجيا التعليم والمعلومات (ش‪.‬معلم حاسب)‬ ‫كلية التربية النوعية‬ ‫العام الجامعى‬ ‫‪ 2025 / 2024‬م‬ ‫‪1‬‬ ‫الفهــــرس‬ ‫الصفحة‬ ‫العنوان‬...

‫قواعد البيانات (‪)1‬‬ ‫إعداد‬ ‫قسم تكنولوجيا التعليم والمعلومات (ش‪.‬معلم حاسب)‬ ‫كلية التربية النوعية‬ ‫العام الجامعى‬ ‫‪ 2025 / 2024‬م‬ ‫‪1‬‬ ‫الفهــــرس‬ ‫الصفحة‬ ‫العنوان‬ ‫الفصل‬ ‫‪3‬‬ ‫مقدمة في قواعد البيانات‬ ‫األول‬ ‫‪22‬‬ ‫قواعد البيانات العالئقية‬ ‫الثاني‬ ‫‪30‬‬ ‫نموذج الكيانات والعالقات‬ ‫الثالث‬ ‫‪51‬‬ ‫خوارزمية التحويل من‬ ‫الرابع‬ ‫‪ERD‬الي ‪Schema‬‬ ‫‪75‬‬ ‫‪Microsoft Access‬‬ ‫الخامس‬ ‫‪83‬‬ ‫ملحق التطبيقات‬ ‫تمارين‬ ‫‪2‬‬ ‫قواعــــد بيانات ‪1‬‬ ‫الفصل األول‬ ‫مقدمة في قواعد البيانات‬ ‫‪3‬‬ ‫قاعدة البيانات ‪Database‬‬ ‫هي مجموعة من البيانات و المعلومات المخزنة بطريقة نموذجية ودون تكرار‬ ‫والمتصلة مع بعضها (متشابكة ) وفق عالقات و يدير قواعد البيانات نظام يسمى‬ ‫نظام إدارة قواعد البيانات‪.‬‬ ‫تعريف آخر ‪:‬‬ ‫قاعدة البيانات أو قاعدة المعطيات هي مجموعة من عناصر البيانات المنطقية‬ ‫المرتبطة مع بعضها البعض بعالقة رياضية وتتكون قاعدة البيانات من جدول واحد‬ ‫أو أكثر‪,‬ويتكون الجدول من سجل)صف ( قواعد البيانات أو أكثرويتكون السجل من‬ ‫(حقل) أو أكثر ومثال عليه السجل الخاص بموظف معين يتكون من عدة حقول مثل‬ ‫رقم الموظف ‪ -‬اسم الموظف ‪ -‬درجة الموظف ‪ -‬تاريخ التعيين ‪ -‬الراتب ‪ -‬والقسم‬ ‫على نحو ّ‬ ‫منظم‬ ‫التابع له‪ ،‬وغير ذلك من بيانات الموظفين تخزن في جهاز الحاسوب َ‬ ‫حيث يقوم برنامج )حاسوب ( يسمى محرك قاعدة البيانات )‪(database engine‬‬ ‫بتسهيل التعامل معها والبحث ضمن هذه البيانات وتمكين المستخدم من اإلضافة‬ ‫والتعديل عليها‪.‬‬ ‫يتم استرجاع البيانات باستخدام أوامر من لغة االستعالم حيث تعتبر معلومات تساعد‬ ‫في عملية اتخاذ القرار‪.‬‬ ‫نظام إدارة قواعد البيانات هو البرنامج الذي يتم من خالله استرجاع البيانات‪ ،‬أو‬ ‫اإلضافة أو التعديل عليها‪ ،‬أو حذفها‪ ،‬حيث يقوم البرنامج بالربط بين المستخدم وبين‬ ‫محرك قاعدة البيانات ألداء تلك المهمة ‪.‬‬ ‫وفي حال وجود عالقة بين جداول قاعدة البيانات يسمى هذا بنظام قواعد البيانات‬ ‫العالئقية (نظام إدارة قواعد البيانات العالئقية)‬ ‫الهدف األساسي لقواعد البيانات هو التركيز على طريقة تنظيم البيانات وليس على‬ ‫التطبيقات الخاصة‪ ,‬أي أن الهدف الرئيسي لمصمم قاعدة البيانات هو تصميم البيانات‬ ‫‪4‬‬ ‫بحيث تكون خالية من التكرار ويمكن استرجاعها وتعديلها واإلضافة عليها دون‬ ‫المشاكل التي يمكن أن تحدث مع وجود التكرار فيها‪.‬‬ ‫نظرة عامة واصطالحات‬ ‫يشير مصطلح «قاعدة بيانات» رسميًا إلى مجموعة من البيانات المترابطة وطريقة‬ ‫تنظيمها‪.‬تُدار عملية الوصول إلى هذه البيانات من خالل «نظام إدارة قاعدة البيانات»‬ ‫‪ Database Management Systems DBMS‬الذي يتألف من مجموعة متكاملة‬ ‫من برمجيات الحاسب التي تسمح للمستخدمين بالتفاعل مع قاعدة بيانات واحدة أو أكثر‬ ‫وتمنح الوصول إلى كل البيانات المحتواة في قاعدة البيانات (على الرغم من وجود قيود‬ ‫تحد من الوصول إلى بيانات محددة)‪.‬‬ ‫يمنح نظام إدارة قاعدة البيانات مجموعة وظائف تسمح بإدخال كميات كبيرة من المعلومات‬ ‫وتخزينها واستعادتها‪ ،‬ويوفر طرق إلدارة كيفية تنظيم المعلومات‪.‬‬ ‫يُستخدم مصطلح «قاعدة بيانات» عادة ً لإلشارة إلى كل من قاعدة بيانات ونظام إدارة قاعدة‬ ‫البيانات ال ُمستخدم إلدارتها‪ ،‬وذلك بسبب العالقة الوثيقة بينهما‪.‬‬ ‫يُستخدم مصطلح قاعدة البيانات غالبًا خارج مجال تكنلوجيا المعلومات المهنية لإلشارة‬ ‫إلى أي مجموعة من البيانات المترابطة (مثل جدول بيانات أو مجموعة بطاقات مفهرسة)‪،‬‬ ‫إذ تستوجب متطلبات االستخدام والحجم عادة ً استخدام نظام إلدارة قواعد البيانات هذه‪.‬‬ ‫تقوم نظم إدارة قواعد البيانات الموجودة بمهام متنوعة تسمح بإدارة قاعدة البيانات‬ ‫وبياناتها ‪.‬‬ ‫وتُصنف هذه المهام إلى أربع مجموعات وظيفية‪:‬‬ ‫تعريف البيانات‪ -‬إنشاء‪ ،‬وتعديل‪ ،‬وحذف التعاريف التي تحدد تنظيم البيانات‪.‬‬ ‫ ‬ ‫تحديث‪ -‬إضافة‪ ،‬وتعديل‪ ،‬وحذف البيانات الفعلية‪.‬‬ ‫ ‬ ‫استرداد‪ -‬توفير معلومات بصيغة يمكن استخدامها مباشرة أو لمعالجة أكثر من قبل‬ ‫ ‬ ‫خزن بها في‬‫تطبيقات أخرى كما يمكن توفير البيانات المستردة بالصيغة نفسها التي ت ُ ّ‬ ‫قاعدة البيانات أو بصيغة جديدة نحصل عليها من خالل تعديل أو دمج بيانات موجودة‬ ‫في قاعدة البيانات‪.‬‬ ‫إدارة‪ -‬تسجيل المستخدمين ومراقبتهم وتطبيق األمان على البيانات ومراقبة األداء‬ ‫ ‬ ‫والحفاظ على تكامل البيانات والتعامل مع ضبط التزامن واستعادة المعلومات التي‬ ‫أُتلفت بسبب حدث معين كالفشل غير المتوقع للنظام ‪.‬‬ ‫‪5‬‬ ‫تعمل كل من قاعدة البيانات ونظام إدارتها بشكل يتوافق مع مبادئ نموذج قواعد بيانات‬ ‫ ‬ ‫محدد يشير مصطلح «نظام قاعدة البيانات» إلى كل من نموذج قاعدة البيانات ونظام‬ ‫إدارة قاعدة البيانات وقاعدة البيانات‪.‬‬ ‫فيزيائ ًيا مخدمات قواعد البيانات هي حواسيب مخصصة لالحتفاظ بقواعد البيانات الفعلية‬ ‫وتشغيل نظام إدارة قواعد البيانات والبرمجيات المتعلقة فيه فقط‪.‬‬ ‫تكون مخدمات قواعد البيانات عادة ً حواسيب متعددة المعالجات بذاكرة كبيرة ومصفوفة‬ ‫مستقلة متعددة األقراص تُستخدم من أجل التخزين الثابت‪.‬‬ ‫ضا أجهزة مسرعات قواعد البيانات الموصولة بمخدم واحد أو أكثر عن طريق‬ ‫تُستخدم أي ً‬ ‫قنوات عالية السرعة في بيئات معالجة معامالت كبيرة الحجم‪.‬‬ ‫توجد نظم إدارة قواعد البيانات في مركز أغلب قواعد بيانات التطبيقات‪.‬‬ ‫يمكن أن تُبنى نظم قواعد البيانات من أجل نواة(نظام تشغيل) مخصصة متعددة المهام مع‬ ‫دعم شبكي مدمج لكن نظم قواعد البيانات الحديثة تعتمد على نظام تشغيل معياري لتوفير‬ ‫هذه الوظائف‪.‬‬ ‫كبيرا فإن بائعي ذواكر التخزين والحواسيب‬‫ً‬ ‫نظرا ألن نظم قواعد البيانات تشمل سوقًا‬ ‫و ً‬ ‫غالبًا ما يأخذون بعين االعتبار متطلبات هذه النظم ضمن خططهم التطويرية‪.‬‬ ‫يمكن تصنيف قواعد البيانات ونظم إدارتها وفقًا لنماذج قواعد البيانات التي يدعمانها‬ ‫(كالعالئقية أو‪ ،) XML‬وألنواع الحواسيب التي تعمالن عليها (امتدادًا من تجمع خوادم‬ ‫إلى الهواتف المحمولة) ولغات االستعالمات المستخدمة للوصول إلى قواعد البيانات‬ ‫فيها(مثل ‪ SQL‬أو ‪ )XQuery‬وهندستها الداخلية إذ تؤثر جميعها على األداء وقابلية‬ ‫التوسع والمرونة واألمان ‪.‬‬ ‫‪6‬‬ ‫مجاالت قواعد البيانات‪:‬‬ ‫ قواعد البيانات اصبحت عنصرا ً جوهرياًً في المجتمع المعاصر‬ ‫ نحن نتعامل مع قواعد البيانات يوميا ً في جميع االنشطة ‪:‬‬ ‫في الجامعة ‪ :‬الجداول والنتائج الدراسية‬ ‫في الفنادق ‪ :‬الحجز ودفع الحسابات‬ ‫في البنوك ‪ :‬المعامالت الحسابية من سحب وايداع‬ ‫في المحالت التجارية ‪ :‬الشراء البيع – استيراد – تصدير ‪ -‬واالستبدال‬ ‫قواعد البيانات التقليدية‬ ‫تتعامل مع معلومات نصية او معلومات رقمية‬ ‫ ‬ ‫مثال ‪:‬الشرء من المحالت التجارية) سوبر ماركت(‬ ‫ ‬ ‫قواعد البيانات للوسائط المتعددة‬ ‫تتعامل مع الصور ومقاطع الصوت والفيديو‬ ‫ ‬ ‫ مثال ‪ :‬نظم المعلومات الجغرافية‬ ‫‪ ( GIS ) geographic information system‬الذي يقوم بتخزين وتحليل‬ ‫الخرائط وبيانات الطقس وصوراألقمار الصناعية‬ ‫األهداف ‪:‬‬ ‫ يهدف هذا المقرر إلى تزويد الطالب بأساسيات نظم قواعد البيانات والتركيز على‬ ‫تعريف الطالب على المفاهيم األساسية والخصائص والنماذج واللغات الخاصة‬ ‫بقواعد البيانات‪.‬‬ ‫‪7‬‬ ‫اهمية قواعد البيانات ‪:‬‬ ‫ تخزين كم هائل من البيانات بطريقة دقيقة‪.‬‬ ‫ تصنيف وتنظيم البيانات بحيث يسهل استرجاعها‪.‬‬ ‫ ادخال التعديالت الالزمة علي البيانات‪.‬‬ ‫ تحقيق السرية الكاملة للبيانات ‪.‬‬ ‫وظائف قواعد البيانات‪:‬‬ ‫أ‪ -‬إضافة معلومة أو بيان جديد إلى الملف‬ ‫ب‪ -‬حذف البيانات القديمة والتي لم تعد هناك حاجة إليها‬ ‫ج‪ -‬تغيير بيانات موجودة تبعا ً لمعلومات تم تحديثها‬ ‫د‪ -‬البحث واالستعالم عن معلومات عامة أو معلومة محددة‬ ‫هـ ‪-‬ترتيب وتنظيم البيانات داخل الملفات‬ ‫و‪ -‬عرض البيانات في شكل تقارير أو نماذج منظمة‬ ‫ز‪ -‬حساب المجموع النهائي أو المجموع الفرعي أو المتوسط الحسابي لبيانات مطلوبة‬ ‫مزايا أنظمة قواعد البيانات‬ ‫‪ -1‬إمكانية التقليل من التكرار غير المبرر للبيانات‬ ‫‪-2‬إمكانية تجنب التناقض في البيانات‬ ‫‪-3‬تحقيق مبدأ المشاركة في البيانات ‪.‬‬ ‫‪-4‬إمكانية تطبيق قيود األمن والسرية‬ ‫‪-5‬المحافظة على تكامل البيانات‬ ‫‪8‬‬ ‫نظام إدارة قواعد البيانات‬ ‫‪Database Management Systems DBMS‬‬ ‫هي مجموعة من البرامج التي تدير و تتحكم بعملية تخزين و استرجاع البيانات وكذلك‬ ‫توفر امكانية عدد كبير من المستخدمين من الوصول الى قاعدة البيانات و التعامل معها و‬ ‫ينظر اليها انها حلقة وصل بين المستخدمين وقاعدة البيانات حيث تقوم باستقبال طلبات‬ ‫المستخدمين ومن ثم نقلها الى قاعدة البيانات وتنفيذ البرامج الالزمة لتنفيذ هذه المتطلبات‬ ‫و من ثم تزويد المستخدم بالنتائج المطلوبة‪.‬‬ ‫مثل ‪ :‬اوراكل ‪ ،Oracle‬مايكروسوفت اكسس ‪, SQL- MS Access‬‬ ‫‪SERVER ,‬‬ ‫شكل يوضح نظام ادارة قواعد البيانات‬ ‫‪9‬‬ ‫وظائف نظام إدارة قواعد البيانات ‪DBMS‬‬ ‫وتشترك معظم نظم إدارة قواعد البيانات في مجموعة من الوظائف منها‪:‬‬ ‫‪.1‬إضافة معلومات أو بيانات جديدة إلى ملف قاعدة البيانات‪.‬‬ ‫‪.2‬حذف بيانات معينة‪.‬‬ ‫‪.3‬تغيير (تعديل) البيانات الموجودة‪.‬‬ ‫‪.4‬ترتيب وتنظيم البيانات داخل ملف قاعدة البيانات‪.‬‬ ‫‪.5‬عرض البيانات على شكل نموذج أو تقرير‪.‬‬ ‫‪10‬‬ ‫مكونات نظام قاعدة البيانات‪:‬‬ ‫يقسم نظام قاعدة البيانات الى خمسة أقسام‪:‬‬ ‫‪ -1‬المكونات المادية (‪:)Hardware‬‬ ‫وتشمل جميع األجهزة المادية في النظام مثل الحاسبات‪ ،‬األجهزة الطرفية‪ ،‬الطابعات‬ ‫وكذلك أجهزة االتصال في بيئة قاعدة البيانات الموسعة ‪...‬الخ‪.‬‬ ‫‪ -2‬البرمجيات (‪:)Software‬‬ ‫وهي مجموعة البرامج المستخدمة في قاعدة البيانات‪ ،‬وتقسم إلى ثالثة أقسام‪:‬‬ ‫أ‪ -‬أنظمة التشغيل‪ :‬وهي البرامج التي تقوم بإدارة األجهزة وتهيئتها للعمل وتمكين‬ ‫بقية البرامج من العمل مثل‪Linux, Unix, Windows..‬‬ ‫ب‪ -‬برنامج قاعدة البيانات‪ :‬وهو البرنامج الذي يتولى إدارة قاعدة البيانات مثل‬ ‫‪Oracle, Sybase, DB2.‬‬ ‫ج‪ -‬البرامج التطبيقية والبرامج المساعدة‪ :‬وهي البرامج التي تقوم بعمليات‬ ‫االسترجاع والتخزين وكذلك استخراج التقارير ‪.....‬‬ ‫‪ -3‬المستخدمون‪ :‬وهم عبارة عن األشخاص الذين يقومون بالعمل في بيئة‬ ‫قاعدة البيانات وهم‪:‬‬ ‫أ‪ -‬مدير النظام‪ :‬وهو الشخص المسؤول عن إدارة عمل البيئة العامة التي‬ ‫يعمل بها نظام قاعدة البيانات ويقوم بما يلي‪:‬‬ ‫‪.1‬إدارة المستخدمين ومنح الصالحيات الستخدام النظام‪.‬‬ ‫‪.2‬إدارة اجهزة التخزين واألجهزة األخرى‪.‬‬ ‫‪.3‬متابعة عمل النظام‬ ‫ب‪ -‬مدير قاعدة البيانات‪ :‬وهو المسؤول عن إدارة قاعدة البيانات تشمل واجباته‪:‬‬ ‫‪-1‬تحديد متطلبات قاعدة البيانات من برامج وتجهيزات‪.‬‬ ‫‪-2‬متابعة نظام قاعدة البيانات وتنسيق عملية استخدامه‪.‬‬ ‫‪-3‬توفير األمن والحماية للنظام‪.‬‬ ‫‪11‬‬ ‫‪-‬تصميم آليات الم حافظة على قاعدة البيانات وتحديد اإلجراءات الالزمة لتوفير‬ ‫الخدمات للمستخدمين اآلخرين‪.‬‬ ‫ج‪ -‬مصمم قاعدة البيانات‪ :‬وهو الشخص (األشخاص) الذي يقوم بعملية تصميم‬ ‫قاعدة البيانات وتشمل واجباته‪:‬‬ ‫‪ -1‬تحديد البيانات الواجب تخزينها في قاعدة البيانات‪.‬‬ ‫‪ -2‬تصميم أفضل التراكيب لحفظ البيانات‪.‬‬ ‫‪ -3‬تصميم قاعدة بيانات خالية من التكرار‪.‬‬ ‫‪ -4‬تحديد طرق الوصول والمعالجة واالسترجاع للبيانات من خالل تصميم‬ ‫الشاشات والتقارير الواجب استخدامها‪.‬‬ ‫‪ -5‬توثيق عملية التصميم وطرق الوصول للبيانات‪.‬‬ ‫د‪ -‬المبرمجون ومحللو النظم‪ :‬وهم األشخاص الذين يقومون بعملية تصميم‬ ‫البرامج وتنفيذها وتشمل واجباتهم‪:‬‬ ‫‪ -1‬تصميم التطبيقات وتحويلها الى برامج بلغة(بلغات) برمجة حسب السياسات‬ ‫المقررة في عملية التصميم‪.‬‬ ‫‪ -2‬تنفيذ وتطبيق تلك البرامج والتأكد من سالمتها‪.‬‬ ‫‪ -3‬عمل الصيانة الالزمة لتلك البرامج‪.‬‬ ‫ه‪-‬المستخدم النهائي‪ :‬وهو الشخص أو مجموعة األشخاص الذين يقومون‬ ‫بالعمل اليومي على النظام وتطبيق البرامج في مجال مثل االسترجاع‪،‬‬ ‫التعديل‪ ،‬الحذف‪ ،‬تنفيذ التقارير‪.....‬الخ‪.‬‬ ‫‪ -4‬اإلجراءات والعمليات‪ :‬وهي عبارة عن القوانين والتعليمات التي تحكم‬ ‫عمل قاعدة البيانات بشكل صحيح وتكون على شكل تعليمات موثقة بشكل‬ ‫واضح ومحدد‪.‬‬ ‫‪ -5‬البيانات‪ :‬وهي اهم مكونات النظام حيث تشمل مجموعة الحقائق المخزنة‬ ‫في قاعدة البيانات‪.‬‬ ‫وكون البيانات تكون تكون على شكل بدائي إذ البد من تحديد مكان وكيفية التخزين‬ ‫لهذه البيانات حتى تسهل عملية معالجتها واالستفادة منها وهذا عمل المصمم‪.‬‬ ‫‪12‬‬ ‫دورة الحياة لنظام قاعدة البيانات‪:‬‬ ‫‪ -1‬الدراسة المبدئية للنظام القائم وتشمل ما يلي‪:‬‬ ‫أ‪ -‬تحليل الوضع الحالي للمؤسسة ومعرفة طبيعية اإلجراءات المستخدمة‬ ‫والتعليمات وقواعد العمل‪.‬‬ ‫ب‪ -‬تحديد المشاكل التي تواجه النظام المستخدم وكذلك القيود المادية‬ ‫مثل الطاقة البشرية والتمويل المتوفر لتطوير أو استبدال النظام‬ ‫الحالي‪.‬‬ ‫ت‪ -‬تحديد األهداف الواجب تحقيقها والمزايا المطلوبة في النظام‬ ‫الجديد‪.‬‬ ‫‪ -2‬تصميم قاعدة البيانات‪ :‬وتعتبر هذه المرحلة من أهم المراحل في دورة‬ ‫حياة النظام إذ البد من بذل جهد كبير لتصميم النظام للوصول إلى نظام‬ ‫النظام‬ ‫عمل‬ ‫من‬ ‫المرجوة‬ ‫األهداف‬ ‫وتؤدي‬ ‫جيد‬ ‫وتشمل عملية التصميم ما يلي‪:‬‬ ‫أ‪-‬بناء نموذج المفاهيم وتشمل هذه العملية عدة خطوات مثل ‪:‬‬ ‫‪.1‬تحليل البيانات ومتطلبات المستخدمين واإلجراءات المطلوبة‪.‬‬ ‫‪.2‬تعريف وتحديد البيانات وخصائصها وعالقتها مع بعضها في الصيغة‬ ‫المعيارية‪.‬‬ ‫‪ -3‬رسم مخطط المفاهيم وهو عبارة عن نموذج رسومي يوصف كيانات‬ ‫النظام وعالقتها مع بعضها‪.‬‬ ‫‪ -4‬تعديل النموذج بحيث يشمل اإلجراءات الرئيسة‪ ،‬وقواعد عمليات‬ ‫اإلضافة والتعديل والحذف على البيانات والتقارير‪ ،‬والشاشات‪ ،‬ومقدار‬ ‫التشاركية وتوافقية البيانات‪..‬‬ ‫ب‪-‬اختيار نظام إدارة قاعدة البيانات (‪:)DBMS‬‬ ‫ج‪-‬تحويل نموذج المفاهيم الى نموذج داخلي باالعتماد على نظام إدارة‬ ‫قاعدة البيانات (‪.)DBMS‬‬ ‫‪13‬‬ ‫د‪-‬التصميم المادي وتتم خالله عملية وضع مواصفات التخزين والوسائط‬ ‫المستخدمة في عملية التخزين وطرق الوصول للبيانات باالعتماد على‬ ‫نظام إدارة قاعدة البيانات (‪.)DBMS‬‬ ‫‪-3‬تنفيذ النظام‪ :‬وخالل هذه المرحلة تتم إنشاء الجداول وكتابة جميع‬ ‫البرامج الالزمة لتنفيذ متطلبات من الشاشات المختلفة والتقارير‬ ‫المطلوبة‪.....‬‬ ‫‪-4‬عملية الفحص والتقييم للنظام وتشمل‪:‬‬ ‫أ‪ -‬فحص قاعدة البيانات والتأكد من عملها بشكل صحيح‪.‬‬ ‫ب‪ -‬تقييم عمل البرامج والتطبيقات المستخدمة‪.‬‬ ‫‪-5‬تطبيق النظام في مكان العمل‪ :‬وتشمل هذه العملية عمليات إنشاء‬ ‫الجداول والمستخدمين والصالحيات‪ ،‬وتحميل جميع البرامج والتطبيقات‬ ‫وتنفيذها في البيئة الحقيقة التي يجب أن يعمل بها النظام‪.‬‬ ‫‪-6‬متابعة عمل النظام‪ :‬وهذه العملية تستمر طيلة فترة حياة النظام للتأكد‬ ‫من عمله بشكل صحيح وكذلك تعديل النظام ليتواءم مع المتطلبات الجديدة لبيئة‬ ‫العمل مثل تغير القوانين واألنظمة وقواعد العمل ‪.‬‬ ‫نماذج قواعد البيانات‪:‬‬ ‫ الهدف األساسي لقواعد البيانات هو التركيز على طريقة تنظيم البيانات وليس على‬ ‫التطبيقات الخاصة‪.‬أي أن الهدف الرئيسي لمصمم قاعدة البيانات هو تصميم‬ ‫البيانات بحيث تكون خالية من التكرار ويمكن استرجاعها وتعديلها واإلضافة عليها‬ ‫دون المشاكل التي يمكن أن تحدث مع وجود التكرار فيها‪.‬‬ ‫ يتم ذلك عن طريق ايجاد ثالثة مستويات من التجريد أو النماذج لقواعد البيانات‬ ‫تسمى نماذج التطبيع (تسوية قاعدة البيانات)‪ ،‬ويقصد بها جعل تركيبة البيانات‬ ‫أقرب للطبيعة التصنيفية‪.‬‬ ‫‪14‬‬ ‫ وهناك تركيبات لقواعد البيانات حسب نوع العالقة الرياضية بين‬ ‫البيانات ومن هذه النماذج ‪:‬‬ ‫‪ -1‬النموذج الهرمي ‪:‬‬ ‫‪Hierarchical Database Management Systems‬‬ ‫اي علي شكل شجرة مقلوبة جذرها في القمة وتخرج منه الفروع مثل شجرة العائلة‬ ‫وهي اقدم نموذج لقواعد البيانات المنطقية و قد صممت هياكلها من عالقات بين السجالت‬ ‫التي تشكل مستويات هرمية و لهذا تعبر هذه التركيبة عن نمط العالقات واحد – الى كثير‬ ‫فهي تستطيع ان تخزن عددا كبيرا من االجزاء و ان تعالج المعلومات بشكل كبير‪.‬‬ ‫للوصول الى اي سجل من سجالتها البد من البدء من اول سجل (الجذر) الى ان يصل الى‬ ‫السجل المطلوب‬ ‫شكل للنموذج الهرمي‬ ‫‪15‬‬ ‫عيوب النموذج الهرمي‪:‬‬ ‫‪ -1‬يفتقد للمرونة و التجاوب الجيد مع المستخدم‬ ‫‪ -2‬التعقيد في البرمجة‬ ‫‪ -3‬ان البيانات تخزن في تركيب هرمي و بالتالي من الصعوبة اجراء تغير او تعديل على‬ ‫هذا التركيب‬ ‫‪ -4‬التقدم دعما مناسبة لالستعالمات غير المهيكلة‬ ‫‪ -2‬النموذج الثاني ‪( :‬النموذج الشبكي )‬ ‫نظم ادارة قاعدة البيانات الشبكية‬ ‫‪Network Database Management Systems‬‬ ‫يتم تخزين البيانات في الهيكل الشبكي بصورة سالسل مترابطة من البيانات و بالتالي يمثل‬ ‫هذا الهيكل عالقات منطقية أكثر تعقيدا ‪.‬‬ ‫و ال تزال تستخدم قواعد البيانات الشبكية مع نظم إدارة قواعد البيانات لنظم الحاسوب‬ ‫الكبيرة ‪ ،‬تمثل هذه القاعدة نمط عالقات الكثير الى –كثير بين السجالت ‪.‬‬ ‫فهي مثل شبكة االنترنت وتتغلب علي معوقات التكوين الهرمي حيث تسمح ان يكون لالبن‬ ‫اكثر من اب‪.‬‬ ‫قواعد البيانات الشبكية يمكن الوصول الى اي سجل من سجالتها من اي نقطة ‪.‬‬ ‫شكل للنموذج الشبكي‬ ‫‪16‬‬ ‫عيوب النموذج الشبكي ‪:‬‬ ‫و من عيوبه ان غير مرن و صعب او معقد من ناحية البرمجة‬ ‫و الصيانة ‪.‬اال انه يعالج المعلومات بشكل كفوء‬ ‫‪-3‬النموذج الثالث ‪ :‬نظم ادارة قاعدة البيانات العالئقية ‪:‬‬ ‫‪Relational Database Management systems‬‬ ‫وهي من اكثر النماذج استخداما وانتشارا ًً‬ ‫وهو اعتماد عالقة محددة بين عناصر البيانات مثل أن تكون قيمة عنصر معتمدة على‬ ‫حاصل جمع عنصرين وهذا التركيب هو أنجح التراكيب المطبقة في عالم قواعد البيانات‬ ‫المعلوماتية وذلك بسبب إعطائه تنوع في نوع العالقة بين البيانات ألن احتمالية تنفيذ‬ ‫العالقات فيه أكبر من اي تركيب اخر‪.‬‬ ‫يتكون هيكل قاعدة البيانات العالئقية من جداول ‪ Tables‬ويتكون كل جدول من اعمدة‬ ‫تمثل الحقول ‪ fields‬وصفوف تمثل السجالت ‪ Records‬ويتم ربط الجدول من خالل‬ ‫الحقول المفتاحية ( حقل المفتاح الرئيسي وحقل المفتاح الثانوي ) كما يمكنها بسهولة من‬ ‫ان تدمح معلومات من مختلف المصادر فهي اكثر مرونة من االنواع االخرى لقواعد‬ ‫البيانات‪.‬‬ ‫‪17‬‬ ‫البيانات ‪Data :‬‬ ‫هي عبارة عن حقائق غير مرتبة يمكن تخزينها ولها معني ضمني ‪.‬‬ ‫مثال احمد ‪40 ,‬‬ ‫ المعلومات ‪Information:‬‬ ‫هي مجموعة من البيانات التي تم معالجتها في صورة لها معني ‪.‬‬ ‫مثال ‪ :‬شخص اسمه احمد وعمره ‪40‬‬ ‫ويمكن عرض قاعدة البيانات بالشكل التالي ‪:‬‬ ‫‪ -1‬الجدول‬ ‫‪ -2‬السجل ‪ -‬الصف‬ ‫‪-3‬الحقل – العمود‬ ‫الحقل ‪ Field :‬هو وصف لمجموعة معينة من البيانات لها نفس النوع‪ ،‬مثل حقل‬ ‫ ‬ ‫االسم‪ ،‬حقل الرقم‪..،‬‬ ‫هو عمود بالجدول يصف مجموعة معينة من البيانات لها نفس النوع‪ ،‬مثل حقل‬ ‫ ‬ ‫االسم‪ ،‬حقل الرقم‪..،‬‬ ‫هو مجموعة من العناصر التي تكون السجل فعلى سبيل المثال كل سجل في جدول‬ ‫ ‬ ‫الموظفين يتكون من عدد من الحقول منها )) رقم الموظف‪ ،‬اسمه‪ ،‬تاريخ‬ ‫تعيينه((‪...‬‬ ‫فالحقل إذن هو بند محدد لمعلومة مفردة ‪.‬‬ ‫ ‬ ‫وقد يكون محتوى الحقل قيم عددية‪ ،‬وقت وتاريخ‪ ،‬عملة ‪ ،‬قيم نصية) حرفية(‪ ،‬قيمة‬ ‫ ‬ ‫منطقية) نعم ‪ ،‬ال‪(.‬‬ ‫‪18‬‬ ‫مثال ألحد جداول المرضى في احدى المستشفيات ‪:‬‬ ‫أعمدة‬ ‫الطبيب المعالج‬ ‫الجنس‬ ‫رقم الحجرة‬ ‫رقم المريض‬ ‫اسم المريض‬ ‫نبيل‬ ‫‪1‬‬ ‫‪21‬‬ ‫‪120‬‬ ‫سامح‬ ‫المنياوي‬ ‫‪1‬‬ ‫‪25‬‬ ‫‪121‬‬ ‫حسين‬ ‫اسامة‬ ‫‪2‬‬ ‫‪27‬‬ ‫‪210‬‬ ‫منال‬ ‫سجالت‬ ‫محب‬ ‫‪2‬‬ ‫‪32‬‬ ‫‪454‬‬ ‫هالة‬ ‫نهى‬ ‫‪1‬‬ ‫‪21‬‬ ‫‪630‬‬ ‫هاني‬ ‫شكل الجدول المكون من صفوف واعمدة‬ ‫الحظ الجدول السابق يحتوي على نواتج من أكثر من جدول على سبيل المثال من جدول المرضى ‪,‬‬ ‫جدول األطباء‪,‬غرف المستشفى ‪.....‬‬ ‫حيث يمكن االستغناء عن عمود اسم المريض واالكتفاء رقمه المسجل في قاعدة بيانات‬ ‫جدول المرضى كما يمكن التعويض عن اسم الطبيب المعالج برقمه المسجل في سجالت‬ ‫االطباء‬ ‫ السجل ‪ Record :‬هو مجموعة من الحقول التي تمثل بيانات شئ معين مثل سجل‬ ‫الموظف الذي يحتوي على بياناته‪ ،‬فجميع بيانات الموظف الواحد في العالقة تمثل‬ ‫سجل‪.‬‬ ‫هو صف من الجدول يحوي مجموعة من الحقول التي تمثل بيانات شئ معين مثل‬ ‫سجل الموظف الذي يحتوي على بياناته‪ ،‬فجميع بيانات الموظف الواحد في العالقة‬ ‫تمثل سجل‪.‬‬ ‫ هو عبارة مجموعة من المعلومات لكل عنصر من عناصر الجدول فلو كان الجدول‬ ‫خاص بمعلومات عن موظفين فأن كل صف من صفوف الجدول يعطي معلومات‬ ‫عن موظف محدد ‪.‬فالسجل إذن هو مجموعة منسقة ذات معنى من المعلومات‪.‬‬ ‫‪19‬‬ ‫ الجدول ‪ Table :‬هو مجموعة من الحقول والسجالت وتمثل الحقول اعمدة الجدول‬ ‫بينما تمثل السجالت صفوفه‪ ،‬ويكون لكل جدول اسم خاص يناسب محتوياته‪.‬‬ ‫ يتم إنشاء الجدول لكي يحتوي على معلومات عن جزء من قاعدة البيانات)‬ ‫نظام فرعي من النظام الكلي العام(فمثالً قاعدة بيانات لشركة معينة تتضمن‬ ‫مجموعة من الجداول منها) جدول معلومات موظفين ‪ ،‬جدول مبيعات ‪ ،‬جدول‬ ‫التسويق ‪ ،‬جدول المشتريات‪....(.‬‬ ‫ العالقة ‪ Relation :‬هي الرابط الذي يربط الجداول ببعضها‪.‬‬ ‫‪20‬‬ 21 ‫الفصل الثاني‬ ‫قواعد البيانات العالئقية‬ ‫‪22‬‬ ‫المجال ‪Domain‬‬ ‫هو مجموعة القيم لحقل معين ‪ ،‬فمثالً رقم المتدرب يجب ان يكون عددا ً صحيحا ً واسم‬ ‫الطالب يجب ان يحتوي على قيم رمزية ونصية والمعدل التراكمي يجب ان يحتوي على‬ ‫عدد كسري وتاريخ الميالد يجب ان يكون مقبوالً بحيث ال يتجاوز عمر الطالب عند القبول‬ ‫عن ‪ 22‬سنة او الموظف من سن ‪ 18‬الى ‪ 60‬سنة المرتبات تدخل في قيمها العملة وهكذا‬ ‫‪....‬‬ ‫المدى (المجال) في النموذج العالئقي للبيانات‬ ‫وهو مجموعة القيم لهذا الحقل ‪ ،‬فمثالً رقم المتدرب يجب ان يكون عددا ً صحيحاً‪ ،‬واسم‬ ‫الطالب يجب ان يحتوي على قيم رمزية‪ ،‬والمعدل التراكمي يجب ان يحتوي على عدد‬ ‫كسري‪ ،‬وتاريخ الميالد يجب ان يكون مقبوالً بحيث ال يتجاوز عمر الطالب عند القبول‬ ‫عن ‪ 22‬سنة‪.‬‬ ‫وممكن ان يكون‪:‬‬ ‫‪ -1‬النوع منطقي‪ :‬ويأخذ إحدى الحالتين إما‪. False or True‬‬ ‫‪ -2‬النوع الرقمي‪ - :‬رقم صحيح ‪ -‬رقم عشري‪.‬‬ ‫‪ -3‬النوع النصي‪ :‬ممكن أن يحتوي على أرقام أو رموز‪.‬‬ ‫‪ -4‬النوع الزمني‪ :‬مخصص لتخزين بيانات من النوع الزمني‪.‬‬ ‫مثال يوضح قاعدة البيانات العالئقية‬ ‫ و يفرض أن شخصا ً له سجل في األشخاص المسموح لهم باالستعارة الموضح في‬ ‫الجدول األول استعار كتابا ً من مقتنيات المكتبة فإن العالقة الناشئة عن هذا اإلجراء‬ ‫يمكن توضيحها كالتالي‪:‬‬ ‫‪23‬‬ ‫إلنشاء قاعدة بيانات سوف ندرس المراحل التالية‪:‬‬ ‫ تصميم قاعدة البيانات‬ ‫المرحلة‬ ‫(رسم نموذج الكيان والعالقة الرابطة) ‪ERD‬‬ ‫االولى‬ ‫المرحلة‬ ‫ تحويل نموذج الكيان والعالقة الرابطة إلى جداول‬ ‫الثانية‬ ‫ تخزين قاعدة البيانات في الحاسب عن طريق‬ ‫المرحلة‬ ‫برنامج معين‬ ‫الثالثة‬ ‫‪24‬‬ ‫أنواع البيانات‬ ‫إن اختيار نوع البيانات في الحقل من المهام الضرورية جدا ً والصعبة في بعض األحيان ‪,‬‬ ‫فعند اختيار نوع البيانات النصية في حقا رقم الهاتف مثالً هو عين الصواب وذلك لعدة‬ ‫اعتبارات منها ‪:‬‬ ‫ان رقم الهاتف قد يحتوي رقم داخلي كذلك فإن الخحم االفتراضي التخزيني للرقم أكبر من‬ ‫الحجم التخزيني للنص ‪ ,‬وبما أننا لن نجري أي عمليات حسابية على هذا الرقم فال داع‬ ‫لجعله من النوع الرقمي ‪.‬‬ ‫أهم أنواع البيانات المستخدمة ‪:‬‬ ‫بيانات نصية – مذكرة – بيانات رقمية – بيانات تاريخ ووقت – بيانات العمالت – بيانات‬ ‫الترقيم التلقائي – بيانات منطقية (نعم –ال ) – كائن – بيانات الرابط التشعبية – معالج‬ ‫البحث ‪.‬‬ ‫‪ -1‬نص‪text‬‬ ‫هذا النوع من أنواع البيانات يسمح بإدخال بيانات رقمية ونصية والمسافات والرموز‬ ‫الخاصة ويسمح بحد أقصى ‪ 255‬حرف فى الحقل الواحد ال يمكن إجراء العمليات‬ ‫الحسابية على هذا النوع من البيانات‪.‬‬ ‫‪ -2‬مذكرات ‪Memo‬‬ ‫هذا النوع من أنواع البيانات يمكن أن يقبل بيانات نصية ورقمية حتى ‪ 65000‬حرف‬ ‫ويعيب هذا النوع من أنواع البيانات أنه ال يمكن إجراء االستعالمات عليه‪query.‬‬ ‫‪ -3‬األرقام ‪Numbers‬‬ ‫ويقبل هذا النوع من أنواع البيانات األرقام سواء صحيحة ‪ integers‬أو أرقام عشرية‬ ‫‪ fractional‬ويمكن إجراء العمليات الحسابية على هذا النوع من أنواع البيانات وال‬ ‫المالية‪.‬‬ ‫العمالت‬ ‫مع‬ ‫النوع‬ ‫هذا‬ ‫استخدام‬ ‫يستحب‬ ‫‪ -4‬الوقت والتاريخ‪date/time‬‬ ‫تسمح بإدخال الوقت والتاريخ ويمكن إجراء العمليات الحسابية عليها‪.‬‬ ‫‪25‬‬ ‫‪ -5‬العمالت‪currency‬‬ ‫يشبه نوع االرقام ويمكن إجراء العمليات الحسابية عليه ويمكن فيه إضافة نوع العمله‬ ‫بجوار األرقام به‬ ‫‪ -6‬حقل الترقيم التلقائي‪auto number‬‬ ‫وفى هذا النوع يتم إنشاء أرقام متتالية وفريدة وال تتكرر ويتم إضافة هذا النوع تلقائيا‪.‬‬ ‫‪ -7‬نعم ‪ -‬ال‪yes/no‬‬ ‫يستخدم هذا النوع من البيانات عندما يكون للحالة احتمالن فقط أما نعم أو ال مثل هل‬ ‫حصل الموظف على دورات تدريبية اإلجابة هنا إما نعم أو ال ‪...‬ويظهر فيه ‪check box‬‬ ‫إذا تم وضع عالمة صح تترجم إلى ‪ yes‬وإذا تم إزالة عالمة الصح تترجم إلى‪No‬‬ ‫‪OLE object -8‬‬ ‫الكائنات المرتبطة المضمنة وهو اختصار ‪ object linking and embedding‬وهو‬ ‫يسمح بإرفاق كائن مثل ملف اكسيل أو صور أو ملف صوت وخالفه‬ ‫‪ -9‬االرتباطات التشعبية‪hyperlink‬‬ ‫ويمكن من خالله تخزين ارتباط تشعبي قد يكون عنوان ايميل أو موقع ويب او مسار لملف‬ ‫معين‪.‬‬ ‫مرفق ‪attachment‬‬ ‫‪-10‬‬ ‫يمكن من خاللها إرفاق مرفقات مثل الصور وغيرها من الملفات وأقصى حجم هو ‪700‬‬ ‫‪KB‬‬ ‫‪26‬‬ ‫المفاتيح و أنواعها (‪)Keys‬‬ ‫ يمثل مفهوم المفتاح ‪ Key‬بصورة عامة على انه عنصر من عناصر البيانات أو‬ ‫حقل من السجل و يفيد في استرجاع المعلومات المخزنة‪.‬‬ ‫ وقد يكون المفتاح بسيطا أي مكون من حقل أو عمود واحد فقط و قد يكون المفتاح‬ ‫مركبا أي مكون من عدة حقول أو أعمدة و يسمى في هذه الحالة ‪Compound‬‬ ‫‪.key‬‬ ‫أوالً ‪ :‬المفتاح الرئيسي (االساسي) ‪Primary Key‬‬ ‫المفتاح الرئيسي هو حقل يحتوي على بيانات ال يمكن أن تتكرر لتمييز السجالت عن‬ ‫بعضها‪.‬‬ ‫ومسألة اختيار مفتاح رئيسي لجدول يشوبها بعض الخطأ‪ ،‬فمثالً لو أردنا وضع مفتاح‬ ‫رئيسي لجدول بيانات الشخص فإننا نحاول إيجاد حقل ال تتكرر البيانات بداخله‬ ‫(‪ )Unique‬وأن ال يترك فارغ (‪ ،)Not null‬فأول شيء يخطر ببال المصمم هو استخدام‬ ‫االسم مثالً ولكن هذه الحقل ال يصلح‪ ,‬ألن االسم قد يتكرر عند استخدام قاعدة بيانات كبيرة‪,‬‬ ‫لذلك فإننا سنستخدم رقم الهوية كمفتاح رئيسي لعدم تكرار هذا الحقل في كل الجدول‪.‬‬ ‫ و قد يكون المفتاح الرئيسي بسيطا ً أو مركبا ً‪.‬‬ ‫إرشادات حول تعيين المفتاح األساسي (أو شروطه)‬ ‫ يجب ان ال تتغير قيمته ابدا خالل عمل النظام‬ ‫ يجب ان ال تكون قيمته فارغة ( قيمه مطلوبة دائما )‬ ‫يمكن ان يكون مركبا ً اذا تعذر الحصول على مفتاح بسيط‬ ‫ ‬ ‫ان ال تتكرر قيمته‬ ‫ ‬ ‫ ان يكون فريدأ ومميزا لحاله واحدة على االكثر من سجالت الكيان‬ ‫‪27‬‬ ‫ثانيا ً ‪ :‬المفتاح الثانوي (األجنبي) ‪Foreign Key‬‬ ‫ و هو عبارة عن حقل يمثل المفتاح الرئيسي في جدول آخر و يستخدم في ربط‬ ‫الجدولين معا‪ ,‬و ال يشترط عدم تكرار قيمته في الجدول الثاني‪.‬‬ ‫ و يشترط أيضا أن يكون المفتاح الثانوي مطابقا للمفتاح األساسي في الجدول‬ ‫األول من حيث النوع و الحجم و عدد الحقول‪.‬‬ ‫ و قد يكون المفتاح الثانوي بسيطا ً أو مركبا ً‪.‬‬ ‫الشكل التالي يوضح قاعدة البيانات العالئقية ومفتاحي االساسي والثانوي ‪:‬‬ ‫‪28‬‬ 29 ‫الفصل الثالث‬ ‫نموذج الكيانات والعالقات‬ ‫‪30‬‬ ‫الفصل الثالث‬ ‫نموذج الكيانات والعالقات‬ ‫ نموذج الكيانات والعالقات ‪(Entity Relationship Diagram) ERD‬‬ ‫هو عبارة عن نموذج لتمثيل كيانات النظام وصفاتها وكيفية ارتباط هذه الكيانات مع‬ ‫بعضها باستخدام رموز رسومية وعناصر هذا النموذج‪.‬‬ ‫نموذج البيانات‪ :‬هو عبارة عن تمثيل بسيط لوصف تراكيب البيانات على شكل رسومي‬ ‫دون النظر الى مكان وكيفية تخزين او الوصول الى هذه البيانات‪.‬‬ ‫ويستخدم هذا النموذج كوسيلة اتصال ما بين المصمم من جهة وبين المبرمجين‬ ‫والمستخدمين من جهة اخرى‪.‬‬ ‫ الكيان ‪ Entity :‬هو عبارة عن كائن او شئ محط االهتمام في النظام وعلينا ان‬ ‫نقوم بجمع وتسجيل البيانات عن هذا الكيان‬ ‫‪.‬ويرمز للكيان بمستطيل يحتوي على اسم الكيان‪.‬‬ ‫ ‬ ‫مثل ‪:‬الطالب‪ ،‬المقرر‪ ،‬المدرس‪ ،‬الشعبة ‪ -‬كيانات في قاعدة البيانات لجامعة‪،‬‬ ‫والطبيب والمريض ووصفة العالج ‪ -‬كيانات في قاعدة بيانات لمستشفى ‪.‬‬ ‫ونرسمها بشكل مستطيل كالتالي ‪:‬‬ ‫مريض‬ ‫طالب‬ ‫موظف‬ ‫‪31‬‬ ‫ الصفات ‪Attributes‬‬ ‫الصفة ‪ Attribute :‬هي صفة معينة تصف الكينونات‪ ،‬مثل ‪:‬اسم الموظف‪ ،‬عمر الطالب‪،‬‬ ‫دواء المريض‪ ،‬درجة الطالب‪ ،‬عدد الساعات الدراسية لمقرر ‪.‬‬ ‫كل صفة تتبع كيان معين‬ ‫يتم تمثيل الصفات بشكل بيضوي يحتوي على اسم الصفة وتربط الصفة مع الكيان‬ ‫بواسطة خط مستقيم‬ ‫انواع الصفات‪Attributes types :‬‬ ‫‪ -‬بسيطة ‪ :Simple Attribute‬له قيمة واحدة مجردة بدون تفاصيل مثل الجنس ‪,‬‬ ‫الرقم القومي‬ ‫‪ -‬مركبة ‪Composite Attribute‬يمكن استخراج عدة تفاصيل من قيمته‬ ‫مثل اسم الموظف‬ ‫)االسم األول والعائلة ‪ ,‬العنوان (رقم – اسم الشارع – المدينة – البلد)‬ ‫‪ -‬مشتقة ‪: derived Attribute‬هي صفة بسيطة يمكن الحصول عليها من صفة بسيطة‬ ‫اخرى مثل تاريخ الميالد‪ ,‬اجمالي المرتب (المرتب – العالوات)‬ ‫‪ -‬متعددة القيم ‪Multi Valued attribute‬‬ ‫لها اكثر من قيمة‪ ،‬مثل يكون السيارة لها اكثر من لون – المؤهل (بكالوريوس – ماجستير‬ ‫– دكتوراه ) ‪ ,‬التليفون ‪.‬‬ ‫‪-‬مفتاح الصفة ‪Key Attribute‬هو صفة لها قيم مميزة ال تتكرر كالرقم القومي رقم‬ ‫كارينه الطالب ويرمز له بخط مستقيم تحت اسم الصفة‪.‬‬ ‫‪32‬‬ ‫‪ -‬الكيان الضعيف ‪ Weak Entity‬هو كيان ليس له ‪Key attribute‬ويكون وجوده‬ ‫مرتبط بوجود ‪Entity‬اخر‪ ,‬مثل كيان العائل الذي مرتبط وجوده بوجود كيان للموظف‬ ‫الذي يعولهم ويرمز له بإثنين مستطيل‬ ‫‪ -‬يتم تمثيل الكيان الضعيف باستخدام مستطيل مزدوج الخط‪ ،‬كما موضح ادناه‪:‬‬ ‫المفتاح الجزئي‪ :‬هو مفتاح يتكون من مجموعة من الصفات التي تعرف الكيان الضعيف‬ ‫‪ Weak Entity‬المرتبط بالكيان المعرف له بطريقة وحيدة ويتم تمثيله عن طريق وضع‬ ‫خط متقطع تحت الصفات المكونة له‪.‬‬ ‫ويتم تمثيله مع العالقة المعرفة له‪ ،‬بخط مزدوج لالشكال المعرفة لهم في نموذج‬ ‫الكينونة‪/‬العالقة‬ ‫مفتاح‬ ‫مفتاح‬ ‫‪33‬‬ ‫الكيان "ابناء" كيان ضعيف اليحتوي على مفتاح لذاته ولكن له (المفتاح الجزئي مثل اسم‬ ‫االبن الذي يمكن ان يتكرر لموظف اخر ولكن ال يتكرر لنفس الموظف)‪،‬‬ ‫العالقة (يعول) هي العالقة المعرفة للكيان الضعيف "ابناء"‪.‬‬ ‫االسم‬ ‫العنوان‬ ‫الصلة‬ ‫ابن‬ ‫يعول‬ ‫موظف‬ ‫الرقم‬ ‫السن‬ ‫االسم‬ ‫‪34‬‬ 35 ‫مثال على ماسبق ‪:‬‬ ‫مـثال بيانات مركز تدريب‬ ‫اآلن نحاول تطبيق ما اخذناه سابقا‪ ،‬فنرى ماذا يحتاج المركز؟؟ أو ما هي الكيانات الرئيسية‬ ‫التي يجب أن تخدمها قاعدة البيانات التي نريد تصميمها ؟؟‬ ‫المدرب‬ ‫المتدرب‬ ‫الدورة‬ ‫اآلن ماهي صفات كل كيان؟؟‬ ‫ المتدرب‪ :‬اسم المتدرب‪ ،‬تاريخ الميالد‪ ،‬السكن‪ ،‬رقم الهاتف‪ ،‬ونضع حقل مفتاح‬ ‫أساسي لتميز كل متدرب عن األخرى وهو الرقم ‪..‬‬ ‫ المدرب‪ :‬اسم المدرب‪ ،‬التخصص‪ ،‬السكن‪ ،‬رقم المنزل‪ ،‬ونضع أيضا حقل مفتاح‬ ‫أساسي لتميز كل مدرب عن األخر وهو رقم المدرب‬ ‫ الدورات‪ :‬اسم الدورة‪ ،‬عدد ساعات الدورة‪ ،‬و نضع أيضا حقل مفتاح أساسي لتميز‬ ‫كل دورة عن األخرى وهو اسم الدورة‪.‬‬ ‫ رسم الكيانات مع الصفات‪:‬‬ ‫اسم الدورة‬ ‫الدورة‬ ‫عدد الساعات‬ ‫‪36‬‬ ‫الرقم‬ ‫رقم الهاتف‬ ‫المتدرب‬ ‫االسم‬ ‫االسم االول‬ ‫السكن‬ ‫المواليد‬ ‫اللقب‬ ‫الرقم‬ ‫المدرب‬ ‫رقم الهاتف‬ ‫االسم‬ ‫االسم االول‬ ‫السكن‬ ‫التخصص‬ ‫اللقب‬ ‫‪37‬‬ ‫العالقات و أنواعها‬ ‫ عالقة واحد إلى واحد (‪:)One- to –One‬‬ ‫ تربط هذه العالقة بين كيانين على أن يرتبط كال العنصرين (عنصر من كل‬ ‫كيان) من عناصر البيانات معا بحيث يتم تحديد قيمة العنصر الثاني عندما‬ ‫تكون قيمة العنصر األول معلومة عند لحظة زمنية معينة‪.‬ويرمز لها‬ ‫بالرمز ( ‪.) 1 – 1‬‬ ‫ فمثال إذا كانت ‪ A‬تمثل المسافر فإن ‪ B‬تمثل مقاعد الطائرة‪ a1.‬يقابله ‪b1‬‬ ‫‪ a3 ,‬يقابله ‪ b3‬وهكذا (أي أن لكل مسافر مقعده الخاص و الوحيد في‬ ‫الطائرة)‬ ‫كما بالشكل التالي ‪:‬‬ ‫‪38‬‬ ‫ عالقة واحد إلى متعدد ( ‪:)One-to-Many‬‬ ‫ يفيد هذا النوع من العالقات في تحديد ارتباط عنصر من عناصر الكيان ‪B‬‬ ‫مع عنصر أو أكثر من عناصر الكيان ‪ A‬فعندما يأخذ عنصر من ‪ B‬قيمة‬ ‫معينة فإنها ترتبط بأكثر من قيمة من قيم ‪.A‬‬ ‫ فمثال معلومات االب و أوالده هي واحدة لمتعدد‪.‬ويرمز لها بالرمز ( – ‪1‬‬ ‫∞)‪.‬‬ ‫ عالقة واحد إلى متعدد ( ‪:)Many-to-One‬‬ ‫ أما إذا كانت عدة قيم مرتبطة بقيمة واحدة فتسمى العالقة عالقة متعدد إلى‬ ‫واحد كما في الشكل‪.‬و هي عكس العالقة السابقة‪ ,‬فعالقة األوالد باألب هي‬ ‫متعدد إلى واحد‪.‬ويرمز لها بالرمز(‪.) ∞ –1‬‬ ‫‪39‬‬ ‫كما بالشكل التالي ‪:‬‬ ‫ عالقة متعدد إلى متعدد(‪:)Many-to-Many‬‬ ‫ يسمى ارتباط عدة قيم مع عدة قيم أخرى بعالقة متعدد إلى متعدد‪.‬ويرمز‬ ‫لها بالرمز ( ∞ – ∞ )‪.‬‬ ‫ ولهذا النوع من العالقات تطبيقات متعددة في حياتنا اليومية منها الطالب‬ ‫والمقررات فكل طالب قد يسجل عدة مقررات‪ ,‬وكل مقرر يتم التسجيل عليه‬ ‫من قبل عدة طالب‪.‬‬ ‫‪40‬‬ ‫كما بالشكل التالي ‪:‬‬ ‫‪41‬‬ ‫ملخص طريقة تحديد نوع العالقة‪:‬‬ ‫العالقة بين الطبيب والمريض‪:‬‬ ‫الطبيب يعالج أكثر من مريض والمريض يكون تحت إشراف طبيب واحد‪،‬‬ ‫إذن تكون العالقة واحد إلى متعدد‪ :‬واحد من جهة الطبيب ومتعدد من جهة‬ ‫المريض‬ ‫العالقة بين الدواء والمريض‪:‬‬ ‫الدواء يأخذه أكثر من مريض والمريض يأخذ أكثر من دواء‪،‬‬ ‫إذن تكون العالقة متعدد إلى متعدد‬ ‫العالقة بين الغرفة والمريض‪:‬‬ ‫الغرفة يرقد بها أكثر من مريض والمريض يرقد في غرفة واحدة‪،‬‬ ‫إذن تكون العالقة واحد إلى متعدد‪ :‬واحد من جهة الغرفة ومتعدد من جهة‬ ‫المريض‬ ‫‪42‬‬ ‫القيود على العالقات ‪Cardinality of Relationship‬‬ ‫اي عدد ‪ Entity‬الذي يستطيع ان يتعامل مع اي عدد من ‪ Entity‬الناحية الثانية‬ ‫ فيمكن ان الكيان ال يتعامل اال مع كيان واحد فقط ‪.‬‬ ‫فالقسم يديره موظف واحد فقط والموظف اليدير اال قسم واحد فقط‬ ‫ ‪ -‬كما ان ‪ Entity‬يمكن ان يتعامل مع اكثر من كيان من الطرف االخر‬ ‫فالقسم يدير عدة مشاريع والقسم يعمل فيه مجموعة موظفين‬ ‫ كما ان الموظفيم يمكن ان يساهموا في عدة مشاريع ‪ ,‬وبالطبع المشروع يتكون من‬ ‫عدة موظفين‬ ‫‪43‬‬ ‫انواع القيود على العالقات ‪Relationship Constraints‬‬ ‫ قيد العالقة هو القيد الذي يعتمد على طبيعة اشتراك كيانين في عالقة ما‪.‬‬ ‫ ويحدد نوع االشتراك ‪ Participation Constraint‬ما اذا كان وجود الكيان‬ ‫يعتمد على كونه مرتبط بكيان اخر عن طريق العالقة‪.‬‬ ‫ هناك نوعين من القيود‪:‬‬ ‫– االشتراك الكلي ‪Total Participation‬‬ ‫– االشتراك جزئي ‪Partial Participation‬‬ ‫‪ -‬فاذا كان كل مكونات الكيان في طرف يشارك (يساهم) بالكامل في احد الكيانات في‬ ‫الطرف االخر يسمى ‪Total Participation‬‬ ‫مثل عالقة الطلبة بالمقررات الدراسية‬ ‫ اما اذا كان جزء منها فقط يشارك هنا تسمى ‪Partial Participation‬‬ ‫مثل موظف واحد يدير قسم واحد حيث ان ليس كل الموظفين مديرين كما ان كل قسم من‬ ‫االقسام البد ان يديره موظف واحد فقط ‪.‬‬ ‫كذلك البد ان يكون لكل عائل (تابع) موظف يعيله ‪Total‬‬ ‫وليس شرط ان لكل موظف عائل تبعه‬ ‫االشتراك الكلي ‪:Total Participation‬‬ ‫كل وحدة في الكيان االول يجب ان ترتبط بوحدة من الكيان االخر ضمن العالقة‪.‬‬ ‫ومثال ذلك كيان (سجل اكاديمي) لطالب في نظام معلومات الجامعة‬ ‫القسم‬ ‫العنوان‬ ‫‪1:1‬‬ ‫‪1:1‬‬ ‫الرقم‬ ‫سجل‬ ‫طالب‬ ‫الرقم‬ ‫اكاديمي‬ ‫عنده‬ ‫المرحلة‬ ‫االسم‬ ‫‪44‬‬ ‫ ويتم تمثيل قيد االشتراك الكلي برسم خط مزدوج‪.‬‬ ‫االشتراك جزئي ‪:Partial Participation‬‬ ‫نقول ان العالقة اشتراك جزئي‪ ،‬اذا كانت بعض الوحدات في الكيان المشترك‬ ‫بالعالقة ترتبط ببعض الوحدات في الكيان االخر ضمن العالقة‪.‬‬ ‫االسم‬ ‫العنوان‬ ‫الرقم‬ ‫منتج‬ ‫زبون‬ ‫الرقم‬ ‫‪N‬‬ ‫‪ M‬يشتري‬ ‫النوع‬ ‫االسم‬ ‫‪45‬‬ ‫ اما االشتراك الجزئي فيتم تمثيله برسم خط مفرد يربط الكيانات‬ ‫المرتبطة‪.‬‬ ‫‪46‬‬ ‫ملخص الهم مفاهيم أساسية في قواعد البيانات‬ ‫عند تحليل نظام ما ال بد من ربط منطقى للبيانات المستخدمة في بنيه االعمال‬ ‫في تراكيب معينه من اجل تسهيل اداره هذه البيانات واتخاذ القرار‬ ‫الكيان ‪ :‬يقصد به االشياء او االشخاص او االحداث او المفاهيم وعادة ما يتم‬ ‫تمثيله في جداول بحقول وسجالت‬ ‫الصفات ‪ :‬وتمثل الخصائص او الصفات للكيان وتكون الحقل او العمود في‬ ‫الجدول‬ ‫العالقات ‪ :‬وهي الرابط المنطقي او العالقة بين الكيانات اعتمادا ً على حقول‬ ‫المفاتيح الرئيسيه واالجنبيه في الجداول المرتبطة مع بعضها‬ ‫مخطط عالقات الكيانات‪ :‬تمثيل رسومي للعالقات بين الكيانات ويسمى ‪ERD‬‬ ‫‪47‬‬ ‫شكل يوضح انواع الصفات واشكالها‬ ‫‪48‬‬ 49 ‫الفصل الرابع‬ ‫خوارزمية التحويل من ‪ ERD‬الي ‪Schema‬‬ ‫‪50‬‬ ‫دورة حياة قاعدة البيانات ‪Database Life Cycle‬‬ ‫‪51‬‬ ‫العالقة (جدول) السكيما ‪Schema Relation‬‬ ‫وصف قواعد البيانات يسمي ”مخطط قواعد البيانات“ (‪)Schema‬‬ ‫يستخدم المخطط عند تصميم قواعد البيانات‬ ‫ ‬ ‫هذا المخطط ال يتوقع تغيره بشكل تكرارى‬ ‫ ‬ ‫يتم عادة تمثيل هذا المخطط باستخدام شكل أو رسم هندسي‬ ‫ ‬ ‫يوضح هذا المخطط بعض األشياء مثل أسماء السجالت وأسماء‬ ‫ ‬ ‫الحقول وقد ال تظهر فيه نوع البيانات المستخدمة أو العالقات بين‬ ‫البيانات‬ ‫هذا المخطط يتم تخزين وصفه داخل قواعد البيانات وهذا ما يعرف‬ ‫ ‬ ‫باسم ”‪“meta-data‬‬ ‫خوارزمية التحويل من ‪ERD – Relational mapping‬‬ ‫عملية التحويل هي عبارة عن خطوات محددة يتبعها مصمم قواعد البيانات‬ ‫لتحويل نموذج الكينونة‪/‬العالقة الي مخطط قواعد البيانات العالئقية‪.‬‬ ‫)‪(Mapping ERD to relational schema‬‬ ‫تعتمد عملية التحويل علي فهم المصمم للمبادئ التي تم عرضها ومناقشتها سابقا ً‬ ‫والخاصة بالمفتاح األساسي والمفتاح األجنبى وأنواع الكيانات والعالقات‬ ‫وأنواع االرتباطات بين العالقات‬ ‫‪52‬‬ ‫خطوات خوارزمية التحويل من ‪ ERD‬الي ‪Schema‬‬ ‫‪.1‬تحويل الكيانات العادية (القوية)‬ ‫‪.2‬تحويل الكيانات الضعيفة‬ ‫‪.3‬تحويل العالقات الثنائية من النوع ‪1:1‬‬ ‫‪.4‬تحويل العالقات الثنائية من النوع ‪N:1‬‬ ‫‪.5‬تحويل العالقات الثنائية من النوع ‪M:N‬‬ ‫‪.6‬تحويل الصفات متعددة القيم‬ ‫‪.7‬تحويل العالقات فوق الثنائية‬ ‫التحويل – الخطوة األولى‬ ‫‪.1‬لكل كيان عادي ‪ E‬في شكل الكينونة‪/‬العالقة يتم عمل اآلتي‪:‬‬ ‫ إنشاء عالقة (جدول) ‪ T‬تحتوي علي جميع الصفات البسيطة‬ ‫الموجودة في الكيان ‪.E‬‬ ‫ الصفات المركبة الموجودة في ‪ E‬يتم تمثيلها في العالقة (جدول)‬ ‫‪ T‬عن طريق تمثيل صفاتها البسيطة التي تكون الصفة المركبة‬ ‫(أي ال تظهر الصفات المركبة للكيان ‪ E‬في العالقة (جدول) ‪.) T‬‬ ‫ مفتاح العالقة (جدول) ‪ T‬هو مفتاح الكيان ‪ E‬أو أحد المفاتيح‬ ‫المؤهلة في حالة وجود أكثر من مفتاح للكيان ‪.E‬‬ ‫‪53‬‬ ‫الخطوة األولي‪ :‬مثال‬ ‫العنوان‬ ‫األول‬ ‫االسم‬ ‫طالب‬ ‫رقم‬ ‫التسجيل‬ ‫العائلة‬ ‫طالب ( رقم التسجيل – العنوان – االسم األول – اسم العائلة )‬ ‫العالقة (جدول) ‪T‬‬ ‫التحويل – الخطوة الثانية‬ ‫‪.2‬لكل كيان ضعيف ‪ W‬في شكل الكينونة‪/‬العالقة يتم عمل اآلتي‪:‬‬ ‫ إنشاء عالقة (جدول) ‪ T‬تحتوي علي جميع الصفات البسيطة‬ ‫الموجودة في الكيان ‪.W‬‬ ‫ إضافة المفتاح األساسي للكيان المرتبط مع الكيان ‪ W‬والمعرف له‬ ‫الي العالقة (جدول) ‪ T‬مع اعتباره مفتاح أجنبي يربط ‪ W‬مع الكيان‬ ‫المعرف له‪.‬‬ ‫ مفتاح العالقة (جدول) ‪ T‬هو المفتاح الجزئي للكيان ‪ + W‬المفتاح‬ ‫األساسي للكيان المرتبط مع الكيان ‪ W‬والمعرف له (الذي تم‬ ‫إضافته كمفتاح أجنبي للكيان ‪.)W‬‬ ‫‪54‬‬ ‫‪.3‬الخطوة الثانية‪ :‬مثال‬ ‫االسم‬ ‫العنوان‬ ‫‪N‬‬ ‫‪1‬‬ ‫الجنس‬ ‫أبن‬ ‫يعول‬ ‫موظف‬ ‫رقم‬ ‫السن‬ ‫االسم‬ ‫موظف ( رقم الموظف – العنوان – االسم )‬ ‫العالقة (جدول) ‪T‬‬ ‫(الجنس ‪ -‬السن – االسم‪ -‬رقم الموظف )‬ ‫ابن‬ ‫العالقة (جدول) ‪T‬‬ ‫‪55‬‬ ‫التحويل – الخطوة الثالثة‬ ‫‪.3‬لكل عالقة ‪ R‬من النوع ‪ 1:1‬في شكل الكينونة‪/‬العالقة يتم عمل اآلتي‪:‬‬ ‫ تحديد الكيانان ‪ E2 ،E1‬المرتبطان معا ً عن طريق العالقة ‪.R‬‬ ‫ اختيار واحدة من العالقتين (‪ )E1 , E2‬وإضافة المفتاح األساسي‬ ‫للعالقة األخرى كمفتاح أجنبي في العالقة التي تم اختيارها‪.‬‬ ‫ من األفضل اختيار الكيان المرتبط ارتباطا ً كليا ً بالعالقة (جدول)‬ ‫وال يترك قيم خالية ‪ T‬ليتم ضم المفتاح األساسي للعالقة األخرى‬ ‫إليه كمفتاح أجنبي‪.‬‬ ‫ إذا كان الكيانان مرتبطان ارتباطا كليا ً بالعالقة (جدول) ‪ T‬فيمكن‬ ‫اختيار أي كيان لضم المفتاح األساسي للكيان األخر إليه كمفتاح‬ ‫أجنبي وإن كان من الممكن دمج الكيانان ‪ E1, E2‬معا ً ليصبحا‬ ‫كيانا ً واحداً‪.‬‬ ‫الخطوة الثالثة‪ :‬مثال (الحل األمثل)‬ ‫رقم‬ ‫العنوان‬ ‫سجل طبي‬ ‫‪1‬‬ ‫‪1‬‬ ‫طالب‬ ‫رقم‬ ‫عنده‬ ‫التاريخ‬ ‫االسم‬ ‫المستشفي‬ ‫‪56‬‬ ‫طالب ( الرقم الجامعي – العنوان – االسم )‬ ‫سجل طبي ( رقم السجل – التاريخ – المستشفي – الرقم الجامعي )‬ ‫تابع الخطوة الثالثة‪ :‬مثال (حل أخر ولكنه غير أمثل)‬ ‫رقم‬ ‫العنوان‬ ‫التاريخ‬ ‫سجل طبي‬ ‫‪1‬‬ ‫‪1‬‬ ‫طالب‬ ‫رقم‬ ‫عنده‬ ‫المستشفي‬ ‫االسم‬ ‫طالب ( رقم التسجيل – العنوان – االسم – رقم السجل الطبي )‬ ‫سجل طبي ( رقم السجل الطبي – التاريخ – المستشفي )‬ ‫(حقل رقم السجل الطبي سيكون فارغ للطالب الذي ليس له سجل طبي وهذا‬ ‫من الممكن أن يتكرر لكثير من الطلبة)‬ ‫‪57‬‬ ‫تابع الخطوة الثالثة‪ :‬مثال (ارتباط كلي من الطرفين)‬ ‫رقم‬ ‫العنوان‬ ‫التاريخ‬ ‫سجل طبي‬ ‫‪1‬‬ ‫‪1‬‬ ‫موظف‬ ‫رقم‬ ‫عنده‬ ‫المستشفي‬ ‫االسم‬ ‫موظف ( رقم الموظف – العنوان – االسم )‬ ‫سجل طبي ( رقم السجل الطبي – التاريخ – المستشفي‪ -‬رقم الموظف )‬ ‫أو‬ ‫موظف ( رقم الموظف – العنوان – االسم ‪ -‬رقم السجل الطبي )‬ ‫سجل طبي ( رقم السجل الطبي – التاريخ – المستشفي(‬ ‫‪58‬‬ ‫التحويل – الخطوة الرابعة‬ ‫‪.4‬لكل عالقة ثنائية عادية ‪ R‬من النوع ‪ 1:N‬نقوم بعمل اآلتي‪:‬‬ ‫ نحدد العالقة (جدول) ‪ T‬والتي تمثل الكيان الموجود عند الجانب‬ ‫‪ N‬في العالقة ‪.R‬‬ ‫ إضافة المفتاح األساسي للكيان األخر المرتبط بالعالقة ‪ R‬كمفتاح‬ ‫أجنبي في العالقة (جدول) ‪. T‬‬ ‫ نضيف أية صفات موجودة علي العالقة ‪ R‬للعالقة (جدول) ‪.T‬‬ ‫الخطوة الرابعة‪ :‬مثال‬ ‫تاريخ‬ ‫الراتب‬ ‫رقم‬ ‫العمل‬ ‫العنوان‬ ‫‪1‬‬ ‫الهاتف‬ ‫قسم‬ ‫موظف ‪N‬‬ ‫رقم‬ ‫يعمل‬ ‫االسم‬ ‫االسم‬ ‫موظف (رقم الموظف – االسم – العنوان – الراتب– رقم القسم ‪ -‬تاريخ العمل)‬ ‫قسم (رقم القسم – اسم القسم – رقم الهاتف)‬ ‫‪59‬‬ ‫التحويل – الخطوة الخامسة‬ ‫‪.5‬لكل عالقة ثنائية عادية ‪ R‬من النوع ‪ M:N‬نقوم بعمل اآلتي‪:‬‬ ‫ ننشأ عالقة جديدة ‪ T‬تمثل العالقة ‪.R‬‬ ‫ إضافة المفاتيح األساسية للكيانين المرتبطين بالعالقة ‪ R‬كمفاتيح أجنبية في‬ ‫العالقة ‪.T‬‬ ‫ نضيف أية صفات موجودة علي العالقة ‪ R‬للعالقة ‪.T‬‬ ‫ المفتاح األساسي للعالقة ‪ T‬هو مجموعة المفاتيح األجنبية التي تم ضمها‬ ‫إلي ‪ T‬وتمثل المفاتيح األساسية للكيانين المرتبطين بالعالقة ‪.R‬‬ ‫الخطوة الخامسة‪ :‬مثال‬ ‫العام‬ ‫رقم‬ ‫العنوان‬ ‫الساعات‬ ‫‪n‬‬ ‫‪m‬‬ ‫رقم‬ ‫مقرر‬ ‫التسجيل‬ ‫طالب‬ ‫االسم‬ ‫االسم‬ ‫الشعبة‬ ‫‪60‬‬ ‫طالب (رقم الطالب – اسم الطالب – العنوان)‬ ‫مقرر (رقم المقرر – اسم المقرر – عدد الساعات)‬ ‫التسجيل (رقم الطالب ‪ -‬رقم المقرر– العام – الشعبة )‬ ‫التحويل – الخطوة السادسة‬ ‫‪R‬‬ ‫‪.6‬لكل عالقة ‪ R‬من الدرجة )‪( (N‬أي ثالثية أو أعلي) نقوم بعمل‬ ‫اآلتي‪( :‬عالقة مابين أكثر من كيانين)‬ ‫ ننشأ عالقة جديدة ‪ T‬لهذه العالقة ‪.R‬‬ ‫ إضافة المفاتيح األساسية للكيانات المرتبطة بالعالقة ‪ R‬كمفاتيح أجنبية في‬ ‫العالقة ‪.T‬‬ ‫ نضيف أية صفات موجودة علي العالقة ‪ R‬للعالقة ‪.T‬‬ ‫‪61‬‬ ‫ المفتاح األساسي للعالقة ‪ T‬هو مجموعة المفاتيح األجنبية التي تم ضمها‬ ‫إلي ‪ T‬وتمثل المفاتيح األساسية للكيانات المرتبطة بالعالقة ‪.R‬‬ ‫الخطوة السادسة‪ :‬مثال‬ ‫رقم‬ ‫التاريخ‬ ‫رقم‬ ‫قطعة الغيار‬ ‫الجهاز‬ ‫الصنف‬ ‫السعر‬ ‫الصيانة‬ ‫التخصص‬ ‫رقم الفني‬ ‫الفني‬ ‫الجهاز (رقم الجهاز – الصنف)‬ ‫الفني (رقم الفني – التخصص)‬ ‫قطعة الغيار (رقم القطعة – السعر)‬ ‫الصيانة (رقم الجهاز‪ -‬رقم الفني – رقم القطعة – التاريخ)‬ ‫‪62‬‬ ‫التحويل – الخطوة السابعة‬ ‫‪.7‬لكل صفة ‪ A‬متعددة القيم )‪ (multivalued‬يتم عمل األتي‪:‬‬ ‫ ننشأ عالقة جديدة ‪ R‬لهذه الصفة ‪.A‬‬ ‫ إضافة الصفة ‪ A‬إلي العالقة ‪ R‬كصفة لها‪.‬‬ ‫ إضافة المفتاح األساسي للكيان الذي يحتوي علي الصفة ‪ A‬كمفتاح أجنبي‬ ‫في العالقة ‪.R‬‬ ‫ المفتاح األساسي للعالقة ‪ R‬هو المفتاح األجنبي الذي تم ضمه إلي ‪R‬‬ ‫باإلضافة إلي الصفة ‪.A‬‬ ‫الخطوة السابعة‪ :‬مثال‬ ‫الرقم‬ ‫االسم‬ ‫شركة‬ ‫اسماء الفرع‬ ‫شركة ( رقم الشركة – االسم )‬ ‫الفرع (اسم الفرع– رقم الشركة)‬ ‫‪63‬‬ ‫تمرين عما سبق‬ ‫الشكل المعطي يمثل نموذج كينونة‪/‬عالقة )‪ (ER‬لتمثيل بيانات موظفين وأقسامهم في‬ ‫شركة‪.‬‬ ‫المطلوب هو تحويل الشكل إلي النموذج العالقي المكافئ له‪.‬‬ ‫رقم‬ ‫تاريخ‬ ‫الراتب‬ ‫العمل‬ ‫العنوان‬ ‫‪1‬‬ ‫‪N‬‬ ‫الهاتف‬ ‫قسم‬ ‫يعمل‬ ‫موظف‬ ‫رقم‬ ‫االسم‬ ‫االسم‬ ‫مالحظات للحل ‪:‬‬ ‫‪.4‬لكل عالقة ثنائية عادية ‪ R‬من النوع ‪ 1:N‬نقوم بعمل اآلتي‪:‬‬ ‫ نحدد العالقة ‪ T‬والتي تمثل الكيان الموجود عند الجانب ‪N‬‬ ‫في العالقة ‪.R‬‬ ‫ إضافة المفتاح األساسي للكيان األخر المرتبط بالعالقة ‪R‬‬ ‫كمفتاح أجنبي في العالقة ‪.T‬‬ ‫ نضيف أية صفات موجودة علي العالقة ‪ R‬للعالقة ‪.T‬‬ ‫‪64‬‬ ‫حل تمرين رقم ‪1‬‬ ‫تاريخ‬ ‫الراتب‬ ‫رقم‬ ‫العمل‬ ‫العنوان‬ ‫‪1‬‬ ‫‪N‬‬ ‫الهاتف‬ ‫قسم‬ ‫موظف‬ ‫رقم‬ ‫يعمل‬ ‫االسم‬ ‫االسم‬ ‫قسم ( رقم القسم – االسم – الهاتف )‬ ‫موظف (رقم الموظف – االسم – العنوان ‪ -‬الراتب‪ -‬رقم القسم ‪ -‬تاريخ العمل )‬ ‫‪65‬‬ ‫تمرين ‪2‬‬ ‫الشكل المعطي يمثل نموذج كينونة‪/‬عالقة )‪ (ER‬لتمثيل بيانات تسجيل الطلبة لمقررات‬ ‫في جامعة‪.‬‬ ‫المطلوب هو تحويل الشكل إلي النموذج العالقي المكافئ له‪.‬‬ ‫العام‬ ‫رقم‬ ‫العنوان‬ ‫الساعات‬ ‫مقرر‬ ‫‪n‬‬ ‫يسجل‬ ‫طالب ‪m‬‬ ‫رقم‬ ‫االسم‬ ‫الشعبة‬ ‫الفصل‬ ‫االسم‬ ‫مالحظات للحل ‪:‬لكل عالقة ثنائية عادية ‪ R‬من النوع ‪ M:N‬نقوم بعمل اآلتي‪:‬‬ ‫ ننشأ عالقة جديدة ‪ T‬تمثل العالقة ‪.R‬‬ ‫ إضافة المفاتيح األساسية للكيانين المرتبطين بالعالقة ‪ R‬كمفاتيح‬ ‫أجنبية في العالقة ‪.T‬‬ ‫ نضيف أية صفات موجودة علي العالقة ‪ R‬للعالقة ‪.T‬‬ ‫ المفتاح األساسي للعالقة ‪ T‬هو مجموعة المفاتيح األجنبية التي تم‬ ‫ضمها إلي ‪ T‬وتمثل المفاتيح األساسية للكيانين المرتبطين بالعالقة‬ ‫‪.R‬‬ ‫‪66‬‬

Use Quizgecko on...
Browser
Browser