Professional Documents
Culture Documents
مقدمة فى انظمة قواعد البيانات
مقدمة فى انظمة قواعد البيانات
Email : wael1554@gmail.com
السيرة الذاتية
Email : wael1554@gmail.com
تعتبر قواعد البيانات ذات أهمية كبيرة لتقدم أي مجتمع خصوصا ونحن نعيش عصر التقنية والمعلوماتية.
وبالتالي فنحن بحاجة إلى آلية لتنظيم البيانات (والتي أصبحت في عصرنا كبيرة ومتنوعة) والمحافظة عليها
من التلف وضمان أمنها.
سهولة إدارتها
التحليل اإلحصائي
أصبحت قواعد البيانات و تطبيقاتها عنصرا جوهريا في تسيير أمور الحياة اليومية في المجتمع
المعاصر ،حيث أن جميع األنشطة التي يمارسها أفراد المجتمع من تسجيل مواليد ووفيات و نتائج
دراسية و وثائق السفر و العمليات البنكية و غيرها الكثير يجب فيها التعامل مع احد قواعد البيانات
كافة األنشطة السابقة تدخل في نطاق التطبيقات التقليدية لقاعدة البيانات .
توجد حاليا تطبيقات متقدمة لقواعد البيانات مثل استخدام الذكاء االصطناعي و التجارة االلكترونية
تمثل بعض مظاهر العالم الحقيقي .أي إنها تمثل حالة من حاالت البيانات التي تصف موضوع حقيقي
تمثل مجموعة من البيانات المتالصقة منطقيا وتحتوي على معنى ضمني
يتم تصميمها و تخزين البيانات فيها من أجل غرض معين
Email : wael1554@gmail.com
قواعد البيانات ( : )D atabaseهي أسلوب محدد لتنظيم المعلومات يبسط كيفية إدخالها و تعديلها
و استخراجها في صورة مالئمة و مفهومة للمستخدم لمجموعة مشتركة من البيانات المترابطة
والمتجانسة منطقيا .
عناصر البيانات المنطقية المرتبطة مع بعضها البعض بعالقة معينة ،وتتكون
ِ هي مجموعة من
قا عدة البيانات من جداول (واحد أو أكثر) .ويتكون الجدول أعمدة (حقول )Fieldsومن صفوف
(سجالت (.Record
ملف تتابعي :يتم تخزين سجالت البيانات بشكل تتابعي بنفس ترتيب وصولها للملف سجل بعد سجل.
السترجاع البيانات تجري عملية قراءة السجالت من أول سجل إلى أخر سجل و بشكل تتابعي.
ملف عشوائي :يتم تخزين سجالت البيانات بشكل عشوائي مع معرفة موقع أو عنوان كل سجل
بيانات ،و تتم قراءة البيانات مباشرة عن طريق العنوان.
ملف مفهرس :يستخدم فهرس أشبه بفهرس الكتاب من خالله يتم الوصول إلى أي سجل بيانات ،يتم
عمل الفهرس من خالل احد حقول البيانات.
تكرار البيانات :تكرار البيانات في أكثر من ملف مما يضيع حيز التخزين و الجهد و الوقت.
عدم تجانس أو توافق البيانات :نفس المعلومة تكون مخزنه في أكثر من ملف عند تعديلها قد ال
نعدلها في الملفات األخرى.
عدم المرونة :عملية التعديل و الحذف تتطلب جهد و وقت و كلفة عالية.
االفتقار إلى المواصفات القياسية.
معدل منخفض إلنتاج البرامج
Email : wael1554@gmail.com
نشأت قواعد البيانات و نظم قواعد البيانات من اجل إيجاد بديل لملفات البيانات و نظم معالجتها
بحيث تحل كافة المشكالت و القيود و الصعوبات التي يواجهها المستخدمون في تعاملهم مع
الملفات.
البيانات :هي كافة البيانات المطلوب إدخالها أو االستعالم عنها ،حيث كل بيان يمثل عنصر مستقل
مثل ( اسم المريض ،رقم الغرفة ،العنوان ).... ،
المعلومات :هي البيانات التي تمت معالجتها و وضعها في صورة مالئمة و مفهومة للمستخدم.
نظم قواعد البيانات هي أسلوب محدد لتنظيم البيانات يبسط كيفية إدخالها و تعديلها و استخراجها
اما بنفس الشكل المدخل أو مجمعة في صورة إحصائية أو تقارير أو شاشات استعالم مع التحكم في
كل عملية.
تصميم قاعدة البيانات يشمل تحديد أنواع البيانات و التراكيب و القيود على كافة البيانات.
بناء قاعدة البيانات هو عملية تخزين البيانات نفسها في وسط تخزين تتحكم به نظم قواعد البيانات.
عند تصميم قاعدة بيانات يجب تحديد المستخدمين و التطبيقات الذين سيستخدمون قاعدة البيانات.
يمكن إنتاج و معالجة قاعدة البيانات باستخدام الحاسب اآللي بواسطة مجموعة من البرامج
التطبيقية المصممة خصيصا لهذا الغرض أو بواسطة نظم إدارة قواعد البيانات ( )DBMSمثل :
MS-Access
Oracle
Sybase
Builder Power
Informix
يوجد العديد من الخواص التي تفرق بين قواعد البيانات ونظم الملفات التقليدية وهي :
تحتوى قواعد البيانات علي البيانات ووصف البيانات وذلك عن طريق إنش اء فهرس البيانات والذي يحتوي
على ما يسمى ()Meta-data
ال تحتوى البرامج على وصف البيانات بل يوجد فصل بينهما مما يتيح إمكانية تعديل شكل البيانات بدون
الحاجة لتعديل البرامج.
تتيح قواعد البيانات المشاركة في استخدام البيانات وكذلك تعطي إمكانية تعامل العديد من المستخدمين مع
نفس قواعد البيانات في نفس الوقت بدون مشاكل
Email : wael1554@gmail.com
-نظام إدارة قواعد البيانات :هو مجموعة من البرامج التي يمكن استخدامها في إنشاء و معالجة قاعدة
بيانات.
-نظام إدارة قواعد البيانات هو نظام برامجي متعدد األغراض يسهل تعريف و بناء و معالجة قواعد البيانات
التطبيقية.
يمكن أن تكون قاعدة البيانات في أي حجم فيمكن أن تحتوي على القليل من السجالت أو المئات
منها ويمكن أن تحتوي على مئات الماليين من السجالت
يمكن أن يتم إنشائها و التعامل معها يدويا أو باستخدام الحاسبات اآللية
إذا تم است خدام الحاسب اآللي إلدارة قواعد البيانات فإن ذلك يتم عن طريق مجموعة من البرامج التي تصمم
خصيصا لذلك أو عن طريق استخدام نظم إدارة قواعد البيانات ..
تسمى قواعد البيانات +نظم إدارة قواعد البيانات بنظم قواعد البيانات
Email : wael1554@gmail.com
مستخدمون /برامج
يقوم بإدارة قواعد البيانات والتحكم في صالحيات العمل ومراقبة النظام وتحسين أداء قواعد البيانات.
Email : wael1554@gmail.com
يقوم بتصميم قواعد البيانات ليتم إنشائها وبنائها بطريقة ذات كفاءة عالية طبقا لمتطلبات المستخدم.
بعض المستخدمين يكون لديهم الخبرة الكافية إلعداد االستفسارات المطلوبة بلغة االستفسارات ،وبعض
المستخدمين ليس لديهم الخبرة فيتم إنشاء برامج خاصة لهم يقومون بتشغيلها للحصول على المطلوب.
-يقوم بتحديد متطلبات المستخدم وتطوير هذه المواصفات المطلوبة لتحديد المطلوب من قواعد البيانات.
-هندسة النظم هي عملية تحليل النظام باإلضافة لعملية إنشاء البرامج التطبيقية
هؤالء ال يهتمون بقواعد البيانات ذاتها ولكنهم يقدمون لمستخدم قواعد البيانات البيئة الالزمة لهم وهم :
يقومون بتطوير البرامج المساعدة مثل برامج تحليل النظم ،تصميم النظم ،إنشاء وتطوير التطبيقات ،إنشاء
التقارير وواجهات التطبيق.
يقومون بتشغيل النظم وإدارتها وصيا نتها وكذلك صيانة البرامج واألجهزة المستخدمة في إنشاء وتطوير
قواعد البيانات.
Email : wael1554@gmail.com
Architecture of DBMS
قاعدة البيانات هي أسلوب محدد لتنظيم المعلومات يبسط كيفية اإلدخال و اإلخراج في إطارات
مختلفة مع التحكم في كل عملية.
أنواع قواعد البيانات
oقواعد البيانات الشبكية ()Database Network
oقواعد البيانات الهرمية ()Database Hierarchical
oقواعد البيانات العالقية ()Database Relational
وفيه تتواجد جميع وظائف قواعد البيانات والنظم التطبيقية وواجهات التعامل مع المستخدم وغيرها من
البرامج في نظام واحد مركزي.
وفيه يحتوي العميل (يكون عادة عبارة عن حاسب شخصي) النظم التطبيقية وواجهات التعامل مع المستخدم
بينما يقوم الخادم بوظائف قواعد البيانات ( وفي بعض النظم الحديثة قد يقوم العميل ببعض وظائف قواعد
البيانات)
-هو وصف للبيانات أو أنشطة أو أحداث في مكان ما لجعل البيانات منظمة و مفهومة.
-بناء البيانات هو تحديد نوع البيانات و العالقات بين البيانات والقيود المفروضة عليها
-يمكن أن يحتوي نموذج البيانات على بعض العمليات األساسية ( مثل كيفية تعديل أو استرجاع البيانات)
-في نظم البيانات الشيئية يمكن أن يحتوي النموذج علي مجموعة من العمليات التي يعرفها المستخدم علي
البيانات
Email : wael1554@gmail.com
البيانات المتواجدة داخل قواعد البيانات في لحظة معينة تسمي ”حالة قواعد البيانات أو الوضع الحالي
لقواعد البيانات ()Instance DB State or Current Set of Occurrence or
يتم إنشاء الوضع االبتدائي لها عند إدخال البيانات ألول مرة ثم يتغير وضعها عند إجراء العمليات
المختلفة على البيانات ( إضافة – حذف – تعديل)
تسمى حالة البيانات هذه ”“Extension
تحتوي نظم قواعد البيانات على ثالث مستويات من المخططات وذلك لدعم الخواص التي يجب أن
تقدمها نظم إدارة قواعد البيانات :
.1مستوى البيانات الخارجي()External or View Level The
.2المستوى المفاهيمي ()Conceptual Level The
.3المستوي الداخلي ()Level Internal
-يحتوي علي Conceptual Schemaالتي تصف بناء البيانات في قواعد البيانات – نموذج البيانات
المنطقي
-تقوم بوصف الكيانات ،نوع البيانات ،العالقات ،القيود و كذلك العمليات التي يعرفها المستخدم
-يمكن استخدام Conceptual data modelأو Representation data modelفي بناء هذا
المستوي و يطلق عليه مرحلة التصميم
Email : wael1554@gmail.com
-وهو يحتوي علي المخطط الداخلي والذي يقوم بوصف التخزين الفعلي لقواعد البيانات وعملية إنشاء قاعدة
البيانات.
-هذا المخطط الداخلي يتم وصفه باستخدام نموذج ( )Physical Data Modelالذي يركز على تمثيل
وإنشاء قواعد البيانات المصممة على جهاز الحاسب و يطلق عليه مرحلة التنفيذ.
ش كل يوضح الثالث
مستويات لمخططات
قواعد البيانات The (:
Three-Schema
)Architecture
-تعتبر طـريقة مناسبة وأداة سـهـلة للمستخدم ليفهم و يتخيل مسـتويات مخـططات البيانات داخل نظم قــواعد
البيـانات
-معظم نظم إدارة قواعد البيانات ال تفصل تماما بين المستويات الثالث
-تقوم نظم إدارة قواعد البيانات بتحويل المخططات بين المستويات الثالث وتحويل البيانات بين هذه
المستويات ()mapping
-التحويل بين المخططات ( )mappingيعتبر عملية مستهلكة للوقت ولذلك فإن بعض نظم إدارة قواعد
البيانات ال تدعم المستوي الثالث ()External Level
-معظم نظم إدارة قواعد البيانات تحتوي علي المستوي الثالث ( )External levelد اخل المستوي الثاني
()Conceptual level
-بعض نظم إدارة قواعد البيانات تحتوي علي التفاصيل الفعلية ( )Physical detailsداخل المستوي
الثاني ()Conceptual level
Email : wael1554@gmail.com
هي المقدرة علي تغيير مخطط البيانات في مستوي معين بدون وجوب تغير المخطط في المستويات
األخرى
عند تغيير المخطط في مستوى معين فإن الذي يتغير هو طرق التحويل ( )mappingبين
المستويات
يوجد نوعان من استقاللية البيانات و هما :
oاالستقالل المنطقي ()Data Independence Logical
oاالستقالل الفعلي ()Data Independence Physical
-تستخدم بواسطة مدير قواعد البيانات ( )DBAوكذلك مصمم قواعد البيانات لتعريف بناء قواعد البيانات
-ي وجد مترجم للغة التعريف ( )DDL Compilerوذلك لترجمة هذه اللغة وإنتاج برامج يتم تنفيذها لتقوم بإنشاء
مخططات البيانات وتخزينها داخل فهرس قواعد البيانات (.)DB Catalog
تستخدم في بعض نظم إدارة قواعد البيانات التي ت ستخدم هيكل قواعد البيانات الثالثي بطريقة حقيقية وذلك
لتعريف مخطط البيانات في المستوي الخارجي ( )External Levelالنماذج Formsالرسومية GUI
التفاعل من خالل القوائم menu
Email : wael1554@gmail.com
-نظم إدارة قواعد البيانات الحالية تستخدم لغة واحدة شاملة تحتوي علي لغات DDL,VDL,DML
-لغة االستفسار الهيكلية ( )SQLهي لغة تستخدم مع نموذج البيانات العالئقي و تحتوي علي لغات
DDL,VDL,DMLوكذلك الجمل الخاصة بتعديل مخطط البيانات
نظم إدارة قواعد البيانات هي نظم معقدة وتحتوي على العديد من الوحدات التي تدعم ما يحتاجه المستخدم من
وظائف ومنها :
لترجمة تعريف مخطط البيانات والتأكد من صحته ثم تخزين هذا التعريف داخل فهرس النظام
يقوم بالتعامل مع قواعد البيانات عند تشغيل أي أمر خاص بقواعد البيانات
يتعامل مع االستفسارات عن طريق فهم األوامر وترجمتها ثم إرسالها إلى منفذ قواعد البيانات لتنفيذها
تقوم بعض نظم إدارة قواعد البيانات بتقديم خدمات إضافية تساعد المستخدم في إدارة نظم قواعد البيانات
مثل :
وهي عبارة عن عملية تحويل البيانات الموجودة سابقا في النظم القديمة الى شكل مالئم للتصميم الجديد بدون
الحاجة الى إعادة إدخالها يدويا والذي يكون غير ممكن عمليا في كثير من الحاالت .ويوجد بعض األدوات
المساعدة والتي تقوم بتحويل البيانات من الشكل القديم التي كانت عليه الى الشكل الجديد و المالئم لقواعد
البيانات المصممة حديثا
عملية إنشاء نسخ احتياطية للبيانات الموجودة بهدف تأمين البيانات من األعطال التي قد تؤدي لضياعها
عملية إعادة تنظيم الملفات علي أسطوانات التخزين بهدف تحسين أداء النظام
تست خدم لمراقبة وتسجيل أداء قواعد البيانات وبذلك تقدم لمدير قواعد البيانات ( )DBAاإلحصائيات الالزمة
لتحليل أداء النظام ودراسة كيفية تحسينه (بعض النظم تقدم أيضا حلول لرفع األداء)
Email : wael1554@gmail.com
-تستخ دم في مراحل تصميم قواعد البيانات ويوجد العديد من األدوات التي تقوم بتنفيذ الكثير من المراحل
التي يمر بها تصميم النظام.
تستخدم عند تطوير نظم قواعد البيانات سواء أكانت لتصميم قواعد البيانات أو واجهات التعامل مع المستخدم
أو تعديل وإنشاء اال ستفسارات علي البيانات وكذلك أثناء إنشاء البرامج التطبيقية.
Email : wael1554@gmail.com
Relational Databases
-تعتمد قاعدة البيانات العالقية في تصميمها على المفاهيم الطبيعية الموجودة في بيانات نموذج العالم
المصغر الذي تمثله قاعدة البيانات.
-أساس قواعد البيانات العالقية هو العالقات الرابطة بين البيانات و التي تعتبر الجزء األهم و الذي يمثل
اغلب التعامالت مع قاعدة البيانات.
-نموذج قاعدة البيانات ( )Database Modelهو نموذج يبين لنا صورة كاملة لنظام المعلومات و
الوظائف و القيود الموجودة داخل قاعدة البيانات و يركز على التكامل بين البيانات.
-لتعريف قاعدة البيانات يجب تحديد تركيب السجالت التي يمكن تخزينها في كل ملف و تحديد األنو اع
المختلفة لعناصر البيانات.
-كل سجل يحتوي على بيانات تمثل مثال رقم المريض و اسم المريض و الطبيب و الجنس و رقم الغرفة
( المثال السابق).
Email : wael1554@gmail.com
-يجب أن يكو ن هنالك رابط بين السجالت المختلفة حيث نجد معلومات عن مريض محدد مثال احمد في ملف
”مريض“ و معلومات عن الدواء و من يعالجه في ملفي ”دواء“ و ”يعالج بواسطة“.
-الكثير من العالقات في قواعد البيانات تربط انواع مختلفة من السجالت مع بعضها البعض و يطلق عليها
العالقات الرابطة ”ٌ. “Relationships
Email : wael1554@gmail.com
Email : wael1554@gmail.com
Email : wael1554@gmail.com
-البيانات الوصفية ” : “Metadataهي البيانات التي تصف البيانات المخزنة وصفا دقيقا و يطلق عليها
Data about data
-الكينونة ” : “Entityهي وحدة معلومات تمثل فئة أو مجموعة من األشياء أو الكائنات أو األنشطة ،هذه
الوحدة لها مواصفات (خصائص) تصفها و تخصصها و تعبر عن مجموعة الكائنات التي تنتمي إليها ،هذه
المجموعة هي أمثلة أو حاالت أو نماذج أو كائنات تتبع هذا الكيان.
-هي العالقة التي تربط بين الكيانات و تمثل رابطة العالم المصغر الذي تمثله قاعدة البيانات.
-تعبر العالقات الرابطة عن الروابط بين البيانات في الواقع و تمثل في اغلب األحوال بفعل مضارع أو فعال
مبني للمجهول
الكيان طالب و الكيان مدرس و مقرر دراسي يوجد بينهم عدة عالقات رابطه منها o
-الخاصية أو الحقل ” : “Attributeهي صفه تصف كيان معين و قيمتها هي احد مكونات سجالت
البيانات مثل رقم الطالب و اسم الطالب في الجدول ( العالقة) طالب.
هو اقل وحدة بيانات مثل قيمه مخصصة مثال رقم الطالب ، 0111اسم الطالب احمد حيث احمد و الرقم
0111هي عناصر بيانات.
هو عنصر بيانات يتكون من عناصر بيانات بسيطة اصغر مثال اسم الطالب ( محمد احمد عبدهللا ) حيث
أن االسم هنا مجمع من ثالث بيانات اصغر هي االسم األول و اسم األب و العائلة.و يمكن تقسيمها إلى
ثالث حقول مختلفة تمثل جميعها االسم الكامل للطالب.
Email : wael1554@gmail.com
هو تجميع لعناصر بيانات تمثل احد أمثلة أو حاالت كيان محدد .مثال :
كل قيمة من قيم السجل تمثل عناصر بيانات لخاصية من خواص الكيان.
هو خاصية واحدة أو ( عدة خصائص مجتمعه) من خصائص الكيان تستخدم الختيار سجل أو أكثر من
سجالت ذلك الكيان و يوجد منها ثالث أنواع -:
المفتاح الرئيسي ” : “Primary Keyالمفتاح األساسي لكيان هو احد خصائص هذا الكيان و قيمته
تكو ن وحيدة في كل سجل و ال تتكرر ( )Uniqueفي أي سجل أخر من نفس الكيان ،و يجب كذلك أن
تحتوي على قيمة و ال يجوز تركها فارغة مثل رقم الطالب في جدول طالب ،حيث كل طالب يجب أن
يكون له رقم مختلف عن زمالئه ،و يوضع خط مستقيم أسفل الحقل للداللة على انه مفتاح رئيسي.
المفتاح األجنبي ” :“Foreign Keyهو عبارة عن خاصية عادية من ضمن خواص الكيان و موجودة
كخاصية مفتاح أساسي في كيان آخر ،نميز هذا المفتاح بوضع خط متقطع أسفل اسم الخاصية.
المفتاح الخارجي يستخدم للربط بين الكيانات الستخراج بيانات ذات صلة بين كيانين مختلفين ،مثل
استخراج اسم القسم و الكلية التي يدرس فيها الطالب.
Email : wael1554@gmail.com
Email : wael1554@gmail.com
Email : wael1554@gmail.com
Relational Databases
.1الكينونه ” : “Entityهي وحدة معلومات تمثل فئة او مجموعة من االشياء او الكائنات او االنشطة،
هذه الوحدة لها مواصفات (خصائص) تصفها و تخصصها و تعبر عن مجموعة الكائنات التي تنتمي
اليها ،هذه المجموعه هي امثلة او حاالت او نماذج او كائنات تتبع هذا الكيان.
Email : wael1554@gmail.com
.1العالقة الرابطة“ :“Relationshipsهي العالقة التي تربط بين الكيانات و تمثل رابطة العالم
المصغر الذي تمثله قاعدة البيانات.
.1تعبر العالقا ت الرابطة عن الروابط بين البيانات في الواقع و تمثل في اغلب االحوال بفعل م ضارع او
فعالً مبني للمجهول
.1الكيان طالب و الكيان مدرس و مقرر دراسي يوجد بينهم عدة عالقات رابطه منها
.1الخاصية او الحقل ” : “Attributeهي صفه تصف كيان معين و قيمتها هي احد مكونات سجالت
البيانات مثل رقم الطالب و اسم الطالب في الجدول ( العالقة) طالب.
.1عنصر البيانات ” :“Item Dataهو اقل وحدة بيانات مثل قيمه مخصصة مثال رقم الطالب ، 1222
اسم الطالب احمد حيث احمد و الرقم 1222هي عناصر بيانات.
.1عنصر بيانات مجمع ” : “aggregate Dataهو عنصر بيانات يتكون من عناصر بيانات بسيطة
اصغر مثال اسم الطالب (محمد احمد عبدهللا ) حيث ان االسم هنا مجمع من ثالث بيانات اصغر هي
االسم االول و اسم االب و العائله .و يمكن تقسيمها الى ثالث حقول مختلفة تمثل جميها االسم الكامل
للطالب.
سجل ” : “Recordهو تجميع لعناصر بيانات تمثل احد امثلة او حاالت كيان محدد .مثال :
.1كل قيمة من قيم السجل تمثل عناصر بيانات لخاصية من خواص الكيان.
.1المفتاح ” : “Keyهو خاصية واحدة او (عدة خصائص مجتمعه) من خصائص الكيان تستخدم
الختيار سجل او اكثر من سجالت ذلك الكيان و يوجد منها ثالث انواع-:
.1المفتاح الرئيسي ” :“Key Primaryالمفتاح االساسي لكيان هو احد خصائص هذا الكيان و قيمته
تكون وحيدة في كل سجل و ال تتكرر ( )Uniqueفي اي سجل اخر من نفس الكيان ،و يجب كذلك
Email : wael1554@gmail.com
Email : wael1554@gmail.com
.1هو وصف للبيانات عن شاء او انشطة او احداث في مكان ما لجعل البيانات منظمة و مفهومة.
بناء البيانات هو تحديد نوع البيانات و العالقات بين البيانات والقيود المفروضة عليها
.1يمكن أن يحتوي نموذج البيانات علي بعض العمليات األساسية (مثل كيفية تعديل أو استرجاع
البيانات)
في نظم البيانات الشيئية يمكن أن يحتوي النموذج علي مجم وعة من العمليات التي يعرفها المستخدم
علي البيانات
.1يوضح هذا المخطط بعض األشياء مثل أسماء السجالت وأسماء الحقول وقد ال تظهر فيه نوع البيانات
المستخدمة أو العالقات بين البيانات
هذا المخطط يتم تخزين وصفه داخل قواعد البيانات وهذا ما يعرف باسم ”“meta-data
Email : wael1554@gmail.com
البيانات المتواجدة داخل قواعد البيانات في لحظة معينة تسمي ”حالة قواعد البيانات أو الوضع الحالي لقواعد
البيانات
.1يتم إنشاء الوضع االبتدائى لها عند إدخال البيانات ألول مرة ثم يتغير وضعها عند إجراء العمليات
المختلفة على البيانات (إضافة – حذف – تعديل)
Email : wael1554@gmail.com
.1ق واعد البيانات العالقية تركز بشكل اساسي على الروابط بين عناصر البيانات او بين الكيانات او
سجالت البيانات.
.1اهم اسباب نجاح ق واعد البيانات العالقية هي تمثيلها للروابط المختلفة التي توفر امكانيات استعالم
سهلة و قوية.
.1اي رابطة بين عناصر البيانات هي باالساس تربط عنصر بيانات معين اما بعنصر بيانات معين او بعدة
عناصر بيانات.
.1العالقة الرا بطة بين الكيانات (او السجالت) هي باالساس تربط كيان بكيانات اخرى.
)Cardinality( .1هو مفهوم يتحكم في الروابط و يعبر عن نسبة المشاركة العالقة او الرابطة بين عنصر و
اخر او كيان و اخر.
.1اجباري :اي انه البد ان تكون هنالك المشاركة بعنصر واحد على االقل او اكثر.
Email : wael1554@gmail.com
.1ر
1
ابطة واحدة : Association Oneرابطة بين عنصرين تع ني ان كل عنصر بيانات من خاصية ما
يقابلها عنصر بيانات واحد من العنصر الثاني (كل رقم طالب يقابله اسم طالب واحد )
1:1
.1رابطة متعددة : Association Manyرابطة بين عنصرين تعني ان كل عنصر بيانات من
خاصية ما يقابلها عناصر بيانات متعددة من العنصر الثاني (كل رقم طالب يقابله اكثر من مقرر مادة
)
1
Email : wael1554@gmail.com
.1العالقات الرابطة بين الكيانات هي اهم ما يميز قاعدة البيانات العالقية ،حيث تتوقف قاعدة البيانات
التي نصممها و ننفذها بشكل كبير على انواع العالقات الرابطة
Email : wael1554@gmail.com
.1لبناء قواعد بيانات يفضل مبرمجو و مصممو قواعد البيانات استخدام نموذج البيانات العالقي .هذا
النموذج مبني على العالقات بين الكيانات و البيانات.
.2اغلب البرامج و النظم المستخدمة في مجال قواعد البيانات صممت لبناء هذا النوع.
.3مميزات النموذج العالقي :يتميز النموذج العالقي عن غيره من نظم قواعد البيانات لالسباب التالية.
.1اعتمادا ً عليه بنيت خصائص قواعد البيانات التي تجعلها ال تتأثر بم شاكل الصيانه.
.1احد اشهر و اهم طرق تمثيل و تصميم قواعد البيانات هو نموذج الكيان و العالقة الرابطة
.) Model ERD)Entity-Relationship Data(( .2
.1نموذج ( )ERDهو النموذج الذي يتم استخدامه النشاء قواعد البيانات على الحاسب اآللي و له
قواعد و اشكال محددة تصف الكيانات الموجودة في تطبيق معين و العالقات الرابطة بين تلك
الكيانات و خصائصها و كذلك القيود المفروضة على كل منها.
Email : wael1554@gmail.com
.1يتكون تصميم ERDمن مجموعة من الكيانات ( )Entityتربط بعضها ببعض عالقات رابطة
(.)Relationship
السجالت التي تتبع الكيانات عبارة عن بيانات شبه ثابتة ،ونادرا ما تحتاج الى التعديل(Static
)Data
الخاصية التي تميز كل سجل يتبع الكيان وال تتكرر هي خاصية المفتاح الرئيسي()Key Primary
.1السجالت التي تصف العالقات الرابطة فهي عبارة عن بيانات تتجدد وتتغير وتضاف وتحذف بشكل
متواصل(.)Data Dynamic
.2يجب تحديد لكل عالقة رابطة الخصائص التي تساعد على وصف العالقة الرابطة بين كل كيانين
.3يجب تحديد نوع العالقة :
Email : wael1554@gmail.com
.1التصميم :
.1الكيانات :هي وحدة معلومات لها خصائص تصفها تخصهاوانها تكون أسماء.وقد تم تحديد الكيانات
التالية:
.1مالحظة( :)0لم يتم ذكر معلومات عن المواد التي يدرسها الطالب في جدول الطالب ،ولم يتم ذكر
معلومات عن المواد التي يدرسها المدرس في جدول المدرس ،ولم يتم ذكر معلومات الفصل الدراسي
في جدول المقرر ،فهي كلها معلومات متغيرة ( )Dynamicال تذكر في الكيانات.
)0العالقات الرابطة :هي عبارة عن فعل يمثل العالقة بين كيان ونفسه ،أو كيانين ،أو ثالثة كيانات معا .وقد
تم تحديد العالقات التالية:
كل طالب يمكنه تسجيل عدة مقررات،وكل مقرر يمكن ان يسجله اكثر من طالب ،أي ان نوع العالقة
كثير إلى كثير(to – Many )M:N– Many
Email : wael1554@gmail.com
كل مدرس يمكنه تدريس عدة مقررات،وكل مقرر يمكن ان يدرسه اكثر من مدرس ،أي ان نوع
العالقة كثير إلى كثير(to – Many )M:N– Many
)1الكيانات:
.1يعالج :
Email : wael1554@gmail.com
.1ينام في :
.1كل غرفة يقيم فيها اكثر من مريض ،أو ال يقيم فيها احد ،لذلك فالكارديناليتي من جهة المريض هي
()N:2
كل مريض يمكن ان ينام في غرفة واحدة ،او ليتم تنويمه في حالة العيادة الخارجية ،لذلك
فالكارديناليتي من جهة الغرفة هي ()2:1
.1يصرف :
.1المريض يمكن ان يصرف اكثر من دواء او ال يصرف دواءا ،وبالتالي الكارديناليتي تكون ()N:2من
ناحية الدواء
.1ك ل دواء يمكن صرفه من اكثر من مريض ،ويمكن ان اليصرفه أي مريض ،وبالتالي الكارديناليتي
تكون ()N:2من ناحية المريض
Email : wael1554@gmail.com
.1الكيانات:
.1يستعير:
.1يمكن ألي مستعير أن يستعير عدة كتب ،وعلى االقل كتاب واحد،لذلك الكارديناليتي ()N:1من ناحية
الكتاب
.1ي مكن ان يستعير الكتاب عدة مستعيرين،أوال احد ،لذلك تكون الكاردينالتي ()N:2من ناحية المستعير.
.1كُتِ َ
ب بواسطة:
.1يمكن ألي مؤلف أن يكتب عدة كتب ،وعلى االقل كتاب واحد،لذلك الكارديناليتي ()N:1من ناحية
الكتاب
Email : wael1554@gmail.com
المحذلرة السذدتسة
الكيان .1
الصفة وانواعها .2
المفتاح الرئيسي والمفتاح الجزئي .3
الكيان الضعيف .4
العالقات و أنواع العالقات .5
أنواع القيود على العالقات .6
هو نموذج عالي المستوي يقوم بعرض بناء البيانات ،ويتم استخدام هذا النموذج أثناء مرحلة التصميم
المفاهيمي للنموذ ج األولى،وينتج عن ذلك النموذج األولي ،لقاعدة البيانات ،والذي عن طريقه نقوم بتصميم
مخطط قاعدة البيانات ،ويتم تمثيل بناءالبيانات والقيود المطلوبة عليها باستخدام أشكال رسومية سهلة ومحددة.
.1الكيان أو الكينونة( :)Entityهو الوحدة األسا سية التي يتم تمثيلها بنموذج الكينونة/العالقة ويشير هذا
الكيان إلي “ شيء” حقيقي في الحياة سواء كان له وجود فعلي مثل (طالب – موظف – سيارة ... -
الخ) أو وجود منطقي مثل ( شركة – وظيفة – مقرر ...-الخ).
.1ويتم تمثيل الكيان باستخدام شكل مستطيل يكتب داخله اسم الكيان أو الكينونة
Email : wael1554@gmail.com
.1الصفة المشتقة :وهي صفة بسيطة يمكن الحصول عليها من صفة بسيطة أخرى ،مثل الصفة عمر
الطالب التي يمكن الحصول عليها من تأريخ الميالد
.1يتم تمثيل الصفة باستخدام شكل بيضاوي ،والصفة متعددة القيم يتم تمثيلها بالشكل البيضاوي المزدوج
Email : wael1554@gmail.com
صفة المفتاح الجزئي ( : )Partial Key Attributeهي تلك الصفة التي لم ترقى لتكون مميزة للكيان
،ولكنها صفة قد تساعد في تكوين صفة مميزة إذا تم ضمها إلى صفة مميزة من كيان آخر ،ويتم تمثيلها بشكل
بيضاوي مع خط متقطع تحت إسم الصفة
Email : wael1554@gmail.com
يرتبط المفتاح الجزئي بالكيان الضعيف ،ليساعد فيما بعد بتكوين مفتاح رئيسي للكيان الضعيف
.1يرتبط المفتاح الجزئي بالكيان الضعيف ،ليساعد فيما بعد بتكوين مفتاح رئيسي للكيان الضعيف.
.1في نموذج الكيان /العالقة ،يجب أن يتم تمثيل المرجعية من كيان إلى كيان آخر ،باستخدام “عالقة”
وليس كصفة في الكيان
Email : wael1554@gmail.com
.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
.0االشتراك الكلي ( :)Total participationنقول أن العالقة عالقة االشتراك الكلي ،إذا كان كل وحدة
في الكيان أألول يجب أن ترتبط بوحدة من الكيان اآلخر ضمن العالقة ،يسمي هذا القيد بقيد “ارتباط الوجود“ ،
أي أن وجود وحدة من كيان ما يستلزم ارتباطها بوحدة من كيان آخر،ومثال ذلك كيان ( سجل االكاديمي) لطالب
في نظام معلوم ات الجامعة ،إذ ال بد أن يرتبط أي قيد في السجل الطبي بطالب ما في كيان الطالب ،وإال فال
معنى للعالقة هذه.
.1ويتم تمثيل قيد االشتراك الكلي ،برسم خط مزدوج ،يربط الكيانات المرتبطة بهذه العالقة ،من جهة
الكيان المعتمد على االشتراك الكلي
.0االشتراك الجزئي ( :)Partial participationنقول أن العالقة عالقة اشتراك جزئي ،إذا كانت بعض
الوحدات في الكيان المشترك بالعالقة ترتبط ببعض الوحدات في الكيان اآلخر ضمن العالقة ،ويتم تمثيل قيد
االشتراك الجزئي برسم خط مفرد يربط الكيانات المرتبطة.
Email : wael1554@gmail.com
0مثال
Email : wael1554@gmail.com
عناصر المحاضرة
.1إن عملية تطوير قاعدة البيانات تمر بمجموعة من المراحل،هذه المراحل المتتالية تسمى بدورة حياة
قاعدة البيانات.
.2هذه المراحل أو دورة الحياة تمر بصورة متزامنة ضمن مراحل دورة حياة نظام المعلومات ،كما
يوضح الشكل التالي
Email : wael1554@gmail.com
.1تحديد المواصفات والمتطلبات الخاصة بقاعدة البيانات ،وهي مرحلة جزئية ضمن جمع مواصفات
ومتطلبات نظام المعلومات في مرحلة التحليل.
.2إعداد قاعدة البيانات األولية ،وفيها يتم تصميم نموذج اولي للبيانات بواسطة مخططات الكيان
العالقة)E-RD (.
.3تصميم قاعدة البيانات المنطقية ،تحويل قاعدة البيانات األولية ،أو مخطط الكيان/العالقة إلى مخطط
االسكيما ،وذلك ب إتباع قواعد التحويل
.1تحسين قاعدة البيانات المنطقية ،وذلك بتطبيق قواعد تطبيع البيانات Normalizationالتي تهدف
إلى تقليل تكرارية البيانات ،من أجل رفع كفاءة قاعدة البيانات ما أمكن.
.1تنفيذ قاعدة البيانات الفيزيائية database physical:وفي هذه المرحلة يتم كتابة أكواد إنشاء
قاعدة البيانات بلغة ، SQLويحدد فيها بنية الجداول ونوع بيانات الحقول والمفاتيح االساسية واالجنبية
وباقي شروط تصميم قاعدة البيانات ،ثم تنفيذ ذلك ضمن مدير قاعدة بيانات DBMSمناسب ،مثل
))access, sqlserver, mysql …. etc ،oracle
.1مخطط قواعد البيانات : Schema Databaseهو مخطط يصف قاعدة البيانات بشكل رسومي
تمهيدا لبنائه على شكل جداول في نظام إدراة قواعد بيانات DBMS
.1مخطط قواعد البيانات هو مخطط ينتج عن عملية إخضاع مخطط الكيان العالقة لخوارزمية
التحويلAlgorithm Mapping
Email : wael1554@gmail.com
.1العالقة (جدول السكيما) : relationأو يمكن أن نطلق عليها إسم الجداول ،وهي مكونات مخطط
قاعدة البيانات الناتجة من إجراء عمليات تحويل مخطط كينونة -عالقة.
.1الحقل : fieldهو العمود columnالذي يشكل جزء من مكونات الجدول ،ويتكون من مجموعة من
األعمدة أو الحقول التي تتميز بتجانس بيانات كل حقل ،على أنه يمكن أن يكون نوع بيانات كل حقل
مختلفا عن بيانات النوع اآلخر
.1السجل : Recordهو الصف rowالذي يمثل وحدة instanceمن وحدات الكيان ،بعد تحويله
إلى جدول ،ويتكون الصف من الخاليا الن اتجة عن تقاطعه مع األعمدة المكونة للجدول.
.2
.1المفتاح الرئيسي Key(PK) Primary:هو حقل في جدول يتميز بأن قيمه وحيدة في جميع
صفوف الجدول ،وتكون قيمته مميزة لكل صف عن أي صف آخر.
.1المفتاح األجنبي key(FK) foreign:هو حقل موجود في جدول وهو ال يمثل واحدة من صفاته،
ولكنه يعتبر مفتاح أجنبيا ألنه يمثل جدوال آخر ،ويجب أن يكون هو نفسه المفتاح الرئيسي في ذلك
الجدول ،أو على األقل تكون قيمته وحيده value uniqueويقوم المفتاح األجنبي بتمثيل العالقة
relationshipوالربط بين جدولين.
تتم عملية تحويل مخطط ، ERDبتطبيق مجموعة من الخطوات البسيطة ،تسمى خوارزمية
التحويل ، Mapping Algorithmوتتكون هذه الخطوات من جميع الحاالت البسيطة المحتملة ،التي قد تكون
موجودة ف ي النموذج األولى ،ويتم تطبيق هذه الخوارزمية كاملة ،مع تجاوز الحاالت التي لم تظهر في النموذج
األولي
㿋تحويل أنواع الكيانات العادية :يتم هنا تحويل جميع الكيانات العادية ،أي الكيانات غير الضعيفة ،بإنشاء
جدول يتكون من الحقول التي تقابل صفات ذلك الكيان .ويتم تحديد أحد مفاتيح الكيان ،وتسميته بالمفتاح
الرئيسي ) primary key(PKوإذا كانت الصفة التي تمثل المفتاح من النوع المركب فإن المفتاح
الرئيسي سيكون مجموعة الحقول التي تنشأ من الصفة المركبة.
Email : wael1554@gmail.com
㿡تحويل العالقات الثنائية من النوع ( :)0:0إذا كانت العالقة بين الكيانين عالقة واحد-إلى-واحد فإن عملية
التحويل تتم وفق عدة خيارات أشهرها ،خيار يسمى بطريقة المفتاح األجنبي ،وفيه يتم إضافة المفتاح
الرئيسي ألحد الجدولين إلى الجدول اآلخر كمفتاح أجنبي ويف ضل أن يكون الجدول الذي يحتوي على
المفتاح األجنبي ،هو الجدول الذي يكون نوع قيد اشتراكه في العالقة ،من نوع (االشتراك الكلي)
㿬تحويل العالقات الثنائية من النوع ( :)N: 0يتم هنا إنشاء جدولين لتمثيل الكيانين المرتبطين ،على أن يتم
تطبيق طريقة المفتاح األجنبي السابقة ،وذلك بإضافة المفتاح الرئيسي للجدول من جهة العالقة ( )Nإلى
الجدول اآلخر المرتبط بالعالقة ( ،㿋بغض النظر عن نوع قيد االشتراك.
㿷تحويل العالقات الثنائية من النوع ( :)N:Mفي هذا النوع من العالقات ،يتم استحداث جدول جديد ،فيكون
الناتج من هذه العالقة ثالثة جدا ول ،جدولين لتمثيل الكيانين المرتبطين بالعالقة ويضم الجدول الثالث
حقلين كمفتاحين أجنبيين يمثالن المفتاحين الرئيسيين في الجدولين ،ويمكن إضافة أي حقل آخر يكون له
مغزى ،كأن تكون العالقة لها صفة بذاتها ،فتتحول الصفة إلى حقل في الجدول الجديد.
䀂تحويل الصفات متعددة القيم :يتم في هذه الحالة ،عادة ،إنشاء جدول جديد يضم الصفة المتعددة القيم كحقل،
ويضاف إلى الجدول مفتاح أجنبي FKيكون ممثال للمفتاح الرئيسي في الجدول الناتج من الكيان الذي
يحتوي على الصفة متعددة القيم .أما الصفات المركبة فتتحول إلى صفات بسيط ،فحقول عادية كما
أوضحنا أعاله ،والصفات ذات القيم المشتقة تلغى من الجدول ،ألنها صفات قابلها لالشتقاق من صفات
أخرى ،فال داعي لوجودها
䀍تحويل العالقات غير الثنائية ،كالعالقة الثالثية وما فوقها :في حاالت نادرة تظهر لدينا عالقات معقدة،
كالعالقة الثالثية (بين ثالثة كيانات) و الرباعية وما فوقها ،وتعالج هذه الحالة بطريقة معالجة الحالة
الخامسة (حالة تحويل العالقات الثنائية من النوع (( N:Mحيث يتم إنشاء جدول جديد ،وإضافة المفاتيح
الرئيسية للجداول المشتركة ،حسب عددها ،إلى الجدول الجديد كمفاتيح أجنبية مكونة بمجموعها ،مفتاحا
مركبا يمثل المفتاح الرئيسي للجدول.
Email : wael1554@gmail.com
Email : wael1554@gmail.com
تحويل مخطط الكيان العالقة لجامعةإلى ما يقابله من مخطط قواعد البيانات (جداول)
المحاضر()Instructor
المقرر()Course
.1وتتم عملية تحويل الكيانات القوية بتمثيل كل منها بجدول يحمل إسم الكيان ،ويحتوي حقوال تمثل
الصفات( تمثل الصفات بالشكل البيضاوي) المرتبطة(االرتباط يمثل بخط مستقيم) بالكيان.
.2في حالة الصفة المركبة( شكل بيضاوي مرتبط باشكال بيضاوية جزئية) يتم أخذ األجزاء المكونة
للصفة المركبة.
Email : wael1554@gmail.com
أما الصفة متعددة القيمة( تمثل بشكل بيضاوي مزدوج اإلطار) فيتم إنشاؤها في جدول مستقل يحمل
إسم الكيان والصفة متعددة القيمة ،ويحتوي حقوال تمثل الصفة متعددة القيمة وصفة المفتاح الرئيسي
للكيان.
ويكون المفتاح الرئيسي ( )Primary Keyللجدول هو مجموعة صفات المفتاح الرئيسي المرتبطة بالكيان
يتم تمثيل الكيان الضعيف بشكل مستطيل مزدوج اإلطار ،وسبب ضعف الكيان ،ينتج من عدم وجود صفة
مفتاح رئيسي له ،ولكن يحتوي على صفة مفتاح جزئي ،ولدينا في هذا المثال كيان ضعيف واحد هو:
السنة()Year
الفصل()Semester
.1رقم الشعبة()Section-no
ويجب أن يرتبط الكيان الضعيف بكيان قوي بواسطة عالقة تعريف( تمثل عالقة التعريف بشكل معين مزدوج
اإلطار) ،وذلك في سبيل تقوية الكيان الضعيف.
وتتم عملية تحويل ال كيان الضعيف بتحويله إلى جدول يحمل إسم الكيان الضعيف،ويحتوي حقوال من الصفات
المرتبطة به ،باالضافة إلى حقل المفتاح الرئيسي من جدول الكيان القوي المرتبط معه بعالقة تعريف،وفي حال
وجود أي صفة على عالقة التعريف ،يتم تمثيلها بحقل في الجدول .ويكون المفتاح الرئيسي للجدول هو مفتاح
الكيان القوي باإلضافة الى المفاتيح الجزئية في الكيان الضعيف.
Email : wael1554@gmail.com
تحويل مخطط الكيان العالقة لجامعةإلى ما يقابله من مخطط قواعد البيانات (جداول)
في هذه الحالة يتم التعامل مع العالقة حسب نوعها كل على حده ،حيث تصنف العالقات إلى األنواع التالية:
يتم تجاهل عالقة التعريف ( شكل معين مزدوج اإلطار) ،النه تم بناؤها مسبقا عند تحويل الكيان الضعيف
إذا كانت العالقة بين الكيانين عالقة واحد-إلى -واحد فإن عملية التحويل تتم وفق عدة خيارات أشهرها ،خيار
يسمى بطريقة المفتاح األجنبي ،وفيه يتم إضافة المفتاح الرئيسي ألحد الجدولين إلى الجدول اآلخر كمفتاح أجنبي
ويفضل أن يكون الجدول الذي يحتوي على المفتاح األجنبي ،هو الجدول الذي يكون نوع قيد اشتراكه في
العالقة ،من نوع (االشتراك الكلي) .وفي حال وجود صفة على العالقة يتم إضافتها كحقل إضافي مع المفتاح
األجنبي.
في هذه الحالة يتم أخذ نسخة من المفتاح الرئيسي من الجدول ذو طرف العالقة واحد ويتم إضافته كحقل مفتاح
أجنبي في جدول طرف العالقة كثير .وفي حال وجود صفة على العالقة يتم إضافتها كحقل إضافي مع المفتاح
األجنبي.
في هذا المثال لدينا عالقة يُدرس()teachesبين كيان المحاضر( )Instructorوكيان الشعب الفصلية
المقترحة(،)Course-Offerings
في هذا المثال لدينا عالقة يُدرس()teachesبين كيان المحاضر ( )Instructorوكيان الشعب الفصلية
المقترحة (.)Course-Offerings
Email : wael1554@gmail.com
في هذا النوع من العالقات يتم إنشاء جدول جد يد يحمل إسم العالقة ،وتكون حقوله هي حقول المفتاح الرئيسي
من كال الجدولين المشاركين في العالقة مكونة المفتاح الرئيسي للجدول الجديد ،وفي حال وجود صفة على
العالقة يتم إضافتها كحقل إضافي في الجدول
في هذا المثال ،يوجد لدينا عالقتين من نوع كثير إلى كثير ،هما:
Email : wael1554@gmail.com
وبذلك نكون قد أنشأنا مخطط قواعد البيانات الناتج عن التحويل للمثال رقم ( ،)0وهو على الشكل
التالي :
Email : wael1554@gmail.com
يحتوي مخطط الكيان العالئقي السابق على ثالث كيانات عادية هي:
نالحظ في هذا الكيان وجود صفة مركبة هي صفة اإلسم()Nameوالتي تتكون من الصفات الجزئية االسم
األول ( ، )Fnameو حرف االسم األوسط ( ، )Minitواالسم األخير ( .)Fnameوكما اوضحنا سابقا ،فإن
الصفة المركبة في عملية التحويل تدرج بصفاتها الجزئية فقط
Email : wael1554@gmail.com
نالحظ في هذا الكيان وجود صفة مشتقة هي عدد الموظفين ( ،)Number of employeesوذكرنا سابقا
أننا في عملية التحويل نتجاه هذه الصفة ،ليتم بناؤها الحقا بجملة إستعالم
كما نالحظ وجود صفة متعددة القيمة وهي المواقع ( )locationsوذكرنا سابقا أن الصفة متعددة القيمة يتم
تحويلها إلى جد ول مستقل مع المفتاح الرئيسي للكيان ،ويكون إسم الجدول مكون من إسم الكيان مضافا إليه إسم
الصفة متعددة القيمة.
Email : wael1554@gmail.com
هذا الكيان يحتوي على صفات بسيطة فقط،وبالتالي ينتج عن عملية التحويل الجدول التالي:
Location Name Number Project
كيان المعتمد على ( ، )Dependentحيث يصف هذا الكيان أفراد عائلة الموظف المعتمدين عليه في إعالتهم.
و يرتبط هذا الكيان الضعيف بكيان قوي هو كيان الموظف ( )Employeeبواسطة عالقة التعريف يعتمد على
(.)Dependent_of
Email : wael1554@gmail.com
Email : wael1554@gmail.com
في هذا المثال توجد عالقة من النوع واحد -إلى -واحد ،وهي عالقة ()Managesبين كيان
الموظف،وكيان القسم ،والعالقة ذات إشتراك كلي من جهة القسم ،مع وجود الصفة
( ) start_dateعلى العالقة.
وبناءا علي النقطة السابقة ،يتم أخذ نسخة من المفتاح الرئيسي لجدول الموظف (،)Employee_Ssn
مضافا إليها الصفة على العالقة ( ،)start_dateووضعهما كتعديل على جدول القسم(،)department
ويف ضل إعادة تسمية المفتاح الرئيسي ليدل على العالقة وهي عالقة ادارة ،فهو مدير ( ،)Managerوبالتالي
بدال من التسمية Employee_Ssnتصبح التسمية Manager_Ssn
في هذا المثال لدينا ثالث عالقات من نوع واحد إلى كثير وهي:
Email : wael1554@gmail.com
نتيجة لهذه العالق ة يتم التعديل على جدول الموظف( )Employeeليحتوي على رقم
القسم( )Department_Numberالذي يعمل فيه ،ليصبح جدول الموظف ( )Employeeبالشكل التالي:
وعليه تتوثق العالقة بين جدول الموظف والقسم ،بإضافة مفتاح أجنبي جديد ،وهو رقم القسم في جدول
الموظف ،كما يظهر في الشكل التالي:
نتيجة لهذه العالقة يتم التعديل على جدول المشروع ( )Projectليحتوي على رقم
القسم( )Department_Numberالذي يتحكم في المشروع ،ليصبح جدول المشروع ( )Projectبالشكل
التالي:
Email : wael1554@gmail.com
وعليه يرتبط جدول القسم بجدول المشروع بواسطة المفتاح األجنبي رقم القسم ()Department-Number
الذي تم إضافته إلى جدول المشروع ،كما يظهر في الشكل التالي:
هذه العالقة هي عالقة أحادية ذات تغذية راجعة،أي عالقة كيان على نفسه.
ن تيجة هذه العالقة أن يتم إضافة حقل جديد هو حقل المشرف (،)Supervisorوهو حقل يعبر عن رقم
الموظف ،مع إعطائه خصوصية كونه مشرفا على غيره من الموظفين.الحقل يتم إضافته إلى جدول الموظف
( )Employeeليصبح بالشكل التالي:
Email : wael1554@gmail.com
في هذا المثال ،يوجد لدينا عالقة واحدة من نوع كثير إلى كثير ،هي عالقة موظف يعمل على مشروع
()Works_on
وفي هذه الحالة يتم إنشاء جدول جديد تحت إسم العالقة ( ،)Works-onونقوم بأخذ المفتاح الرئيس من كل
الجدولين ،الموظف ( )Employeeوالمشروع ( ،)Projectباإلضافة إلى الصفة عدد الساعات ()Hours
المرتبطة بالعالقة ،ويصبح لدينا الجدول التالي:
وبذلك يرتبط جدول الموظف ( )Employeeوجدول المشروع ( )Projectعن طرق الجدول الجديد
( )Works_onعن طريق المفاتيح األجنبية رقم الموظف ( )Employee-Ssnمن جدول
الموظف ، Employeeورقم المشروع ( )Project-Numberمن جدول المشروع ()Project
Email : wael1554@gmail.com
Email : wael1554@gmail.com
عناصر المحاضرة
مثال0
Email : wael1554@gmail.com
يحتوي مخطط الكيان العالئقي السابق على ثالث كيانات عادية هي:
نالحظ في هذا الكيان وجود صفة مركبة هي صفة اإلسم( )Nameوالتي تتكون من الصفات الجزئية االسم
األول ( ، )Fnameو حرف االسم األوسط ( ، )Minitواالسم األخير ( .)Fnameوكما اوضحنا سابقا ،فإن
الصفة المركبة في عملية التحويل تدرج بصفاتها الجزئية فقط
Email : wael1554@gmail.com
نالحظ في هذا الكيان وجود صفة مشتقة هي عدد الموظفين ( ،)Number of employeesوذكرنا سابقا
أننا في عملية التحويل نتجاه هذه الصفة ،ليتم بناؤها الحقا بجملة إستعالم
كما نالحظ وجود صفة متعددة القيمة وهي المواقع ( )locationsوذكرنا سابقا أن الصفة متعددة القيمة يتم
تحويلها إلى جدول مستقل مع المفتاح الرئيسي للكي ان ،ويكون إسم الجدول مكون من إسم الكيان مضافا إليه إسم
الصفة متعددة القيمة.
Email : wael1554@gmail.com
التالي:
Location Name Number Project
كيان المعتمد على ( ، )Dependentحيث يصف هذا الكيان أفراد عائلة الموظف المعتمدين عليه في إعالتهم.
و يرتبط هذا الكيان الضعيف بكيان قوي هو كيان الموظف ( )Employeeبواسطة عالقة التعريف يعتمد على
(.)Dependent_of
وتتم عملية تحويل الكيان الضعيف بتحويله إلى جدول يحمل إسم الكيان الضعيف(،)Dependentويحتوي
حقوال من الصفات المرتبطة به ،باالضافة إلى حقل المفتاح الرئيسي من جدول الكيان القوي()Employee
Email : wael1554@gmail.com
في هذا المثال توجد عالقة من النوع واحد -إلى -واحد ،وهي عالقة ()Managesبين كيان الموظف،وكيان
القسم ،والعالقة ذات إشتراك كلي من جهة القسم ،مع وجود ال صفة ( ) start_dateعلى العالقة.
وبناءا علي النقطة السابقة ،يتم أخذ نسخة من المفتاح الرئيسي لجدول الموظف (،)Employee_Ssn
مضافا إليها الصفة على العالقة ( ،)start_dateووضعهما كتعديل على جدول القسم(،)department
ويفضل إعادة تسمية المفتاح الرئيسي ليدل على الع القة وهي عالقة ادارة ،فهو مدير ( ،)Managerوبالتالي
بدال من التسمية Employee_Ssnتصبح التسمية Manager_Ssn
Email : wael1554@gmail.com
في هذا المثال لدينا ثالث عالقات من نوع واحد إلى كثير وهي:
نتيجة لهذه العالقة يتم التعديل على جدول الموظف( )Employeeليحتوي على رقم
القسم( )Department_Numberالذي يعمل فيه ،ليصبح جدول الموظف ( )Employeeبالشكل التالي:
وعليه تتوثق العالقة بين جدول الموظف والقسم ،بإضافة مفتاح أجنبي جديد ،وهو رقم القسم في جدول
الموظف ،كما يظهر في الشكل التالي:
Email : wael1554@gmail.com
هذه العالقة هي عالقة أحادية ذات تغذية راجعة،أي عالقة كيان على نفسه.
نتيجة هذه العالقة أن يتم إضافة حقل جديد هو حقل المشرف (،)Supervisorوهو حقل يعبر عن رقم
الموظف ،مع إعطائه خصوصية كونه مشرفا على غيره من الموظفين.الحقل يتم إضافته إلى جدول الموظف
( )Employeeليصبح بالشكل التالي:
في هذا المثال ،يوجد لدينا عالقة واحدة من نوع كثير إلى كثير ،هي عالقة موظف يعمل على مشروع
()Works_on
Email : wael1554@gmail.com
وبذلك يرتبط جدول الموظف ( )Employeeوجدول المشروع ( )Projectعن طرق الجدول الجديد
( )Works_onعن طريق المفاتيح األجنبية رقم الموظف ( )Employee-Ssnمن جدول
الموظف ، Employeeورقم المشروع ( )Project-Numberمن جدول المشروع ()Project
وبذلك نكون قد أنشأنا مخطط قواعد البيانات الناتج عن التحويل للمثال رقم ( ،)0وهو على الشكل التالي :
Email : wael1554@gmail.com
عناصر المحاضرة
.1هي عالقة بين كيانين ،أحدهما طبقة أعلى(أصل أو أب) ،واألخرى طبقة أسفل (فرع أو إبن)متفرعة
من الطبقة األصل.
Email : wael1554@gmail.com
.1مثال:ينتج عن تحويل عالقة ISAفي مخطط الكيان العالقة المقابل الجداول التالية:
Email : wael1554@gmail.com
إن عملية تمثيل البيانات من نماذج تم جمعها من موقع الدراسة او الحالة المراد بناء قواعد البيانات إليها، .1
قد تختلف ،فمثال لو أخذنا بعين اإلعتبار الشكل التالي:
قيم محسوبة .2
قيم مستنتجة .3
سجالت من اكثر .4
من كيان...الخ
مشاكل البيانات
.1ذكرنا فيما سبق مشاكل ملفات البيانات ،والتي هي على عالقة وطيدة بمشاكل البيانات ،ونذكر منها:
.1تكرار البيانات
.2مشاكل إدخال البيانات
.3مشاكل حذف البيانات
.1تكرار البيانات
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
.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
عند حذف بيانات ما ،فان ذلك قد يؤثر على وجود بيانات أخرى.في الجدول التالي:
#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
ربما يحدث خطأ في تعديل البيانات في موضع تخزينمعين دون مواضع أخرى سهوا أو عمدا .ينتج عن ذلك عد
توافقية البيانات موضوع التعديل
.1تعطل األجهزة
.1فيروسات الحاسب
.1كوارث طبيعية
.1يوفر نظام إدارة قواعد البيانات ( )DBMSعدة تقنيات لمواجهة مشاكل فقد البيانات ،واستعادتها الى
الحالة السابقة للفقد أو الخطأ مباشرة.
.2من االمكانيات المتاحة لالستعادة نذكر:
النسخ االحتياطي(:)Backupيوفر DBMSإجراءا آليا لعمل نسخة احتياطية لكامل قاعدة البيانات.
مفكرة النظام(:)System Logوهي آلية يستخدمها DBMSلتسجيل كافة التعامالت مع قاعدة البيانات
نقط اإلختبار( :)Check Pointوهو سجل ينشئه DBMSليسجل فيه عملية فحص للنظام ،واعتبار عملية
الفحص الناجحة نقطة إسترجاع ممكنة
برنامج إدارة اإلستعادة( :)Recovery Managerهو برنامج يقوم بإرجاع قاعدة البيانات إلى الحالة
السليمة عند حدوث األعطال ،ثم يعيد تنفيذ تعامالت البرامج والمستخدمين من المفكرة(مفكرة النظام)
اعتمادا على نوع فقد البيانات ،وإمكانيات ا إلستعادة المتوفرة ،يمكن إستخدام أحد طرق اإلستعادة التالية:
Email : wael1554@gmail.com
إعادة التحميل وإعادة التشغيل ( :)Rerun &Restoreتستخدم للتعامالت السابقة للعطل بعد آخر نسخة
إحتياطية .حيث يجري تحميل النسخة االحتياطية ،ثم إعادة تشغيل التعامالت التي تمت بعد عملية النسخ إلى
وقت حدوث العطل.
.1فقد البيانات أنواع تتراوح ما بين إدخال قيم غير صحيحة لبيانات معينة إلى الفقد الكامل لبيانات قاعدة
البيانات.
.2بناءا على نوع فقد البيانات ،يتم تحديد طريقة اإلستعادة المناسبة
.3من أنواع فقد البيانات:
.1االستعادة باعادة التحميل من ال نسخة االحتياطية،ثم تنفيذ كافة التعامالت باالستعادة االمامية
.1نستخدم تقنية إلغاء /التراجع عن آخر تعامالت او البدء من آخر نقطة فحص
.1مع تقدم التكنولوجيا أصبحت االمور أكثر يسرا على المستخدم ،كما اصبحت االمور أكثر خطورة
بسبب االختراقات الممكنة عن طريق شبكات الحاسوب التي تسبب خسائر طائلة في المال
والمعلومات.
.2يعرف أمن قاعدة البيانات على أنه حماية قاعدة البيانات من االستخدام الخطأ أو االضرار المتعمد
للبيانات
Email : wael1554@gmail.com
استخدام الجداول االفتراضية بدال من الجداول األصلية ،االمر الذي يقيد حرية التعامل مع البيانات األصلية دون
تعطيل عمليات االستعالم
استخدام قواعد الترخيص بالصالحيات من قبل DBAبشكل كفؤ ،بحيث يحكم من يصل المعلومات بضوابط
أمنية
استخدام برامج تحجيم المستخدمين ،لتقييدهم وسد الطرق عليهم في الوصول لقاعدة البيانات بطريقة غير
مشروعة
استخدام ب رامج التشفير أو الترميز ،في هذه الحالة حتى لو تم الوصول للبيانات فلن يتم فهماها بسبب تشفيرها
Email : wael1554@gmail.com