CH4 - WordPress.com

Download Report

Transcript CH4 - WordPress.com

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