DB1-Assignment6.pdf

‫مجموعه تمرینهای سری ‪ ۶‬درس پایگاه دادهها (‪)۱‬‬
‫نحوهی تحویل ‪ً :‬سخِ کبغزی توشیي خَد سا (تبیپضذُ یب دستًَیس) ثِ اتبق ‪( 8۰5‬آصهبیطگبُ دکتش هیشیبى) تحَیل دّیذ‪ .‬فشستبدى‬
‫توشیي ثِ صَست ایویل پزیشفتِ ًیست‪.‬‬
‫نکات مورد توجه‬
‫دس توشیٌبت ثِ ًکبت صیش تَجِ کٌیذ ‪:‬‬
‫‪ )1‬ثخصّبی هطخصضذُ ثب ػالهت ⅔ ٍیژُی گشٍُّبی دٍ یب سًِفشی ٍ ثخصّبی هطخصضذُ ثب ػالهت ‪ٍ ³‬یژُی گشٍُّبی‬
‫سًِفشی ّستٌذ‪.‬‬
‫‪ )2‬ثخص توشیي ّبی یبدآٍسی هفبّین‪ ،‬صشفبً جْت یبدآٍسی هفبّین است ٍ ًیبصی ثِ تحَیل آىّب ًیست ٍ هیتَاًیذ ثب هشاجؼِ ثِ‬
‫کتبة‪ ،‬یبدداضتّبی تکویلی‪ ٍ ،‬دیگش هشاجغ دسس‪ ،‬پبسخ آىّب سا ثیبثیذ‪.‬‬
‫‪ .I‬تمرینهای اصلی‬
‫‪ )1‬آیب هوکي است یک ساثغِ اص عشیك یک کلیذ خبسجی ٍاحذ ثِ چٌذ ساثغِ اسجبع دّذ؟ چگًَِ؟ دس صَست ًیبص هثبل ثضًیذ‪.‬‬
‫‪ )2‬دس ‪ RM‬هحذٍدیتْبی هؼٌبیی صیش چگًَِ اِػوبل هیضًَذ؟ ثِ عَس کبهل ثشسسی کٌیذ‪.‬‬
‫‪ ‬هحذٍدیت چٌذی استجبط‬
‫‪ ‬هحذٍدیت الضاهی ثَدى هطبسکت دس استجبط‬
‫‪ )3‬دس ّش یک اص هَاسد صیش ساثغِای هثبل ثضًیذ کِ دس خبصیت خَاستِ ضذُ صذق کٌذ‪ٍ .‬یژگیّبی‪ 1‬ایي ساثغِّب سا ثیبى کٌیذ‪.‬‬
‫‪ ‬ساثغِای کِ داسای سِ صفت اص یک داهٌِ ثبضذ‪.‬‬
‫⅔ ساثغِای ثب ضص صفت کِ دس آى سِ صفت اص یک هیذاى ثبضٌذ ٍ یکی اص سِ صفت کلیذ کبًذیذ ثبضذ‪.‬‬
‫‪ ‬ساثغِای کِ چْبس کلیذ خبسجی اص یک داهٌِ داضتِ ثبضذ‪ .‬ایٌگًَِ ساثغِّب دس چِ ٍضؼی پذیذ هیآیٌذ؟‬
‫‪1‬‬
‫اص ٍیژگیّبی یک ساثغِ هیتَاى ثِ هَاسد صیش اضبسُ کشد ‪:‬‬
‫‪ .1‬تؼذاد کلیذ کبًذیذ ٍ کلیذ خبسجی‬
‫‪ .2‬تؼذاد داهٌِ ٍ تؼذاد صفبت ساثغِ‬
‫‪ .3‬ثیطتش ثَدى تؼذاد داهٌِ اص تؼذاد صفبت ساثغِ‬
‫‪ .4‬لضٍم دگشًبهی صفبت ساثغِ‬
‫‪ .5‬خَد اسجبع ثَدى ساثغِ‬
‫‪ .6‬داضتي کلیذ خبسجی جضء کلیذ‬
‫‪ .7‬ساثغِ توبم کلیذ‬
‫‪( ... .8‬دیگش ٍیژگیّبی جبلت تَجِ!)‬
‫(‪) 1‬‬
‫‪ ³ )2‬یک ساثغِ غیش ًشهبل ثب سِ سغح تَدستَیی هثبل ثضًیذ ٍ چگًَگی اًجبم ػول ثٌْگبمسبصی ٍ ػول حزف دس آى سا ثیبى کٌیذ‪.‬‬
‫‪ )3‬هثبلی اص حلمِ اسجبع یک ساثغِای ًوبیطگش یک استجبط ‪ M:N‬لیذ کٌیذ‪.‬‬
‫‪ )4‬هیداًین‬
‫‪ .‬دس ججش ساثغِای ًمص سا چِ ساثغِای ایفب هیکٌذ؟‬
‫‪ )5‬هیداًین‬
‫‪ .‬دس ججش ساثغِای ًمص سا چِ ساثغِای ایفب هیکٌذ؟‬
‫‪ )6‬ساثغِّبی ‪ SCR ٍ COUR ٍ STUD‬سا دس ًظش هیگیشین‪ .‬ثشای کٌتشل جبهؼیت پبیگبُ دادُّب دس ّشیک اص ػولّبی صیش‪ ،‬سّبًب ٍ‬
‫اظْبس خَاستِضذُ سا ثٌَیسیذ‪.‬‬
‫‪ ‬دسج تبپل دس ‪( SCR‬سّبًب ٍ اظْبس)‬
‫‪ ⅔ ‬حزف تبپل اص ‪( COUR‬سّبًب ‪ -‬ثب سٍش ‪)CASCADE‬‬
‫‪ ‬ثٌْگبمسبصی ضوبسُ داًطجَ ٍ ضوبسُ گشٍُ آهَصضی اٍ (سّبًب ‪ -‬ثب سٍش ‪)CASCADE‬‬
‫‪ ‬جلَگیشی اص اخز ثیص اص ‪ٍ n‬احذ دس یک تشم تَسظ داًطجَیبًی کِ دس تشم لجل هؼذل کوتش اص ‪ a‬داسًذ (اظْبس ٍ ⅔سّبًب)‬
‫‪ ‬ػول دسج یک تبپل اص دیذ )‪ V (COID, COTITLE, COCRED, CODEID‬تؼشیف ضذُ سٍی ‪ ٍ COUR‬حبٍی دسسّبی‬
‫"ػولی" (سّبًب)‬
‫‪ ‬جلَگیشی اص دسج تبپل دس ‪ SCR‬دس صَست هطخص ًجَدى همذاس صفت "ًوشُ" دس آى تبپل (اظْبس ٍ ‪³‬سّبًب)‬
‫‪ ‬اِػوبل ایي هحذٍدیت کِ "همذاس ًوشُ ٍاسد ضذُ ّیچگبُ تغییش ًویکٌذ‪( ".‬سّبًب)‬
‫‪ ⅔ )7‬ػول سّبًبی صیش سا ثب فشض ساثغِی صیش ثشای کبسهٌذاى ضشح دّیذ ‪:‬‬
‫)…‪EMPLOYEE ( Ssn , EmpName, Salary, …, SuperVisor_ssn ,‬‬
‫‪CREATE TRIGGER Inform_supervisor1‬‬
‫‪BEFORE INSERT OR UPDATE OF Salary, Supervisor_ssn‬‬
‫‪ON EMPLOYEE‬‬
‫‪FOR EACH ROW‬‬
‫‪WHEN ( NEW.Salary > ( SELECT Salary FROM EMPLOYEE‬‬
‫) ) ‪WHERE Ssn = NEW.Supervisor_ssn‬‬
‫;) ‪inform_supervisor ( NEW.Supervisor_ssn, NEW.Ssn‬‬
‫‪ .II‬تمرینهای تکمیلی (اختیاری)‬
‫‪ )1‬دس ‪ RM‬کذاهیک اص هفبّین هْنتش فبیلیٌگ هغشح ًیست؟‬
‫‪ )2‬چِ فشلی ثیي هسٌذ ساثغِ‪ ٍ 2‬هحذٍدیت ساثغِ‪ٍ 3‬جَد داسد؟‬
‫‪ )3‬دس پیبدُسبصی هفَْم داهٌِ (هیذاى) دس یک ‪، RDBMS‬چِ هالحظبت تکٌیکی هغشح است؟‬
‫‪ )4‬ساثغِ ‪ R‬اص دسجِ ‪ n‬حذاکثش چٌذ کلیذ کبًذیذ داسد؟ (هیتَاًیذ اص لضیِ اسپشًش استفبدُ کٌیذ‪).‬‬
‫‪ )5‬هطکالت ّیچومذاس کذاهٌذ؟‬
‫‪ )6‬هثبلی اص یک سّبًب ثضًیذ کِ دس آى ثکبسگیشی اص ‪ FOR EACH STATEMENT‬ثِ جبی ‪ FOR EACH ROW‬ضشٍسی است ٍ دس غیش‬
‫ایي صَست هحذٍدیت هَسد ًظش اِػوبل ًویضَد‪.‬‬
‫‪Relation predicate‬‬
‫‪Relation constraint‬‬
‫(‪) 2‬‬
‫‪2‬‬
‫‪3‬‬
‫‪ .III‬تمرینهای یادآوری مفاهیم (نباید تحویل دهید!)‬
‫‪ )1‬تؼشیف ساثغِ دس سِ هٌجغ هؼتجش ثشسسی ضَد‪.‬‬
‫‪ )2‬هضایب ٍ هؼبیت ‪ RM‬چیست؟‬
‫‪ )3‬تفبٍتّبی ساثغِ ثب جذٍل کذام است؟‬
‫‪ )4‬هفَْم داهٌِ (هیذاى) چِ هضایبیی داسد؟‬
‫‪ )5‬هؼبیت کلیذ خبسجی چیست؟‬
‫‪ )8‬هفَْم "ّیچومذاس" چیست؟ چشا اص ًظش ‪ C.J.DATE‬ایي هفَْم "هخشة هذل ساثغِای" است ٍ ثبیذ اص آى اجتٌبة کشد؟‬
‫‪ )9‬ساثغِ ‪ R‬اص دسجِ ‪ n‬حذاکثش چٌذ سَپشکلیذ داسد؟‬
‫‪ )1۰‬هثبلی اص حلمِ اسجبع سِ ساثغِای لیذ کٌیذ‪ .‬آیب حلمِ اسجبع دس ػولیبت رخیشُسبصی دضَاسی ایجبد هیکٌذ؟ اگش ثلِ‪ ،‬دس ػول چِ‬
‫ثبیذ کشد؟‬
‫‪ .IV‬تمرینهای عمومی (اختیاری)‬
‫‪ )1‬ضبیذ ثتَاى گفت کِ ساثغِ کِ هفَْهی سیبضی است‪ ،‬یک جْص دس هٌْذسی ًشمافضاس ایجبد کشد‪ ،‬ثِ ایي تشتیت کِ دس پبیگبُدادُّب‪،‬‬
‫سغح اًتضاع ثشًبهِسبصی سا ثبال ثشد ٍ ثشًبهِسبصاى سا اص کبس ثب فبیل ٍ هفبّین آى هٌتضع کشد ٍ ثِ گًَِای هیتَاى ادػب کشد کِ دست‬
‫هٌْذسبى ًشمافضاس سا اص یک سَ گشفت ٍ ایطبى سا ثبال کطبًذ کِ اص ایي ثبثت ایطبى ثبیذ لذسداى آى ثبضٌذ‪ .‬تئَسیّبی دیگشی سا کِ‬
‫دس هٌْذسی ًشمافضاس چٌیي جْصّبیی ایجبد کشدُا ًذ ًبم ثجشیذ ٍ چگًَگی ایي کبس سا ثشایطبى ضشح دّیذ‪ّ .‬وچٌیي ثشسسی کٌیذ‬
‫کِ دس کذام ثخصّبی هٌْذسی ًشمافضاس‪ٌَّ ،‬ص ّیچ تئَسی ٍجَد ًذاسد ٍ هٌْذسبى ًشمافضاس صشفبً ثب اثضاسّب ٍ دیگش هَاسد کبسثشدی‬
‫کِ هؼوَالً فبلذ تئَسی ّستٌذ ٍ ثِ صَست دٍسُای ثبة هیضًَذ ٍ سپس کٌبس گزاضتِ هیضًَذ‪ ،‬کبس خَد سا پیص هیثشًذ‪ .‬گضاسضی‬
‫کَتبُ دس ایي ثبسُ تْیِ کٌیذ ٍ تحَیل دّیذ‪.‬‬
‫(‪) 3‬‬