مجموعه تمرینهای سری چهارم درس پایگاه دادهها ()۱ نحوهی تحویل :نسخه کاغذی تمرین خود را قبل از شروع امتحان پایان ترم به استاد تحویل دهید .تحویل تمرین بعد از امتحان شامل حداقل 50درصد کسر نمره خواهد بود. تمرینات را می توانید به صورت دو نفره نیز تحویل دهید. )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آیا دیدهای V1و V2با تعریفهای داده شده ،از نظر «معنايي» یکسان هستند؟ آیا پذیرا هستند یا ناپذیرا؟ .'V1 : SELECT * FROM STT WHERE STLEV = 'bs' OR STMJR = 'Comp.eng )'V2 : (SELECT * FROM STT WHERE STLEV = 'bs') UNION (SELECT * FROM STT WHERE STMJR = 'Comp.eng. )4جدول زیر مفروض است : () 1 دید 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 )5دید V1بر روی جدول مبنای Sبه صورت زیر تعریف شده است : )S ( S# , SNAME , STATUS , CITY CREATE VIEW V1 AS ( SELECT S# , SNAME FROM S )WHERE STATUS < ANY ( SELECT STATUS FROM S با فرض هیچمقدارپذیری ستونهای STATUSو ،CITYآیا عملیات درج در این دید پذیراست؟ توضیح دهید. )6کدامیك از تبدیلهای E/E ،E/C ،C/Iدر چه وضعی الزم نیست انجام شود؟ )7در عمل چه زمانی از مفهوم دید خارجی استفاده نمیکنیم؟ )8آیا ممکن است یك رابطه از طریق یك کلید خارجی واحد به چند رابطه ارجاع دهد؟ چگونه؟ در صورت نیاز مثال بزنید. )9در )SQL(RMمحدودیتهای معنایی زیر چگونه اِعمال میشوند؟ به طور کامل بررسی کنید. محدودیت چندی ارتباط محدودیت الزامی بودن مشارکت در ارتباط )10رابطهای که چهار کلید خارجی از یك دامنه داشته باشد .اینگونه رابطهها در چه وضعی پدید میآیند؟ )11مثالی از حلقه ارجاع یك رابطهای نمایشگر یك ارتباط M:Nقید کنید. () 2 a. b. c. d. e. )12میدانیم 𝑛 = 𝑛 × .𝑛 × 1 = 1در جبر رابطهای نقش 1را چه رابطهای ایفا میکند؟ )13میدانیم .𝑛 × 0 = 0 × 𝑛 = 0در جبر رابطهای نقش 0را چه رابطهای ایفا میکند؟ )14رابطههای STUDو COURو SCRرا در نظر میگیریم .برای کنترل جامعیت پایگاه دادهها در هریك از عملهای زیر ،رهانا و اظهار خواستهشده را بنویسید. درج تاپل در ( SCRرهانا و اظهار) ⅔ حذف تاپل از ( COURرهانا -با روش )CASCADE بهنگامسازی شماره دانشجو و شماره گروه آموزشی او (رهانا -با روش )CASCADE جلوگیری از اخذ بیش از nواحد در یك ترم توسط دانشجویانی که در ترم قبل معدل کمتر از aدارند (اظهار و ⅔رهانا) عمل درج یك تاپل از دید ) V (COID, COTITLE, COCRED, CODEIDتعریف شده روی COURو حاوی درسهای "عملی" (رهانا) جلوگیری از درج تاپل در SCRدر صورت مشخص نبودن مقدار صفت "نمره" در آن تاپل (اظهار و ³رهانا) اِعمال این محدودیت که "مقدار نمره وارد شده هیچگاه تغییر نمیکند( ".رهانا) )15عمل رهانای زیر را با فرض رابطهی زیر برای کارمندان شرح دهید : )…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 () 3
© Copyright 2025 Paperzz