è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è...

36
1 ﻓﺼﻞ: ﻋﻤﻠﮕﺮﻫﺎی اﺿﺎﻓﯽ در ﺟﺒﺮ راﺑﻄﻪ ایEmail:[email protected] 1 ﺳﺎﯾﺮ ﻋﻤﻠﮕﺮﻫﺎی ﺟﺒﺮ راﺑﻄﻪ ای زﺑﺎن ﺟﺒﺮ راﺑﻄﻪ ای ﯾﮏ زﺑﺎن ﺟﺎﻣﻊ و ﮐﺎﻣﻞ اﺳﺖ ﺑﻄﻮری ﮐﻪ ﻣﯽ ﺗﻮان ﺑﺎ۶ ﻋﻤﻠﮕﺮ ﻗﺒﻞ ﻫﺮ ﻋﺒﺎرﺗﯽ را ﺑﺪﺳﺖ آورد. ﺗﻨﻬﺎ ﺑﻪ دﻟﯿﻞ ﻃﻮﻻﻧﯽ ﺷﺪن دﺳﺘﻮرات، ﯾﮑﺴﺮی ﻋﻤﻠﮕﺮﻫﺎی اﺿﺎﻓﯽ ﺑﺮای ﺗﺴﻬﯿﻞ ﺑﻪ ﺟﺒﺮ راﺑﻄﻪ ای اﺿﺎﻓﻪ ﺷﺪه اﺳﺖ. اﯾﻦ ﻋﻤﻠﮕﺮﻫﺎی اﺿﺎﻓﯽ ﺑﻪ ﻗﺪرت ﺟﺒﺮ راﺑﻄﻪ ﭼﯿﺰی ﻧﻤﯽ اﻓﺰاﯾﻨﺪ و ﻘﻂ ﺑﺮای ﺗﺴﻬﯿﻞ در اﻣﺮ ﮔﺰارش ﮔﯿﺮی ﺑﮑﺎر ﻣﯽ روﻧﺪ. Email:[email protected] 2

Transcript of è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è...

Page 1: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

1

: فصل عملگرهای اضافی در جبر رابطه ای

Email:[email protected] 1

سایر عملگرهای جبر رابطه ای ۶ با توان می که بطوری است کامل و جامع زبان یک ای رابطه جبر زبان•

.آورد بدست را عبارتی هر قبل عملگر برای اضافی عملگرهای یکسری ، دستورات شدن طوالنی دلیل به تنها•

. است شده اضافه ای رابطه جبر به تسهیل قطف و افزایند نمی چیزی رابطه جبر قدرت به اضافی عملگرهای این•

. روند می بکار گیری گزارش امر در تسهیل برایEmail:[email protected] 2

Page 2: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

2

... ادامه -سایر عملگرهای جبر رابطه ای اشتراک عملگر -۱

رکوردهای مشترک از دو جدول را بر می گرداند فرم کلی

: شروط Rجداول های ستون عدادت.۱ , S باشد داشته یکسانی درجه ( . باشد برابر هم با (Email:[email protected] .باشد یکسان ، s جدول ام i ویژگی با r جدول ام i ویژگی دامنه بایستی i هر ازای به.۲ 3

... ادامه -عملگر اشتراک ت ، زیرا عملگر اشتراک یک عملگر اساسی نیس

. ساخت عملگر تفاضل می توان آن را با

Email:[email protected] 4

Page 3: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

3

... ادامه -عملگر اشتراک A Bα 1α 2β 1β 2

R∩S = R – ( R – S )

مثالA Bα 2β 3β 5

A Bα 2

Email:[email protected] 5

ند و هم وام کوئری بنویسید که کد مشتریانی که هم حساب دار :مثال . دریافت نموده اند ، نمایش دهدid depositor id borrower

راک درخواست باال بدون استفاده از عملگر اشت

id depositor id depositor id borrower

... ادامه -عملگر اشتراک

Email:[email protected] 6

Page 4: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

4

آن شهر ، هم کوئری بنویسید که نام شهرهایی که از :تمرین کالسی . کارمند و هم مشتری داریم ، نمایش دهد

... ادامه -عملگر اشتراک

Email:[email protected] 7

آن شهر ، هم کوئری بنویسید که نام شهرهایی که از :تمرین کالسی . کارمند و هم مشتری داریم ، نمایش دهد

... ادامه -عملگر اشتراک

Email:[email protected] 8

Page 5: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

5

طبیعی ) پیوند( الحاق عملگر -۲ش خوددرون ، که شرطش شرطی بین دو جدول نوعی پیوند •

.نهفته استدهای فیلکه مقادیر شود ، می رکوردهایی انجام بین پیوند •

. ، با هم برابر باشد) در صورت وجود ( نامشان هم ادل باشند ، این عملگر معهمنام نداشته اگر جداول فیلد •

. ضرب دکارتی استEmail:[email protected] 9

... ادامه -عملگر الحاق طبیعی فرم کلی

A B Ca b ck i hm n o

D C Wd e fg h i

A B C D C Wk i h g h i

R Sستون مشترک

Email:[email protected] 10

Page 6: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

6

... ادامه -عملگر الحاق طبیعی ان بیش از کوئری بنویسید که ، کد مشتریانی که موجودی حسابش

. دالر است ، نمایش دهد :مثال

acc _ number = Number own× accountbalance>1000

Customer code

یعی بدون استفاده از عملگر الحاق طب) الف

Email:[email protected] 11

... ادامه -عملگر الحاق طبیعی با استفاده از عملگر الحاق طبیعی) ب

balance > 1000

customer code

Email:[email protected] 12

Page 7: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

7

... ادامه -عملگر الحاق طبیعی . یدمعادل الحاق طبیعی عبارت الف را در قسمت ب بنویس : تمرین کالسی

ی با استفاده از دکارت) الف (customer × (σ acc _ number = number (own× account ))))(σ customer code = code (σ balance>1000п customer name یبا استفاده از الحاق طبیع) بEmail:[email protected] 13

... ادامه -عملگر الحاق طبیعی را مردود کوئری بنویسید که ، نام دانشجویانی را که درس : مثال . شده اند ، نمایش دهد

table 1 : student (id , name ,family , city , field of study )table 2 : course( id , code , score )table 3 : course_table ( code , c_name , unit )

id name family city field of study8020 a aa tehran ensani8021 b bb semnan tajrobi8022 c cc esfehan bargh

Code C_Name unit10 Farsi 311 Zaban 312 Tafsir 1

id Code Score8020 10 128020 12 148021 10 98022 12 128022 10 13

student

course

course_table

Email:[email protected] 14

Page 8: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

8

... ادامه -عملگر الحاق طبیعی عیبا استفاده از الحاق طبی) الف

name رتی با استفاده از ضرب دکا) تمرین کالسی ب

Email:[email protected] 15

... ادامه -عملگر الحاق طبیعی موجود از رابطهکلید خارجی یک اگر در رابطه: نکته، همان و طبیعی رابطه هایباشد ، حاصل پیوند

ه می باشد ، با این تفاوت کرکوردها با همان جدولهای ، همه فیلد بجای تنها نمایش کلید جدول

.را هم نمایش می دهدجدولEmail:[email protected] 16

Page 9: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

9

... ادامه -عملگر الحاق طبیعی :مثال

SID Sname Sfamily Field84110 Ali Ahmadi X84120 Reza Rezaee Y84130 Hassan Hasani Z

SID TID CID Mark84110 2 01 1284110 1 03 884130 2 02 18

SID Sname Sfamily Field TID CID Mark84110 Ali Ahmadi X 2 01 1284110 Ali Ahmadi X 1 03 884130 Hassan Hasani Z 2 02 18Email:[email protected] 17

) ( نیم پیوند که در است ، با این تفاوتطبیعی بین دو رابطه پیوند همان

.یک رابطه دیده می شودجواب ، فقط فیلدهای : انواع نیم پیوند سمت چپ نیم پیوند سمت راست

Email:[email protected] 18

Page 10: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

10

پنیم پیوند سمت چکه در است ، با این تفاوتطبیعی بین دو رابطه پیوند همان

.می شوددیده سمت چپ جواب ، فقط فیلدهای رابطهA B C1 4 27 6 39 1 4

D C W M8 3 6 59 8 7 0

R SA B C7 6 3

(

Email:[email protected] 19

تنیم پیوند سمت راسکه در است ، با این تفاوتطبیعی بین دو رابطه پیوند همان

.می شوددیده سمت راست جواب ، فقط فیلدهای رابطهA B C1 4 27 6 39 1 4

D C W M8 3 6 59 8 7 0

R S

)(

D C W M8 3 6 5

Email:[email protected] 20

Page 11: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

11

) ( الحاق بیرونی العات الحاق بیرونی ، تعمیمی از عملگر الحاق است که مقادیر و اط

.از دست رفته حاصل از الحاق را مورد توجه قرار می دهدانواع

) ( الحاق بیرونی سمت چپ ) ( الحاق بیرونی سمت راست

) ( الحاق بیرونی کامل Email:[email protected] 21

الحاق بیرونی سمت چپ .انجام مي شود طبیعیرابطه ، پیوند دو ابتدا بین .۱.وندشجواب اضافه می ، به رابطه سمت چپ که پیوند نخورده اند رکوردهایی از .۲.داده می شودقرار Nullها عبارت مقادیر سایر فیلد جای ب.۳

A B C1 4 27 6 39 1 4

D C W M8 3 6 59 8 7 0

R SA B C D W M7 6 3 8 6 51 4 2 null null Null9 1 4 null null null

Email:[email protected] 22

Page 12: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

12

الحاق بیرونی سمت راست .انجام مي شود طبیعیرابطه ، پیوند دو ابتدا بین .۱.شوند جواب اضافه می، به پیوند نخورده اند راست که رابطه سمت رکوردهایی از .۲.داده می شودقرار Nullها عبارت مقادیر سایر فیلد جای ب.۳

A B C1 4 27 6 39 1 4

D C W M8 3 6 59 8 7 0

R SA B C D W M7 6 3 8 6 5

null null Null 9 8 7

Email:[email protected] 23

لالحاق بیرونی کام.انجام مي شود طبیعیرابطه ، پیوند دو ابتدا بین .۱.وندپیوند نخورده اند ، به جواب اضافه می شچپ که رکوردهایی از رابطه سمت .۲.شوند جواب اضافه می، به پیوند نخورده اند راست که رابطه سمت رکوردهایی از .۳.داده می شودقرار Nullها عبارت مقادیر سایر فیلد جای ب.۴

A B C1 4 27 6 39 1 4

D C W M8 3 6 59 8 7 0

R S A B C D W M7 6 3 8 6 51 4 2 null null Null9 1 4 null null null

null null Null 9 8 7Email:[email protected] 24

Page 13: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

13

پیوند شرطیه پیوند بین رکوردهایی از دو جدول صورت می گیرد ، ک

. بین آنها برقرار باشد ) ( شرطA B C1 4 27 6 39 1 4

D C W M8 3 6 59 8 7 0

R SA>D

A B R.C D S.C W M9 1 4 8 1 6 5

Email:[email protected] 25

... ادامه پیوند شرطی آنها سابح میزان که افرادی حساب شماره که بنویسید کوئری : مثال

.دهد نمایش ، اند کرده دریافت که است وامی میزان از کمتر ،Num balance100 15000200 16000

3000 14000

Account BorrowerNum balance100 14000200 18000

3000 24000account . balance < borrower . Balance

Email:[email protected] 26

Page 14: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

14

... ادامه -سایر عملگرهای جبر رابطه ای) ÷ ( تقسیم عملگر -۳

:تقسیم پذیر است رابطهبر رابطه.باشد R1مجموعه فیلد های ، زیر R2فیلد های اگر مجموعه

.ندارد وجود R2 در که ، استR1های فیلد تمام شامل ، حاصل رابطه شمای• رکوردهای همه که ، گیرد می قرار R1رابطه از رکوردهایی فقط ، حاصل رابطه در•

R2 ، جدول در ، رکوردها آن کنار درR1 شود دیده.Email:[email protected] 27

... ادامه -سایر عملگرهای جبر رابطه ای: مثال

A B Ca b ck d ea d ek g hp d c

B Cd eb c

R SAa

Email:[email protected] 28

Page 15: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

15

...ادامه -سایر عملگرهای جبر رابطه ایA: مثال B C D E

α a α a 1α a γ a 1α a γ b 1β a γ a 1β a γ b 3γ a γ a 1γ a γ b 1γ a β b 1

D Ea 1b 1

SA B Cα a γγ a γ

Email:[email protected] 29

...ادامه -سایر عملگرهای جبر رابطه ای حساب ها هشعب همه در که مشتریانی ،کد که بنویسید کوئری : مثال

Id .دهد نمایش ، دارند Num1 10252 10242 10253 10261 10262 10272 1028

depositorNum Balance Br_ID1025 100 B11024 120 B21026 400 B31027 200 B31028 300 b4

accountBr_ID Branch_name City

B1 Ferdousi TehranB2 Moalem SariB3 Tohid SemnanB4 Tajrish tehran

branch

ط آنها کاربرد تقسیم برای پاسخ به پرس و جوهایی است که در شر Email:[email protected]. باشدذکر شده » همه« کلمه 30

Page 16: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

16

...ادامه -سایر عملگرهای جبر رابطه ای تقسیم مراحل

.نمائیدابتدا باید لیست همه شعبه ها را مشخص -۱ امکد در کسی چه ، شود محاسبه باید بعد مرحله در -۲

باوجداول یعنی .دارد حساب شعبه .شود نگاشت فیلد روی و شوند الحاق یکدیگر

Email:[email protected] 31

...ادامه -سایر عملگرهای جبر رابطه ایdeposit ∞ account br-id branch

id , br-id ۱مرحله

۲مرحله

Email:[email protected] 32

Page 17: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

17

...ادامه -سایر عملگرهای جبر رابطه ای

Id Br-id1 B12 B22 B13 B31 B32 B32 B4

Br_IDB1B2B3b4

Id2

deposit ∞ account br-id branch id , br-id ۲مرحله ۱مرحله

Email:[email protected] 33

...ادامه -سایر عملگرهای جبر رابطه ای .دهد نمایش ، دارند حساب تهران های بهشع همه در که را مشتریانی نام که بنویسید کوئری : مثال

deposit ∞ account branch namebranch city = “tehran” ( branch)

customer name , branch name منزل در تمرین :. عبارت فوق بدون عملگر تقسیم نوشته شود

Email:[email protected] 34

Page 18: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

18

... ادامه -سایر عملگرهای جبر رابطه ای ) ( تخصیص عملگر -۴

نگهداری موقت حاصل عملیات میانی و بخش های مختلف یک عبارت جبر رابطه ای

: مثال . قرار می گیرد در محتویات رابطه

Email:[email protected] 35

...ادامه -سایر عملگرهای جبر رابطه ای ۱۰زیر هاآن نمره که دانشجویانی که بنویسید کوئری : مثال

.نماید حذف لیست از ، باشد میTable 1 : Student (Id , Name ,Family , City , Field Of Study )Table 2 : Courses( Id , Course Name , Number Of Units , Score )

(stdudent ∞ courses)σ Score < 10 ( stdudent ∞ courses) (stdudent ∞ courses)

Email:[email protected] 36

Page 19: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

19

...ادامه -سایر عملگرهای جبر رابطه ای هر دیموجو میزان از درصد پنج که بنویسید کوئری : مثال

رمزبو حساب به آن کارکرد سود بعنوان را حساب.نماید واریز

account _ number , branch name , balance × 0.05( account )

Email:[email protected] 37

) یافته متعمی سازی تصویر ( یافته توسعه نگاشت عملگرر لیست همانند نگاشت معمولی است ، با این تفاوت که د. آن می توان از توابع ریاضی استفاده کرد

فرم کلی Email:[email protected] 38

Page 20: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

20

... امهاد یافته توسعه نگاشت عملگرNameمثال Limit balance

Ali 6000 700Reza 2000 400Milad 3500 200

info

Name Limit + balanceAli 6700

Reza 2400Milad 3700

نتیجه اجرای عبارتEmail:[email protected] 39

... امهاد یافته توسعه نگاشت عملگرکوئری بنویسید که نشان دهد هر کارمند چقدر مالیات می دهد ؟ مثال

. پیدا کرده است تغییرنام ) taxation( مالیات به ) salary)- 200 (7/ 100(تابع Email:[email protected] 40

Page 21: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

21

... امهاد یافته توسعه نگاشت عملگر .نماید نمایش ، پرداختی مبلغ در تخفیف %۱۰ محاسبه از پس ، را اند نخورده ساندویچ یکهمشتریان پرداختی میزان و کد که بنویسید کوئری مثال

code type price 1 sandwich 50002 pizza 300003 sandwich 85004 sandwich 25000

Email:[email protected] 41

... امهاد یافته توسعه نگاشت عملگر( Customer )

Type = “ sandwich “ Customer -code , price – (price × 10 %)

code , PT

Email:[email protected] 42

Page 22: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

22

توابع مجموع ساز ورودیرا بعنوان مجموعه ای از مقادیر توابعی که

. ندباز می گردا خروجیرا بعنوان یک مقدار گرفته و

ورودیمقادیر مجموعه ای از خروجی

Email:[email protected] 43

... ادامه -توابع مجموع سازرا در نظر بگیرید رابطه : مثال

employee – name branch – name salary ali tajrish 1500

reza tajrish 1300hamid tajrish 2500

mehran Tohid 1600Akbar Tohid 1500Milad Valiasr 5300

Arman Valiasr 1500Shahin Valiasr 1300

Email:[email protected] 44

Page 23: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

23

... ادامه -توابع مجموع ساز از استفاده با ، جدول طبق : مثال ادامه که وقیحق مجموع که بنویسید کوئری ، ساز مجموع توابع

.مایدن محاسبه ، است شده پرداخت وقت پاره کارمندان بهsalary ( pt – works)

Sum of salary 16500

نتیجه اجرای عبارتEmail:[email protected] 45

... ادامه -توابع مجموع سازابع برای حذف مقادیر تکراری در ورودی توابع ، در انتهای نام ت

. به همراه یک خط فاصله استفاده می شود از کلمه

branch - name( pt – works)، را کوئری بنویسید که تعداد شعبه های جدول : مثال

. نمایش دهدCount of branch -name

3 نتیجه اجرای عبارت

Email:[email protected] 46

Page 24: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

24

... ادامه -توابع مجموع ساز :گروه بندی

1 2 n A1 A2 An( E ) اعمال توابع مجموع ساز ، روی چندین گروه

Final sigma

فرم کلی E : است ای رابطه جبر عبارت.

G1 , G2 ,…, Gn ، یردگ می صورت ها ویژگی آن اساس بر بندی گروه که ، ها ویژگی از لیستی. .باشد می ساز مجموع تابع یک عنوان ، iF هر

.باشد می ای رابطه جبر عبارت در ویژگی یه عنوان ، iA هرEmail:[email protected] 47

... ادامه -توابع مجموع ساز

salary( pt – works)

حقوق مجموع جدول از که بنویسید کوئری : مثال .نماید محاسبه تفکیک به ، را شعبه هر کارمندان

branch -name sum of salarytajrish 5300tohid 3100valiasr 8100

نتیجه اجرای عبارتEmail:[email protected] 48

Page 25: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

25

... ادامه -توابع مجموع ساز

salary salary( pt – works)

و حقوق مجموع جدول از که بنویسید کوئری : مثال .مایدن محاسبه ، را شعبه هر کارمندان دریافتی حقوق بیشترین

branch -name sum of salary Max of salary tajrish 5300 2500tohid 3100 1600valiasr 8100 5300

نتیجه اجرای عبارتEmail:[email protected] 49

داده پایگاه در تغییرات ایجاد

Email:[email protected] 50

Page 26: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

26

) ( افزودن ... ادامه داده پایگاه در تغییرات ایجاد

.کندیک جدول اضافه می یک رکورد به رکوردهای فرم کلی

اضافه می کند را به جدول رکورد

Email:[email protected] 51

در افتتاح حسابی برای آقای علی ، با شماره : مثال دالر با میزان شعبه

... ادامه داده پایگاه در تغییرات ایجاد

Email:[email protected] 52

Page 27: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

27

آیا دستور زیر صحیح می باشد ؟ ... ادامه داده پایگاه در تغییرات ایجاد

Email:[email protected] 53

وام دریافت tohidکوئری بنویسید که ، برای همه کسانی که از شعبه : مثال از شماره وام . ( دالر افتتاح شود 200کرده اند ، یک حساب جایزه با میزان

) بعنوان شماره حساب تشویقی استفاده شود

... ادامه داده پایگاه در تغییرات ایجاد

branch-name=“tohid” (borrower ∞ loan )

branch –name , loan number (r1)

customr –name , loan number (r1)

Email:[email protected] 54

Page 28: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

28

) ( بهنگام سازی ... ادامه داده پایگاه در تغییرات ایجاد

فرم کلی ویرایش بخشی از رکوردهای یک جدول (r)Pp(r)

۲قسمت ۱قسمت Email:[email protected] 55

:مثال ... ادامه داده پایگاه در تغییرات ایجاد

مبلغ ، ۵ شماره حساب به ، بخواهیم فقط که صورتی در ؟ است صحیح زیر دستور آیا ، نمائیم اضافه دالر ۵۰۰

( account )num = 5

num , balance + 500 , type

Email:[email protected] 56

Page 29: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

29

:مثال ... ادامه داده پایگاه در تغییرات ایجاد

مبلغ ، ۵ شماره حساب به ، بخواهیم فقط که صورتی در ؟ است صحیح زیر دستور آیا ، نمائیم اضافه دالر ۵۰۰

( account )σ num = 5π num , balance + 500 , type

( account )account - σ num = 5account ∪

شود Updateقسمتی که باید -۱. دالر اضافه می کند ۵۰۰، مبلغ ۵به موجودی حساب

. شود updateقسمتی که نباید -۲ جدول و گردد می حذف ها حساب کل از ، ۵ شماره حساب ، بخش این در

account ماند می باقی ، دهد می نشان را ۵ حساب که تاپلی بدون .

Email:[email protected] 57

:مثال ... ادامه داده پایگاه در تغییرات ایجاد

مهه داده پایگاه درس نمرات به که بنویسید کوئری .نماید اضافه نمره ۲ دانشجویان

( course )σ c-name=“database”π code , score + 2

( course)course - σ c-name=“database”course ∪

Email:[email protected] 58

Page 30: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

30

) ( حذف ... ادامه داده پایگاه در تغییرات ایجاد

فرم کلی حذف یک رکورد از رکوردهای یک جدول

حذف می کند را از جدول کل رکورد Email:[email protected] 59

حذف حساب شماره : مثال ... ادامه داده پایگاه در تغییرات ایجاد

Email:[email protected] 60

Page 31: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

31

ان بین کوئری بنویسید که تمام وام هایی که مقدارش: مثال . دالر است ، حذف نماید ۵۰صفر تا

... ادامه داده پایگاه در تغییرات ایجاد

σ amount >=0 and amount <=50 ( loan )loan l

Email:[email protected] 61

شعبه کوئری بنویسید که تمام حساب های موجود در: مثال . توحید را ، حذف نماید

... ادامه داده پایگاه در تغییرات ایجاد

σ branch_name =“tohid”( account)account a

Email:[email protected] 62

Page 32: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

32

کوئری بنویسید که تمام حساب های جاری زیر: مثال . دالر را ، حذف نماید

... ادامه داده پایگاه در تغییرات ایجاد

σ type=“jari” ^ balance <=100( account)account a

Email:[email protected] 63

ان ساکن در کوئری بنویسید که تمام مشتری: تمرین کالسی را از جدول مشتریان حذف واقع در شهر خیابان

. نماید

... ادامه داده پایگاه در تغییرات ایجاد

Email:[email protected] 64

Page 33: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

33

) ( دیدگاه .همه مثال های مطرح شده ، روی الیه منطقی بود -.بدلیل مسائل امنیتی باید برخی از رابطه ها پنهان شود -

:مثال اء اگر بخواهیم شخصی فقط به نام مشتریان و شماره وام های اعط

: اشد شده دسترسی داشته باشد و به مقدار آن دسترسی نداشته بcustomer –name , loan number ( borrower ∞ loan )

Email:[email protected] 65

...ادامه دیدگاه . ی باشدگاهی اوقات به ایجاد رابطه هایی با انعطاف بیشتر احتیاج م

:مثال که را ریانیمشت نام ، بخواهد بانک تبلیغات قسمت از کارمندی ، که کنید فرض

طرف هشعب همراه به ، اند گرفته وام بانک از یا هستند بانک در حساب دارای از اصلح اطالعات به فقط ، کارمند این صورت این در . باشه داشته آنها حساب

branch–name , customer_name( depositor ∞ account) : دارد دسترسی زیر عبارات

branch–name , customer_name( borrower ∞ loan)Email:[email protected] 66

Page 34: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

34

...ادامه دیدگاه تعریف دیدگاه

ک ، یباشد جدول مجازی قابل رویت یک بعنوان ای که رابطه هر . می شوددیدگاه نامیده

:فرم کلی نام دیدگاه =

Email:[email protected]جبر رابطه ای صحیح : 67

...ادامه دیدگاه دیدگاه کارمند تبلیغات مثال قبل با نام : مثال

branch–name , customer_name( depositor ∞ account)

branch–name , customer_name( borrower ∞ loan)

. از دیدگاه می توان بعنوان یک رابطه استفاده کرد: نکته customer_name

branch-name =“tohid” ( all-customer )Email:[email protected] 68

Page 35: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

35

...ادامه دیدگاه ه ایتفاوت دیدگاه و عمل تخصیص در جبر رابط

branch–name , customer_name( depositor ∞ account)

branch–name , customer_name( borrower ∞ loan)

:با عمل تخصیص بصورت زیر تعریف می شود جدول

) depositor , account , borrower , loan( ، با تغییرات در جداول r1محتوی جدول . می شود all-customerاما موجب تغییر دیدگاه . تغییر نمی کند

Email:[email protected] 69

...ادامه دیدگاه اده ، پایگاه دمی شود دیدگاهی تعریف وقتی

آن ، بجای ذخیره اطالعات و داده های درون . کندذخیره می را تعریف دیدگاه

Email:[email protected] 70

Page 36: è è ² è Û ( ? èãù è T 0ýù è þ è èä ? +ù èã U â K Ù 7 · è è è t nù ù è ãù è t 0ýù è þ èã u â k Ù 7 è p èÛù #ù è â k Ù 7 è ´ è qù

36

بخش چهارم پروژه ۵کوئری و ۱۰برای جداول محیط عملیاتی

از با استفاده( دیدگاه به زبان جبر رابطه ای . نوشته شود) عملگرهای اضافی

.از همه عملگر های معرفی شده استفاده شودEmail:[email protected] 71