T1*T2 - دانشگاه آزاد اسلامي واحد نجف آباد

Download Report

Transcript T1*T2 - دانشگاه آزاد اسلامي واحد نجف آباد

‫پایگاه داده پيشرفته‬
‫سئواالت نمونه‬
‫دکتر محمدحسین ندیمی‬
‫دانشکده مهندس ی کامپیوتر‬
‫دانشگاه آزاد اسالمی واحد مجف آباد‬
Advance Data Base Lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
‫مديريت و همزماني تراكنش ها‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ آبشاری‬rollback ‫ زمانبند ترمیم پذیر چه زمانبندی است؟کدامیک از تراکنش های زیر ترمیم پذیر است؟آیا در بین تراکنشهای زیر‬- 1
‫وجود دارد؟‬
‫ باید قبل‬Ti ‫ شدن‬Commit.‫ نوشته شده باشد‬Ti ‫ داده ای را بخواند که قبل توسط تراکنش دیگری به نام‬Tj ‫اگر تراکنش‬
.‫به چنین زمانبندی ترمیم پذیر گویند‬.‫ اعمال شود‬Tj ‫ شدن‬Commit ‫از‬
• Sa’: R1(X); R2(X); W1(X); R1(Y); W2(X); C2;W1(Y); C1;
•
(recoverable but suffers from the lost update problem)
• Sc: R1(X); W1(X); R2(X); R1(Y); W2(X); C2; A1;
•
(non-recoverable)
• Sd: R1(X); W1(X); R2(X); R1(Y); W2(X);W1(Y); C1; C2;
•
•
•
(recoverable)
Se: R1(X); W1(X); R2(X); R1(Y); W2(X);W1(Y); A1; A2;
(recoverable but cascading rollback)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ درچه شرایطی خروجی زمانبند غیر سریال نسبت به زمانبند سریال ناسازگار است؟آیا تراکنش زیر سریال پذیر است؟چرا؟‬- 2
2
T
1
T
Time
begin-transaction
read(x)
t3
t1
t2
x= x+100
t4
write(x)
begin_transaction
read(x)
t5
t6
x= x* 1.1
t7
write(x)
t8
read(y)
t9
y = y * 1.1
t10
write(y)
t11
commit
t12
read(y)
t13
write(y)
t14
commit t15
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
: ‫ حالت است‬3 ‫ شامل‬Interleaved ‫ ناسازگاری در در اجرای‬- 3
Write-read (WR) conflict 
Read-write (RW) conflict 
Write-write (WW) conflict 
.‫)خروجی ناسازگار ایجاد می کند‬WR Confilict ( ‫خیر زیرا به دلیل خواند کثیف‬
‫ نشده‬Commit ‫ تغییر یافته اما هنوز‬T1 ‫ مقداری را می خواند که توسط‬T2
‫خروجی نسبت به هر زمانبند سریالی متفاوت است‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
•
•
•
‫‪ - 4‬اگر دو تراکنش به صورت همروند اجرا شوند کدام گزینه صحیح است؟‬
‫‪ww )2‬مشکل وابستگی تثبیت نشده را به وجود می آورد‪ WR)3 .‬مشکل‬
‫‪ RR)1‬مشکل تحلیل ناسازگار را به وجود می آورد‪.‬‬
‫وابستگی تثبیت نشده رابه وجودمی آورد ‪ RW)4‬مشکل نتیجه از دست رفته را به وجود می آورد‪.‬‬
‫پاسخ‪:‬‬
‫‪ WR)3‬مشکل وابستگی تثبیت نشده را به وجود می آورد‪.‬‬
‫‪ - 5‬اساس ی ترین مشکل قفل گذاری کدام است؟‬
‫‪)1‬اجرای ناپیوسته‬
‫‪)2‬بن بست‬
‫‪)3‬انتظار‬
‫‪)4‬برگشت‬
‫پاسخ‪:‬‬
‫‪)2‬بن بست‬
‫‪ - 6‬چه موقع نمی توان از صحت بانک اطالعاتی مطمئن بود؟‬
‫‪)1‬در شروع هر تراکنش‬
‫‪)3‬در حین اجرای تراکنش‬
‫‪)2‬درپایان هر تراکنش‬
‫‪)4‬بالفاصله بعد از بار کردن اولیه پایگاه داده‬
‫پاسخ‪:‬‬
‫‪)3‬در حین اجرای تراکنش‬
‫‪ - 7‬مدیریت تراکنش کدامیک از موراد زیر را تضمین می کند؟‬
‫پا‪)1‬اجرای موفق تراکنش ها‬
‫)عدم اجرای تراکنش های ناموفق‬
‫پاسخ‪:‬‬
‫‪)4‬بالاثر کردن تراکنش های ناموفق‬
‫‪ )2‬اجرای تراکنش های موفق‪3‬‬
‫‪)4‬بالاثر کردن تراکنش های ناموفق‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 8‬فرض کنید ‪ 6‬تراکنش در ‪ Database‬زیر به صورت همروند به جداول و تاپلهای آن دسترس ی دارند‪ .‬با توجه به نوع‬
‫درخواست هر تراکنش قفل ‪ Intention‬مربوطه را در سلسله مراتب زیر نمایش داده و مشخص کنید که کدامیک از قفلها به‬
‫چه دلیل نمی تواند تعلق بگیرد‪.‬‬
‫)‪Transaction2:R(T2) Transaction3:W(P5‬‬
‫)‪Transaction5:W(P1) Transaction6:R(T5‬‬
‫پدر دارای قفل ‪ Ix‬است و طبق تعریفاتی‬
‫که قبل داشتیم قفل ‪Ix‬می تواند به این‬
‫نود تعلق بگیرد‪.‬‬
‫)‪Transaction1:W(T8‬‬
‫)‪Transaction4:R(P3‬‬
‫پدر دارای قفل ‪ Ix‬است و طبق تعریفاتی‬
‫که قبل داشتیم قفل ‪Is‬می تواند به این‬
‫نود تعلق بگیرد‪.‬‬
‫)‪T1(IX‬‬
‫‪D‬‬
‫)‪T3(IX‬‬
‫)‪T1(IX‬‬
‫)‪T1(IX‬‬
‫‪P7‬‬
‫)‪T2(IS‬‬
‫‪R2‬‬
‫‪R3‬‬
‫‪R1‬‬
‫)‪T3(X‬‬
‫‪P6‬‬
‫)‪T4(S‬‬
‫‪P5‬‬
‫‪P4‬‬
‫‪P3‬‬
‫)‪T2(IS‬‬
‫‪P2‬‬
‫)‪T1(X‬‬
‫‪T9‬‬
‫‪T8‬‬
‫‪T7‬‬
‫این قفل تعلق نمی‬
‫گیرد‪.‬‬
‫جد دارای قفل ‪ Is‬است و‬
‫طیق تعریف فرزند می‬
‫تواند قفل ‪ s‬داشته‬
‫باشد‪.‬‬
‫این قفل تعلق نمی‬
‫گیرد‪.‬‬
‫‪P1‬‬
‫)‪T2(S‬‬
‫‪T6‬‬
‫‪T5‬‬
‫‪T4‬‬
‫‪T3‬‬
‫‪T2‬‬
‫‪T1‬‬
.‫ شکل زیر کدامیک از مشکالت کنترل همروندی را داراست؟توضیح دهید‬- 9
time
T1
T2
X
t1
Begin_Transaction
10
t1
Read(x)
10
t3
x=x+10
10
20
10
t4
Begin_Transaction
t5
Read(x)
Write(x)
..
.
t6
X=x-10
RollBack
t7
Write(x)
t8
Commit
20
10
:‫پاسخ‬
.‫ را دارد‬uncommited Dependancy ‫ مشکل استفاده از داده های تثبیت نشده یا‬
‫ مقدرا آن تغییر‬T2‫ استفاده می کند که در طول اجرای تراکنش‬x ‫ از داده‬T2 ‫ شدن تراکنش‬Rollback ‫ قبل از‬T1‫تراکنش‬
‫کرده‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪- 10‬توالی پذیری را در مورد طرح زیر بررس ی کنید‪:‬‬
‫‪T2‬‬
‫‪time‬‬
‫‪T1‬‬
‫)‪R(x‬‬
‫‪X=x+50‬‬
‫)‪W(x‬‬
‫پاسخ‪:‬‬
‫تراکنشها زمانی توالی پذیر هستند که اجرای همروند انها با یک اجرای متوالی آنها‬
‫نتیجه یکسانی داشته باشد‪.‬‬
‫در این مثال نتیجه اجرای طرح روبرو با اجرای متوالی )‪(T1,T2‬برابر است‪ ،‬پس‬
‫این طرح توالی پذیر است‪.‬‬
‫)‪R(x‬‬
‫‪t=x*0.1‬‬
‫‪x=x-t‬‬
‫)‪W(x‬‬
‫‪t2‬‬
‫)‪R(y‬‬
‫‪y=y+50‬‬
‫)‪W(y‬‬
‫)‪R(y‬‬
‫‪y=y+t‬‬
‫)‪W(y‬‬
‫‪t1‬‬
‫‪t3‬‬
‫‪t4‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
:‫ زمانبندی زیر را در نظر بگیرید‬-11
T1
T2
T3
r(A)
w(B)
r(B)
r(C)
w(C)
w(A)
‫ آنرا بنویسید‬C2PL ‫الف) معادل‬
‫ دچار بن بست می شود یا خیر‬B2PL ‫ب) نشان دهید که در‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ آنرا بنویسید‬C2PL ‫الف) معادل‬
T1
T2
T3
r(A)
w(B)
r(B)
w(C)
w(A)
r(C)
:‫راه حل‬
T1 X(B) S(A) R(A) U(A) W(B) U(B)
T2
X(C) S(B) R(B) U(B) W(C) U(C)
T3
T1
T2
T3 X(A) S(C) R(C) U(C) w(A) U(A)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ دچار بن بست می شود یا خیر‬B2PL ‫ب) نشان دهید که در‬
T1
T2
T3
r(A)
w(B)
r(B)
w(C)
w(A)
r(C)
T1 S(A) R(A)
T2
T3
:‫راه حل‬
B ‫انتظار برای‬
S(B)R(B)
S(C)R(C)
C ‫انتظار برای‬
A ‫انتظار برای‬
‫بن بست‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ زمانبندی زیر را با پروتکل مهر زمانی نشان دهید‬-12
T1 R(D)
D=D+1
W(D)
T2 R(D)
D=D+1
W(D)
TS(T1)=150
TS(T2)=160
R-TS(D)=0
W-TS(D)=0
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Read Rule: IF TS(Ti)<W-TS(Q) Then Reject Else Accept
Write Rule: IF (TS(Ti)<W-TS(Q)) Or (TS(Ti)<R-TS(Q)) Then Reject Else Accept
‫زمان‬
T1
TS(T1)=150
t1
R(D)
t2
t3
T2
TS(T2)=160
R-TS(D)=150
R(D)
R-TS(D)=160
D=D+1
t4
D=D+1
t5
W(D)
* t6
D
R-TS(D)=0
W-TS(D)=0
W-TS(D)=160
W(D)
‫ رد می شود چرا که‬t6 ‫در لحظه‬T1 ‫عمل نوشتن توسط‬
TS(T1)= 150 < W-TS(D) = 160
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 13‬مشکلت همزمانی تراکنش ها را توضیح دهید‪.‬‬
‫• بهنگاام ساازی گمشاده ‪ : lost updates -‬اینن مشن ل منوقبی بنروز منی کنند کنه ‪ ،‬تراکن ن ی‬
‫بلفاص ننله بع نند از تن نراکنش دیگ ننری ک ننه مق ننداری را بن نرای داده ای نوش ننته اس ننت ‪ ،‬بخواه نند ‪،‬‬
‫مقدار جدیدی برای آن داده ‪ ،‬بنویسد‪.‬‬
‫• اسااتفاده از داد اههااای تثبیاات نشااده ‪ : uncommitted dependency -‬ایننن حالننت‬
‫م ننوقبی رد میدهن نند ک ننه دو ت ن نراکنش ب ننه طن ننور همزم ننان در حن ننال اجن نرا باشن ننند و اول ننی در حن ننالی‬
‫بازگشننت داده شننود (‪ )Rollback‬کننه ت نراکنش دومننی ‪ ،‬در حننال اسننتفاده از دادههننای تثبیننت‬
‫نشده اولی باشد‪.‬‬
‫• تحلیاال ناسااازگاری ‪ : inconsistent analysis -‬ایننن حالننت مننوقبی رد میدهنند کننه یننک‬
‫تن نراکنش در ح ننال مراس ننبه ب ننر روی دادهه ننا میباش نند در ح ننالی ک ننه تن نراکنش دیگ ننری در ح ننال‬
‫بهنگام سازی دادهها است‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 14‬حالت های مختلف ‪Interleaved‬دو تراکنش را بررس ی و بیان کنید در هر حالت کدام یک از مشکلت‬
‫همزمانی بروز می کند‪.‬‬
‫•‬
‫‪ A : RR‬و ‪ B‬هر دو بخواهند ‪ T‬را بخوانند‪ ،‬عمل خواندن این دو تراکنش تداخلی با یکدیگر ندارد‪ ،‬بنابر این در این مورد‬
‫اش الی ایجاد نمی شود‪.‬‬
‫•‬
‫‪ A :WW‬مقدار ‪ T‬را بخواند سپس ‪ B‬بخواهد روی ‪ T‬بنوسید‪ ،‬اگر به ‪ B‬اجازه نوشتن داده شود‪ ،‬مش ل ترلیل ناسازگار‬
‫بروز می کند‬
‫•‬
‫‪ A :WR‬روی ‪ T‬بنوسید و ‪ B‬بخواهد ‪ T‬را بخواند ‪ ،‬ممکن است مش ل داده های تثبیت نشده بروز کند‪.‬‬
‫•‬
‫‪ A :WW‬روی ‪ T‬بنوسید و سپس ‪ B‬بخواهد روی ‪ T‬بنویسد‪ ،‬اگر به ‪ B‬اجازه نوشتن داده شود‪ ،‬در این صورت مش ل‬
‫بروزرسانی گمشده بروز می کند‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 15‬با توجه به جدول تراکنش های روبر او کدامیک از مشکالت ‪2PL‬مبنایی بروز می کند؟ آن را توضیح‬
‫دهید‪.‬‬
‫‪T2‬‬
‫‪T1‬‬
‫)‪LOCK-X(D1‬‬
‫)‪READ(D1‬‬
‫‪D:=D1-50‬‬
‫)‪WRITE(D1‬‬
‫‪ O‬ب ن ننروز پدی ن ننده ب ن ننن بس ن ننت م ن ننی باش ن نند ک ن ننه‬
‫ت نراکنش ‪T1‬منتظننر اسننت کننه ت نراکنش‬
‫‪T2‬از ‪D2‬قفنل گشنایی کنند و تنراکنش‬
‫‪T2‬در انتظار قفل گشایی از ‪D1‬توسنط‬
‫تراکنش ‪T1‬است‪.‬‬
‫)‪LOCK-S(D2‬‬
‫)‪READ(D2‬‬
‫)‪LOCK-S(D1‬‬
‫‪Wait‬‬
‫)‪LOCK-X(D2‬‬
‫‪Wait‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫تبعیت میکند واحتمال بن بست در آن وجود دارد یاخی ا اار؟‬2pl ‫ مثال روبرو از کدام‬- 16
‫ شدید را نشان میدهدچون قفل‬2pl O
‫های انرصاری تا تثبینت شندن ینا طنرد‬
‫شن ن ن ن ن نندن ت ن ن ن ن ن نراکنش حف ن ن ن ن ن ن میشن ن ن ن ن ننوند‬
.‫واحتمال بن بست در ان وجود دارد‬،
T1
Lock-X(A)
Read(A)
T2
Write(A)
Lock-X(B)
Read(B)
Lock-X(B)
Write(B)
0
Lock-X(A)
0
Read(A)
0
Write(A)
COMMIT
Unlock(A)
Unlock(C)
COMMIT
Unlock(B)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 17‬در سلسله مراتب پایگاه داده مانند ش ل زیر ‪:‬‬
‫الف ) چگونه رکوردی را برای خواندن قفل گذاری می کنید؟‬
‫‪ O‬ابتدا پایگاه داده و ناحیه و فایل شامل ان رکورد را قفل ضمنی ‪ ،IS‬و آن رکورد را قفل‬
‫‪ s‬میگذاریم‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ب ) چگونه رکورد را برای نوشتن قفل گذاری کنیم ؟‬
X ‫ رکورد‬،IX ‫پایگاه داده و ناحیه وفایل شامل ان رکورد قفل ضمنی‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 18‬انواع رویه های قفل گذاری را بیان کنید‪.‬چند نوع قفل داریم؟‬
‫اشتراکی (خواندن)‬
‫‪S‬‬
‫‪ X‬انرصاری(نوشتن)‬
‫‪ IS‬یعنی برخی از فرزندان ان قفل ‪ S‬است‬
‫‪ IX‬یعنی برخی از فرزندان ان قفل ‪ S‬یا ‪ X‬است‬
‫)‪IS‬و‪SIX :) IX‬‬
‫زیر درخت با ریشه نود در مد اشتراکی و بصورت صریح قفل شده است و ممکن است گره‬
‫های سطوح پایین تر در مد انرصاری ‪ X‬باشد‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ -19‬چگونه برای خواندن و نوشتن فایل قفل گذاری می کنید؟‬
‫پایگاه داده و ناحیه شامل ان فایل قفل ضمنی ‪ ، IX‬فایل شامل رکورد قفل ‪X‬اگر تراکنش دیگری درخواست‬
‫خواندن و نوشتن این فایل را داد باید صبر کند‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ مبنایی بروز می کند آن را توضیح دهید؟‬2PL ‫ با توجه به پدیده زیر کدامیک از مشکلت‬.20
T1
LOCK-X(D1)
READ(D1)
D:=D1-50
WRITE(D1)
T2
LOCK-S(D2)
READ(D2)
LOCK-S(D1)
WAIT
LOCK-X(D2)
WAIT
‫ قفل گشایی کند و‬D2 ‫ از‬T2 ‫ منتظر است که تراکنش‬T1 ‫بروز پدیده بن بست می باشد که تراکنش‬
.‫ است‬T1 ‫ توسط تراکنش‬D1 ‫ در انتظار قفل گشایی از‬T2 ‫تراکنش‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ آیا اجرای طرح همروند زیر ام ان پذیر است ؟‬، ‫ با استفاده از قاعده نوشتن مهر زماني‬.21
) TS(T1)<TS(T2)<TS(T3) : ‫( با فرض اینکه داشته باشیم‬
T3
T2
T1
R(D1)
R(D1)
D1:=D1+10
W(D1)
TS(T1)=100
TS(T2)=200
TS(T3)=300
R(D2)
D1:=D1+20
W(D1)
D2:=20
D2:=D2+20
W(D2)
W(D2)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ياد آوري(پروتكل مهر زماني) ‪:‬‬
‫‪ ‬در عمل خواندن ‪ Ti :‬دستور )‪ R(D‬را صادر می کند ‪:‬‬
‫‪ ‬الف ‪ .‬اگر )‪ TS(Ti) < W-TS(D‬درخواست خواندن رد می شود و‪Ti‬باید از سر گرفته شود ‪،‬زیرا‬
‫‪Ti‬درخواست خواندن مقداری از ‪ D‬را دارد که طی یک عمل نوشتن ‪ ،‬تغییر کرده است ‪.‬‬
‫‪ ‬ب ‪ .‬اگر )‪ ،TS(Ti)>= W-TS(D‬درخواست خواندن اجرا می شود و )‪ R-TS(D‬با ماکزیمم دو مقدار‬
‫)‪ R-TS(D‬و )‪TS(Ti‬مقدارگذاری می شود ‪.‬‬
‫‪ ‬در عمل نوشتن‪ Ti :‬دستور )‪ W(D‬صادر می کند ‪:‬‬
‫‪ ‬الف ‪ .‬اگر )‪ ، TS(Ti)< R-TS(D‬درخواست نوشتن رد می شود و ‪ Ti‬باید از سر گرفته شود ‪،‬زیرا‬
‫مقداریکه ‪ Ti‬میخواهد تولید کند ‪ ،‬پیشتر مورد نیاز بوده است ‪.‬‬
‫‪ ‬ب ‪ .‬اگر‪،TS(Ti)< W-TS(D‬درخواست نوشتن‪Ti‬نادیده گرفته می شود و تراکنش میتواند ادامه‬
‫دهد‪.‬‬
‫‪ ‬جز دو حالت الف و ب ‪ ،‬درخواست نوشتن انجام می شود و )‪ W-TS(D‬بامقدار )‪ TS(Ti‬مقدارگذاری می‬
‫شود ‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
: ‫جواب) با توجه به قاعده فوق و زمانمهر های فرضی روند اجرا به این صورت می باشد که‬
‫توضيحات‬
D2
Ts(T1)>0
D1
T3=300
R-TS = 100
W-TS=0
R-TS = 200
W-TS=0
Ts(T2)>0
T2=200
T1=100
R(D1)
R(D1)
D1:=D1+10
Ts(T1)<200
Ts(T3)>0
W(D1)
R-TS = 300
W-TS=0
R(D2)
D1:=D1+20
Ts(T2)<200
Ts(T2)<0 ‫نیست‬
R-TS = 200
W-TS=200
W(D1)
D2:=20
D2:=D2+20
Ts(T2)<300
Ts(T3)<300
Ts(T3)<0
W(D2)
R-TS = 300
W-TS=300
W(D2)
. ‫ طرد شده و باید اجرای خود را از سرگیرند‬t2 ‫ و‬t1 ‫تراکنش‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ .22‬دو مرحله تكنيك قفل گذاري دو مرحله اي(‪)2PL‬را نام برده و توضيح دهيد؟‬
‫جواب )مرحله قفل گذاري(بسط) و مرحله قفل گشايي(قبض)‪.‬‬
‫در مرحله بسط تراكنش فقط ميتواند داده را قفل كند و در مرحله قبض فقط ميتواند قفل گشايي انجام‬
‫دهد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ در زمانبند همروند زیر کدام مورد صحیح نمیباشد؟‬- 23
T0
Read(A)
A=A-50
T1
Read(A)
Temp=A*0.1
A=A-temp
Write(A)
Read(B)
Write(A)
Read(B)
B=B+50
Write(B)
B=B+temp
Write(B) •
‫ نیست‬view serializeable)‫الف‬
‫ خواهد بود‬3050 ‫ برابر‬A+B‫ فرض شود پس از اجرا‬A=1000,B=2000 ‫ب)اگر‬
‫ نمی باشد‬T0T1 ‫ با زمانبند سریال‬conflict ‫ج)معادل‬
‫ می باشد‬T1T0 ‫ با زمانبند‬conflict ‫د)معادل‬
‫گزینه د‬:‫پاسخ‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 24‬اگر که در روش های کنترل هم روندی ما هیچ گونه اطلعاتی در مورد ساختار درونی تراکنش ها و آیتم های‬
‫داده ای مورد نیاز آنها و ترتیب آنها نداشته باشیم کدام پروت ل کنترل همروندی را باید استفاده کنیم؟‬
‫پاسخ ‪:‬تنها پروت ل قابل انجام در این شرایط پروت ل قفل گذاری دو مرحله ای میباشد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ مشکل زمانبند زیر چیست؟‬- 25
:‫پاسخ‬
.‫نتیجه از دست رفته و باعث کاهش همروندی می شود‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ی ‪ 2PL‬استفاده کنیم‪ ،‬برای افزایش‬
‫‪ - 26‬دو تراکنش زیر را در نظر بگیرید‪ .‬اگر از پروتکل قفل گذار ا‬
‫همروندی‪،‬کدام قفل و چگونه استفاده شود؟‬
‫‪T2:‬‬
‫)‪READ(D1‬‬
‫)‪READ(D2‬‬
‫)‪DISPLAY(D1+D2‬‬
‫‪T1:‬‬
‫)‪READ(D1‬‬
‫)‪READ(D2‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫)‪READ(Dn‬‬
‫)‪WRITE(D1‬‬
‫پاسخ‪:‬‬
‫چون ‪T1‬به قفل انرصاری روی ‪ D1‬تنها در پایان کار نیاز دارد اگر ‪T1‬بتواند ‪ D1‬را به طور اشتراکی قفل کند تا‬
‫‪ T2‬نیز بتواند آنرا بخواند همروندی بیشتر می شود‪ .‬و در آخر با دستور )‪ UPGRADE(D1‬قفل اشتراکی روی‬
‫‪ D1‬را به قفل انرصاری تبدیل کند و عمل نوشتن را انجام دهد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
T1
:‫ كدام مشكل همروندی را حل میكند‬2PL ‫ پروتكل‬،‫ در طرح اجرای زیر‬- 27
‫الف) ترلیل ناسازگار‬
T2
‫ب) نتیجه از دست رفته‬
Lock-X(D)
‫ج) خواندن داده ناجور‬
‫د) هیچ كدام‬
READ(D)
D:=D+100
Lock-X(D)
WRITE(D)
WAIT
ROLLBACK/UNLOCK(
D)
READ(D)
‫ گزینه ج‬:‫پاسخ‬
‫آیا در مثال اول سطح همروندی دو تراكنش‬
‫كاهش یافته است؟‬
‫ بلی‬:‫پاسخ‬
D:=D-10
WRITE(D)
COMMIT/UNLOCK(D
)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ کدام یک‬،‫ دو دستورالعمل از دو تراکنش متفاوت باشند که در زمانبندی همروند وجود دارند‬I1,I2 ‫ اگر که‬- 28
‫) هستند؟‬swappable( ‫از حالتهای زیر جابه جا پذیر‬
read(a),write(a) )‫الف‬
read(a),read(a) )‫ب‬
T1
T2
write(a),write(a) )‫ج‬
R(B)
write(a),read(a) )‫د‬
R(B)
‫ گزینه ب‬:‫پاسخ‬
B:=B-50
‫ امكان پذیر است؟‬2PL ‫آیا طرح اجرای روبرو با‬
W(B)
‫ خیر‬:‫پاسخ‬
R(A)
R(A)
Display(A+B)
A:=A+50
W(A)
Display(A+B)
Advance
33 Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 29‬در سیستم پایگاه داده هنگام بروز پدیده بن بست‪ ،‬کدام تراکنش باید قربانی شود؟‬
‫پاسخ‪:‬‬
‫برای تصمیم گیری در مورد اینکه کدام تراکنش باید قربانی شود‪ ،‬ضوابطی وجود دارد از جمله‪:‬‬
‫تعداد قفلها‪ :‬تراکن ی که تعداد کمتری قفل دارد‪ ،‬قربانی می شود‪.‬‬
‫کمتر بودن عملیات‪ :‬تراکن ی که عملیات کمتری در پایگاه داده ها انجام داده است‪ ،‬قربانی می شود‪.‬‬
‫زمان باقیمانده برای اتمام تراکنش‪ :‬تراکن ی که اتمام آن زمان بیشتری خواهد گرفت‪ ،‬قربانی می شود (تراکنش‬
‫جوانتر)‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 30‬چگونه برای خواندن و نوشتن فایل قفل گذاری می کنید؟‬
‫)‪T1(X‬‬
‫)‪T1(X‬‬
‫پایگاه داده و ناحیه شامل ان فایل قفل ضمنی ‪، IX‬‬
‫فایل شامل رکورد قفل ‪X‬اگر تراکنش دیگری‬
‫درخواست خواندن و نوشتن این فایل را داد باید صبر‬
‫کند‬
‫)‪T1(X‬‬
‫‪C4‬‬
‫‪B4‬‬
‫‪B3‬‬
‫‪C3‬‬
‫‪A‬‬
‫‪B2‬‬
‫‪C2‬‬
‫‪B1‬‬
‫‪C1‬‬
‫‪R‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Backup &recovery
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫فاجعه چه ملزوماتي نياز است؟‬-‫ براي عمل ترميم پايگاه داده‬- 1
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫به چند صورت ميتواند انجام گیرد؟‬Media Recovery - 2
Media Recovery
‫ توسط‬Physical Recover
NoArchiveLog ‫پايگاه داده به صورت‬
TableSpace Recovery
Complete Recovery
‫ توسط‬Logical Recover
ArchiveLog ‫پايگاه داده به صورت‬
Database Recovery
DataFile Recovery
Incomplete Recovery
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫در اوراكل را با هم مقايسه كنيد؟‬Recovery ‫ مكانيسم هاي‬- 3
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫سخت افزاري را نام برده شرح دهيد؟‬online ‫انواع افزونگي‬- 4
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫چه وظیفه ای دارد؟‬Authoriation control - 5
‫این فرایند اطلعاتی را از کاربران یا تجهیزات متقاض ی دسترس ی به منابع دریافت میکند وبر طبق ان ام ان‬
‫استفاده از منبع یا منابع مستقر روی شبکه را به انها می دهد و انها اجازه پردازش پیدا می کنند‬
Query processor
Catalog manager
Program object
code
Authoriation
control
Command processor
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 6‬نقش اجزای اصلی حفاظت داده ها راشرح دهید؟‬
‫•‬
‫•‬
‫•‬
‫•‬
‫مدیریت تراکنش ها‪:‬وظیفه ارائه حالت اتمیک برای تراکنش ها وکنترول اجرا یا لغو تراکنش ها را بر عهده دارد‬
‫مدیریت ترمیم‪:‬تضمین میکند که اگر اجرای تراکنش با عدم موفقیت روبرو شد تاثیر نامطلوبی روی تراکنش های دیگر‬
‫نگزارد‬
‫برنامه ریزی‪:‬در مورد زمان اجرا وتخصیص حافظه ها‬
‫مدیریت بافر‪:‬تخصیص بافر به برنامه ها نیاز به مدیریت دارد از یک طرف باید فضای حافظه اصلی را در اختیار حافظه‬
‫جانبی بگذاریم واز طرف دیگر وقتی درخاستها زیاد شود باید فضای تخصیص راکم کنیم تا کارایی کم نشود‬
‫‪Schadular‬‬
‫‪Transaction manager‬‬
‫‪Recovery manager‬‬
‫‪Buffer manager‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 7‬انواع خطا کدامند؟‬
‫•‬
‫•‬
‫•‬
‫•‬
‫خطای منطقی‪:‬عدم اتمام تراکنش به دالئل داخلی‬
‫خطای سیستمی‪:‬خطاهای داخل سیستم‬
‫سقط سیستم‪:‬قطع برق یا خرابی سخت افزار‬
‫ناتوانی دیسک‪:‬خراب شدن دیسک‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ Raid3 - 8‬به کدامیک از انواع ‪ Raid‬شباهت دارد و با کدامیک منطبق است؟‬
‫جواب‪:‬‬
‫شبیه به ‪ Raid2‬هست زیرا که اطلعات را بصورت سکتوری روی گروهی از درایوها ‪ Stripe‬میکند‪.‬‬
‫‪ Raid3‬در واقع انطباقی از ‪ Raid0‬است که مقداری از ظرفیت هر یک از درایوها را قربانی میکند اما به‬
‫سطح باالیی از سلمت اطلعات و ترمل خطا دست یابد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫جواب(توضیرات بیشتر برای دانشجو)‬
‫خیلی شبیه به ‪ Raid2‬است و اطلعات را به صورت سکتوری روی گروهی از درایوها ‪ Stripe‬میکند و‬
‫تفاوت آن در این است که یک درایو جداگانه برای ذخیره ی داده های پریتی در نظر می گیرد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ادامه جواب(توضیرات بیشتر برای دانشجو)‪:‬‬
‫‪ Raid3‬در واقع انطباقی از ‪ Raid0‬است که مقداری از ظرفیت هر یک از درایوها را قربانی میکند اما به سطح باالیی از‬
‫سلمت اطلعات و ترمل خطا دست یابد‪.‬در این حالت بلوکهای داده به نوارهایی تقسیم شده و بر روی تمام درایوهای‬
‫درون آرایه به جز ی ی از آنها نوشته میشوند‪.‬اطلعات موازنه ی نوار که برای بررس ی سلمت داده در تمام درایوهای درون‬
‫زیر سیستم مورد استفاده قرار میگیرندو در هنگام نوشتن داده ها ایجاد شده و بر روی دیسک پریتی نوشته میشوند‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 9 ‬کدامیک از انواع ‪ Raid‬بهترین انتخاب برای کاربردهای بررانی و حساس است؟چرا؟‬
‫و بگویید که این نوع ‪ Raid‬به چند دیسک احتیاج دارد؟‬
‫جواب‪:‬‬
‫بهترین انتخاب ‪ Raid6‬میباشد بخاطر دیسکهای داده ای مجزا با دو پریتی توزیع شده ی مجزا‪.‬‬
‫این نوع ‪ Raid‬نیاز به ‪ N+2‬دیسک دارد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫جواب(توضیرات بیشتر برای دانشجو)‪:‬‬
‫بهترین انتخاب ‪ Raid6‬میباشد بخاطر دیسکهای داده ای مجزا با دو پریتی توزیع شده ی مجزا‪.‬در واقع ‪ Raid6‬نسخه ی‬
‫پیشرفته ی ‪ Raid5‬میباشد که تصحیح و کنترل خطا را بهبود می بخشد‪.‬این ویرایش ‪ Raid‬اطمینان و توانایی باال در زمینه ی‬
‫خرابی داده را فراهم میکند‪.‬‬
‫این نوع ‪ Raid‬نیاز به ‪ N+2‬دیسک دارد‪:‬‬
‫‪:N‬تعداد دیسکهای سخت در حالت معمولی می باشد‪.‬‬
‫‪:2‬به دلیل دارا بودن حالت پریتی دو بعدی‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪‬‬
‫‪ Raid1 – 10‬یا تکرار آینه ای (‪ )Mirroring‬را توضیح دهید؟سرعت خواندن و نوشتن در این نوع ‪ Raid‬به چه‬
‫صورت است و به چند درایو داخلی نیاز دارد؟‬
‫جواب‪:‬‬
‫در ‪ Raid1‬اطلعات یکسان بر روی دو دیسک نوشته میشود و در کامپیوتر به صورت یک درایو نمایش داده میشود و در واقع‬
‫یک ‪ Backup‬گیری همزمان داده ها است‪ .‬سرعت خواندن در این نوع دو برابر سرعت خواندن در یک درایو منفرد فاقد‬
‫‪ Mirroring‬است ولی عمل می بینیم که در مدت زمان نوشتن تغییری حاصل نمی شود‪ .‬در این نوع ‪ Raid‬به تعداد زوج و‬
‫(حداقل‪ )2‬درایو داخلی برای ذخیره سازی اطلعات نیازمندیم‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫جواب(توضیرات بیشتر برای دانشجو)‪:‬‬
‫در ‪ Raid1‬اطلعات یکسان بر روی دو دیسک نوشته میشود و در کامپیوتر به صورت یک درایو نمایش داده میشود و در واقع‬
‫یک ‪ Backup‬گیری همزمان داده ها است ولی باید بدانیم که در این نوع ‪ Raid‬فقط نیمی از کل حجم فضای ذخیره سازی‬
‫برای کاربر قابل استفاده است و نیمی دیگر به افزونگی اختصاص دارد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ادامه جواب(توضیرات بیشتر برای دانشجو)‪:‬‬
‫سرعت خواندن در این نوع دو برابر سرعت خواندن در یک درایو منفرد فاقد ‪ Mirroring‬است زیرا همزمان از دو هارددیسک‬
‫استفاده میشود و روش ‪(round-robin‬روح سرگردان) برای خواندن داده ها ب ار میرود به این ترتیب که سرور برای‬
‫خواندن داده ها مرتبا از یک هارد دیسک به هارد دیگر میرود و عمل زمان را بین دو هارد تقسیم میکند ولی با این حال در موقع‬
‫نوشتن داده ها باید روی دو هارد دیسک نوشته شود و عمل می بینیم که در مدت زمان نوشتن تغییری حاصل نمی شود‪.‬‬
‫در این نوع ‪ Raid‬به تعداد زوج و (حداقل‪ )2‬درایو داخلی برای ذخیره سازی اطلعات نیازمندیم‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪‬‬
‫‪ - 11‬افزونگی را تعریف کنید و یکی از متداول ترین روشهای افزونگی را نام ببرید؟معایب و مزایای آن را شرح دهید؟‬
‫جواب‪:‬‬
‫افزونگی به معنای استفاده از درایوهای داخلی بیشتر برای ذخیره سازی اطلعات است یا بعبارت دیگر به معنی ذخیره سازی‬
‫داده های مشابه در بیش از یک م ان از حافظه است که متداول ترین روش استفاده از ویژگی ‪ Raid‬میباشد بخصوص‬
‫‪ Raid1‬و ‪.Raid6‬‬
‫مزیت‪:‬‬
‫حفاظت آنی از اطلعات در مواقع بروز خطا است‪.‬‬
‫معایب‪:‬‬
‫‪ (1‬هزینه‬
‫‪ (2‬اطلعات شما را در مواجه با آسیب های فیزی ی مثل گرمای شدید‪-‬رطوبت یا آسیب دیدگی قطعات داخلی مرافظت‬
‫نمیکند‪.‬‬
‫‪ (3‬بازسازی ‪ Raid‬پروسه ای طوالنی است که بسته به نوع و حجم اطلعات ذخیره شده در فضای ذخیره سازی ممکن‬
‫است چند روز طول بکشد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
– 12
‫ را نام ببرید؟‬Raid ‫الف)بهترین انواع‬
‫چیست؟‬Raid10 ‫ با‬Raid01 ‫ب)تفاوت‬
:‫جواب‬
.‫ بهترین هستند‬Raid10 ‫ و‬Raid6 ‫ و‬Raid1:‫الف‬
.‫ سرعت خواندن باال است‬Raid10 ‫ سرعت نوشتن باال است ولی در‬Raid01 ‫در‬:‫ب‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 13‬تفاوت ‪ Raid 10‬با ‪ Raid 01‬در چیست و کاربرد هر کدام را نام ببرید؟‬
‫در ‪Raid 10‬عمل تکه تکه کردن بلوکهای داده همانند ‪ Raid1‬انجام می پذیرد ولی ‪Raid 01‬به عنوان آرایه آینه ای نیز‬
‫ی ‪ RAID0‬ایجاد شده اند‬
‫معروف است با این تفاوت که قطعات داده ها یا ‪ Segment‬ها طبق استراتژ ا‬
‫در ‪Raid 10‬تصحیح و کنترل خطا نیز مانند ‪ Raid2‬می باشد‪ .‬اما در ‪ Raid 01‬مانند ‪ RAID5‬می باشد‪.‬‬
‫در ‪Raid01‬كوچكترین مشكل در عملكرد یك درایو ‪ ،‬آرایه را به مدل ‪ RAID0‬تبدیل خواهد كرد‪ .‬ولی در ‪Raid 10‬ام ان‬
‫ترمل خرابی چند دیسک وجود دارد‬
‫کاربرد ‪: Raid 10‬‬
‫سیستمهای ‪ Server‬و بانکهای اطلعاتی‬
‫کاربرد ‪: Raid 01‬‬
‫پردازشهای تصویری و ‪ fileserever‬های عمومی‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 14‬تفاوت ‪ Raid 3‬و ‪ Raid 2‬در چیست؟‬
‫‪RAID 3‬خیلی شبیه ‪ RAID 2‬میباشد ‪ .‬و اطلعات را به صورت سکتوری روی گروهی از درایوها ‪ stripe‬میکند‪ .‬تفاوت آن‬
‫ایناست که یک درایو جداگانه برای ذخیرهی دادههای پریتی درنظر میگیرد‪ RAID3.‬بر دادههای ‪ ECC‬جاسازی شده در هر‬
‫سکتور برای ردیابی اش االت ‪ ،‬تکیه دارد‪ .‬اگر درایوی از کار افتاد بهوسیلهی ‪ XOR‬کردن اطلعات موجود روی سایر درایوها‬
‫‪،‬عملیات بازیابی را انجام میدهد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 15‬تفاوت ‪ RAID 5‬با ‪ RAID 1‬در چیست؟‬
‫اساسا ‪ RAID 5‬شبیه ‪ RAID 1‬است ‪ .‬با این تفاوت که ‪ RAID 5‬برای هر نوار از دادهها یک پریتی ذخیره میکند‪ .‬اما در‬
‫مقایسه با ‪ RAID 1‬عملیات نوشتن آهستهتر است‪ .‬زیرا یک زمان اضافی برای نوشتن اطلعات پریتی نیاز است‪.‬در موقع نوشتن‬
‫اطلعات ‪ RAID 5‬تقریبا ‪ 60‬درصد آهستهتر از ‪ RAID 1‬عمل میکند‪ .‬عملیات خواندن هم هیچ تغییری پیدا نمیکند‪.‬برای‬
‫رسیدن به بهترین کارآیی ‪RAID 5 ،‬باید یک فضای ذخیرهسازی داشته باشد برابر با حاصل جمع فضای تمامی هارد دیسکها‬
‫منهای ‪.1‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 16‬تفاوت ‪ RAID 4‬با ‪ RAID 3‬در چیست؟‬
‫‪RAID 4‬از نوارهای بزرگتری استفاده میکند‪.‬به همین دلیل رکوردها از هر درایو جداگانه میتوانند خواندهشوند(البته به جز‬
‫درایو پریتی)‪ .‬این عمل این ام ان را میدهد تا عملیات خواندن به اشتراک گذاشتهشود‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪- 17‬‬
‫الف)افزونگی را تعريف کنيد؟‬
‫ب)انواع افزونگی ‪ONLINE‬سخت افزاری را نام ببريد و هر کدام را جداگانه تعريف کنيد؟‬
‫الف)افزونگی(‪)Redundancy‬ی ی از مهمترین ابزارها در ترمل پذیری خطای سیستم ها می باشد‪.‬‬
‫افزونگی با اضافه کردن چند ماژول به جای یک ماژول و استفاده کردن از همه آنها سبی می کند احتمال درست کار کردن‬
‫سیستم را باال ببرد‪.‬مثل یک سیستم به جای آن که یک پردازنده داشته باشد شامل دو پردازنده باشد حال اگر ی ی از آنها از کار‬
‫بیافتد سیستم می تواند به طور خودکار پردازنده دوم را جایگزین کند‪.‬‬
‫ب)‬
‫افزونگی سخت افزاری فعال(پویا)‪:‬‬
‫در این روش غیر از ماژول اصلی که در حال کار است تعدادی ماژول هم وجود دارند که به آنها پشتیبان گفته می شود‪.‬این‬
‫ماژول ها نقش یدک را بازی می کنند یعنی اگر ی ی از ماژول های اصلی خراب شود یک ماژول پشتیبان جای آن را می گیرد‬
‫افزونگی سخت افزاری غیرفعال(ایستا)‪:‬‬
‫روش غیر فعال مدلی است که در آن تمامی ماژول ها از ابتدا استفاده می شود و در حین کار و یا بروز خرابی هیچ نوع تغییری در‬
‫ترکیب بندی آنها ایجاد نمی شود‪ .‬در این روش جلوی خرابی سیستم بصورت بی درنگ گرفته می شود زیرا نیاز به پیکربندی‬
‫مجدد پس از بروز خرابی ندارد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪- 18‬‬
‫الف) ‪ Raid‬را تعریف کنید؟‬
‫ب) مزایا و معایب ‪ Raid‬نرم افزاری را توضیح دهید؟‬
‫ج) اساس کار ‪ Raid‬چیست؟‬
‫الف)‪ Raid‬مخففی است از آرایه افزونه ای برای دیسک های مستقل‬
‫‪ Raid‬ی ی از موارد افزایش ترمل خطای سیستم است‪.‬روش های مختلفی برای ترکیب چند هارد دیسک در یک آرایه بسته به‬
‫نیازهای برنامه کاربردی وجود دارد‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ .19‬ترمیم داده را توضیح دهید و بگویید بر چه اصلی استوار است؟‬
‫تننرمیم تضننمین مننی کننند کننه اگننر اج نرای ت نراکنش بننا عنندم موفقیننت یننا سننقو روبننرو شنند ‪،‬تنناثیر نننا مطلننوبی روی پایگنناه داده یننا‬
‫ت نراکنش ه ننای دیگ ننر نگ ننذارد و حال ننت پایگ نناه داده را همیش ننه س ننازگار نگ ننه دارد‪.‬ب ننه عب ننارت دیگ ننر بازگردان نندن پایگ نناه داده ب نه وض ننع‬
‫سازگاری که درست قبل از بروز خرابی داشت‪.‬و ترمیم داده بر اصل افزونگی استوار است‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪.20‬چگونه می توان یک بهنگام سازی را لغو کرد؟‬
‫پاسخ این است که سیستم یک ثبت وقایع را روی نوار یا معموال دیسک نگهداری می کند که در آن جزئینات مربنو بنه عمنل بنه‬
‫هنگننام رسننانی ضننبط مننی شننود‪.‬بنننابراین اگننر الزم باشنند کننه یننک عمننل بننه هنگننام رسننانی لغننو شننود سیسننتم مننی تواننند بننا اسنتفاده از‬
‫درایه مربو به هنگام رسانی در ثبت وقایع ش ی به هنگام شده را به وضعیت قبلی خود بر گرداند‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 21‬خواص تراکنش ها چیست؟‬
‫غیر قابل تفکیک بودن‪:‬تراکنش ها اتمیک هستند(همه یا هیچکدام)‬
‫پایننداری‪:‬یعنننی ت نراکنش بانننک اطلعنناتی را از یننک حالننت پاینندار بننه حالننت پاینندار دیگننری مننی برد‪،‬بنندون اینکننه نیننازی باش ند در نقطننه‬
‫میانی پایداری بانک اطلعاتی حف شود‪.‬‬
‫جداسازی‪:‬تراکنش ها از هم جدا هستند یعنی هر چند به طور کلی ممکن اسنت تراکنشنها بنه صنورت همزمنان اجنرا شنوند ولنی تنا‬
‫زمانی که آن تراکنش قبول می شود به هنگام رسانی هر تراکنش از سایر به هنگام رسانی ها پنهان است‪.‬‬
‫تننداوم‪:‬پننس از اینکننه یننک تنراکنش قبننول شنند‪،‬به هنگننام رسننانی هننای آن در بانننک اطلعنناتی پاینندار خواهننند بننود حتننی اگننر سیسننتم در‬
‫ادامه کار دچار اختلل شود‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 22‬انواع حاالت یک تراکنش را توضیح دهید‪.‬‬
‫فعال یا ‪:action‬حالتی که در آن تراکنش در حال اجرا است‪.‬‬
‫طرد شده یا ‪:abort‬حالتی که در آن تراکنش دیگر نمی تواند فعال باشد و از مریط اجرا خارج می شود‪.‬‬
‫تمام شده یا ‪:finished‬حالتی که تراکنش تمام عملیناتش را انجنام داده و سنابقه اجنرایش در فاینل ثبنت درج شنده ولنی هننوز بنه‬
‫هنگام سازی هایش در پایگاه وارد نشده است‪.‬‬
‫تثبیت شده یا ‪:commited‬حالتی که تمام تغییرات مورد نظر تراکنش انجام شده و در پایگاه داده هم وارد شده است‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 23‬با به وجود آمدن ‪ check point‬کدام مورد برقرار نیست؟‬
‫‪ )1‬تمام به هنگام سازی ها از حالت موقت خارج و پایدار می شوند‬
‫‪)2‬تمام ادرس دهی های بانک اطلعاتی از بین می رود و قفل بین چندتایی ها باز می شود‬
‫‪)3‬قبل از رسیدن به نقطه تثبیت رکورد چک پوینت در فایل ثبت نوشته می شود‬
‫‪ )4‬ممکن است به هنگام سازی ها هنوز در حافظه اصلی و بافر موجود باشند‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪-24‬انواع قفل را نام ببرید؟ و کدام قفل برای خواندن داده ها مناسب است؟‬
‫قفل باینری و قفل انرصاری –اشتراکی‬
‫برای خواندن قفل اشتراکی استفاده می شود‪.‬‬
‫‪-25‬تکنیکاهای کنترل همروندی را تعریف کنید‪:‬‬
‫الف) تکنیکهای خوشبینانه‬
‫ب)بد بینانه‬
‫‪ -26‬دو روش برای تشخیص یا کشف بن بست چیست؟‬
‫روش مهلت زمانی ‪‬‬
‫روش بررس ی متناوب درخواست های قفل گذاری‪‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫معماری سیستم های پایگاه داده‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 1‬بانک های اطالعاتی توزیع شده را تعریف کنید؟‬
‫•‬
‫این معماری مجموعه ای است از چند پایگاه داده منطقا یکپارچه ولی به طور فیزی ی توزیع شده روی یک شبکه‬
‫کامپیوتری‪.‬‬
‫•‬
‫سیستم بانک اطلعات توزیع شده شامل مجموعه ای از سایت ها است که از طریق نوعی شبکه ارتباطی به هم متصل‬
‫شده اند که در آن ‪:‬‬
‫هر سایت یک سایت سیستم بانک اطلعات کامل است‪.‬‬
‫سایت ها با هم کار کرده و هر کاربرمی تواند به هر جای شبکه و سایت های مختلف دسترس ی داشته باشد‪.‬‬
‫•‬
‫•‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 2‬اصل اساس ی هر بانک اطالعاتی توزیع شده چیست؟‬
‫•‬
‫از نظر کاربر‪ ،‬سیستم توزیع شده دقیقا باید مثل سیستم توزیع نشده (متمرکز) باشند به این معنا که هر‬
‫کاربر گمان کند که با یک سیستم مترکز کار می کند‪.‬‬
‫‪ - 3‬یکی از امتیازات سیستم های توزیع شده فراهم کردن قابلیت اعتماد وقابلیت دسترس ی باال میباشد این دو‬
‫را توضیح دهید و کاربرد هریک را بنویسید ؟‬
‫•‬
‫•‬
‫قابلیت اعتماد‪ -‬احتمال راه اندازی شدن و اجرای سیستم در لحظه است ‪ .‬قابلیت اعتماد در سیستم های‬
‫توزیع شده بهبود یافت زیرا چنین سیستم هایی در وضعیت همه یا هیچ نیستند‪ -‬آن ها می توانند در صورت از‬
‫کار افتادن بعض ی از قطعات مثل از کار افتادن یک سایت به کارشان ادامه دهند‬
‫قابلیت دسترس ی‪ -‬احتمال راه اندازی و اجرای مداوم سیستم در یک دوره ی خاص است همانند قابلیت‬
‫اعتماد قابلیت دسترس ی در سیستم توزیع شده بهبود یافت که بعض ی از دالیل آن مثل قابلیت اعتماد و‬
‫بخ ی از دالیل ام ان تکثیر داده ها است‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 4‬ویژگی های سیستم های کالینت ‪ /‬سرور را نام ببرید؟‬
‫•‬
‫•‬
‫•‬
‫•‬
‫بعض ی از سایت ها کلینت و بعض ی از سایت ها سرور هستند‬
‫تمام داده ها در سرور قرار دارند‬
‫تمام برنامه های کاربردی در سایت های کلینت اجرا می شوند‬
‫درز ها نمایش داده می شوند (استقلل م انی فراهم نیست)‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫پایگاه داده پیشرفته‬
‫‪ - 5‬ی ی از اهداف مهم پایگاه داده توزیع شده خود مختاری مرلی میباشد آن را توضیح دهید ؟‬
‫سایت در سیستم توزیع شده باید خود مختار باشد معنای خود مختاری مرلی این است که تمام عملیات‬
‫کنترل‬
‫می‬
‫سایت‬
‫آن‬
‫توسط‬
‫سایت‬
‫یک‬
‫در‬
‫ها‬
‫شوند‪ .‬سایتی مثل ‪ x‬برای موفقیت در انجام عملیات نباید به سایتی مثل ‪y‬وابسته باشد در غیر این صورت‬
‫هیچ‬
‫اگر‬
‫حتی‬
‫افتد‬
‫کار‬
‫از‬
‫‪y‬‬
‫سایت‬
‫چنانچه‬
‫چیزی در سایت ‪ x‬نادرست نباشد باز هم سایت ‪ x‬ممکن است نتواند اجرا شود و این حالت مطلوب‬
‫مختاری‬
‫کند‬
‫می‬
‫ایجاب‬
‫همچنین‬
‫مرلی‬
‫خود‬
‫نیست‪.‬‬
‫که داده های مرلی با مسئولیت مرلی مدیریت و اداره شوند ‪.‬‬
‫قابلیت اعتماد احتمال راه اندازی شدن و اجرای سیستم در لحظه است ‪ .‬قابلیت اعتماد در سیستم های توزیع‬
‫شده بهبود یافت زیرا چنین سیستم هایی در وضعیت همه یا هیچ نیستند آن ها می توانند در صورت از کار‬
‫افتادن بعض ی از قطعات مثل از کار افتادن یک سایت به کارشان ادامه دهند ‪.‬‬
‫قابلیت دسترس ی احتمال راه اندازی و اجرای مداوم سیستم در یک دوره ی خاص است همانند قابلیت اعتماد‬
‫قابلیت دسترس ی در سیستم توزیع شده بهبود یافت که بخ ی از دالیل ام ان تکثیر داده ها است‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 6‬اصل اساس ی هر بانک اطالعاتی توزیع شده چیست؟‬
‫از نظر کاربر‪ ،‬سیستم توزیع شده “دقیقا“ باید مثل سیستم توزیع نشده (متمرکز) باشند به این معنا که هر کاربر‬
‫گمان کند که با —یک سیستم مترکز کار می کند‪.‬‬
‫در پایگاه داده توزیع شده چیست؟‬
‫‪ - 7‬دالیل نامطلوب بودن وابستگی به یک سایت خاص ا‬
‫•‬
‫•‬
‫سایت مرکزی ممکن است یک گلوگاه شود‪.‬‬
‫‪ -‬سیستم ممکن است آسیب پذیر شود‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫در پایگاه داده های توزیع شده را بیان کنید‬
‫تکثیر ا‬
‫‪ - 8‬دو مورد ااز مزایا او عیب عمده استقالل ا‬
‫• تکثیر حداقل به دو دلیل مطلوب است‪:‬‬
‫‪ )1‬اوال میتواند کارایی بهتری ایجاد کند (ش ی تکثیر شده ی حاصل تا زمانی که حداقل یک کپی وجود داشته باشد‬
‫برای پردازش حداقل برای بازیابی در دسترس باقی می ماند)‬
‫‪)2‬استقلل تکثیر اجازه می دهد که کپی ها در هر زمانی در پاسخ به تغییر نیازمندی ها ایجاد و حذف شوند بدون‬
‫اینکه این برنامه ها و فعالیت ها نامعتبر شوند‬
‫• عیب آن ‪ :‬عیب عمده ی تکثیر این است که وقتی ش ی تکثیر شده ی خاص ی به هنگام می شود تمام کپی های‬
‫آن ش ی باید به هنگام شوند‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 9‬مدل کالینت سرور را مختصرا تشریح کنید‪.‬‬
‫در منندل اصننلی کلینننت سننرور ‪ ,‬فرآیننندها در سیسننتم توزیننع شننده بننه دو گننروه(احتمنناال دارای همپوشننانی)تقسننیم میشننوند‪ .‬سننرور ‪,‬‬
‫پروسننه ای اسننت کننه سننرویس خاصن ی را پینناده سننازی مننی کننند‪ .‬مثننل سننرویس سیسننتم فایننل یننا سننرویس بانننک اطلعنناتی ‪ ,‬کلینننت ‪,‬‬
‫پروسه ای است که سرویس ی را از سنرور درخواسنت منی کنند‪ .‬بنرای اینن کنار ‪ ,‬پینامی را بنه آن میفرسنتد و منتظنر پاسنخ از سنرور منی‬
‫ماند‪ .‬این تعامل کلینت سرور را رفتار درخواست پاسخ نیز می نامند‪.‬‬
‫‪- 10‬معماری ‪ 3‬الیه کالینت سرور شامل چه الیه هایی است این الیه ها را مختصرا توضیح دهید‪.‬‬
‫این معماری دارای ‪3‬الیه منطقی هست که هر الیه در یک ماشین اجرا میشود‪.‬‬
‫‪-1‬سطح واسط کاربر‪ :‬سطح واسط کاربر معموال توسط کلینت ها پیاده سازی میشود‪ .‬اینن سنطح شنامل برنامنه هنایی اسنت کنه‬
‫بننه کنناربران اجننازه مننی دهنند بننا برنامننه هننای کنناربردی تعامننل داشننته باشننند‪ .‬بطننور مثننال سنناده تننرین برنامننه واسننط کنناربری‪ ,‬صننحفه‬
‫نمایش مبتنی بر کاراکتر است‪.‬‬
‫‪-2‬سطح پردازش‪ :‬سطح پردازش معموال شامل برنامه های کاربردی اصلی است‪.‬‬
‫‪-3‬سطح داده‪ :‬سطح داده شنامل برنامنه هنایی اسنت کنه داده هنای واقبنی را کنه برنامنه هنای کناربردی بنر روی آن عمنل منی کننند را‬
‫نگاه می دارد‪ .‬خاصیت مهم این سطح این است که داده ها معموال پایدار هستند‪ .‬یعننی حتنی اگنر هنیچ برنامنه ی کناربردی در حنال‬
‫اجرا نباشد ‪ ,‬داده ها برای استفاده بعدی ذخیره می شوند‪ .‬و معموال این الیه در سرور پیاده سازی می شود‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 11‬توانایی ها و کاستی های کالینت فربه در مقابل کالینت الغر چیست؟‬
‫گرچنه ماشننین هننای کلینننت کارهننای زیننادی انجننام مننی دهننند‪ ,‬منندیریت آنهننا نیننز دشننوار اسننت‪ .‬انجننام کارهننای بیشننتر در کلیننت ‪ ,‬نرافنزار‬
‫آن را مسننتعد خطننا کننرده کلینننت را بیشننتر بننه سن و (مثننل سیسننتم عامننل و منننابع ) وابسننته مننی کننند‪ .‬از دینند منندیر سیسنتم کلینننت‬
‫هننای فربننه بهتننرین گزینننه نیسننتند‪ .‬کلینننت هننای الغننر آسننان تننر هسننتند‪ .‬ولننی هزینننه آن مننی تواننند واسننط کنناربر غیننر حرفننه ای و کننارایی‬
‫اندک آن باشد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 12 ‬مهمترین ویژگی های معماری سیستم پایگاه داده ای توزیع شده چیست؟‬
‫•‬
‫•‬
‫مهمترین هدف سیستم های توزیع شده تولید شفافیت(‪ )Trancparency‬است‬
‫یعنی سیستم توزیع شده باید شبیه یک سیستم توزیع نشده عمل کند‪ ،‬که‬
‫خودمختاری مرلی‪-‬عدم اطمینان به کامپیوتر مرکزی‪-‬عملکرد مدام‪-‬استقلل م انی‪-‬‬
‫استقلل تکه تکه شدن‪-‬استقلل تکثیر‪-‬پردازش تقاضاهای توزیع شده‪-‬مدیریت‬
‫تراکنش های توزیع شده –استقلل سخت افزار ‪ ،‬نرم افزار ‪ ،‬سیستم‬
‫عامل‪،‬شبکه‪ DBMS ،‬نتیجه می شود‪.‬‬
‫در حقیقت استقلل ها بسط حالت توزیع شده مفهوم معروف استقلل داده‬
‫(فیزی ی) است‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 13 ‬ویژگی های سیستم های کالینت ‪ /‬سرور را نام ببرید ؟‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫بعض ی از سایت ها کلینت و بعض ی از سایت ها سرور هستند‬
‫تمام داده ها در سرور قرار دارند‬
‫تمام برنامه های کاربردی در سایت های کلینت اجرا می شوند‬
‫درز ها نمایش داده می شوند) استقلل م انی فراهم نیست(‬
‫شبکه های کامپیوتری ی ی از ملزومات این معماری می باشد ‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 14 ‬وظایف ‪ Client‬و همچنین ‪ Server‬را بیان کنید ؟‬
‫•‬
‫•‬
‫وظایف ‪: Client‬‬
‫• مدیریت ‪User Interface‬‬
‫• بررس ی ‪ Syntax‬ورودی های کاربر‬
‫• پردازش منطقی ‪ App‬ها‬
‫• تولید درخواستهای ‪ DB‬و انتقال آنها به سرور‬
‫• بازگشت پاسخ دریافت شده از سرور به کاربر‬
‫وظایف ‪: Server‬‬
‫• پذیرش و پردازش درخواستهای ‪ DB‬از ‪Client‬‬
‫• تضمین عدم نقض جامعیت‬
‫• نگهداری‪ Catalog‬سیستم‬
‫• فراهم آوری دستیابی همروند به ‪DB‬‬
‫• کنترل ترمیم‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 15‬مزایای استفاده از رویه های ذخیره شده دربرنامه نویس ی کاربردی سیستم های‬
‫کالینت‪/‬سرور را نام ببرید ؟‬
‫‪ ‬در صورت استفاده از رویه های ذخیره شده تعداد‬
‫پیام های بین کالینت و سرور کاهش بیشتری می‬
‫یابد‪. -‬‬
‫‪ ‬این رویه ها می توانند برای پنهان کردن‬
‫جزئیات ‪ - DBMS‬یا بانک اطالعات از کاربر به کار‬
‫روند‪ ،‬و در نتیجه درجه باالتری از‬
‫‪ ‬استقالل داده ها را فراهم کنند‪.‬‬
‫‪ ‬یک رویه ذخیره شده می تواند بین چندین کالینت‬
‫مشترک باشد‪. -‬‬
‫‪ ‬بهینه سازی می تواند در زمان ترجمه ی رویه‬
‫ذخیره شده) به جای زمان اجرا (انجام شود‪. -‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
: Students ‫ با توجه به رابطه‬-1
.‫ تکه بندی افقی کنید‬Level ‫الف) این رابطه را بر اساس صفت‬
.‫ تکه تقسیم کنید‬3 ‫ب) این رابطه را تکه بندی عمودی کنید وبه‬
.‫ج) قوانین صحت تکه بندی را برای قسمت الف و ب بررس ی کنید‬
Relation Students
Student#
Fname
Lname
123
Kambiz ali
456
Class#
Grade
Group#
teacher
level
Mohammadi 101
19.5
1
Ghanbari
Advanced
Mahlagha
Esmaili
102
14
2
Abdollahi
Intermediate
789
Javad
Javadifar
103
19
3
Afrand
Elementary
987
Lida
Molavi
109
9.5
1
Ghanbari
Advanced
654
Fatemeh
Hamedi
102
11
2
Abdollahi
Intermediate
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
: ‫حل قسمت الف‬
P1=Ϭ level=‘Advanced’ ) Students)
P2=Ϭ level=‘Intermediate’ )Students)
P3=Ϭ level=‘Elementary’ )Students)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Student#
Fname
Lname
Class#
Grade
Group#
teacher
level
123
Kambiz ali
Mohammadi
101
19.5
1
Ghanbari
Advanced
987
lida
Molavi
109
9.5
3
Ghanbari
Advanced
Student# Fname
Lname
Class#
Grade
Group#
teacher
level
456
Mahlagha
Esmaili
102
14
2
Abdollahi
Intermediate
654
Fatemeh
Hamedi
102
11
2
Abdollahi
Intermediate
Student#
Fname
Lname
Class#
Grade
Group#
teacher
level
789
Javad
Javadifar
103
19
2
Afrand
Elementary
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ج) بررس ی قوانین صحت تکه بندی افقی‬
.‫ ظاهر می شود‬P3 ‫ ویا تکه‬P2 ‫ یا تکه‬P1 ‫ در تکه‬Students ‫ هر تاپل در رابطه‬: ‫• کامل بودن‬
P1 U P2 U P3 = Students : ‫• دوباره سازی‬
‫ وهم‬Advanced ‫ وجود ندارد که هم‬Level ‫ تکه ها غیر متصل هستند چون هیچ مقدار‬: ‫• بدون اتصال‬
.‫ باشد‬Elementary ‫وهم‬Intermediate
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
: ‫حل قسمت ب‬
S1= Π student#, Fname, Lname (students)
Student# Fname
Lname
123
Kambiz ali
Mohammadi
456
Mahlagha
Esmaili
789
Javad
Javadifar
987
Lida
Molavi
654
Fatemeh
Hamedi
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
S2= Π student#, Class#, Grade (students)
Student# Class#
Grade
123
101
19.5
456
102
14
789
103
19
987
109
9.5
654
102
11
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
S3= Π student#, Group#, teacher, level (students)
Student# Group# teacher
level
123
1
Ghanbari
Advanced
456
2
Abdollahi
Intermediate
789
3
Afrand
Elementary
987
1
Ghanbari
Advanced
654
2
Abdollahi
Intermediate
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ج) بررس ی قوانین صحت تکه بندی عمودی‬
‫کامل بودن ‪ :‬هر صفت در رابطه ‪ Students‬در تکه ‪ S1‬یا تکه ‪ S2‬ویا تکه ‪ S3‬ظاهر می شود‪.‬‬
‫دوباره سازی ‪S1 ∞ S2 ∞ S3 = Students :‬‬
‫بدون اتصال ‪ :‬غیر از کلید اصلی که برای دوباره سازی الزم است بقیه تکه ها غیر متصل هستند‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ -2‬رابطه ی ‪ Feature‬مفروض است ‪ .‬این رابطه را توسط تکه بندی افقی به ‪ 3‬تکه ‪ S1,S2,S3‬تقسیم کرده‬
‫ایم سپس تکه ی ‪ S2‬را با تکه بندی عمودی به ‪3‬تکه ‪ S21,S22,S23‬تقسیم کرده ایم ‪ .‬نام این روش تکه‬
‫بندی چیست ؟ چگونه قانون دوباره سازی را اعمال کنیم‪.‬‬
‫حل سوال ‪: 2‬‬
‫تکه بندی مخلو‬
‫‪S1 U (S21 ∞ S22 ∞ S23) U S3 = Feature‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ ماژول های مورد استفاده دریک پایگاه داده متمرکزبرای پردازش یک تراکنش را نام ببرید؟‬-3
‫ مدیرتراکنش‬-1
(Lock Manage) ‫( یا مدیرقفل‬Scheduler)‫ زمان بند‬-2
(Recovery Manager) ‫ مدیر ترمیم‬-3
(Buffer Manager)‫ مدیر بافر‬-4
‫ هماهنگ کننده تراکنش یا(مدیر تراکنش سراسری‬-5
(Global Transaction Manager
Data Communications ‫ ارتباطات داده ای‬-6
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ -4‬استراتژی های تخصیص رانام ببرید وتوضیح دهیدکدام یک بهترین کاربرد رادارد؟‬
‫الف‪ -‬متمرکز )‪(centralized‬‬
‫ب‪ -‬تکه تکه یا جزءبندی شده )‪Partitioned(fragmented‬‬
‫ج‪ -‬تکرارکامل )‪(Complete replication‬‬
‫ح‪ -‬تکرارانتخابی )‪(Selective replication‬‬
‫این استراتژی ترکیبی از تکرارکامل وتکه تکه و متمرکز است‪.‬‬
‫هدف این استراتژی این است که استفاده تمام مزایای از روش های دیگراست‪.‬‬
‫این شایع ترین استراتژی مورد استفاده به دلیل انعطاف پذیری آن است‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫•‬
‫‪ - 5‬وظایف یک هماهنگ کننده ‪ TC‬توضیح دهید؟‬
‫‪ ‬آغاز اجرای تراکنش ‪.‬‬
‫‪ ‬شکستن تراکنش به تعدادی از ریزتراکنشها وتوزیع این زیر تراکنشها به سایتهای مناسب برای اجرا‪.‬‬
‫‪ ‬هماهنگ کردن پایان هرتراکنش که در آن سایت آغاز شده که می تواند منجر به ‪( commit‬انجام موفقیت‬
‫آمیز) یا ‪( abort‬انجام نا موفق) در همه سایتها شود ‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ Non- blocking-6‬در انجام پردازش چیست؟‬
‫•‬
‫•‬
‫پروت ل اصلحی برای هر دو سایت با خطا ارتبا برقرار میکند به منظور اطمینان از اینکه خطا دریک سایت‬
‫اثری بر پردازش در سایت دیگر نداشته باشد‪ .‬بعبارت دیگر عملکرد سایت نباید ‪block‬شود‬
‫یک تراکنش را غیر مسدود گوییم اگر اجازه دهد یک تراکنش به سایتهای عملیاتی خاتمه دهد بدون انکه‬
‫منتظر ‪ recovery‬برای سایتهای ‪ fail‬شده بماند‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫است ؟چرا؟‬non-blocking ،2pc ‫ آیا‬- 7
‫خیر‬
•
‫دهد یا در زمان مشخص پاسخ ندهد هماهنگ کننده همه‬abort ‫اگر یک شرکت کننده رای‬2pc ‫در‬
‫ نمی ماند‬recovery ‫میشود و منتظر پروت ل‬abort ‫تراکنش‬
•
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫است؟چرا؟‬non-blocking ،3pc ‫ آیا‬- 8
‫بله‬
•
. ‫استفاده می کند‬pre commit ‫از یک پیام‬
‫قبلی بنابر اولین‬pre-commit ‫همه پردازش های موثر از تصمیم سراسری آگاه هستند توسط پیام‬
‫شده و درنتیجه می تواند در رد دادن خطا اقدام کند‬commit ‫پردازش‬
•
•
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 9‬چرا پروت ل ‪ 2pc‬یک پروت ل ‪ non-blocking‬نیست و این مش ل چگونه در پروت ل ‪ 3pc‬برطرف شده‬
‫است؟‬
‫پروت ل ‪ 2pc‬انسدادی است به این معنا که در شرایطی سایت های مشترک نمی توانند در مورد اتمام تراکنش تصمیم بگیرند و‬
‫باید منتظر بمانند‪ ،‬مثل اگر هماهنگ کننده خراب شد همه سایتها باید منتظر ترمیم آن بمانند‪.‬‬
‫در پروت ل ‪ 3pc‬هماهنگ کننده پس از تصمیم گیری‪ ،‬این تصمیم (‪ )pre-commit‬را در چندین سایت ثبت می کندتا اگر‬
‫هماهنگ کننده دچار خرابی شد خود سایتها بتوانند تصمیم گیری کنند و مش ل انسدادی بودن ‪ 2pc‬را رفع می نماید‪.‬‬
‫‪ -10‬در پروت ل ‪ 2PL‬متمرکز‪ ،‬هماهنگ کننده تراکنش چه وظایفی دارد؟‬
‫هماهنگ کننده تراکنش را به تعدادی زیرتراکنش تقسیم می کند ‪ ،‬همچنین مسئولیت حف‬
‫سازگاری را برعهده دارد‪.‬‬
‫هنگامیکه داده تکراری است ‪ ،‬هماهنگ کننده انتخاب میکند که کدام نسخه آن برای عمل ‪ READ‬استفاده شود‪ ،‬و‬
‫هماهنگ کننده می تواند از طرف همه ‪ TM‬های مرلی به مدیر قفل درخواست قفل بدهد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ دچار چه نوع‬participant ‫ را ودر این پروت ل‬3pc ‫را نشان می دهد یا پروت ل‬2pc ‫ ش ل زیر یک پروت ل‬-11
‫ای شده است؟‬crash
‫پروت ل رانشان میدهد‬Two-Phase Commit ‫این ش ل یک‬.‫ از نوع زودگذر است چون سریع اصلح شده‬crash ‫این‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 12‬چرا ‪ blocking‬در دسترس بودن سیستم را کم می کند؟‬
‫•‬
‫•‬
‫اگر سايت ‪ fail ،coordinator‬شود و در همان زمان چند سايت شرکت کننده خودشان را آماده براي‬
‫انجام يك تراكنش معرفي كنند در اين حالت سایتها بايستي صبركنند تا ‪ recover ،coordinator‬شود‬
‫و تراكنشهاي بلوكه را پايان دهد‪.‬‬
‫تراكنشهاي بلوكه شده تمام منابع را نگه مي دارند تا زماني كه شرکت کننده ها دستور نهايي را از‬
‫‪ coordinator‬تنها بعد از اينكه ‪ recovery‬شد دريافت كنند‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ -13‬ی ی از موثرترین راههای پیشگیری از بن بست را توضیح دهید؟‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪timeout‬‬
‫به وسیله این روش یک تراکنش که درخواست قفل کرده منتظر یک سیستم معین در یک زمان‬
‫مشخص خواهد بود‬
‫اگر آن قفل در زمان مشخص واگذار نشود ‪ ،‬درخواست قفل ‪timeout‬رد می شود‬
‫در این شرایط ‪DBMS‬فرض میکند که تراکنش به بن بست رسیده است حتی اگر این حالت‬
‫اتفاق نیفتاده باشد و تراکنش را ‪ abrot‬و بصورت خودکار آنرا شروع مجدد میکند ‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ در برث استقلل تکه تکه شدن؛اگرفرض کنیم پایگاه به دوتکه زیر تقسیم شده و کاربر‬- 14 
‫تقاضای زیرا صادر کند نتیجه از کدام تکه ها بازیابی خواهد شد؟‬
EMP where Salary>40 And DEPT#=DEPT#(‘D1’)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫در نظر‬L_EMP‫و‬N_EMp ‫توسط کاربر به عنوان دیدی از تکه های‬EMP ‫متغیر رابطه ای‬
:‫گرفته می شود‬
Var EMP “View” N_EMP Union L_EMP
:‫بهینه ساز تقاضای اصلی کاربر را به صورت زیر تبدیل می کند‬
where Salary>40 And DEPT#=DEPT#(‘D1’)( N_EMP Union L_EMP)
:‫می توان آن را به‬
Union (where Salary>40 And DEPT#=DEPT#(‘D1’) L_EMP)
(where Salary>40 And DEPT#=DEPT#(‘D1’) N_EMP)
:‫معادل زیر است‬Union ‫در کاتولوک می داند که عملوند دوم در‬L_EMP ‫با توجه به تکه‬
And EMP where Salary>40 And DEPT#=DEPT#(‘D1’)
DEPT#=DEPT#(‘D2’)
‫ارزیابی‬Ture ‫هرگز به‬Where ‫و چون این متغیر به رابطه ی تهی ارزیابی می شود زیرا شر‬
.‫نخواهد شد و تقاضا به حالت زیر تبدیل می شود‬
where Salary>40 And DEPT#=DEPT#(‘D1’) N_EMP
.‫اکنون شبیه ساز می داند که تنها به سیستم یا سایت نیویورک باید دسترس ی داشته باشد‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 15 ‬مثالی از تقاضاهای توزیع شده را ارائه دهید و در صورت وجود چندین حالت پاسخ چگونه‬
‫بهترین حالت انتخاب خواهد شد؟‬
‫تقاضایی برای اجتماع رابطه ‪ rx‬ذخیره شده در سیستم ‪X‬و رابطه ‪ry‬ذخیره شده در سیستم ‪:Y‬‬
‫‪ rx‬به ‪ Y‬انتقال پیدا کند‪.‬‬
‫‪ ry‬به ‪ X‬انتقال پیدا کند‪.‬‬
‫‪Rx‬و ‪ry‬به سیستم ‪ Z‬انتقال پیدا کنند‪.‬‬
‫و ‪...‬‬
‫بهینه ساز بهترین حالت را انتخاب می کند بنابراین بهینه ساز مهم است ‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ -1 6‬بانک اطالعاتی زیر مفروض است ‪:‬‬
‫‪asg:‬‬
‫‪Prof:‬‬
‫‪esp‬‬
‫‪Pname‬‬
‫‪P#‬‬
‫برقا‬
‫دانش‬
‫‪P1‬‬
‫‪resp‬‬
‫رئیس‬
‫‪C1‬‬
‫صنایع‬
‫اسماعیلی‬
‫‪P2‬‬
‫استاد‬
‫‪C1‬‬
‫‪P2‬‬
‫مکانیک‬
‫ابوطالبی‬
‫‪P3‬‬
‫استاد‬
‫‪C2‬‬
‫‪P2‬‬
‫کامپیوتر‬
‫قاسمی‬
‫‪P4‬‬
‫معاون اجرایی‬
‫‪C3‬‬
‫‪P3‬‬
‫صنایع‬
‫حسنی‬
‫‪P5‬‬
‫معاون پژوهش ی‬
‫‪C4‬‬
‫‪P3‬‬
‫ق‬
‫بر ا‬
‫جاللی‬
‫‪P6‬‬
‫معاون آموزش ی‬
‫‪C2‬‬
‫‪P4‬‬
‫مکانیک‬
‫داوری‬
‫‪P7‬‬
‫رئیس‬
‫‪C2‬‬
‫‪P5‬‬
‫صنایع‬
‫صالحی‬
‫‪p8‬‬
‫رئیس‬
‫‪C3‬‬
‫‪P6‬‬
‫معاون پژوهش‬
‫‪C1‬‬
‫‪P7‬‬
‫‪city‬‬
‫اراک‬
‫‪clgname‬‬
‫برقا‬
‫‪Clg#‬‬
‫رئیس‬
‫‪C3‬‬
‫‪p8‬‬
‫‪C1‬‬
‫اصفهان‬
‫معماریا‬
‫‪C2‬‬
‫اصفهان‬
‫کامپیوتر‬
‫‪C3‬‬
‫تهران‬
‫عمران‬
‫‪C4‬‬
‫‪Clg:‬‬
‫‪Clg#‬‬
‫‪P#‬‬
‫‪P1‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫تقسیم بندی مطلوب را انجام دهید‬،‫هر مسؤلا تقسیم کنید‬
‫بر اساس تخصص ا‬
‫ را ا‬asg ‫اطالعات جدولا‬
. ‫سپس شرایط صحت تقسیم را ارزیابی کنید‬
asg i = asg
Prof 1=
p#
-
profi
esp=‘‫‘برق‬
(prof)
P#
pname
p1
‫دانش‬
esp
‫ق‬
‫بر ا‬
p6
‫جاللی‬
‫برقا‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Prof 2=
Prof 3=
Prof 4=
esp =‘ ‫‘صنایع‬
(prof)
esp =‘‫( ‘ مکانیک‬prof)
esp =‘ ‫‘کامپیوتر‬
(prof)
P#
pname
esp
P2
‫اسماعیلی‬
‫صنایع‬
P5
‫حسنی‬
‫صنایع‬
p8
‫صالحی‬
‫صنایع‬
P#
pname
esp
p3
‫ابوطالبی‬
‫مکانیک‬
p7
‫داوری‬
‫مکانیک‬
P#
Pname
esp
p4
‫قاسمی‬
‫کامپیوتر‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫بررس ی قوانین صحت تقسیم‬
:‫ کامل بودن‬-1
‫ظاهر شده‬prof4 ‫ یا‬prof3 ‫یا‬prof2 ‫یا‬prof1 ‫ است در رابطه‬prof ‫هر تاپل که در رابطه‬
:‫ دوباره سازی‬-2
Prof1 U prof2Uprof3 U prof4 = prof
:‫ بدون اتصال‬-3
‫ تکرار شده‬profi ‫هر قلم داده(سطر)فقط در یک‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
asg 1 = asg
asg 2 = asg
p#
p#
prof1
prof2
asg 3 = asg
p# prof3
asg 4 = asg
p# prof4
‫کامپیوتر‬
P#
Clg#
p4
C2
‫برق‬
‫صنایع‬
P#
Clg#
resp
P1
C1
‫رئیس‬
p6
C3
‫رئیس‬
P#
Clg#
resp
P2
C1
‫استاد‬
P2
C2
‫استاد‬
P5
C2
‫رئیس‬
p8
C3
‫رئیس‬
P#
Clg#
P3
C3
resp
‫معاونا اجرایی‬
P3
C4
‫معاون پژوهش ی‬
p7
C1
‫معاون پژوهش ی‬
resp
‫معاون آموزش‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ -17‬انواع استراتژی های تخصیص را از نظرلوکالیتی منابع واطمینان ودردسترس پذیری کارایی و هزینه‬
‫نگهداری و هزینه ارتبا با هم مقایسه کنید‪:‬‬
‫‪ ‬تخصیص متمرکز‪:‬لوکالیتی منابع بجز در سایت اصلی در پایین ترین حد است‬
‫کارایی قانع کننده نیست و هزینه نگهداری کمترین است‬
‫برای دسترس ی به کل داده ها باید از شبکه استفاده کرد و این بدین معنی است که هزینه ارتبا باالست‪.‬‬
‫اطمینان و در دسترس پذیری پایین است چون ممکنه سایت مرکزی باشکست روبه رو شود و کل پایگاه‬
‫داده از بین برود ‪.‬‬
‫تخصیص تکه بندی‪:‬روی هر سایت بطور مجاز لوکالیتی باالست‪ ..‬چون تکراری نیست هزینه نگهداری پایین‬
‫است و اطمینان و در دسترس پذیری کم است (هرچند‬
‫از متمرکز بیشتر است) چون اگر ی ی از سایتها دچار خطا شد باز مقداری از‬
‫اطلعات از بین می رود‪.‬‬
‫کارایی قانع کننده است وهزینه ارتبا پایین است ‪.‬اگر توزیع به طور مناسب طراحی شده باشد‬
‫تکرار کامل‪:‬چون یک کپی کامل از پایگاه داده در هر سایت نگهداری می شودبنابراین لوکالیتی و اطمینان و کارایی‬
‫ماکزیمم است‪..‬اگر چه هزینه نگهداری و هزینه ارتبا برای آپدیت باالست‬
‫روش تکرار انتخابی ‪:‬هدفش این است که از تمام مزیت های روشهای قبل استفاده می کند ‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ را به همراه ش ل توضیح‬DDBMS ‫ راه اندازی شده در یک سایت در‬global ‫ رویه اجرای یک تراکنش‬-18
.‫دهید‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
..‫ مشخص کنید که هریک از قطعه کدهای زیرنشان دهنده چه نوعی از شفافیت توزیبی هستند‬-19
SELECT fName,lName
FROM S21 AT SITE 3
WHERE staffNo IN(SELECT staffNo FROM S1 WHERE position=‘manager’)
UNION
SELECT fName,lName
FROM S22 AT SITE 5
WHERE staffNo IN(SELECT staffNo FROM S1 WHERE position=‘manager’)
UNION
SELECT fName,lName
FROM S23 AT SITE 7
WHERE staffNo IN(SELECT staffNo FROM S1 WHERE position=‘manager’)
‫ شفافیت نگاشت محل که کاربران نیاز دارند نام تکه ها و محل آیتم های داده را بدانند‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
SELECT fName,lName
FROM S21
WHERE staffNo IN(SELECT staffNo FROM S1 WHERE position=‘manager’)
UNION
SELECT fName,lName
FROM S22
WHERE staffNo IN(SELECT staffNo FROM S1 WHERE position=‘manager’)
UNION
SELECT fName,lName
FROM S23
WHERE staffNo IN(SELECT staffNo FROM S1 WHERE position=‘manager’)
‫با این شفافیت کاربر باید بداند که داده چطور تکه بندی شده اما از محل داده بی خبر‬... ‫شفافیت محل‬
‫است‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪-20‬ی ی از معایب پروت ل‪ 2PL‬نسخه اصلی این است که هنوز درجه ای از ‪ centralization‬در سیستم‬
‫وجود دارد‪،‬چرا‪ ،‬توضیح دهید؟‬
‫زیرا درخواست های قفل برای یک نسخه اصلی خاص باید بوسیله یک سایت اداره شوند‪.‬‬
‫‪-21‬فرضیات پروت ل ‪ 3pc‬را بگویید؟‬
‫در این پروتکل فرض بر این است که خرابی تقسیم شبکه اتفاق نمی افتد و همزمان بیش از ‪ k‬سایت‬
‫خراب نخواهند شد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 22‬تفاوت ‪ 2pl‬محافظه کارانه با ‪ 2pl‬شدید چیست؟‬
‫پاسخ‪:‬‬
‫در پروتوکل مرافظه کارانه ‪ ،‬تراکنش نمی تواند شروع به اجرا کند مگر اینکه تمام قفلهای الزم را دریافت کرده‬
‫باشد ‪ ،‬ولی در پروتوکل شدید ‪ ،‬تراکنش نمی تواند قفل انرصاری را بگشاید مگر اینکه تثبیت یا طرد شده باشد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫امنیت‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ .1‬تفاوت بین کنترل دسترس ی مرتاطانه و الزامی را نام برده و مهمترین ایراد وارده بر این روش چیست؟‬
‫•‬
‫‪1‬‬
‫در کنترل مرتاطانه‪ ،‬کاربر معموال حقوق دستیابی (یا امتیازات) متفاوتی روی اشیای مختلف دارد؛ علوه بر‬
‫این‪ ،‬چندین مردودیت ارثی وجود دارد که‪ ،‬مشخص می کند کدام کاربران‪ ،‬چه مجوز هایی روی کدام اشیا‬
‫دارندطرح های مرتاطانه‪ ،‬بسیار قابل انعطاف هستند‪ .‬کاربر هم می تواند امتیاز خود را به کاربر دیگری‬
‫اعطاء کند‪.‬‬
‫•‬
‫در کنترل الزامی‪ ،‬هر ش یء داده با یک سطح طبقه بندی(‪ ،)Classification Level‬برچسب گذاری می‬
‫شود‪ ،‬و به هر کاربر یک سطح مجوز (‪ )Clearance Level‬داده می شود‪ .‬سپس یک ش یء داده فقط می‬
‫تواند توسط کاربرانی با مجوزهای خاص دستیابی شود‪ .‬سیاست طرح های الزامی‪ ،‬ارثی است و در نتیجه‪،‬‬
‫خیلی دقیق هستند‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ ایراد وارد بر کنترل دسترس ی مرتاطانه‬- 2
1
U
4
U
4
U
1
U
4
U
1
U
2
U
2
U
3
U
3
1
2
U
1
U
2
U
3
3
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
.‫ را با مجوز زیر در نظر بگیرد‬ALEX ‫ کاربر‬.3
DEFINE PERMIT RETRIEVE ON P TO ALEX
WHERE P.CITY=“LONDON”
.‫ زیر را صادر کند‬QUEL ‫ درخواست‬ALEX ‫فرض کنید کاربر‬
RETRIVE ( P.P# , P.WEIGHT)
WHERE P.COLOR =“RED”
‫دستوری را که سیستم به طور خودکار جایگزین درخواست باال می کند چیست؟‬
RETRIVE ( P.P# , P.WEIGHT)
WHERE P.COLOR =“RED”
AND P.CITY=“LONDON”
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 4‬خاصیت ستاره در روش کنترل دستیابی الزامی چیست؟ و بر روی کدام یک از جنبه های امنیتی تاثیر‬
‫می گذارد؟‪4‬‬
‫کاربر ‪ i‬در صورتی می تواند ش یء ‪ j‬را به هنگام کند که سطح مجوز ‪ i‬برابر با سطح طبقه بندی ‪ j‬باشد‪.‬‬
‫جنبه های قانونی‪ ،‬اجتماعی و اخلقی‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
:‫را در نظر بگیرید‬STATS ‫ متغییر رابطه ای‬- 5
STATS{NAME,CHILDREN,OCCUPATION,SALARY,TAX,AUDITS}
KEY{NAME}
‫ را روی صفات‬DELETE ‫و‬INSERT ‫امتیازات‬TODD ‫ به کاربر‬
.‫}بدهید‬OCCUPATION,SALARY,TAX,AUDITS}
.‫را پس بگیرید‬ALEX ‫ تمام امتیازات کاربر‬
‫در بازه شنبه تادوشنبه مجوز‬500000 ‫ کاربرانی که درآمد ماهیانه آنها کتر از‬
.‫را روی فیلد های زیر را داشته باشند‬APPEND,RETRIVE,REPLACE‫های‬
OCCUPATION,SALARY,TAX,AUDITS
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad Branch,
Islamic Azad University
AUTHORITY SA3
GRANT DELETE
(OCCUPATION,SALARY,TAX,AUDITS),
INSERT(OCCUPATION,SALARY,TAX,AUDITS)
ON STATS
TO TODD
DROP AUTHORITY
ALEX;
DEFINE PERMIT APPEND,RETRIVE,REPLACE
ON
STATS( OCCUPATION,SALARY,TAX,AUDITS)
TO
JOE
AT TTA4
FROM 9:00 TO 17:00
ON
SAT TO MON
WHERE STATS.SALARY<500000
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad Branch,
Islamic Azad University
‫ کدام مورد جزء جنبه های امنیتی یک بانک اطالعات است؟‬- 6
secrecy )‫الف‬
integrity )‫ب‬
availability )‫ج‬
‫د) همه موارد‬
.‫همه موارد صحیح می باشد‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪7‬‬
‫‪ -‬روش های رمز نگاری را با ذکر نام مقایسه کنید؟‬
‫ن‪:‬در این روش فرستنده وگیرنده از یک کلید سری مشترک برای رمز نگاری و رمز گشایی استفاده می‬
‫متقار ا‬
‫گیرد‪.‬‬
‫کنندوتوافق بر روی یک کلید مشترک دشوار است و به این دلیل کمتر مورد استفاده قرار می ا‬
‫ن‪:‬در این روش هر فرد دو کلید در اختیار دارد یک کلید عمومی و یک کلید خصوص ی و کامال محرمانه‬
‫نامتقار ا‬
‫‪.‬فرستنده داده ها را با کلید عمومی رمز کرده و داده ها تنها با کلید خصوص ی گیرنده قابل رمز گشایی است‬
‫و این روش دارای امنیت باالیی است و مورد استفاده فراوان قرار می گیرد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 8‬ضعف اصلی سیاست های ‪ mandatory‬است ‪.‬‬
‫خاصیت ارثی‬
‫توضيح‪:‬‬
‫اگر کاربر ‪u1‬بتواند ‪A‬را ببيند در نتيجه کاربر ‪U2‬نمی تواند ‪B‬را ببيند و ‪A‬را نبيند وهيچ امکانی به‬
‫کاربران برای واگذاری يا پس گرفتن مجوز به ديگر کاربران داده نمی شود‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 9‬تفاوت اصلی امنیت و جامعیت در چه موردی است؟‬
‫‪.1‬امنیت به معنای حفاظت از داده ها در مقابل کاربران مجاز و جامعیت یعنی حفاظت از داده ها در مقابل کاربران غیر‬
‫مجاز‬
‫‪.2‬هر دوی امنیت و جامعیت یعنی حفاظت در برابر کاربران مجاز‬
‫‪ .3‬امنیت به معنای حفاظت از داده ها در مقابل کاربران غیرمجاز و جامعیت یعنی حفاظت از داده ها در مقابل کاربران‬
‫مجاز‬
‫‪.4‬هر دوی امنیت و جامعیت یعنی حفاظت در برابر کاربران غیرمجاز‬
‫جواب صحيح گزينه ‪3‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 10‬کدامیک از موارد زیر در مورد رمزگذاری درست میباشد؟‬
‫الف‪-‬الگوریتم رمزنگاری ‪ DES‬ترکیبی از روش جانشيني و جایگشتی است‬
‫ب‪-‬رمزهاي جانشيني ترتيب کاراکتر های متن ساده راعوض مي كنند ولي آنها را تغيیر مي دهند‪ .‬ولی رمز هاي جایگشتی ترتيب‬
‫حروف را حف مي كنند ولي آنها را تغيیر نمي دهند‪.‬‬
‫ج‪-‬الگوریتم آمری ا استاندارد جدیدی به نام استاندارد رمز نگاری پیشرفته (‪ )AES‬را پذیرفت که مبتنی بر الگوریتم‬
‫‪ Rijndael‬است و از کلید های ‪ 128‬و ‪192‬و یا ‪ 256‬بیتی استفاده می کند‪.‬‬
‫د‪-‬در روش ‪AES‬متن به بلک های ‪ 64‬بیتی تقسیم می شود‬
‫‪-1‬الف و ب و ج‬
‫‪- 2‬ب و ج و د‬
‫‪-3‬الف و ب و د‬
‫‪ -4‬الف و ج و د‬
‫جواب صحیح گزینه ‪4‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫‪ - 11‬روشهای رمزنگاری را نام برده و توضیح دهید؟‬
‫جانشینی‪ :‬هر کاراکتر با استفاده از کلید رمزنگاری به رمز تبدیل شده و به جای آن کاراکتر دیگر قرار می گیرد‪.‬‬
‫جایگشت‪ :‬رمزهای جانشینی ترتیب کاراکترهای متن ساده را حف می کنند ولی آنها را تغییر می دهند ولی رمزهای جایگشتی‬
‫ترتیب حروف را عوض می کنند ولی آنها را تغییر نمی دهند‪.‬‬
‫روش ‪:DES‬‬
‫‪ .1‬تقسیم متن ساده به بلکهای ‪ 64‬بیتی‬
‫‪ .2‬تعیین کلیدهای ‪ 64‬بیتی و هر کلید شامل ‪ 56‬بیت ‪ 8 +‬بیت به عنوان ‪ parity‬که ‪ 2 56‬کلید وجود دارد‪.‬‬
‫‪ .3‬بلوک به عنوان یک جایگشت به آن رمزنگاری می شود‪.‬‬
‫‪ .4‬بلوک جایگشت شده در معرض دنباله ای از ‪ 16‬مرحله جانشینی پیچیده قرار میگیرد‪.‬‬
‫‪ .5‬جایگشت دیگری مع وس جایگشت اولیه در آخرین مرحله از نتیجه اعمال می شود‪.‬‬
‫روش ‪:AES‬‬
‫‪ .1‬در طرح کلید عمومی الگوریتم رمزنگاری و کلید رمزنگاری در اختیار همه قرار دارد بنابراین هر کس ی می تواند متن ساده را‬
‫به متن رمزی تبدیل کند ولی کلید رمزگشایی متناظر به صورت سری نگهداری می شود‪.‬‬
‫‪ .2‬کلید رمزگشایی نمی تواند از رمزنگاری حدس زده شود ولذا کس ی که رمزنگاری اصلی را انجام می دهد نمی تواند‬
‫رمزگشایی را انجام دهد‪.‬‬
‫‪ .3‬طرح های عمومی شامل دو کلید هستند‪ .1 :‬رمزنگاری ‪ .2‬رمزگشایی‬
‫‪ .4‬ایده اصلی رمزنگاری کلید عمومی مربو به ‪ Diffe‬و ‪ Hellman‬است‪.‬‬
‫‪ .5‬ارائه ی ی از بهترین طرحها الگوریتم ‪ RSA‬برای این روش است‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ جمله زیر را رمز گذاری کنید؟‬computer ‫ روش رمزگذاری جایگشت را توضیح داده و با کلید‬- 12
I study computer
:‫پاسخ‬
‫در روش های رمزگذاری جایگشت برخلف‬
‫روش های جانشینی نوع حروف عوض نمی‬
.‫شود ولی م ان آنها تغییر می کند‬
ismctesturadybda
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ رمز گذاری داده ها متن زیر را انجام دهید؟‬-13
AS KINGFISHERS CATCH FIRE
: ‫پاسخ‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 11‬آيا مفهوم امنیت و جامعيت با هم برابرند؟ توضيح دهيد‪.‬‬
‫پاسخ‪ :‬خیر برابر نيستند‪ .‬اين دو مقوله در عین حال كه با هم شباهتهايي دارند‪ ،‬از يكديگر متفاوتند‪ ،‬در امنیت‬
‫مسئله حفاظت داده ها در مقابل كاربر غیر مجاز مطرح است و حصول اطمينان از اينكه كاربران‪ ،‬به انجام‬
‫آنچه كه بدان اقدام مي ورزند مجازند‪ .‬حال آنكه در جامعيت ‪ ،‬نوعي حفاظت داده ها در مقابل عمليات كاربر‬
‫مجاز اعمال مي شود و حصول اطمينان از اينكه اقدام كاربران‪ ،‬صحيح است و صحت و دقت داده ها را‬
‫خدشه دار نمي كند‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ارزیابی و بهینه سازی‬
‫پرس و جو‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ -1‬کدامیک از صفت های عبارات زیر‪ ،‬روی بانک اطالعات عرضه کنندگان ‪ -‬قطعات – پروژه ‪ ،‬معادلند وکدامیک‬
‫معادل نیستند ؟‬
‫) ” ‪S join ( ( P join J ) where city= “ london‬‬
‫‪A1.‬‬
‫) ‪A2 . ( P where city = “ london “ ) join ( J join S‬‬
‫با توجه به خاصیت جابه جایی عملگر الحاق با مردودیت وتبدیل آن به مردودیت و الحاق – هم چنین شرکت پذیری‬
‫روی الحاق ‪ ،‬این دو عبارت معادلند ‪.‬‬
‫) ‪B1. ( S where city = “ london “) union ( S where status > 10‬‬
‫‪B2. S where city = “ london “ and status > 10‬‬
‫با توجه به تعریف دو عملگر‪ ،‬دو عبارت ‪،‬خروجی یکسان ندارند ومعادل نیستند ‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
C1. S join ( P { city } minus J { city } )
C2. ( S join P { city } ) minus ( S join J { city } )
.‫دو عبارت معادل نیستند‬
D1. ( J { city } intersect P { city } ) union S { city
}
D2. J { city } intersect ( S { city } union P {
city } )
‫با توجه به خاصیت شرکت پذیری عملگرهای اجتماع و اشتراک دو عبارت معادل نیستند‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ دو درخت پرس وجو برای عبارت زیر ترسیم نمایید و هزینه دستیابی به دیسک هر کدام را مراسبه کنید‬-2
Songs (sid , sname , genre:, year)
Ratings (uid, sid, time, rating)
SELECT S.genre
FROM Ratings R, Songs S
WHERE R.sid=S.sid AND
R.uid=50 AND S.year>2000
‫جدول‬songs ‫ تاپل و جدول‬50 ‫ دارای‬ratings ‫ تاپل است‬100 ‫دارای‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
genre
genre
uid=50
year > 2000
sid=sid
sid=sid
Songs
uid=50
Ratings
Ratings
year >2000
Songs
(T2)
(T1)
Cost of T1 = 50 + 100 + 50 + 50 = 250
Cost of T2 = 100 + 50 + 1 +25 + 26 = 202
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ -3‬قیدهای زیر برای بانک اطلعات عرضه کنندگان‪ -‬قطعات – پروژه ها وجود دارد‬
‫شهرهای معتبر‪ :‬لندن ‪ ،‬پاریس‬
‫هر پروژه ای باید در شهری باشد که در آن شهر‪ ،‬حداقل یک عرضه کننده آن پروژه وجود داشته باشد‪.‬‬
‫را عرضه نماید ‪ p2‬هر عرضه کننده لندن باید قطعه‬
‫عرضه کنندگان در لندن نسبت به عرضه کنندگان در پاریس باید انواع متفاوت تری از قطعات عرضه کنند‬
‫باتوجه به قیدهای باال پرس وجو های زیر را به شکل ساده تر بیان کنید‪:‬‬
‫راعرضه میکنند‪ p2‬عرضه کنندگانی را مشخص کنید که قطعه‬
‫عرضه کنندگان مستقر در لندن را مشخص کنید‪.‬‬
‫عرضه کنندگانی را مشخص کنید که هیچ عرضه کننده ای انواع بیشتری از قطعات را تولید نمیکند‬
‫عرضه کنندگان پاریس را مشخص کنید‬
‫عرضه کنندگانی را مشخص کنید که هیچ پروژه ای را در همان شهر عرضه کننده عرضه نمیکنند‬
‫عرضه کنندگانی را مشخص کنید که پروژه ها را درشهری که یک عرضه کننده آن وجود دارد عرضه میکنند‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫ زیر کدام است؟‬sql ‫بهینه ترین پرس و جوی دستور‬
Select * from t1,t2
Where t1.a=t2.a
And t1.a=‘a’ and t2.a=‘a’
1- σ (t1.a=‘a’ ^t2.a=‘a’)(T1*T2)
2- σ (t1.a=‘a’ ^ t2.a=‘a’) (t1 ∞(t1.a=t2.a) t2)
3- (σ (t1.a=‘a’) (t1)) ∞(t1.a=t2.a) (σ (t1.a=‘a’) (t1))
4 - 3- (σ (t1.a=‘a’) (t1)) ∞(t1.a=t2.a) (t2)
‫ شامل داده های زیر باشد‬t1,t2 ‫اگر جداول‬
[[1,a],[2,a],[3,b]] T1(b,a)
[[1,a],[2,a],[3,b],[4,b]] T2(b,a)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Select * from t1,t2
Where t1.a=t2.a
And t1.a=‘a’ and t2.a=‘a’
1- σ (t1.a=‘a’ ^t2.a=‘a’)(T1*T2)
(3+4)+2*(3*4)=31
2- σ (t1.a=‘a’ ^ t2.a=‘a’) (t1 ∞(t1.a=t2.a) t2)
(3+4)+2*(6)=19
3- (σ (t1.a=‘a’) (t1)) ∞(t1.a=t2.a) (σ (t1.a=‘a’) (t1))
(3+2)+(4+2)+4=15
4 - (σ (t1.a=‘a’) (t1)) ∞(t1.a=t2.a) (t2)
(3+2)+4+4+4=17
‫ شامل داده های زیر باشد‬t1,t2 ‫اگر جداول‬
[[1,a],[2,a],[3,b]] T1(b,a)
[[1,a],[2,a],[3,b],[4,b]] T2(b,a)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 4‬پرس و جو ی زیر را در نظر بگیرید‪ .‬باتوجه به شماهای رابطه ای داده شده به سواالت زیر پاسخ دهید؟‬
‫«یافتن اسامی همه ی مشتریانی که در هر شعبه واقع در بروکلین یک حساب دارند و موجودی حساب آنها‬
‫بیشتر از ‪ 1000‬دالر است »‬
‫)‪Branch-schema=(branch-name, branch-city,assets‬‬
‫)‪Accoun-schema=(account-number , branch-name,balance‬‬
‫)‪Depositor-schema = (customer-name , branch-name‬‬
‫الف)فرم ‪ SQL‬و جبر رابطه ای این پرس و جو را بنویسید ؟‬
‫ب)درخت جبر رابطه ای متعارف این پرس و جو را رسم کنید؟‬
‫ج)با استفاده از قوانین تبدیل درخت را بهینه کنید؟‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
:‫ به شکل زیر است‬SQL ‫ فرم‬
SELECT Customer-name
FROM branch b,account c,depositor d
WHERE branch-city=“brooklyne” AND balance>1000
AND b.branch-name=a.branch-name AND
a.account-number = d.account-number
: ‫ به جبر رابطه ای‬SQL ‫ تبدیل فرم‬
Π Customer-name(σ branch-city=“brooklyne”^
balance>1000 (branch ∞) account ∞depositor)))
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
: ‫ درخت جبر رابطه ای متعارف‬
Π customer- name
σ branch-city ^ balance < 1000
∞
∞
branch
account
depositor
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Π Customer-name(σ branch-city=“brooklyne”^
balance >1000 ( branch ∞ account) ∞depositor))
Π customer- name
σ branch-city
^ balance < 1000
∞
∞
depositor
branch
account
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Π Customer-name((σ branch-city=“brooklyne”^
balance >1000 ( branch ∞ account)) ∞depositor)
Π Customer-name((σ branch-city =“brooklyne”
(balance >1000 ( branch ∞ account)) ∞depositor)
Π customer- name
∞
∞
σ branch-city
depositor
σ balance < 1000
branch
account
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Π customer- name
∞
∞
Π branch-name
σ branch-city
branch
Π customer- name
,account-number
Π branch-name
,account-number
depositor
σ balance < 1000
account
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
.‫ پرس و جو ی زیر را در نظر بگیرید‬- 5
‫فرض کنید سه جدول با نام‬
‫ جدول اساتید‬T(name,code)
‫ جدول دروس‬B(name,code)
‫ جدول دانشجو‬D(name,code,number)
Select d.name
from D,B,T
where D.name=B.code
And B.code=T.code
And D.number=17
And T.name=‘ahmadi’
‫با استفاده از روش تجزیه تقاضا‬
‫الف) روند تجزیه را به صورت مرحله به مرحله نوشته‬
‫ب) درخت تجزیه را رسم نمائید‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
T’: select T.code from T where T.name=‘ahmad’
Q1=select D.name from D,B,T’
D.code=D.code
And B.code=T’.code
And D.number=17
D’=select D.name,D.code from D where D.number=17
Q2=select D’.name from D’,B,T’ where
D’.code=B.code
And B.code = T’.code
B’=select B.code,T’.code from B,T’ where B.code = T’.code
Q3=select D’.namefrom D’,B’ where D’.code=B’.code
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
Q3
B’
B
D’
T’
D
T
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ فرم پرس و جوی زیر مطرح است‬- 6
Select p.a,p.b from client c,view v,property p
Where p.a=‘—’
And c.a=v.a
And v.p=p.p
And c.m>=p.r
Amd p.o=‘0’
‫با استفاده از بهینه سازی معنایی فرم پرس و جوی نهایی نوشته شود؟‬
Select a,b from p where p.o=‘0’ and p.a=‘—’
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
:‫رابطه های زیر وآمارهای داده شده در مورد هر یک را در نظر بگیرید‬-7
S=R1 ∞ R2 ∞ R3 ∞ R4‫مطلوبست مراسبه کاردینالیتی رابطه‬
R1(A,B)
R2(B,C)
R3(C,D)
R4(D,E)
n
100
200
300
400
V iA
20
ViB
VIc
60
50
100
ViD
50
50
VIe
40
100
400*300*200*100 /60*100*50
‫ رانکوهی است‬309 ‫فرمول صفحه‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ 4 – 8‬مرحله اصلی در پردازش پرس و جو چیست؟‬
‫تجزیه‪ :‬پرس و جو به فرم داخلی تبدیل می شود که جهت دست اری ماشین مناسب تر است‪.‬‬
‫بهینه سازی‪ :‬تعدادی بهینه سازی را با شر خوب بودن صرفنظر از مقادیر داده ی واقبی و مسیرهای دستیابی‬
‫فیزی ی که در بانک اطلعاتی ذخیره شده است انجام می دهد‪.‬‬
‫ایجاد کد‪ :‬پس از تبدیل ش ل داخلی پرس و جو به ش ل مطلوب بهینه ساز باید تصمیم بگیرد که چگونه باید‬
‫پرس و جوی تبدیل شده ای را که توسط ش ل کانونی تغییر یافته نمایش داده می شود‪ ،‬اجرا نماید‪.‬‬
‫اجرا‪ :‬شامل ساخت مجموعه ای از نقشه های پرس و جو یا ‪ Query Plan‬کاندید و سپس انتخاب بهترین و‬
‫ارزانترین نقشه می باشد‪.‬‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
.‫ به فرم جبر رابطه ای تبدیل شود‬SQL ‫ عبارت‬- 9
SELECT p.propertyNo, p.street
FROM Client c, Viewing v, PropertyForRent p
WHERE c.prefType = ‘Flat’
AND c.clientNo = v.clientNo
AND v.propertyNo = p.propertyNo
AND c.maxRent >= p.rent
AND c.prefType = p.type
AND p.ownerNo = ‘CO93’
Π p.propertyNo, p.street (σ c.prefType=‘Flat’ ^
c.clientNo=v.clientNo ^
v.propertyNo=p.propertyNO ^
c.maxRent>= p.rent ^
c.prefType=p.type ^
p.ownerNo=‘CO93’((C >< V) >< P))
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫معادل جبر رابطه ای زیر را بنویسید‬-10
σθ(E1∞E2)=(σθ(E1))∞Θe2)
‫معادل سمت چپ‬:‫جواب‬
Select S.A1,G.A1
(Select S.A1,S.A2,G.A1
From S.A1=G.A1)
Where city=“s”
:‫معادل سمت راست‬
Select S.A1,G.A1
From(Select S.A1,S.A2
From S
Where city=“S”)
Where S.A1=G.A1
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قوانین م اشفه ای برای بهینه سازی پرس و جو‬
‫جداسازی ترکیبات عطفی عملگر گزینش به عملگرهای گزینش منرصر به فرد‬:‫مرحله اول‬
•
 c1 AND c2 AND ... AND cn (R1  R2  ...  RN)
=  c1( c2(...( cn(R1  R2  ...  RN) ) )
 cond1 AND cond2
 cond1
 cond2
R
R
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قوانین م اشفه ای برای بهینه سازی پرس و جو‬
‫انتقال عمل گزینش به پایین درخت با قوانین زیر‬:‫مرحله دوم‬
 c1 ( c2(R)) =  c2 ( c1(R))
 A1, A2, ..., An ( c (R)) = c ( A1, A2, ..., An (R)) (assuming c is in Ai)
c1 AND c2 ( R S ) = (c1 (R)) (c2 (S))
c1 AND c2 ( R  S ) = (c1 (R))  (c2 (S))
c ( R  S ) = (c (R))  (c (S))
c ( R  S ) = (c (R))  (c (S))
c ( R – S ) = (c (R)) – (c (S))
•
•
•
•
•
•
•
•
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قوانین م اشفه ای برای بهینه سازی پرس و جو‬
‫انتقال عمل گزینش به پایین درخت با قوانین زیرتا حد ممکن‬:‫مرحله دوم‬
•
 R.A = S.B
 S.B < 50
 R.A > 10

 R.A = S.B
 R.A > 10

R
S
R
 S.B < 50
S
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قوانین م اشفه ای برای بهینه سازی پرس و جو‬
‫مرتب سازی عملگرهای دودویی‬:‫مرحله سوم‬



 R.A > 10
R
•

 T.C = 3
 T.C = 3
 S.B < 50T
S
T
 R.A > 10
 S.B < 50R
S
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قوانین م اشفه ای برای بهینه سازی پرس و جو‬
‫ضرب دکارتی همراه با مردودیت رامی توان به الحاق شرطی تبدیل نمود‬:‫مرحله چهارم‬
( C (R x S)) = (R
C
•
S) –
 R.A=S.B
R.A=S.B

R
R
S
S
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قوانین م اشفه ای برای بهینه سازی پرس و جو‬
‫تبدیل مردودیت تصویر به تصویر مردودیت جهت انتقال تصاویر به پایین الحاق‬
 List1 ( List2 (...( Listn(R))...) ) =  List1(R)
(cascade)
 A1, A2, ..., An ( c (R)) = c ( A1, A2, ..., An (R)) (commute with  as long as c is
part of the projected attributes)
L ( R C S ) = (A1, ..., An (R)) C ( B1, ..., Bm (S)) (commute with )
L ( R  S ) = (A1, ..., An (R))  ( B1, ..., Bm (S)) (commute with  )
L ( R  S ) = ( L (R))  ( L (S)) (commute with )
•
•
•
•
•
•
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قوانین م اشفه ای برای بهینه سازی پرس و جو‬
‫تبدیل مردودیت تصویر به تصویر مردودیت جهت انتقال تصاویر به پایین الحاق‬
•
 R.C, S.D
 R.C, S.D
R.A=S.B
R.A=S.B
 R.A, R.C
R
 S.B, S.D
S
R
S
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫مثال‬
‫ کار‬AQUARIUS ‫ متولد شده اند ودر پروژه‬1957 ‫فامیل کارمندانی را پیدا کنید که بعد از سال‬
.‫می کنند‬
LNAME
EMPLOYEE, WORKS_ON, PROJECT
PNAME = ‘AQUARIUS’ AND PNUMBER=PNO
AND ESSN=SSN AND BDATE > ‘1957-12-31’;
•
SELECT
FROM
WHERE
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫مثال‬
‫ ها به پایین درخت‬select ‫• انتقال‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫مثال‬
‫• مرتب سازی‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫مثال‬
‫• جایگزینی ضرب دکارتی و انتخاب با الحاق‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫مثال‬
‫• انتقال تصویر به پایین درخت‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫‪ - 11‬چهارمرحله اصلی در پردازش پرس وجو؟‬
‫‪ ‬تجزیه‬
‫‪ ‬بهینه سازی‬
‫‪ ‬ایجاد کد‬
‫‪ ‬اجرا‬
‫‪ .1‬قوانین تبدیل در کدام مرحله استفاده می شوند؟بهینه سازی‬
‫‪ .2‬درکدام مرحله ملحضات مسیرهای فیزی ی ونروه ذخیره سازی در نظر گرفته می‬
‫شود؟تولید کد‬
‫‪ .3‬کاتالوگ سیستم در کدام مرحله وبه چه منظور استفاده می شود؟تولید کدواجرا‬
‫‪Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad‬‬
‫‪Branch, Islamic Azad University‬‬
‫مثالی از تفاوت استراتژی ها برپایه هزینه آنها‬
‫برای پرس وجوی زیر دو استراتژی بنویسید وبهترین را‬
‫انتخاب کنید‬
ENAME SELECT
EMP,ASG FROM
EMP.ENO = ASG.ENO WHERE
RESP = "Manager« AND
:‫استراتژی اول‬
ENAME(RESP=“Manager”EMP.ENO=ASG.ENO(EMP×ASG))
 ENAME(EMP ⋈ENO (RESP=“Manager” (ASG))
: ‫استراتژی دوم‬
.‫برخالف انتظار استراتژی اول بهتراست‬
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫جداول‬
Customer (CU) (CustomerID, Name, Street, City, •
County)
Checkedout (CH) (CustomerID, FilmID, TapeNum, •
Date,ReturnDate, AmountPaid, Length, EmpID)
Film (F) (FilmID, Title, Date, RentalPrice, •
Distributor, Type)
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
.‫با استفاده از قوانین مکاشفه ای پرس وجوی زیر را بهینه کنید‬
‫ زندگی می کنند وفیلم‬elm ‫اسامی مشتریانی که در خیابان‬
.‫ را مشاهده کردن‬terminator
sql ‫فرم‬
SELECT Name
Customer CU, CheckedOut CH, Film F FROM
T.Title = ’Terminator’ AND F.FilmId = CH.FilmID WHERE
AND CU.CustomerID = CH.CustomerID and CU.Street = ‘Elm’
‫فرم جبر رابطه ای‬
Name(Title = ‘Terminator’  F.FilmId = CH.FilmID 
CU.CustomerID = CH.CustomerID  CU.Street = ‘Elm’
(( cu ><ch)>< f))
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫درخت پرس و جوی متعارف‬
Name
.FilmID  CU.CustomerID = CH.CustomerID  CU.Street = ‘Elm’


CU
F
CH
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫ منحصر به فرد‬ ‫ به عملگرهای‬‫جداسازی ترکیبات عطفی عملگر‬
Name
 F.FilmId = CH.FilmID

Title = ‘Terminator’
CU.CustomerID = CH.CustomerID

Street = ‘Elm’
F
CH
CU
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫جابه جاپذیری عملگرها وپیوندها برای مرتب سازی عملگرگزینش‬
Name
 CU.CustomerID =
CH.CustomerID

 F.FilmId = CH.FilmID
Street = ‘Elm’

Title = ‘Terminator’
CU
CH
F
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫تبدیل ضرب دکارتی با محدودیت به الحاق شرطی‬
Name
⋈ CU.CustomerID =
CH.CustomerID
⋈ F.FilmId = CH.FilmID
Title = ‘Terminator’
:‫قانون تبدیل پیوندی‬
CH
Street = ‘Elm’
CU
F
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University
‫قانون تبدیل محدودیت تصویر به تصویر محدودیت‬
Name
⋈ CU.CustomerID =
⋈ F.FilmId = CH.FilmID
FilmID
Title = ‘Terminator’
CH.CustomerID
FilmID, CustomerID
FilmID, CustomerID
CH
Street = ‘Elm’
CU
F
Advance Database System lectures, Dr. Mohammad Hossein Nadimi, Faculty of Computer Engineering, Najafabad
Branch, Islamic Azad University