260 likes | 1.01k Views
CH#4 نموذج العلائقية. Relational Model. نموذج العلائقية (RM). في نموذج العلائقية جميع البيانات مبنية منطقيا ضمن علاقات (جداول) الصفات STUDENT العلاقة. StudentNo. LName. FName. Initial. DOB.
E N D
CH#4نموذج العلائقية Relational Model
نموذج العلائقية (RM) • في نموذج العلائقية جميع البيانات مبنية منطقيا ضمن علاقات (جداول) الصفات STUDENT العلاقة StudentNo LName FName Initial DOB GPA 4170010 Al-Saleh Amal M. 04-06-78 3.91 4182000 Al-Ghanem Nora A. 4.20 02-12-79 متتابعات 4182034 Al-Fahad 01-11-74 Laila A. 4.01 Saod 4188134 Amal F. 22-04-73 3.01 4189860 Rashed Rana I. 2.31 30-01-78 Al-Fahad 4192134 19-03-79 Rania M. 3.50
بناء البيانات في العلائقية • العلاقة هي عبارة عن جدول مكون من صفوف وأعمدة يحتوي على معلومات حول الكيان. • الصفة هي اسم العمود في العلاقة. • المتتابعة هي الصف في العلاقة.
بناء البيانات في العلائقية • المجال : يعبر عن مجموعة القيم المسموحة في العمود لكل صفة , فكل صفة في قاعدة البيانات يجب أن يكون لها مجالها الخاص بها.
المجال STUDENT StudentNo LName FName Initial DOB GPA 4170010 Al-Saleh Amal M. 04-06-78 3.91 4182000 Al-Ghanem Nora A. 4.20 02-12-79 4182034 Al-Fahad 01-11-74 Laila A. 4.01 Attribute Domain Name Definition StudentNo Digits: size 7 Student Number Character: size 15 LName Last Name Character: size 15 FName First Name Character: size 3 Initial Initial Date: range 01-01-20, format dd-mm-yy DOB Date of Birth GPA Real: size 3, decimal 2, range 0-5 Great Point Average
خصائص العلاقات (الجداول) • لكل علاقة (جدول) اسم خاص به غير مكرر في قاعدة البيانات . • كل خلية في الجدول تحتوي فقط على قيمة واحدة. • اسم الصفة لا يتكرر في الجداول (متفرد). • القيم التي تأخذها الصفة يجب أن تكون ضمن مجالها. • لا يمكن أن يتكرر الصف في الجدول فكل صف يجب أن يكون مختلف عن الآخر . • ترتيب الصفات ليس ضروري. • ترتيب الصفوف ليس ضروري.
مفاتيح العلائقية • المفتاح المرشح (Candidate key (CK) ) : هو عبارة عن الصفة أو مجموعة الصفات التي تعرِف الصف . • المفتاح الرئيس(Primary Key (PK) ) : هو عبارة عن المفتاح المرشح الذي تم اختيارة ليعرف صف عن صف في العلاقة (جدول). • المفتاح الأجنبي (Foreign Key (FK) ) : هو عبارة عن صفة أو مجموعة من الصفات في علاقة تتصل مع مفتاح مرشح لعلاقة أخرى بحيث يمثل (FK) العلاقة بين الصفوف في العلاقتين (الجدولين). يمثل ( -------)
STUDENT Dept StudentNo LName FName Initial DOB GPA 4170010 Al-Saleh Amal M. 04-06-78 3.91 D001 4182000 Al-Ghanem Nora A. 4.20 D001 02-12-79 4182034 Al-Fahad 01-11-74 Laila A. 4.01 D002 Saod 4188134 Amal F. 22-04-73 3.01 D003 4189860 Rashed Rana I. 2.31 D001 30-01-78 Foreign Key DEPARTMENT Primary Key DeptNo Department Name Location Computer Science Build # 20 D001 Business Administration Build # 45 D002 Science Build # 6 D003
المشكلة مخطط الكينونة العلائقي (E-R Diagram) تحليل المشكلة وتحديد بناء البيانات لبناء تطبيق Mapping algorithm للحصول على وصف قاعدة البيانات بشكل رسومي تمهيدا لبنائه على شكل مخطط قاعدة البيانات ( Database Schema) جداول في أل DBMS
علاقات قاعدة البيانات • مخطط العلاقة (Relation schema ) : هو وصف لعلاقة مسمية تعرف بصفاتها. • مثال : الطالب (رقم_الط , الاسم_الأول, اسم_الأب , اللقب , تاريخ الميلاد) • مخطط العلائقية (Relational schema ) : يعطي وصف لمجموعة العلاقات (الجداول) الموجودة في قاعدة البيانات العلائقية. • مثال: جامعة الإمام = { الطالب , المادة , عضو هيئة التدريس}
مخطط العلاقة (Relation schema ) STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept) STUDENT Dept StudentNo LName FName Initial DOB GPA 4170010 Al-Saleh Amal 04-06-78 3.91 A. D001 4182000 Al-Ghanem Nora 4.20 N. D001 02-12-79 4182034 Al-Fahad 01-11-74 Laila L. 4.01 D002 Saod 4188134 Amal A. 22-04-73 3.01 D003 4189860 Rashed Rana R. 2.31 D001 30-01-78
مخطط العلاقة (Relation schema ) DEPARTMENT (DeptNo, Department Name, Location) DEPARTMENT DeptNo Department Name Location Computer Science Build # 20 D001 Business Administration Build # 45 D002 Science Build # 6 D003
التحويل من نموذج الكينونة العلاقة إلى مخطط قواعد بيانات تتم عملية التحويل بتطبيق مجموعة من الخطوات البسيطة، تسمى خوارزمية التحویل.
نحول من ERإلى Relational Model (Mapping) • كل كيان يمثل علاقة (جدول) • صفات أو خصائص الكيان تعتبر أيضا صفات وخصائص للعلاقة. • STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept) • DEPARTMENT (DeptNo, Department Name, Location)
1- لكل كيان عادي ( ك ) في شكل الكينونة/العلاقة يتم عمل الآتي: • إنشاء علاقة (ر) تحتوي علي جميع الصفات البسيطة الموجودة في الكيان (ك). • الصفات المركبة الموجودة في (ك) يتم تمثيلها في العلاقة (ر) عن طريق تمثيل صفاتها البسيطة التي تكون الصفة المركبة (أي لا تظهر الصفات المركبة للكيان ك في العلاقة ر). • مفتاح العلاقة (ر) هو مفتاح الكيان (ك) أو أحد المفاتيح المؤهلة في حالة وجود أكثر من مفتاح للكيان (ك).
العنوان الأول طالب رقم التسجيل الاسم العائلة مثال طالب ( رقم التسجيل – العنوان – الاسم الأول – اسم العائلة )
2- لكل كيان الضعيف (Weak Entity Type)يتم عمل الاتي • اذا كان هناك كيان ضعيف فإنه عند التحويل نأخذ المفتاح الرئيس للكيان القوي الذي يتبعه الكيان الضعيف ليصبح مع مفتاح الكيان الضعيف مفتاح رئيس لهذا الكيان الضعيف. موظف (رقم_الموظف , تاريخ الميلاد , الاسم الأول , الاسم الأخير) ابن (رقم الابن , رقم_الموظف ,الاسم_الأول للابن ) الاسم_الأول للابن الاسم_الأول رقم_الابن تاريخ الميلاد الاسم_الأخير رقم_الموظف يوجد له موظف ابن
3- تحويل العلاقة 1:1 • إذاكانت العلاقة 1:1 • ننظر للكيان الذي شارك مشاركة كلية وليكن اسمه ”أ“. • نأخذ PK للكيان الآخر ويضاف إلى ”أ“ كمفتاح أجنبي FK. • نأخذ كل الصفات الموجودة في العلاقة ونضيفها إلى خصائص وصفات ”أ“. 1 1 (1,0) (1,1) موظف (رقم_الموظف , تاريخ الميلاد , الاسم الأول , الاسم الأخير) فرع (رقم_الفرع , اسم_الفرع , رقم_الموظف , تاريخ_البداية , تاريخ_النهاية) اسم_الفرع الاسم_الأول رقم_الفرع تاريخ_البداية تاريخ الميلاد الاسم_الأخير تاريخ_النهاية رقم_الموظف يعمل فرع موظف
4- تحويل العلاقة 1 :N • إذاكانت العلاقة 1 :N • نحدد الكيان الذي في جهة ال .1 • نأخذ PK للكيان الذي في جهة ال 1ويضاف إلى صفات الكيان الآخر الذي في جهة Nكمفتاح أجنبي FK. • نأخذ كل الصفات الموجودة في العلاقة ونضيفها إلى صفات الكيان في جهة N. 1 N المستأجر ( رقم_العضو , الاسم_الأول , الاسم_الأخير,) سكن (رقم_السكن , نوع_السكن, رقم_العضو) نوع_السكن الاسم_الأول رقم _السكن الاسم_الأخير رقم_ العضو يستأجر سكن المستأجر
5- تحويل العلاقة N :N • إذاكانت العلاقة N :N • ننشئ (مخطط علاقة) للعلاقة التي تربط بين الكيانين. • نضيف إلى صفات العلاقة المنشأة PK الخاص بالكيانين كمفتاح أجنبي FK • نعتبر كلا FK مفتاح رئيسي PK للعلاقة المنشأة. NN موظف (رقم_الموظف , تاريخ الميلاد, الاسم_الأول,الاسم_الأخير) مشروع (رقم_المشروع , اسم_المشروع) يعمل_على (رقم_الموظف ,رقم_المشروع ,عدد_الساعات) عدد_الساعات اسم_المشروع الاسم_الأول رقم_المشروع تاريخ الميلاد الاسم_الأخير رقم_الموظف يعمل_على المشروع الموظف
6- تحويل العلاقة متعددة الأطراف • إذاكانت العلاقة متعددة الأطراف أي من الدرجة الثلاثية فأكثر: • ننشئ (مخطط علاقة) للعلاقة التي تربط بين الكيانات. • نضيف إلى صفات العلاقة المنشأة PK الخاص بالكيانات كمفتاح أجنبي FK • نعتبر كل ال FK مفتاح رئيسي PK للعلاقة المنشأة. الممون(رقم_الممون) الأعمال(الرقم_التجاري) مستشار_قانوني(رقم_المستشار) عقد (رقم_الممون , الرقم_التجاري , رقم_المستشار , تاريخ_البداية , تاريخ_النهاية) تاريخ_النهاية تاريخ_البداية الرقم_التجاري رقم_الممون عقد الأعمال الممون رقم_المستشار مستشار_قانوني
7- تحويل الصفات المركبة • عند التحويل نأخذ الصفات المتفرعة عن الصفة الأم ونضيفها إلى وصف العلاقة. الطالب (رقم_الط ,الاسم الأول ,اسم_الأب ,اللقب , تاريخ_الميلاد) اسم_الأب اللقب الاسم الأول اسم_الط تاريخ_الميلاد رقم_الط الطالب
8- تحويل الصفات المتعددة القيمة • ننشئ علاقة جديدة ونسميها اسم يتناسب مع الصفة المتعددة القيمة. • نأخذ PK للكيان ونجعله FK في العلاقة الجديدة المنشأة . • نجعل FK و الصفة المتعددة القيمة PK للعلاقة الجديدة المنشأة. الطالب(رقم_الط ,تاريخ_الميلاد) الهاتف (رقم الهاتف ,رقم الط) رقم_الط رقم الهاتف تاريخ_الميلاد رقم الهاتف طالب