HomeWork 3.pdf

‫به نام خدا‬
‫دانشگاه صنعتی شریف‬
‫نیمسال اول ‪94-95‬‬
‫تکلیف شماره ‪3‬‬
‫نام درس‬
‫استاد درس‬
‫طراحی پایگاه داده‬
‫دکتر امینی‬
‫تاریخ تعریف تمرین‬
‫مهلت تحویل‬
‫‪1394/9/19‬‬
‫‪1394/9/29‬‬
‫‪ .1‬فرض کنید که طراح‪ ،‬یک جدول مبنا را به دو جدول مبنای جدید تبدیل و جدول مبنای قدیم را حذف‬
‫میکند‪ .‬بیان کنید که کدام یک از موارد زیر تغییر میکند؟‬
‫‪ ‬شمای خارجی‬
‫‪ ‬شمای ادراکی‬
‫‪ ‬شمای داخلی‬
‫‪ .2‬بیان کنید که چه عواملی باعث بروز سربار (فزونکاری) در ‪ DBMS‬میشود؟ (حداقل ‪ 3‬مورد)‬
‫‪ .3‬از بین ‪ 4‬نوع کلید کدامیک حتما در یک رابطه وجود دارد؟‬
‫‪‬‬
‫کلید کاندید‬
‫‪‬‬
‫کلید بدیل‬
‫‪‬‬
‫کلید خارجی‬
‫‪‬‬
‫سوپرکلید‬
‫‪ .4‬در رابطه )‪ R(A, B‬صفت ‪ A‬کلید کاندید و صفت ‪ B‬یک صفت چندمقداری است‪ .‬اگر در بدنه این رابطه‬
‫در یک لحظه‪ A ،‬سه مقدار متمایز داشته باشد و تعداد مقادیر ‪ B‬به ازای این سه مقدار به ترتیب ‪ 3 ،4‬و ‪5‬‬
‫باشد‪ ،‬کاردینالیتی این رابطه چند است؟‬
‫‪ .5‬در رابطه )‪ ،R(A, B, C, D, E‬صفتهای ‪ A‬و ‪ B‬با هم یک کلید کاندید هستند‪ .‬این رابطه چند سوپرکلید‬
‫دارد؟ آنها را مشخص کنید‪.‬‬
‫‪ .6‬در رابطه زیر چند سوپرکلید وجود دارد؟ آنها را مشخص کنید‪.‬‬
‫)‪C‬‬
‫‪B‬‬
‫‪(A‬‬
‫‪c2‬‬
‫‪b1‬‬
‫‪a1‬‬
‫‪c1‬‬
‫‪b2‬‬
‫‪a1‬‬
‫‪c1‬‬
‫‪b1‬‬
‫‪a2‬‬
‫‪R‬‬
‫‪ .7‬با مشاهده داده های ذخیره شده در جدول مربوط به یک برنامه کاربردی (در زمان خاصی)‪ ،‬کدامیک از موارد‬
‫زیر را میتوان بدست آورد و کدامیک را نمیتوان بدست آورد‪ .‬توضیح دهید‪.‬‬
‫‪ )1‬آیا صفتی کلید جدول است یا خیر‪.‬‬
‫‪ )2‬چه محدودیتهای جامعیتی بر روی جدول تعریف شده است‪.‬‬
‫‪ )3‬آیا مجموعة مشخصی از محدودیتهای جامعیتی ارضا میشوند یا خیر‪.‬‬
‫‪ .8‬شِمای پایگاه دادهای را که دارای ‪ 4‬جدول مشتری‪ ،‬محصول‪ ،‬تولیدکننده و قرارداد است را در نظر بگیرید‪ .‬دو‬
‫جدول مشتری و تولیدکننده دارای صفاتی همچون شناسه‪ ،‬نام و آدرس هستند‪ .‬شناسه عددی ‪ 9‬رقمی است‪.‬‬
‫هر محصول دارای شماره (عددی بین ‪ 1‬تا ‪ ) 999999‬و نام است‪ .‬هر تاپل (سطر) در رابطه قرارداد‪ ،‬حاوی‬
‫اطالعات مربوط به قرارداد بین یک تولیدکننده و مشتری برای یک محصول خاص به تعداد مشخص و قیمت‬
‫توافق شده است‪.‬‬
‫‪‬‬
‫با استفاده از ‪ SQL DDL‬شمای روابط مذکور را مشخص کنید‪ ،‬به طوری که محدودیتهای جامعیتی‬
‫و دامنههای مناسبی در تعریف روابط لحاظ شده باشند‪.‬‬
‫‪‬‬
‫اظهار‪ 1‬زیر را نیز با توجه به روابط تعریف شده‪ ،‬تعریف نمایید‪.‬‬
‫تعداد قراردادها باید از تعداد تولیدکنندهها بیشتر باشد‪.‬‬
‫‪ .9‬شِمای زیر را در نظر بگیرید‪.‬‬
‫)‪Employee (id, name, age, salary‬‬
‫)‪Works (employee_id, department_id, start_date‬‬
‫)‪Department (id, budget, manager_id‬‬
‫‪‬‬
‫دیدی را تعریف کنید که نام‪ ،‬سن و حقوق کارمندان باالی ‪ 50‬سال سن را چاپ کند‪.‬‬
‫‪‬‬
‫برای شِمای بیان شده در سوال‪ ،‬یک دید مثال بزنید که با بهروزرسانی دید جداول زیرین نیز بهروزرسانی‬
‫گردند‪.‬‬
‫‪‬‬
‫برای شِمای بیان شده در سوال‪ ،‬یک دید مثال بزنید که با بهروزرسانی دید امکان بهروزرسانی جداول‬
‫زیرین وجود نداشته باشد‪.‬‬
‫‪‬‬
‫بیان کنید که دید چگونه می تواند باعث تامین امنیت شود؟ بر اساس شِمای بیان شده در سوال‪ ،‬یک دید‬
‫که باعث امنیت میشود را تعریف کنید‪.‬‬
‫‪ASSERTION‬‬
‫‪1‬‬
‫‪ .10‬شِمای زیر را در نظر بگیرید‪:‬‬
‫)‪Movie(ProductionYear,Studio,Director,Title,Length‬‬
‫با استفاده از اظهار‪ ،‬محدودیتی بنویسید به گونهای که مجموع همه فیلمهای تولید شده توسط هر استودیو‪،‬‬
‫کمتر از ‪ 20000‬دقیقه باشد‪.‬‬
‫‪ .11‬شِمای زیر را در نظر بگیرید‪:‬‬
‫)‪PC(Model_number,Price,ProcessorSpeed,RAM,HardDisk‬‬
‫)‪NoteBook(Model_number,Price,ProcessorSpeed,RAM,HardDisk‬‬
‫)‪Product(Model_number,Producer,Type‬‬
‫برای هر یک از محدودیتهای زیر‪ ،‬رهانا‪ 2‬یا اظهاری بنویسید به گونه ای که مانع از نقض این محدودیتها‬
‫شود‪.‬‬
‫‪ .12.1‬یک رهانا بنویسید به گونهای که به هنگام بروز رسانی قیمت یک ‪ ،PC‬بررسی کند که ‪ PC‬دیگری با‬
‫همان سرعت پردازنده و قیمت پایینتر وجود نداشته باشد‪.‬‬
‫‪ .12.2‬هیچ یک از تولیدکنندگان ‪ ،PC‬هیچ ‪ NoteBook‬ای را تولید نمیکنند‪( .‬یک اظهار بنویسید)‬
‫‪ .12.3‬تولید کنندگان ‪ PC‬باید ‪ NoteBook‬ای را نیز تولید کنند که سرعت پردازنده آن‪ ،‬از سرعت پردازنده‬
‫همه ‪ PC‬های تولید خودشان‪ ،‬بهتر باشد‪( .‬یک اظهار بنویسید)‬
‫نکات مهم در مورد تحویل تکلیف‪:‬‬
‫● مستند تکلیف باید در دو نسخة ‪ Word‬و ‪ PDF‬تحویل داده شود‪ .‬کلیة محتویات تکلیف (مستند‪ ،‬کد منبع‪،‬‬
‫خروجی نرم افزارها و غیره) بایستی در قالب یک فایل فشرده با نام ‪ DB-941-HW3-StudentNumber‬به‬
‫آدرس ‪ [email protected]‬ارسال گردد‪ .‬عنوان نامه بایستی همانند نام فایل باشد‪.‬‬
‫‪TRIGGER‬‬
‫‪2‬‬
‫● در صورت بروز ابهام در مورد سؤاالت‪ ،‬میتوانید سؤاالت خود را به آدرس ‪[email protected]‬‬
‫بفرستید‪.‬‬
‫● سؤاالت خود را به زبان فارسی یا انگلیسی پرسیده و از به کار بردن فینگلیش خودداری فرمائید‪.‬‬
‫● هرگونه سؤال و ابهام در مورد تمرینات بایستی حداکثر تا ‪ 24‬ساعت قبل از مهلت تکلیف پرسیده شود‪.‬‬
‫● تأخیر در ارسال پاسخ‪ ،‬مشمول کسر نمره خواهد بود‪ .‬هر روز تأخیر مشمول ‪ 25‬درصد کسر نمره خواهد گردید‪.‬‬
‫● تکلیف بایستی فقط یکبار فرستاده شود‪ .‬در صورت ارسال چندین نسخه در زمانهای مختلف‪ ،‬فقط نسخة اولیه‬
‫بررسی میشود‪.‬‬
‫● پاسخ هر سؤال باید دقیق و متناسب با سؤال باشد‪ .‬از ذکر مطالب مبهم‪ ،‬نامرتبط و زائد خودداری شود‪.‬‬
‫● در صورت استفاده از منبع خاصی برای پاسخ به سؤال‪ ،‬اسم آن منبع ذکر گردد‪.‬‬
‫● پاسخها باید با کلمات خودتان بیان شوند‪ .‬مطالب منابع دیگر را عیناً کپی نکنید‪.‬‬
‫● در صورت کشف تقلب‪ ،‬بر اساس مقررات آموزشی با آن برخورد خواهد شد‪.‬‬
‫● پاسخها فقط میتوانند به زبان فارسی باشند‪.‬‬
‫● در صورت نقض هر کدام از نکات گفته شده‪ ،‬نمره کسر میگردد‪.‬‬
‫ارزش انسان ز علم و معرفت پیدا شود‬
‫بی هُنر گر دعوی بیجا کند رسوا شود‬
‫در مسیر زندگی هرگز نمیافتد به چاه‬
‫با چراغ دین و دانش گر بشر بیناشود‬
‫موفق باشید‬