0% found this document useful (0 votes)
7 views5 pages

HW4 Solution

Uploaded by

pou
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views5 pages

HW4 Solution

Uploaded by

pou
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

‫بسمه تعالی‬

‫پاسخ تمرین چهارم درس اصول طراحی پایگاه داده ها‬

‫منبع ‪ :‬فصل ‪ 7‬کتاب "‪" Database System Concepts-7ed‬‬

‫‪ -1‬مفاهیم زیر را تعریف کنید‪.‬‬


‫الف) کاردینالیتی نگاشت)‪ :(mapping cardinality‬تعداد موجودیت هایی که در یک ‪ relationship set‬می تواند از‬
‫یک موجودیت به دیگری مرتبط شود را بیان می کند‪ .‬معموال در‪ relationship‬های باینری به کار می رود و در آن‬
‫کاردینالیتی نگاشت می تواند یکی از ‪ 4‬حالت باشد‪ many to many ،one to many ، many to one :‬و‬
‫‪.one to one‬‬
‫تعیین ‪ cardinality mapping‬برای یک ‪، relationship set‬در زمان تعیین کلید های کاندیدا برای آن‪ ،‬باید مشخص‬
‫شود‪.‬‬
‫ب) مجموعه موجویت ضعیف‪ :‬به یک موجودیت که از خودش کلید اصلی نداشته باشد‪ ،‬موجودیت ضعیف گفته می شود‪.‬‬
‫وجود یک موجودیت ضعیف بستگی به وجود یک موجودیت قوی شناساگر دارد و ارتباطشان باید به صورت یک‬
‫‪ relationship set‬باشد که ‪ total‬است و از سمت موجودیت شناساگر به موجودیت ضعیف‪ ،‬رابطه ای ‪one to many‬‬
‫باشد‪ .‬کلید جزئی یک موجودیت ضعیف برابر است با مجموعه صفاتی که بین تمام موجودیت های آن تمایز ایجاد می کنند ‪.‬‬
‫کلید اصلی آن برابر است با کلید اصلی موجودیت قوی شناساگر به عالوه ی کلید جزئی خود موجودیت ضعیف‬
‫ج) مجموعه موجودیت قوی‪ :‬یک مجموعه موجودیت قوی دارای یک کلید اصلی است‪ .‬تمام تاپل های مجموعه با آن کلید‬
‫قابل تشخیص و تمایز هستند‬
‫د) مشارکت کامل)‪ :(Total participation‬هر موجودیت در مجموعه موجودیت باید به طور اجباری حداقل در یک‬
‫نمونه رابطه در آن مجموعه رابطه شرکت کند‪.‬‬

‫‪ -2‬ما می توانیم با افزودن ویژگیهای مناسب‪ ،‬مجموعه موجودیت ضعیف را به مجموعه موجودیتی قوی تبدیل کنیم‪ .‬بنابراین علت‬
‫وجود مجموعه موجودیتهای ضعیف چیست؟‬
‫ما به چندین دلیل به موجودیت ضعیف نیاز داریم‪:‬‬
‫• ما می خواهیم از تکرار داده ها و در نتیجه ناهماهنگی های احتمالی ناشی از تکرار کلید موجودیت قوی جلوگیری کنیم‪.‬‬
‫• نهادهای ضعیف منعکس کننده ساختار منطقی موجودیتی است که به موجودیتی دیگر وابسته است‬
‫• موجودیت های ضعیف می توانند به طور خودکار حذف شوند وقتی موجودیت قوی آنها حذف شود‪.‬‬
‫• موجودات ضعیف را می توان از نظر فیزیکی با موجودیت های قوی خود ذخیره کرد‪.‬‬
‫‪ -3‬آیا می توان رابطه سه تایی )‪ (Relationship Ternary‬زیر را به دوتایی )‪ (Binary Relationship‬تبدیل کرد؟ درصورت‬
‫مثبت بودن با مثالی دو روش متفاوت در تبدیل رابطه سه تایی به دوتایی را نشان دهید‪ .‬در مورد تبدیل روابط چهارتایی به دوتایی‬
‫چه پیشنهادی دارید؟‬

‫بله می توان تبدیل کرد‪.‬‬

‫‪ 2‬روش وجود دارد‪:‬‬

‫‪ -1‬یک موجودیت جدید به نام ‪ E‬را اضافه می کنیم ‪.‬برای ‪ E‬یک کلید اصلی در نظر میگیریم ‪.‬کلید اصلی ‪ E‬و ‪ C‬را به ‪، Rc‬کلید‬
‫اصلی ‪A‬و‪ E‬را به ‪ RA‬و کلید اصلی ‪ E‬و ‪ B‬را به ‪ RB‬اضافه می کنیم‪.‬‬
‫مثال‪ :‬روابط ‪ A,B,C‬نشان دهنده پروژه و استاد و دانشجو باشد ‪ ،‬موجودیت ‪ E‬یک واسط میان آن ها باشد ‪.‬مثال تدریسیار و‬
‫یک کلید اصلی داشته باشد‪.‬‬
‫‪ -2‬این حالت که ‪ E‬یک موجودیت ضعیف باشد و کلید اصلی نداشته باشد ‪.‬‬
‫مثال‪ :‬مانند همان مثال قبل با این تفاوت که تدریسیار کلید اصلی نداشته باشد‪.‬‬

‫برای تبدیل روابط ‪ 4‬تایی به دوتایی می توانیم به طور مشابه در چند مرحله عمل کنیم‬

‫‪ -4‬برای نمودارهای ‪ ER‬زیر جدول مناسب بسازید‪(.‬نوشتن شمای رابطه ای با مشخص کردن کلیدهای اصلی کافی می باشد‪).‬‬
‫( در نمودارها صفات هر نهاد با بیضی نشان داده شده است)‬
‫الف) نمودار ‪ ER‬برای یک بیمارستان‬
‫ب) نمودار ‪ ER‬برای دانشگاه‬

‫‪ -5‬با توجه به مفروضات زیر برای یک لیگ ورزشی نمودار ‪ ER‬مناسب رسم کنید‪.‬‬
‫‪ -‬این لیگ چندین تیم دارد‪.‬‬
‫‪ -‬هر تیم دارای یک نام ‪ ،‬یک شهر ‪ ،‬یک مربی ‪ ،‬یک کاپیتان و مجموعهای از بازیکنان است‪.‬‬
‫‪ -‬هر بازیکن فقط به یک تیم تعلق دارد‪.‬‬
‫‪ -‬هر بازیکن دارای یک نام ‪ ،‬موقعیت (مانند دروازه بان) ‪ ،‬سطح مهارت و مجموعه ای از سوابق آسیب دیدگی است‪.‬‬
‫‪ -‬کاپیتان تیم نیز یک بازیکن است‪.‬‬
‫‪ -‬یک بازی بین دو تیم انجام میشود (که به آن ها تیم میزبان و تیم مهمان گفته میشود) و دارای یک تاریخ و یک امتیاز است‪.‬‬

‫‪ -6‬فرض کنید به عنوان مدیر پایگاه داده (‪ )DBA‬در یک هتل ‪ ،‬شما باید یک پایگاه داده را برای گرفتن تمام اطالعات زیر که هتل‬
‫برای نگهداری آن نیاز دارد ‪ ،‬تنظیم کنید‪.‬‬
‫‪ -‬این هتل دارای سه نوع اتاق شامل اتاق یک نفره ‪ ،‬اتاق دو نفره و اتاق سه نفره می باشد‪ .‬هر اتاق با شماره منحصر به فرد آن‬
‫مشخص می شود‪.‬‬
‫‪ -‬هر کارمندی در هتل یا مسئول پذیرش یا یک نظافتچی و یا از کارکنان آشپزخانه است‪ .‬هر مسئول پذیرش با نام ‪ ،‬تعداد‬
‫کارمند و سالهای تجربه خود شناخته می شود‪ .‬مسئولین پذیرش پیش از واگذاری اتاق به مهمان ‪ ،‬مسئول اطمینان از تمیز‬
‫بودن اتاق هستند‪ .‬بنابراین ‪ ،‬آنها یک کارمند نظافتچی واحد را برای تمیز کردن هر اتاق هر روز صبح و یا هر زمان که الزم‬
‫باشد اختصاص می دهند‪ .‬توجه داشته باشید که ممکن است نیاز باشد که همان اتاق چندین بار در همان روز تمیز شود ‪ ،‬قبل‬
‫از اینکه دوباره واگذاری شود‪ .‬برای هر بار تمیز کردن‪ ،‬تاریخ و وضعیت باید فراهم شود‪.‬‬

‫کارکنان آشپزخانه با مسئولیتهای خاص خود مشخص می شوند ‪ ،‬به عنوان مثال آشپز یا پیشخدمت بودن‪ .‬تفاوت بین‬
‫کارکنان نظافتچی و کارکنان آشپزخانه نیز به طور منحصر به فرد از طریق شماره کارمندیشان مشخص می شوند‪.‬‬

‫‪ -‬مسئولین پذیرش از مهمانان استقبال می کنند و با دریافت ارائه مدارک معتبر سفر‪ ،‬آنها به هر مهمان یک اتاق منحصر به‬
‫فرد اختصاص میدهند و یک گروه از امکانات را که در طول اقامت مهمان در دسترس است ‪ ،‬مشخص می کنند‪ .‬میهمانان با‬
‫شماره گذرنامه خود منحصر به فرد شناخته می شوند اما سایر اطالعات الزم نیز ثبت می شود‪ .‬میهمانان با شماره گذرنامه‬
‫خود به صورت منحصر به فرد شناخته می شوند اما سایر اطالعات الزم نیز در مورد میهمانان ثبت می شود ‪ ،‬از جمله‪ :‬نام ‪،‬‬
‫شماره تلفن‪ ،‬تاریخ ورود‪ ،‬تاریخ عزیمت و شماره کارت اعتباری‪.‬‬
‫هر گروه امکانات شامل مجموعه خاصی از امکانات است ‪ ،‬به عنوان مثال سالن بدنسازی‪ ،‬به منظور استفاده توسط مهمانان‪.‬‬
‫تاریخ ورود و عزیمت یک میهمان به نوبه خود در تعیین یک اتاق خاص موثر است‪.‬‬
‫‪ -‬مهمان همراه با یک همراه برای داشتن یک اتاق دونفره و یا با حداکثر دو نفر همراه برای یک اتاق سه نفره می تواند باشد‪ .‬هر‬
‫شخص همراه با نام خود مشخص می شود‪.‬‬
‫الف) با توجه به توضیحات داده شده در باال ‪ ،‬یک نمودار ‪ ER‬برای پایگاه داده ترسیم کنید‪.‬‬

‫ب) مشخص کنید کدام مجموعه موجودیتها (در صورت وجود) در نمودار ‪ E-R‬شما قوی هستند و کدام یک (در صورت‬
‫وجود) ضعیف هستند‪.‬‬
‫‪Strong entity sets: Room, Guest, Employee, Facility group, and Facility‬‬
‫‪Weak entity sets: Cleaning‬‬

You might also like