الوحدة الخامسة - قاعدة البيانات وادارتها

38
رتهات وادالبياناعدة ا قا

Upload: amin-abu-hammad

Post on 20-Feb-2017

124 views

Category:

Education


3 download

TRANSCRIPT

Page 1: الوحدة الخامسة - قاعدة البيانات وادارتها

قاعدة البيانات وادارتها

Page 2: الوحدة الخامسة - قاعدة البيانات وادارتها

مستويات قواعد البيانات:

المستوى الخارجي(External Level:)

االقرب الى المستخدم.

يتكون من اكثر من مستوى.

المستوى التمهيدي(Conceptual Level ) او المنطقي(Logical:)

تمثيل البيانات داخل قاعدة البيانات.

المستوى الداخلي(Internal Level ) او المستوى المادي(Physical:)

تخزين محتويات المستوى المنطقي على شكل ملفات في اقراص.

بنية النظام القواعديArchitecture Of Relational DBS

AbdulRahman M.Baraka

Page 3: الوحدة الخامسة - قاعدة البيانات وادارتها

نموذج البيانات العالئقي:

مكوناته: جدول من الصفوف واالعمدة : عالقات(Attributes.)

خصائص.

المفتاح الرئيسي هو قيم عمود او اكثر يحدد بصورة وحيدة حالة الكيان: مفاتيح.

(.مجموعة من عناصر البيانات المرتبة مثل عالقة مزدوجة او ثالثية )(: صفوف(كل صف عبارة عن حالة لكيان.

)( اسم العالقة

الرموز داخل القوسين هي خصائص العالقة.

مميزاته:سهولة التصميم واالستخدام.

استقاللية البيانات.

قوة البناء.

نموذج البيانات العالئقيRelational Data Model

AbdulRahman M.Baraka

Page 4: الوحدة الخامسة - قاعدة البيانات وادارتها

التطبيع:

ترتيب عناصر البيانات على شكل عالقات.

يساعد في تقليل االخطاء الناجمة من الصيانة: مميزاته.

يقلل من سرعة استرجاع المعلومات: عيوبه.

التطبيع

Normalization

AbdulRahman M.Baraka

Page 5: الوحدة الخامسة - قاعدة البيانات وادارتها

لغات البرمجة(Programming Languages:)

لغات التساؤل(Query Languages:)

لغات اوامر(Command-Oriented Query Languages:)

PRINT NAME,ADDRESS OF STUDENT WITH BIRTHDATE BETWEEN “10-OCT-82” AND“6-JAN-90” ORDER BY NAME DESCENDING.

UPDATE STUDENT SET AVERAGE = AVERAGE *1.05

لغات العرض الجاهزة(Screen-Oriented Query Languages:)

لغات التساؤل باالمثلة((QBE)Qeury-By-Example.)

معالجة البياناتData Manipulation

AbdulRahman M.Baraka

Page 6: الوحدة الخامسة - قاعدة البيانات وادارتها

Select Statement:

SELECT DISTINCT Attributes

FROM Table

WHERE Conditions

ORDER BY DESC

--------------------------------------

Select * FROM Student

SELECT Sname FROM Student

SELECT SID,Sname FROM Student.

SELECT Sname FROM Student WHERE Age<20

Structure Query Language SQL

SID Sname Rate Age

0102 Ali 8 18

0106 Khalid 7 19

0107 Mona 9 20

Student

Sname

Ali

Khalid

Mona

Result

SID Sname

0102 Ali

0106 Khalid

0107 Mona

Sname

Ali

Khalid

AbdulRahman M.Baraka

Page 7: الوحدة الخامسة - قاعدة البيانات وادارتها

تنفيذ عمليات جبرية خاصة على الجداول والعالقات.

تكون النتائج عبارة عن جداول او عالقات جديدة.

االتحاد(Union()∪:)

تجميع عناصر عالقة

.مع عالقة أخرى

يجب توافق العالقتان.

الجبر العالئقي

Relational Algebra

SID Sname Rate Age

0102 Ali 8 18

0103 Khalid 7 19

0104 Mona 9 20

SID Sname Rate Age

0105 Ali2 4 21

0106 Khalid2 3 22

0107 Mona2 2 23

R2

R1

R1 ∪ R2

SID Sname Rate Age

0105 Ali2 4 21

0106 Khalid2 3 22

0107 Mona2 2 23

0102 Ali 8 18

0103 Khalid 7 19

0104 Mona 9 20AbdulRahman M.Baraka

Page 8: الوحدة الخامسة - قاعدة البيانات وادارتها

التقاطع(Intersection()∩:)

تحديد عناصر مشتركة بين عالقتين.

يجب توافق العالقتان.

الجبر العالئقي

Relational Algebra

Sname

Ali

Khalid

Mona

Eyad

Sname

Ali

Khalid2

Mona

R2 R1

R1 ∩ R2

Sname

Ali

Mona

AbdulRahman M.Baraka

Page 9: الوحدة الخامسة - قاعدة البيانات وادارتها

الفرق(Difference()-:)

تحديد عناصر منتمية الى عالقة دون أخرى.

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

الجبر العالئقي

Relational Algebra

SID Sname Rate Age

0102 Ali 8 18

0103 Khalid 7 19

0104 Mona 9 20

SID Sname Rate Age

0102 Ali 8 18

0106 Khalid2 3 22

0107 Mona2 2 23

R2

R1 R1 - R2

SID Sname Rate Age

0103 Khalid 7 19

0104 Mona 9 20

AbdulRahman M.Baraka

Page 10: الوحدة الخامسة - قاعدة البيانات وادارتها

الضرب الكارتيزي(Cartesian Product()X:)

عالقة كل صف في العالقة االولى يرتبط مع كل صف في ال

.الثانية

اذا تشابهة اسماء الحقول يعاد التسمية.

عدد خصائص العالقة الناتجة يكون مساو لمجموع

.خصائص العالقتين

عدد صفوف العالقة الناتجة يساوي حاصل ضرب عدد

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

الجبر العالئقي

Relational Algebra

SID Sname Rate Age

0102 Ali 8 18

0103 Khalid 7 19

0104 Mona 9 20

SID Sname Rate Age

0102 Ali 8 18

0106 Khalid2 3 22

0107 Mona2 2 23

R2

R1

AbdulRahman M.Baraka

Page 11: الوحدة الخامسة - قاعدة البيانات وادارتها

الضرب الكارتيزي(Cartesian Product()X:)

عالقة كل صف في العالقة االولى يرتبط مع كل صف في ال

.الثانية

اذا تشابهة اسماء الحقول يعاد التسمية.

عدد خصائص العالقة الناتجة يكون مساو لمجموع

.خصائص العالقتين

عدد صفوف العالقة الناتجة يساوي حاصل ضرب عدد

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

الجبر العالئقي

Relational Algebra

SID Sname Rate Age

0102 Ali 8 18

0103 Khalid 7 19

0104 Mona 9 20

SID Sname Rate Age

0102 Ali 8 18

0106 Khalid2 3 22

0107 Mona2 2 23

R2

R1

R1 X R2

SID Sname Rate Age R2. SID

R2. Sname

R2. Rate

R2.Age

0102 Ali 8 18 0102 Ali 8 18

0102 Ali 8 18 0106 Khalid2 3 22

0102 Ali 8 18 0107 Mona2 2 23

0103 Khalid 7 19 0102 Ali 8 18

0103 Khalid 7 19 0106 Khalid2 3 22

0103 Khalid 7 19 0107 Mona2 2 23

0104 Mona 9 20 0102 Ali 8 18

0104 Mona 9 20 0106 Khalid2 3 22

0104 Mona 9 20 0107 Mona2 2 23AbdulRahman M.Baraka

Page 12: الوحدة الخامسة - قاعدة البيانات وادارتها

Examples

R3 := R1 * R2

R1( A, B )1 23 4

R2( B, C )5 67 89 10

R3( A, R1.B, R2.B, C )1 2 5 61 2 7 81 2 9 103 4 5 63 4 7 83 4 9 10

AbdulRahman M.Baraka

Page 13: الوحدة الخامسة - قاعدة البيانات وادارتها

االختيار(Selection():)

تحديد مجموعة من الصفوف بناءا على شرط معين.

Rate>4

الجبر العالئقي

Relational Algebra

SID Sname Rate Age

0103 Khalid 7 19

0104 Mona 9 20

SID Sname Rate Age

0102 Ali 8 18

0106 Khalid2 3 22

0107 Mona2 2 23

R2

AbdulRahman M.Baraka

Page 14: الوحدة الخامسة - قاعدة البيانات وادارتها

العرض(Projection()∏:)

مع العالقة( خصائص)اختيار اعمدة محددة.

مع مالحظة انه يتم حذف التكرار بعد تطبيق العملية.

الجبر العالئقي

Relational Algebra

SID Sname Rate Age

0102 Ali 8 18

0106 Khalid2 3 22

0107 Mona2 2 23

0108 Kholod 3 23

0109 Ramy 8 22 Sname Age

Ali 18

Khalid2 22

Mona2 23

Kholod 23

Ramy 22

∏(Sname, Age)

Rate

8

3

2

∏(Rate)

AbdulRahman M.Baraka

Page 15: الوحدة الخامسة - قاعدة البيانات وادارتها

القسمة(Division()/:)

R1 / R2:

قيم(R1 ) التي تحتوي جميع قيم(R2.)

ي تحتوي العالقة الجديدة على الخصائص الموجودة ف(R1 ) وغير موجودة في(R2.)

الجبر العالئقي

Relational Algebra

Car Mobile

Nissan Nokia

Toyota Samsung

Fname Car Mobile

Ali Toyota Nokia

Khalid Nissan Nokia

Mona Toyota Samsung

Ali Nissan Samsung

Mona Toyota Siemens

Ali Toyota Siemens

R1

R2 R1 /R2

Fname

Ali

AbdulRahman M.Baraka

Page 16: الوحدة الخامسة - قاعدة البيانات وادارتها

Examples

sno pnos1 p1s1 p2s1 p3s1 p4s2 p1s2 p2s3 p2

s4 p2

s4 p4

pnop2

pnop2p4

pnop1p2p4

snos1s2s3s4

snos1s4

snos1

A

B1B2

B3

A/B1 A/B2 A/B3AbdulRahman M.Baraka

Page 17: الوحدة الخامسة - قاعدة البيانات وادارتها

الربط(Join()⋈:)

R1 ⋈ R2:

R1 X R2حساب 1.

.اختيار الصفوف التي تكون فيها قيم االعمدة المشتركة متشابهة2.

.حذف الخصائص المتكررة3.

الجبر العالئقي

Relational Algebra

AbdulRahman M.Baraka

Page 18: الوحدة الخامسة - قاعدة البيانات وادارتها

الجبر العالئقي

Relational Algebra

SID Branch Jawwal

0102 Gaza 12345

0103 Rafah 23456

0107 Khan 78965

SID Sname Rate Age

0102 Ali 8 18

0103 Khalid 7 19

0104 Mona 9 20

R1

R2

R1 X R2

SID Sname Rate Age R2. SID

Branch

Jawwal

0102 Ali 8 18 0102 Gaza 12345

0102 Ali 8 18 0103 Rafah 23456

0102 Ali 8 18 0107 Khan 78965

0103 Khalid 7 19 0102 Gaza 12345

0103 Khalid 7 19 0103 Rafah 23456

0103 Khalid 7 19 0107 Khan 78965

0104 Mona 9 20 0102 Gaza 12345

0104 Mona 9 20 0103 Rafah 23456

0104 Mona 9 20 0107 Khan 78965AbdulRahman M.Baraka

Page 19: الوحدة الخامسة - قاعدة البيانات وادارتها

الجبر العالئقي

Relational Algebra

SID Branch Jawwal

0102 Gaza 12345

0103 Rafah 23456

0107 Khan 78965

SID Sname Rate Age

0102 Ali 8 18

0103 Khalid 7 19

0104 Mona 9 20

R1

R2

R1 ⋈ R2

SID Sname Rate Age Branch Jawwal

0102 Ali 8 18 Gaza 12345

0103 Khalid 7 19 Rafah 23456

AbdulRahman M.Baraka

Page 20: الوحدة الخامسة - قاعدة البيانات وادارتها

Examples

Sells( Name, Item, price ) Malls( Name,addr )CCenter Bud 2.50 CCenter Maple St.CCenter Miller 2.75 CStart River Rd.CStart Bud 2.50CStart Coors 3.00

Get MallInfo := Sells JOIN Malls

MallInfo( Name Item price addr )CCenter Bud 2.50 Maple St.CCenter Milller2.75 Maple St.CStart Bud 2.50 River Rd.CStart Coors 3.00 River Rd.

AbdulRahman M.Baraka

Page 21: الوحدة الخامسة - قاعدة البيانات وادارتها

1. ∏ Book_no, Book_name

2. ∏ Book_name(P_name=“علي” (detail_Books)).

3. ∏ Book_name(copies_no >4 (detail_Books)).

4. ∏ Book_name(L_date between ‘1-2-2007’ and ‘25-2-2007’ (detail_Books)).

Examples

AbdulRahman M.Baraka

Page 22: الوحدة الخامسة - قاعدة البيانات وادارتها

Examples

• Given relational schema:– Sailors (sid, sname, rating, age)

– Reservation (sid, bid, date)

– Boats (bid, bname, color)

Find names of sailors who’ve reserved boat #103.

∏ sname(bid=103(Res ⋈ Sai)).

Find names of sailors who’ve reserved a red boat

∏ sname((color=“red”(Boa)) ⋈ Res ⋈ Sai).

AbdulRahman M.Baraka

Page 23: الوحدة الخامسة - قاعدة البيانات وادارتها

فاصيل لغة وصفية للتعامل مع العالقات والتعبير عن االستفسارات دون معرفة الت.الدقيقة للوصول الى النتائج

العمليات:

أداة النفي(Not)(~.))

الربط الثنائي(And)(∧.)

االختيار(Or)(∨.)

االستنتاج(Implication)(IF…THEN .)

(Equivilance()IFF )().

لكل((.

يوجد قيمة واحدة على االقل(.)

الجبر العالئقي

Relational Algebra

AbdulRahman M.Baraka

Page 24: الوحدة الخامسة - قاعدة البيانات وادارتها

NOT

AND

الجبر العالئقي

Relational Algebra

P ~P

T F

F T

P q p∧q

T T T

T F F

F T F

F F FAbdulRahman M.Baraka

Page 25: الوحدة الخامسة - قاعدة البيانات وادارتها

OR

Implication

الجبر العالئقي

Relational Algebra

P q p∨q

T T T

T F T

F T T

F F F

P q p→q (~p∨q)

T T T

T F F

F T T

F F TAbdulRahman M.Baraka

Page 26: الوحدة الخامسة - قاعدة البيانات وادارتها

Equivalence

يمكن تطبيق العمليات السابقة:

الصفوف(Tuples.)

المجال(Domain.)

الجبر العالئقي

Relational Algebra

P q pq( (pq) ∧ (pq) )

T T T

T F F

F T F

F F T

AbdulRahman M.Baraka

Page 27: الوحدة الخامسة - قاعدة البيانات وادارتها

الجبر العالئقي

Relational Algebra

AbdulRahman M.Baraka

Page 28: الوحدة الخامسة - قاعدة البيانات وادارتها

الصيغة العامة:

{t|P(t)} مجموعة الصفوف(t) تحقق القاعدة التيP.

t[A]

: الصف قيمة(t ) العمود عند(A).

t r الصف(t ) ينتمي الى الجدول(r)

لصفوفلالحسابات العالئقية The Tuple Relational Calculus

AbdulRahman M.Baraka

Page 29: الوحدة الخامسة - قاعدة البيانات وادارتها

لصفوفلالحسابات العالئقية The Tuple Relational Calculus

AbdulRahman M.Baraka

Page 30: الوحدة الخامسة - قاعدة البيانات وادارتها

لصفوفلالحسابات العالئقية The Tuple Relational Calculus

AbdulRahman M.Baraka

Page 31: الوحدة الخامسة - قاعدة البيانات وادارتها

Examples

Loan ( loan-number, branch-name, amount)

Depositor (customer-name, account-number)

Borrower (customer-name, loan-number)

****************************************

Find the loan-number, branch-name, and amount for loans of over $1200.

{ t | t loan ^ t[amount] > 1200 } Find the names of all customers having a loan, an account, or both at the

bank.

{t | s borrower( t[customer-name] = s[customer-name]) u depositor( t[customer-name] = u[customer-name])

Find the names of all customers having a loan at the Perryridge branch

{t | s borrower(t[customer-name] = s[customer-name] u loan(u[branch-name] = “Perryridg u[loan-number] = s[loan-

number]))}AbdulRahman M.Baraka

Page 32: الوحدة الخامسة - قاعدة البيانات وادارتها

الصيغة العامة:

{<x1,x2, …, xn>|P(x1,x2, …, xn)}(<x1,x2, …, xn> )متغيرات اعمدة.

P:قاعدة من العناصر االساسية:

r(x1,x2, …, xn ) حيث(r ) عالقة تتكون من(n )عمود.

xy :x,yأعمدة

xc :cثابت

( :<,<=, = #, >, >=)

للمجالالحسابات العالئقية The Domain Relational Calculus

AbdulRahman M.Baraka

Page 33: الوحدة الخامسة - قاعدة البيانات وادارتها

للمجالالحسابات العالئقية The Domain Relational Calculus

AbdulRahman M.Baraka

Page 34: الوحدة الخامسة - قاعدة البيانات وادارتها

للمجالالحسابات العالئقية The Domain Relational Calculus

AbdulRahman M.Baraka

Page 35: الوحدة الخامسة - قاعدة البيانات وادارتها

Examples

Loan ( loan-number, branch-name, amount)

Depositor (customer-name, account-number)

Borrower (customer-name, loan-number)

****************************************

Find the loan-number, branch-name, and amount for loans of over $1200.

{ < l, b, a > | < l, b, a > loan ^ a > 1200 } Find all loan numbers for loans with an amount greater than $1200.

{< l > | b, a ( < l, b, a > loan ^ a > 1200 )

Find the names of all customers who have a loan from the Perryridge branch and find the loan amount:

{ < c, a > | l ( <c, l> borrower ^ b ( < l, b, a > loan ^ b = “ Perryridge” ) ) }

AbdulRahman M.Baraka

Page 36: الوحدة الخامسة - قاعدة البيانات وادارتها

X -> Y -> Z

يمكن حذف العالقة بربط(x ) مع(z ) عن طريق(y .) وذلك بشرط عدم تغيير

.المعنى

معايير التصميم

X

AbdulRahman M.Baraka

Page 37: الوحدة الخامسة - قاعدة البيانات وادارتها

(يتم حذف العالقات المكررة: )مع اكثر من عالقةج

معايير التصميم

B A C

DB

C

D

B A C

DAbdulRahman M.Baraka

Page 38: الوحدة الخامسة - قاعدة البيانات وادارتها

معايير التصميم

خطوات تصميم نموذج قواعد بيانات عالئقية:

.حذف العالقات المتكررة1.

.تحديد المفتاح الرئيسي2.

(.العالقات.)تحديد الخصائص وارتباطها مع المفتاح الرئيسي3.

ر يمكن دمج عنصران بينهما عالقة في نوع ومنفصالن في نوع اخ4..وجعلهما المفتاح

AbdulRahman M.Baraka