DB1-Assignment5.pdf

‫هجووعه تورینهای سری چهارم درس پایگاه دادهها (‪)۱‬‬
‫نحوهی تحویل ‪ً :‬ؼخِ کبغزی توشیي خَد سا (تبیپؿذُ یب دػتًَیغ) ثِ اتبق ‪( ۵۰5‬آصهبیـگبُ دکتش هیشیبى) تحَیل دّیذ‪ .‬فشػتبدى توشیي ثِ‬
‫كَست ایویل پزیشفتِ ًیؼت‪.‬‬
‫نکات هورد توجه‬
‫دس توشیٌبت ثِ ًکبت صیش تَجِ کٌیذ ‪:‬‬
‫‪ )1‬ثخؾّبی هـخقؿذُ ثب عالهت ⅔ ٍیظُی گشٍُّبی دٍ یب ػًِفشی ٍ ثخؾّبی هـخقؿذُ ثب عالهت ‪ٍ ³‬یظُی گشٍُّبی ػًِفشی‬
‫ّؼتٌذ‪.‬‬
‫‪ )2‬ثخؾ توشیيّبی یبدآٍسی هفبّین‪ ،‬كشفبً جْت یبدآٍسی هفبّین اػت ٍ ًیبصی ثِ تحَیل آىّب ًیؼت ٍ هیتَاًیذ ثب هشاجعِ ثِ کتبة‪،‬‬
‫یبدداؿتّبی تکویلی‪ ٍ ،‬دیگش هشاجع دسع‪ ،‬پبػخ آىّب سا ثیبثیذ‪.‬‬
‫‪ .I‬تورینهای اصلی‬
‫‪ )1‬ثب تَجِ ثِ تعشیف دیذّبی دادُ ؿذُ‪ ،‬دس ّش هَسد پزیشا یب ًبپزیشا ثَدى دیذ سا ثِ طَس کبهل ٍ ثب قیذ هثبل ثشسػی کٌیذ (جذٍلّبی ‪ٍ S‬‬
‫‪ ،SP‬ثِ تشتیت جذٍلّبی تْیِکٌٌذُ ٍ تْیِکٌٌذُ‪-‬قطعِ اص هثبل آهَصؿی کتبة ‪ DATE‬اػت ٍ جذٍل ‪ ،COT‬جذٍل دسع اص پبیگبُ دادُ‬
‫ػیؼتن آهَصؿی اػت)‪.‬‬
‫‪V1=S JOIN SP‬‬
‫)‪V2=S JOIN P (on CITY‬‬
‫‪V3=SELECT S# FROM S‬‬
‫‪EXCEPT | UNION | INTERSECT‬‬
‫‪SELECT DISTINCT S# FROM SP‬‬
‫‪³V4=SELECT COTITLE , COCREDIT FROM COT.‬‬
‫‪ )2‬دیذّبیی ثشای تْیِ گضاسؽّبی صیش ثِ صثبى ‪ SQL‬ثٌَیؼیذ (ثب تَجِ ثِ جذاٍل دادُ ؿذُ دس توشیي چْبسم) ‪:‬‬
‫‪ً -1‬بم ّش ؿْش ٍ تعذاد تْیِکٌٌذگبى‪ ،‬تعذاد پشٍطُّب‪ ٍ ،‬تعذاد قطعبت آى ؿْش‪.‬‬
‫‪ -2‬ؿوبسُ ‪ً ،‬بم ‪ٍ ٍ ،‬صى ّش قطعِ ثِ ّوشاُ ٍصى حؼبة ؿذُ ثشای آى اص سٍی صیشقطعبت ثکبسسفتِ دس آى‪.‬‬
‫‪ )3‬آیب دیذّبی ‪ V2 ٍ V1‬ثب تعشیفّبی دادُ ؿذُ‪ ،‬اص ًظش «هعٌبیی» یکؼبى ّؼتٌذ؟ آیب پزیشا ّؼتٌذ یب ًبپزیشا؟‬
‫‪V1 : SELECT * FROM STT WHERE STLEV = 'bs' OR‬‬
‫)'‪V2 : (SELECT * FROM STT WHERE STLEV = 'bs') UNION (SELECT * FROM STT WHERE STMJR = 'Comp.eng.‬‬
‫(‪) 1‬‬
‫‪ )4‬جذٍل صیش هفشٍض اػت ‪:‬‬
‫دیذ ‪ DSAL‬سا ثِ كَست صیش تعشیف هیکٌین ‪:‬‬
‫)‪CREATE VIEW DSAL (D,C,SSAL,AVSAL‬‬
‫)‪AS (SELECT DN, COUNT(*), SUM(SAL), AVG(SAL‬‬
‫‪FROM EMPL‬‬
‫);‪GROUP BY DN‬‬
‫دس ّش هَسد ثیبى کٌیذ آیب تجذیل ‪ E/C‬اهکبًپزیش اػت (ّن دس تئَسی ٍ ّن دس عول) ٍ اگش ثلِ‪ ،‬تجذیل سا اًجبم دّیذ‪.‬‬
‫;‪⅔SELECT D,C FROM DSAL WHERE SSAL>100000‬‬
‫;)'‪SELECT D,AVSAL FROM DSAL WHERE C > (SELECT C FROM DSAL WHERE D='D111‬‬
‫;'‪UPDATE DSAL SET D='D333' WHERE D='D444‬‬
‫;‪DELETE FROM DSAL WHERE C>10‬‬
‫;)‪INSERT INTO DSAL VALUES ('D555','20',200000,40000‬‬
‫‪a.‬‬
‫‪b.‬‬
‫‪c.‬‬
‫‪d.‬‬
‫‪e.‬‬
‫‪ )5‬دیذ ‪ V1‬ثش سٍی جذٍل هجٌبی ‪ S‬ثِ كَست صیش تعشیف ؿذُ اػت ‪:‬‬
‫)‪S ( S# , SNAME , STATUS , CITY‬‬
‫‪CREATE VIEW V1‬‬
‫‪AS ( SELECT S# , SNAME‬‬
‫‪FROM S‬‬
‫)‪WHERE STATUS < ANY ( SELECT STATUS FROM S‬‬
‫ثب فشض ّیچوقذاسپزیشی ػتَىّبی ‪ ،CITY ٍ STATUS‬آیب عولیبت دسج دس ایي دیذ پزیشاػت؟ تَضیح دّیذ‪.‬‬
‫‪ .II‬تورینّهای تکویلی‬
‫‪ )1‬هذلؼبصی کبتبلَگ ػیؼتن سا ثِ گًَِای گؼتشؽ دّیذ کِ ثتَاى دیذّبی ػطح خبسجی سا ًیض دس آىّب ًوبیؾ داد‪ .‬ػپغ طشاحی جذٍلی‬
‫الصم سا ثشای آى اًجبم دّیذ‪.‬‬
‫‪ )2‬هحذٍدیتْبی ‪ SQL‬اػتبًذُ (اػتبًذاسد) دس عولیبت رخیشُ ػبصی اص دیذّب سا ثشسػی کٌیذ‪.‬‬
‫‪ )3‬اهکبًبت ٍ هحذٍدیتْبی یك ‪ DBMS‬ساثطِای (جذٍلی) سا دس عولیبت رخیشُػبصی اص دیذّب ثشسػی کٌیذ (ثب هثبلّبی هٌبػت ؿجیِ‬
‫هثبلّبی هطشح ؿذُ دس کالع)‬
‫(‪) 2‬‬
‫‪ )4‬دس كَست اهکبى‪ ،‬هثبلی اص یك دػتَس کٌتشلی دس یك پبیگبُ دادُ ثشای یك هحیط خبف ثضًیذ کِ ًَؿتي آى دس ػطح خبسجی پبیگبُ دادُ‬
‫ٍ ثش سٍی دیذّبی تعشیفؿذُ هعٌیداس ثبؿذ‪.‬‬
‫‪ .III‬تورینهای یادآوری هفاهین‬
‫‪ )1‬کذاهیك اص تجذیلْبی ‪ C/I ،E/C ،E/E‬دس چِ ٍضعی الصم ًیؼت اًجبم ؿَد؟‬
‫‪ )2‬هضایب ٍ هعبیت هفَْم دیذ چیؼت؟‬
‫‪ )3‬دس عول چِ صهبًی اص هفَْم دیذ خبسجی اػتفبدُ ًویکٌین؟‬
‫‪ )4‬دیذ ػبختِ ؿذُ (رخیشُؿذُ) چیؼت؟ کبسثشد‪ ،‬هضایب ٍ هعبیت آى سا ثیبى کٌیذ‪.‬‬
‫‪ )5‬تکٌیك تعشیف دیذ سٍی دیذ‪ ،‬چِ کبسثشدّبیی داسد؟ دس ّش هَسد هثبل قیذ کٌیذ‪.‬‬
‫‪ .IV‬تورینهای عووهی‬
‫‪ )1‬الگَی «الیِثٌذی»‪ 1‬یکی اص الگَّبی هعوبسی‪ 2‬دس هٌْذػی ًشمافضاس اػت کِ ؿبیذ ثتَاى هعوبسی ػِالیِ پبیگبُدادُ سا یك ًوًَِ اص آى‬
‫داًؼت‪ .‬ایي الگَ سا هطبلعِ کٌیذ ٍ هضایب‪ ،‬هعبیت‪ ٍ ،‬کبسثشدّبی آى سا رکش کٌیذ‪.‬‬
‫‪Layers Pattern‬‬
‫‪Architectural Patterns‬‬
‫(‪) 3‬‬
‫‪1‬‬
‫‪2‬‬