Professional Documents
Culture Documents
Leture 2
Leture 2
عناصر المحاضرة
2
أنواع قواعد البيانات
والخطوط الواصلة بين هذه المستطيالت تمثل االرتباط بين السجالت وبعضها البعض •
كل سجل يكون له عنوان محدد ويتم تخزين بيانات هذا السجل في مكان محدد ا •
يضا داخل السجل )بيانات موظف مثال(، •
كما يحتوي السجل على مؤشر يشير إلى عناوين جميع السجالت المرتبطة بهذا السجل •
في هذا النوع من قواعد البيانات تكون جميع السجالت تقريباً مرتبطة ببعضها •
ولكن االرتباط هنا لم يتولد تلقائياً كما هو الحال في قواعد البيانات العالئقية بل تم تصميمه من •
قبل المبرمج ولذلك يسمى هذا النوع من الربط "ربط فيزيائي".
3
4
قواعد البيانات الهرمية Hierarchal Database
كل سجل يتكون من ثالثة أجزاء ,كما هو الحال في قواعد البيانات الشبكية أن االرتباط بين السجالت
وبعضها البعض يكون عن طريق المؤشرات (ربط فيزيائي) ،ولكن االختالف الظاهر بين قواعد البيانات
الشبكية وقواعد البيانات الهرمية أن األولى يمكن الوصول إلى أي سجل من سجالتها من أي نقطة ،ولكن
الثانية ال بد من البدء من أول سجل (الجذر) حتى تصل إلى أي سجل تريده ،وليست هذه العملية خاصة
باضافة سجل جديد فقط ولكن أيضاً عند االستعالم عن سجل أو حذف سجل أو التعديل على بيانات سجل
البد أن نبدأ من الجذر .وتعتبر قواعد البيانات الشبكية والهرمية قواعد بيانات غير عالئقية حيث أنها ال
يوجد بها أي عالقات )جداول( ،وجميع الروابط بين سجالتها روابط فيزيائية وليست منطقية ،وتمتاز
قواعد البيانات غير العالئقية بالسرعة الفائقة حيث وجود المؤشرات كروابط سريعة للوصول إلى
السجالت ،ولكنها يعيبها شئء خطير جداً وهو التعقيد في التصميم ،فميزة السرعة يمكن التغلب عليها
بالتعامل مع أجهزة متطورة تمتاز بسرعة المعالج الفائقة والذاكرة الكبيرة ،ولكن صعوبة التصميم شئ من
الصعب التغلب عليه ،وبالتالي أصبحت قواعد البيانات العالئقية هي األكثر استخداماً وانتشاراً وذلك
لسهولة تصميمها وسهولة برمجتها وسهولة أيضاً تعامل المستخدمين معها.
5
قواعد البيانات الهرمية Hierarchal Database
وظلت هذه األنواع هي المستخدمة حتى ظهرت قواعد البيانات العالئقية ونظرا لقوة نظم إدارة
قواعد البيانات العالئقية فقد طغت على األنواع األخرى وأصبحت هي النوع الوحيد المستخدم.
6
7
عناصر المحاضرة
8
قواعد بيانات عالئقية RELATIONAL DATABASE
9
قواعد بيانات عالئقية RELATIONAL DATABASE
10
مبادئ قواعد البيانات العالئقية-:
نموذج قاعدة بيانات بسيطة (قاعدة بيانات مستشفى)
المرضى
الغرف
رقم اسم رقم
الجنس الطبيب رقم رقم
المريض المريض الغرفة
عدد األسرة
الغرفة التحويلة
313 محمد 1 100 سيف
100 435 3
345 حنان 2 300 محمد
200 342 2
988 خالد 1 100 دعاء
456 منى 2 200 عزة 300 676 1
11
..فنالحظ أن هذه الجداول يوجد بينهم عالقات ،فمثال :المريض محمد له
عالقة مع سجل في جدول (يعالج بواسطة) والذي يحدد نوع وكمية الدواء التي
يتناولها محمد .
إذن لو أردنا أن نستعلم عن شيء معين داخل قاعدة البيانات ،فسيقوم الحاسب
باسترجاعه عن طريق العالقات التي بين تلك الجداول .
مثال لو أردنا اسم المريض رقم 313ورقم الغرفة التي يرقد بها وتحويلة هذه
الغرفة واسم الدواء الذي يتناوله ؟
أولا يستخرج الحاسب اسم المريض والغرفة التي يرقد بها من جدول المرضى
(اسم المريض محمد الغرفة ) 100ثم ينتقل إلى جدول الغرف ليأخذ رقم
التحويلة للغرفة ( 100التحويلة )435ثم ينتقل إلى جدول يعالج بواسطة ليأخذ
رقم الدواء ومن ثم يتجه لجدول األدوية ليأخذ اسم هذا الدواءFDG
12
بعض المصطلحات المستخدمه في نموذج قاعدة البیانات
13
ممیزات قواعد البیانات العالقیه
ADVANTAGES OF RDB
• توافق مفهوم قواعد البيانات العالقية و األسلوب الشائع لتعامل
المستخدم مع البيانات حيث يفضل المستخدم التعامل مع
البيانات في صورة قوائم وجداول Tables/lists
• سهولة وبساطة العمليات التى تجرى على البيانات بالمقارنه
بباقي األنواع المختلفة حيث تعتمد على شكل معياري لخطوات
و أوامر تعرف باسم لغة االستفسار الهيكلية SQLوالتى تشبه
لحد كبير طريقة وأسلوب تعامل المستخدم مع البيانات.
• اعتماد العمليات التى تجرى على قواعد البيانات العالقيه على
عمليات سبق استخدامها وتجربتها من قبل مثل عمليات الجبر
العالقي Relational Algebraحيث يتم مناظرة الجدول الى
مجموعه Setوبالتالي يمكن تطبيق عمليات مثل االتحاد
والتقاطع Union-Intersectionوغيرها من العمليات.
14
مثال
EXAMPLE
الجدولً( :Aرقمًالطالبً– اسمًالطالبً– التخصص)
15
مثال
EXAMPLE
نتيجةًاالتحادًبينًالجدولينًهوًجدولًثالثًيضمًاألعمدهًجميعها
16
عناصر المحاضرة
17
إلنشاء قاعدة بيانات سوف ندرس المراحل التالية:
تقــــــاريـــر استعـــــــــالم
تحديث البيانات
مثل طباعة تقرير عن أرباح مثال الستعالم عن معلومات
الشركة لعام 2007 إضافة -حذف -تعديل المريض بإدخال رقم هذا المريض
18
عناصر المحاضرة
19
فلنبدأ اآلن بالمرحلة األولى وهي تصميم قاعدة البيانات
في هذه المرحلة سوف يكون هناك 4خطوات لرسم نموذج الكيان والعالقة الرابطة :
المدرب
المتدرب الدورة
20
تحديد الكيانات ENTITIES
21
تحديد الكيانات ENTITIES
22
عناصر المحاضرة
23
-2تحديد الخصائص (الصفات) Attributesويرمز لها بالشكل:
الخاصية أو الصفة هي صفة تصف كيان معين مثل (رقم الطالب يصف الكيان
الطالب) ويجب أن يكون لكل كيان صفة خاصة تميزة عن غيره نسميها المفتاح
األساسي Primary Key
إذن المفتاح األساسي هو أحد خصائص أو صفات الكيان وتكون قيمته وحيدة في
كل سجل والتتكرر في أي سجل آخر من نفس الكيان ونميزه في الرسم بوضع
خط تحته.
مالحظة :عند تحديد الصفات لكيان ما نختار الصفات التي تخص هذا الكيان بعينة والتخص
غيره
اآلن نحاول تطبيق هذه الخطوة على مثالنا:
• المتدربين :اسم المتدرب ،تاريخ الميالد ،السكن ،رقم الهاتف ،ونضع حقل مفتاح أساسي لتميز كل متدرب عن
األخر وهو الرقم األكاديمي والنضع هنا اسم الدورة ألن هذه صفة تخص الدورة وال تخص المتدرب.
• المدربين :اسم المدرب ،التخصص ،مصدر التخصص ،العنوان ،رقم الهاتف ،ونضع أيضا حقل مفتاح أساسي
لتميز كل مدرب عن األخر وهو رقم المدرب والنضع هنا اسم الدورة ألن هذه صفة تخص الدورة والتخص المدرب.
• الدورات :اسم الدورة ،عدد ساعات الدورة ،و نضع أيضا حقل مفتاح أساسي لتميز كل دورة عن األخرى وهو
رقم24الدورة.
السكن
تاريخًالميالد
رقمًالهاتف
اسمًالمدرب المدرب
الرقمًاألكاديمي
السكن
مصدرًالتخصص رقمًالهاتف
التخصص
المدرب
اسمًالمدرب
رقمًالمدرب
الدورة
رقمًالدورة
اسمًالدورة عددًساعاتًالدورة
25
السكن
تاريخًالميالد
رقمًالهاتف
األول
اسمًالمدرب
األب التدرب
العائلة الرقمًاألكاديمي
السكن
مصدرًالتخصص رقمًالهاتف
التخصص
المدرب
اسمًالمدرب
رقمًالمدرب
األول
األب العائلة
الدورة
27
أنواع عناصر الوصف
TYPES OF ATTRIBUTES
.3أحادية القيمة أم متعددة القيم Single-valued / Multi-valued
28
عناصر المحاضرة
• العالقات Relationship
29
-3وضع العالقات . Relationshipويرمز لها بالشكل التالي:
العالقة الرابطة هي العالقة التي تربط بين الكيانات وتمثل عالقة رابطة في العالم المصغر
الذي تمثله قاعدة البيانات وتهتم قواعد البيانات بشكل كبير جدا بالعالقات الرابطة بين
الكيانات ألنها تعبر عن الروابط بين البيانات في الواقع وتمثل العالقة غالبا بفعل مضارع
لنطبق ذلك على المثال السابق ونربط الكيانات لدينا بعالقات:
السكن
تاريخًالميالد
األول رقمًالهاتف
العائلة الرقمًاألكاديمي
السكن
مصدرًالتخصص رقمًالهاتف تدرب يدرس
التخصص
المدرب
اسمًالمدرب
رقمًالمدرب
يدرب على
األول
األب العائلة
الدورة
اسمًالدورة
رقمًالدورة عددًساعاتًالدورة
30
العالقات
RELATIONSHIPS
الخصائص المختلفه للعالقات:
اسم يوضح االرتباط بين أطراف العالقه. •
درجة العالقه (أحاديه-ثنائيه-ثالثيه). •
نوع العالقة ((1:1 – 1:M – M-N •
قد يوجد عناصر وصف للعالقه كما هو الحال مع كينونات البيانات •
وهي تصف خاصيه للعالقة نفسها.
يمكن تحديد أكثر من عالقه بين كينونتين. •
يمكن أن تكون العالقه في شكل كينونه وذلك عند معالجة •
العالقات من النوع متعدد ال متعدد وتعرف باسم Associative
entity
31
-4تحديد نوع العالقة بتحديد نسبة المشاركة :Cardinality ratio
1 1
القسم المدير
1 1
32
-4تابع تحديد نوع العالقة بتحديد نسبة المشاركة Cardinality ratio
M 1
الحساب العميل
1 1
33
-4تابع تحديد نوع العالقة بتحديد نسبة المشاركة Cardinality ratio
M 1
الطالب المقرر
1 N
لنطبق ذلك على مثال مركز التدريب السابق ونحدد أنواع العالقات كالتالي:
34
نأخذ العالقة التي بين المتدربين والمدربين
السؤال األول :هل المتدرب الواحد يتدرب لدى عدد من المدربين أم مدرب
واحد؟
السؤال الثاني :هل المدرب الواحد يدرب عدد من المتدربين أم متدرب واحد؟
نجيب على السؤال األول فنقول أن المتدرب الواحد ممكن أن يتدرب لدى عدد
من المدربين ألن المتدرب ممكن أن يأخذ اكثر من دورة.
نجيب على السؤال الثاني فنقول أن المدرب الواحد ممكن أن يدرب عدد من
المتدربين .
فمن هذين السؤالين تنتج العالقة التالية M:N :
35
لنأخذ العالقة بين المدربين والدورات
• السؤال األول :هل المدرب الواحد ممكن أن يعطي اكثر من دورة أم
دورة واحدة؟
• السؤال الثاني :هل الدورة الواحدة يعطيها اكثر من مدرب أم مدرب
واحد ؟
• نجيب على السؤال األول فنقول أن المدرب الواحد ممكن أن يعطي
اكثر من دورة.
• نجيب على السؤال الثاني فنقول أن الدورة الواحدة يعطيها أو يدرب
عليها اكثر من مدرب.
• فمن هذين السؤال تنتج العالقة التالية M:N:
36
لنأخذ العالقة بين المتدربين والدورات
• السؤال األول :هل المدرب الواحد ممكن أن يأخذ اكثر من دورة أم دورة
واحدة فقط ؟
• السؤال الثاني :هل الدورة الواحدة ممكن أن تشمل اكثر من متدرب أم
متدرب واحد فقط ؟
• نجيب على السؤال األول فنقول أن المدرب الواحد ممكن أن يأخذ اكثر من
دورة .
• نجيب على السؤال الثاني فنقول أن الدورة الواحدة ممكن أن تشمل اكثر
من متدرب.
37
السكن
تاريخًالميالد
رقمًالهاتف
األول
اسمًالمدرب
األب المدرب
العائلة الرقمًاألكاديمي
M M
السكن
التخصص
المدرب
N
اسمًالمدرب M
رقمًالمدرب يدربنًعلى
األول N
األب العائلة
الدورة
اسمً
الدورة رقمًالدورة عددًساعاتًالدورة
38
درجة العالقه (أحاديه-ثنائیه-ثالثیه)
40
درجة العالقة
العالقات األحادية UNARY RELATIONSHIP
• مثال :أي موظف (مدير) يدير على األقل موظف واحد أو أكثر,
و أي موظف يديره على األقصى موظف (مدير) واحد(1:M) .
موظف يدير
41
درجة العالقة
العالقه الثالثیه TERNARY RELATIONSHIP
• تعني وجود اسم لعالقه واحده تربط بين ثالثة كينونات من
البيانات.
• هي احالل لثالثة عالقات ثنائية وحيث أن العالقة الثنائية تعني
وجود كينونتين من البيانات بمعني أن 3عالقات ثنائية قد تعني
وجود 6كينونات مختلفة.
• الشروط الواجب توافرها الحالل 3عالقات ثنائيه بعالقة واحدة
ثالثيه:
هناك 3كينونات من البيانات فقط وليس .6
اسم العالقة المتكرر في الثالثة عالقات الثنائيه واحد ومتكرر
بحيث يمكن دمجها.
درجة العالقات الثالثيه متطابق وبالتالي تكون العالقة الثالثيه
البديلة لها نفس الدرجة(1:1 - 1:M - M:N) .
42
درجة العالقة
العالقه الثالثیه TERNARY RELATIONSHIP
• مثال :العالقات الثالثة الثنائيه:
• أي مورد يقوم باالمداد بعلي األقل قطعة واحدة وأي قطعة يتم
امدادها عن طريق واحد على األقل من الموردين(M:N) .
• أي مورد يقوم باالمداد لمستودع واحد على األقل وأي مستودع يتم
امداده عن طريق مورد واحد على األقل(M:N) .
• أي قطعه واحدة يتم امدادها لمستودع واحد على األقل بينما أي
مستودع يتم امداده بقطعة واحدة على األقل(M:N) .
• مما سبق نجد أن الشروط الالزمه لدمج ثالثة عالقات ثنائيه في
عالقة واحدة ثالثيه فد تحققت.
43
درجة العالقة
العالقه الثالثیه TERNARY RELATIONSHIP
قطعة
44
حقل توصیف مع العالقه
RELATIONSHIP WITH ATTRIBUTE
• في العديد من الحاالت يوجد عناصر وصف للعالقة كما هو الحل
مع كينونات البيانات وهي التي تصف خاصية للعالقة نفسها
وليس ألحد الكينونات.
• مثال :كل موظف يستكمل على األقل مقرر واحد (أو أكثر) وأي
مقرر يستكمله على األقل موظف واحد (أو أكثر).
45
حقل توصیف مع العالقه
RELATIONSHIP WITH ATTRIBUTE
تاريخ
الستكمال
46
حقل توصیف مع العالقه
RELATIONSHIP WITH ATTRIBUTE
قطعة
وضعًالشحن تكلفةًالوحدة
47
أكثر من عالقه بین نفس كینونتي البیانات
48
أكثر من عالقه بین نفس كینونتي البیانات
يعمل في
موظف ادارة
يدير
49
إذن المرحلة األولى وهي مرحلة التصميم ورسم نموذج الكيان
والعالقة الرابطة تمر بأربع خطوات هي
-1تحديد الكيانات.
-2تحديد الصفات أو الخصائص لهذه الكيانات وفي
هذه المرحلة البد من تحديد الصفة التي تعد
مفتاح أساسي لهذا الكيان.
-3ربط الكيانات بعالقات.
-4تحديد نوع هذه العالقات.
50
المستشفى تطبيق قاعدة بيانات
المصغر
أرسم ERDالالزم لتمثيل بيانات المرضى في
أحد المستشفيات واألطباء المعالجون مشتمال رقم
المريض واسمه ورقم الغرفة المقيم بها ورقم
التحويله للغرفة وعدد األسرة بها واسم ورقم
الدواء المصروف له وكذلك رقم الطبيب واسمه
وتليفونه وتخصصه 52
ERD
األول
التاريخ رقم المريض اسمًًالطبيب
العائلة
رقم
الطبيب
األول M 1
المريض يعالج الطبيب
العائلة
رقمًالهاتف
اسمًًالمريض
N N
التخصص
يقيم يصرف
في له M
1
عددًاألسرة الدواء
الغرفة