31
م ي ح ر ل ا ن م ح ر ل ه ا ل ل م ا س بLecture (7) The Relational Model ي ق ئ لا ع ل ا ج وذ م ن ل ا

بسم الله الرحمن الرحيم Lecture ( 7 )

Embed Size (px)

DESCRIPTION

بسم الله الرحمن الرحيم Lecture ( 7 ). The Relational Model النموذج العلائقي. مقدمة. قدمه الباحث Ted Codd في 1970 ( IBM Research ). يعتبر من أشهر أنواع الـ Implementation models ويستخدم في كثير من الـ DBMS الحالية . - PowerPoint PPT Presentation

Citation preview

الرحيم الرحمن الله بسمLecture (7)

The Relational Model

العالئقي النموذج

مقدمة

الباحث • ).IBM Research (1970في Ted Codd قدمه

الـ • أنواع أشهر من ويستخدم Implementation modelsيعتبرالـ من كثير .الحالية DBMSفي

•( الرياضي وأساسه مفاهيمه وبساطة بسهولة MathematicalيمتازFoundation )

الرياضية • العالقة مفهوم أساس علي ((Mathematical Relation يعتمدالمجموعات ويخضع نظرية (.(Set theoryلقوانين

للنموذج العامة المفاهيم

البيانات تعرف • علي قاعدة العالئقي النموذج من في مجموعة أنهاالعالقات

(set of relations . )القيم العالقة• من بجدول ملف (Table of values)تمثل ما لحد تشبه وهي

. المسطح السجالتالعالقة • الصفوف ) وتعرف من مجموعة انها . set of rows)عليصف )• القيم( )rowاي من مجموعة تمثل( values of setيمثل والتي

.حقيقةبـ • تسمي أوالعالقة الجدول العالقة (columns)أعمدة صفات وتمثل

(attributes).

يطلق • العالئقي النموذج في .(tuples)عليها الصفوفاالعمدة • وأسماء العالقة القيم (name of attributes)اسم تفسير علي تساعد

العالقة صفوف في

مثال

الكائن نوع عن تتحدث عن Studentالعالقة تتحدث العالقة صفوف من صف أي في القيم وأن(particular entity ). ) خاص ) طالب

)Domainالمجال (

مجال • لها العالقة في صفة .ايالقيم )• عناصر مجموعة هو تأخذها( Atomic valuesالمجال أن يمكن التي

. المجال لهذا تنتمي التي الصفةالـ • تعتبر أن للصفات,…( .int,charالمعروفة )Data typesيمكن مجاالت

،نسق • ،نوع اسم له ويكون المجال تعريف أيضا (format)يمكنللمجال المنطقي بالتعريف هذا logical definition of)ويسمي

domain).مثال: •

للصفة العالقة StdNoالمجال Studentفي

: المجال : Student Numberاسم النوع ،char)5( الشكل ،(format) :dd-dd.

Relation Schema and Relation State النموذج ) في المستخدمة االصطالحية الرموز

(العالئقيالعالقة • كاألتي Rخارطة :R(A1: dom(A1), A2: dom(A2),., An توضح

dom(An((

)R)A1, A2,…....., An اوالعالقة • داخل ) R :اسم في العالقات كل أسماء عن يختلف

) الواحدة البيانات قاعدةالعالقة • .A1 ، A2،.....، An: صفاتصفة • .)dom)Aiمجال Aiولكل• . : العالقة صفات عدد تعني العالقة الدرجة (R درجة ( .nمن

Cont.

• : للعالقة المكونة الحالية الصفوف مجموعة تعني العالقة current)حالة

set of tuples)) بـ لها وهي )r)Rويرمز العالقة خارطة اسم نفس ولهاالـ من مجموعة عن .)m-tuples )cardinality of Rعبارة

r)R(={t1,t2,….,tm} صف • كل علي tحيث .(n values)يحتوي•t=<v1,………,vn<•vi( المجال في عنصر عن عبارة قيمة n ≥ i ≥1 حيث dom(Aiهي أو

.null) (خالية• vi is the value corresponding to attribute Ai • t[Ai] is the ith value in the tuple t , which corresponds to the

attribute Ai

Cont.

•r )R ( الدرجة من رياضية عالقة عن عبارة للمجاالت nهيdom)A1(، dom)A2(،....، dom)An(.

•r )R( dom)A1(×dom)A2( ×….....× dom)An(لمجاالت • الكارتيزي الحاصل من جزئية مجموعة تمثل وهي

من تكوينها يمكن التي المختلفة المجموعات وهي الصفات . المجاالت عناصر

مثالالعالقة • : Studentخارطة•Student )Std-Name,Std-No,Tel-No,Address,Average,Age(العالقة =• 6درجةStudent.Std-Name،مثال )R.A )Dot Notationتكتب Rللعالقة Aالصفة • ،

Student.Age.

العالقة • الصف Studentفي لدينا كان إذا•t=)'Ali', '02-11', '554612', 'Omdurman','87', '22'(•t[Std-Name] = <'Ali<•t[Std-No,Address,Age] = <'02-11', 'Omdurman', '22<'• ) ( الخارطة ولكن البيانات تحديث عند باستمرار تتغير العالقة حالة

) ( سابقا ذكر كما تتغير ما نادرا

Characteristics of Relations

• -: العالقة الصفوففي ترتيبرياضيا الصفوف، من مجموعة أنها أساس علي معرفة العالقةفتعريف . وبالتالي الترتيب فيها يشترط ال المجموعة عناصر

. الترتيب يكون أحيانا للترتيب شرط أي علي يحتوي ال العالقة.Z منطقيا

•-: الصف في القيم ترتيبالصفات ترتيب العالقة، خارطة في الصفات ترتيب حسب علي

. منطقيا أيضا يكون وقد العالقة في محدد غير أيضا

Cont.

• -: الصفوف في القيمصماء ) تكون أن يجب الصف في قيمة ( .Atomicأي

القيمة تأخذ قد الصفوف في القيم (.Null (بعض

العالقة تفسير

خاصة • لكائنات حقيقة يوضح إما العالقة في صف أي (Particular Entities) العالقة في حقيقة Studentكما أو

. الكائنات بين لعالقةمثال:•العالقة • كل : )Majors)Std-No , Dep-Noخارطة يوضح

الذي والقسم طالب كل عالقة العالقة هذه في صف.) مختلفة ) كائنات بين عالقة له يتبع

العالئقي النموذج قيود

المجال • Domain Constraintsقيودالمفتاح • Key Constraintsقيودللكائن • التكاملية Entity Integrity Constraintsقيودالمرجعية • التكاملية Referential Integrityقيود

Constraints التكاملية )• بقيود األخيران القيدان Integrityيعرف

Constraints )بـ لها ( (ICويرمز

المجال قيود

للصفة • قيمة أي أن )dom)Aفي Aتقتضي. صماء تكون أن يجب

المفتاح قيود

وأي • الصفوف، من مجموعة أنها علي العالقة تعرففال وبالتالي يتكرر ال أن يجب المجموعة في عنصر

يجب ذلك ولضمان العالقة في صف أي بتكرار يسمحأساسي مفتاح هنالك يكون أن

(Primary Key ) أكثر أو صفة من يتكون وهو عالقة لكلاألخر عن صف أي لتمييز ويستخدم العالقة صفات من

خاصيةالتفرد ) العالقة صفوف فى التتكرر وقيمتهUniqueness)

االساسى • المفتاح Z :Rللعالقة PKاذا االتى يحققt1)PK(<>t2)PK(<>…………..tm)PK(

ال( • مفهوم من SUPERKEYراجع الكتاب)

العالقة : • في الصفة Studentمثال تكون أن -StdيمكنNo. للعالقة األساسي المفتاح هي

المفتاح • تمثل أن يمكن صفة من أكثر للعالقة يكون قد ) التمييز) بخاصية تمتاز حدة علي صفة كل األساسي

بـ الصفات هذه المفاتيح ) Candidate Keysوتسميهذه(. بين من واحدة صفة اختيار يتم ولكن المرشحة

الـ لتمثل PKالصفاتالـ . • التي PKيوضح الصفة تحت خط بوضع العالقة خارطة في

األساسي . المفتاح صفة تمثل• R )A , B, C( Simple PK, R )A , B, C( Composite PK

تأخذ • أن يمكن الصفة كانت إذا ما ايضا نحدد أحياناالصفة Nullالقيمة أن نحدد دائما Std-Nameفمثال

Not Null. للصفة بالنسبة قيد يعتبر وهذا

العالئقية • البيانات قاعدة Relational خارطةDatabase Schema-:

وبالتالي العالقات من مجموعة عن عبارة العالئقية البيانات قاعدةالبيانات قاعدة العالقات Sفخارطة خرط مجموعة تمثلالبيانات لقاعدة المكونة

S ={ R1 , R2, ….., Rm} التكاملية قيود من IntegrityومجموعةConstraints.

العالئقية • البيانات قاعدة Relational DatabaseحالةState-:

البيانات لقاعدة المكونة العالقات حاالت مجموعة ,r1, r2{هي………,rm{ صحيحة حاالت مستوفية (Valid States)وهي أي

( البيانات قاعدة قيود القيود (.ICلكل

مثال

مالحظات

العالقة DNumberالصفة • العالقة Departmentفي -DepوفيLocation. المفهوم نفس يمثالن

لها • يكون أن المفهوم نفس تمثل التي الصفات في يشترط ال. المختلفة العالقات في االسم نفس

العالقة DNoالصفة • العالقة Dnumوالصفة Employeeفي فيProject . القسم رقم وهو المفهوم نفس الي يشيران

من • المفهوم نفس لهما الصفتان أن علي نتعرف أن نستطيعالعالقات معني فهم

Semantic meaning of the relationsالـ • من ) DDLنستخدم جزء وهي البيانات قاعدة خارطة النشاء

الـ بقاعدة( SQLأوامر الخاصة القيود كل تحديد الي باالضافةالبيانات.

) الكائن تكاملية Entity Integrityقيد

Constraints(

فى • صف إلى االساسى المفتاح قيمة ان تقتضىتكون ان يمكن ال هذه NULLالعالقة ألن وذلك

. الصفوف بين للتمييز تستخدم الصفة

المرجعية التكاملية قيود Referential Integrity Constraints

فقط • واحدة عالقة فى تحدد للكائن التكاملية وقيود المفتاح قيود(individual relation )تكون المرجعية التكاملية قيود ولكن

عالقتين بين وهى( (specified between two relationsمشتركةالبيانات صحة على للحفاظ بين (Data Consistency) مفيدة

. العالقتين صفوف

Cont.

العالقتين • بين المرجعية R2وR1التكامليةاألتي :تقتضى

.1 ) ( عالقة فى اوصفات صفة او عمود خارجى R1 وجود مفتاح يمثل((foreign key ( ب له الى R1 وتسمى( FKويرمز الراجعة العالقة

المفتاح( referencing relationالمرجع) هذا يمثل بحيثالمفتاح مجال نفس له ويكون مفهوم نفس الخارجى

العالقة( PKاالساسى) بالعالقه R2،وتسمى R2فى.referenced relation)المرجع)

فى 2. الخارجى المفتاح تكون R1قيمة ان قيمة NULLإما تكون اوالمرجع العالقة فى االساسى المفتاح قيم .R2من

اليوجد 3. Z فاذا اعاله الشرطان يتحقق لم وبالتالي R1فى FKاذابين المرجعية التكاملية شروط .R2وR1التتحقق

• Another definition:-• )When a foreign key value is not null ) in

referencing relation ( then it must be exist as a value of PK in another relation ) referenced relation( otherwise is not a foreign key(.

مثال

• Student )Std-No, Std-name, Project-No(• Project)Pr-No, Pr-Name(

Student Std-NoStd- Name Project -Noproject Pr-NoPr-Name

1Ali55Math

2OsmanNull7Expert

Systems

3Omer66Database

آلن مستوفاة المرجعيه التكاملية شروط بأن القول يمكن الـ Studentفى Project – Noهنا ؟ FKتمثل لمادا

Cont.

الخارجى • للمفتاح يحدث المفتاح FKمادا حذفنا او عدلنا لوخيارات : : ثالثة هنالك المرجع العالقة فى االساسى

وجود 1. عند االساسى المفتاح لقيم التعديل او الحذف منعخارجى القيمة FKمفتاح نفس . (Restrict)يحمل

الخارجى 2. المفتاح قيمة المفتاح NULLجعل حذف عند . (Nullify)االساسى

او 3. حذف عند الخارجى المفتاح قيم تعديل او حذف متابعةاالساسى المفتاح . (Cascade)تعديل

Cont.

العالقه • فى االول الصف حذفنا لو السابق المثال منProject -: الخيارات

هذا • فى االساسى المفتاح قيمة الن االول للصف الحذف منعالعالقة فى خارجى لمفتاح قيمة تمثل فى studentالصف

االول الصفالعالقه • فى االول الصف فى الخارجى المفتاح قيمة جعل

student تساوىNull. للعالقه • االول الصف حذف Studentاو

القاعدية • البيانات قاعدة خارطة فى توضح التكاملية قيود كلالـ اوامر DDLباستخدام

االخرى) ( • القيود وبعض البيانات قاعدة تعريف من كجزء تعرفبـ مايعرف باستخدام . triggersاو assertionتوضح

cont .

قاعدة • خارطة على المرجع تكاملية قيد توضيح يمكنالعالقة بين تربط خطوط برسم العالئقية البيانات

السهم رأس بحيث للمرجع الراجعة والعالقة المرجع . المرجع العالقة في

•. ادناه الشكل انظر