HW3.pdf

‫به نام یگانه خالق هستی بخش‬
‫تمرین سری سوم درس پایگاه داده‬
‫اهداف‪:‬‬
‫‪‬‬
‫آشنایی با معماری سه الیه پایگاهدادهها‬
‫‪‬‬
‫آشنایی با مدلسازی رابطهای‪ ،‬طراحی باال به پایین و نرمال(تر)سازی پایگاهدادهها‬
‫‪‬‬
‫آشنایی جبر و حساب رابطهای‬
‫مهلت ارسال تمرین ‪ ۰۳ :‬دی ‪۲۰۳۱‬‬
‫دانشکده مهندسی کامپیوتر‬
‫دانشگاه صنعتی شریف‬
‫آذر ‪2931‬‬
‫بخش اول‪ :‬سواالت تشریحی‬
‫‪ .2‬معماری پیشنهادی سه سطحی پایگاهداده )‪ (ANSI‬را به صورت مختصر توضیح دهید‪.‬‬
‫‪ . 1‬فرض میکنیم که رابطهی ‪ R‬از درجه ‪ n‬باشد‪.‬‬
‫الف) این رابطه چند پرتو ناتهی دارد؟‬
‫ب) این رابطه حداکثر چند سوپر کلید دارد؟‬
‫ج) این رابطه حداکثر چند کلید کاندید دارد؟‬
‫‪. 9‬در مدل رابطهای محدودیتهای معنایی زیر چگونه اعمال میشود؟‬
‫الف) محدودیت چندی ارتباط‬
‫ب) محدودیت الزامی بودن مشارکت در ارتباط‬
‫‪ .۴‬کلید کاندید رابطهی ‪ R′‬را در هر مورد مشخص کنید ( ‪ OP‬هر یک از عملگرهای تک عملوندی و دو عملوندی جبر رابطهای است) ‪:‬‬
‫‪𝑅 ′ = 𝑅1 𝑂𝑃 𝑅2‬‬
‫‪R′ = 𝑂𝑃 𝑅,‬‬
‫بخش دوم‪ :‬سواالت تحلیلی‬
‫‪ .2‬دیدهای زیر که برروی جداول ‪ STCOT ٬STT‬و ‪ COT‬تعریف شده است را در نظر بگیرید ‪:‬‬
‫‪CREATE V1 AS SELECT STT.STID, STT.STNAME, STCOT.COID, STCOT.GRADE FROM STT JOIN STCOT‬‬
‫‪CREATE V2 AS SELECT STT.*, COT.* FROM STT JOIN COT‬‬
‫‪CREATE V3 AS SELECT STID, STNAME, STL, STJ FROM STT‬‬
‫’‪WHERE STL = ‘BS’ OR STJ=’COMP‬‬
‫’‪CREATE V4 AS SELECT STID, STNAME, STL, STJ FROM STT WHERE STL=’BS‬‬
‫‪UNION‬‬
‫’‪SELECT STID, STNAME, STL, STJ FROM STT WHERE STJ=’COMP‬‬
‫‪CREATE V5 AS SELECT COT.COTITLE, COT.COCRED FROM COT‬‬
‫)‪CREATE V6 AS SELECT STID, AVG(GRADE‬‬
‫‪FROM STCOT‬‬
‫‪GROUP BY STID‬‬
‫‪CREATE V7 AS SELECT STNAME, COTITLE, GRADE, TR, YR FROM STT, STCOT , COT‬‬
‫‪WHERE STT.STID = STCOT.STID AND STCOT.COID = COT.COID‬‬
‫الف) در هر مورد پذیرا یا ناپذیرا بودن را با ذکر دلیل مشخص کنید‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ب) آیا دیدهای ‪ V3‬و ‪ V4‬از نظر معنایی یکسانند ؟‬
‫ج) تبدیلهای ‪ E/C‬و ‪ C/I‬الزم برای اجرای دستورات زیر را توضیح دهید‪.‬‬
‫)‪INSERT INTO V1 VALUES (‘90123456’,’Gholi’,’40638’,18‬‬
‫’‪DELETE FROM V3 WHERE STNAME = ‘Gholi‬‬
‫‪DROP TABLE STT‬‬
‫‪.1‬‬
‫الف) رابطههای شکل زیر که مدلسازی پایگاهداده یک بانک است را طراحی کنید‪.‬‬
‫ب) گراف ارجاع را مشخص نمایید‪.‬‬
‫ج) هریک از محدودیتهای معنایی زیر چگونه در پایگاهداده اعمال میشود؟‬
‫‪-‬‬
‫برای صفت ‪ Type‬در رابطه ‪ ACCOUNT‬تنها مقادیر پسانداز‪ ،‬جاری و قرضالحسنه مجاز است‪.‬‬
‫‪-‬‬
‫میزان موجودی هیچ حسابی کمتر از ‪ ۰۵۵۵‬نباید باشد‪.‬‬
‫‪-‬‬
‫الزامی بودن مشارکت موجودیت ‪ ACCOUNT‬در رابطهی ‪A-C‬‬
‫‪-‬‬
‫مبلغ وام هیچگاه تغییر نمیکند‪.‬‬
‫‪ .9‬رابطههای زیر مفروضند‪:‬‬
‫)‪𝑬𝑴𝑷𝑳𝑶𝒀𝑬𝑬(NAME, SSN, SALARY, DNO, SUPERVISOR_SSN‬‬
‫)‪𝑫𝑬𝑷𝑨𝑹𝑻𝑴𝑬𝑵𝑻(DNAME, DNO, TOTAL_SAL, MANAGER_SSN‬‬
‫الف) یک رهانا بنویسید که سازگاری پایگاه داده را در هنگام تغییر حقوق یک کارمند تضمین کند‪(.‬به این صورت که همیشه باید صفت‬
‫‪ TOTAL_SAL‬در رابطهی ‪ DEPARTMENT‬برابر با مجموع حقوق کارکنانش باشد‪).‬‬
‫ب) یک اظهار بنویسید که تضمین کند حقوق یک کارمند از حقوق کارمند باال دست آن بیشتر نمی شود‪.‬‬
‫‪ .۴‬با توجه به روابط ‪ STCOT ، STT‬و ‪ COT‬به پرسشهای زیر در جبر رابطهای و حساب رابطهای پاسخ دهید‪:‬‬
‫‪-‬‬
‫نام دانشجویانی که هیچ درسی را مردود نشدهاند‪.‬‬
‫‪-‬‬
‫نام دانشجویانی که تمام دروس عمومی (دروس گروه آموزشی معارف) خود را گذرانده باشند‪.‬‬
‫‪-‬‬
‫شماره جفت دانشجویان‪ -‬درسهایی از گروه آموزشی ‪ D222‬را بدهید به نحوی که در هر جفت شماره دانشجو‪-‬درس ‪ ،‬دانشجو‪،‬‬
‫درس را انتخاب نکرده باشد‪.‬‬
‫‪-‬‬
‫نام دانشجویانی که در ترم اول سال ‪ 39-31‬حداقل یک درس از دانشکده ریاضی انتخاب کرده باشند‬
‫‪-‬‬
‫نام دانشجویانی که در ترم اول سال ‪ 39-31‬حداقل از دو دانشکده مختلف درس انتخاب کرده باشند‬
‫‪ . ۰‬شماره و نام هر دانشجو‪ ،‬ترم‪ ،‬سال و معدل هر دانشجو در هر ترم‪-‬سال را به کمک یک عبارت جبر رابطهای دهید‪.‬‬
‫‪ .۶‬در یک محیط عملیاتی‪ ،‬مجموعه ‪FD‬ها چنین است‪:‬‬
‫𝑉 → )𝑌 ‪𝑌 → 𝑊, (𝑋, 𝑌) → 𝑍, 𝑋 → 𝑈, (𝑋,‬‬
‫𝑈 ↔ 𝑇 ‪𝑉 → 𝑌, (𝑋, 𝑌) → 𝑇,‬‬
‫نرمالترین رابطهها را برای این محیط طراحی کنید ( با اثبات محفوظ ماندن ‪FD‬ها )‬
‫‪ .۷‬دو مجموعه از ‪FD‬های رابطه )‪ R(A, B, C, D, E‬چنین است ‪:‬‬
‫𝐸 → 𝐷 ‪1) 𝐴 → 𝐵, (𝐴, 𝐵) → 𝐶, 𝐷 → (𝐴, 𝐶),‬‬
‫)𝐸 ‪2) 𝐴 → (𝐵, 𝐶), 𝐷 → (𝐴,‬‬
‫آیا این دو مجموعه معادلند؟‬
‫‪ .۸‬در هر مورد تعیین کنید که رابطه در چه سطح نرمالی است؟ آنرا به نرمالترین رابطهّها و به صورت حافظ ‪FD‬ها تجزیه کنید‪(.‬نشان دهید‬
‫که تجزیه حافظ ‪FD‬ها است)‪.‬‬
‫الف) )‪ R(X,Y, Z, U, V, W‬با مجموعه ‪FD‬های 𝑊 → 𝑌 ‪𝑋 → 𝑍, 𝑋 → 𝑈, 𝑈 → 𝑉,‬‬
‫ب) )‪ R(A, B, C, D, E, F‬با مجموعه ‪FD‬های 𝐷 → 𝐶 ‪𝐴 ↔ 𝐶, 𝐴 → 𝐸, 𝐷 → 𝐸,‬‬
‫‪ .3‬در رابطه )‪ R(A, B, C‬وابستگی ‪ A →→ B‬وجود دارد‪.‬‬
‫الف) اگر تاپلهای >‪ <1, 4, 5> ، <1, 2, 3‬و >‪ <1, 6, 7‬را در این رابطه درج کنیم‪ ،‬چه تاپلهای دیگری باید در ‪ R‬درج شوند؟‬
‫ب) بدون در نظر گرفتن ‪JD‬های نامهم‪ ،‬این رابطه چند ‪ JD‬دارد و کدامند؟‬
‫بخش سوم‪ :‬سواالت تحقیقی‬
‫این بخش به عنوان نمره ی اضافی است‪ .‬در مورد یکی از موضوعات زیر به انتخاب خود تحقیق کنید‪.‬‬
‫‪‬‬
‫زبان پرسش برای رابطههای غیرنرمال )‪(NRQL‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Query Optimization‬‬
‫‪Query By Example‬‬
‫‪Datalog‬‬
‫‪Object Query Language‬‬
‫حساب رابطهای میدانی‬
‫نحوهی ارسال تمرین‬
‫‪-‬‬
‫پاسخ تمرین خود را تا ساعت ‪ 19:۰3‬دوشنبه ‪ 9۵‬دی ‪ 2931‬با فرمت ‪ PDF‬و اسم فایل و عنوان ایمیل ‪ DB_HW2_STID‬به‬
‫آدرس ‪ [email protected]‬ارسال نمایید‪.‬‬
‫‪-‬‬
‫تمام تمرین باید توسط خود شما نوشته شده باشد و با هرگونه کپیبرداری از منابع انسانی و یا رایانهای برخورد خواهد شد‪.‬‬