۱
subtitle
ارسال: #۱
  
سوال ۷۸ آی تی ۹۲ ( تبدیل نمودار وراثت به مدل رابطه ای)
سلام.
لطفا این سوال رو نگاه کنید:
برای تبدیل نمودار وراثت به مدل رابطه ای تو کتاب مقسمی هیچی ننوشته. من تو نت که گشتم به این نتیجه رسیدم
برای تبدیل رابطه وراثت از مدل شی گرا به مدل رابطه ای چندین روش مختلف وجود دارد:
******
روش اول:
در این روش برای کل سلسله مراتب کلاس، یک جدول در نظر می گیریم. که ساختار جدول به صورت زیر خواهد بود:
{صفات سوپر کلاس، صفات مختص زیر کلاس ها و یک فیلد نوع کلاس (موجودیت)}
فیلد نوع برای ذخیره اینکه رکورد مورد نظر مربوط به اطلاعات کدام کلاس است به کار می رود.
که در این روش null داریم.
******
روش دوم:
در این روش برای هر زیر کلاس یک جدول در نظر می گیریم. که شمای هر جدول به صورت زیر خواهد بود:
{صفات سوپر کلاس و صفات مختص زیر کلاس}
در این روش بعضی از افزونگی ها را خواهیم داشت. اما مزیت این روش نسبت به روش اول اینست که در این روش دیگر ستونهای با مقادیر Null را نخواهیم داشت.
******
روش سوم:
در این روش برای سوپر کلاس یک کلاس جداگانه در نظر می گیریم که شامل صفات سوپر کلاس می باشد. و برای هر زیر کلاس نیز یک جدول جداگانه در نظر می گیریم. که شامل صفات مختص آن زیر کلاس به همراه کلید اصلی جدول مربوط به سوپر کلاس.
این روش بهترین گزینه برای ما می باشد.زیرا دقیقا هر کلاس را به یک جدول جداگانه و مستقل نگاشت می کند. و هر تغییری در یک کلاس فقط در جدول مربوط به آن کلاس تاثیر خواهد گذاشت و بر خلاف دو روش قبلی، روی جدول های دیگر تاثیر نخواهد گذاشت. در این روش نه افزونگی داده داریم و نه ستونی با مقدار Null.
با توجه به این توضیحات، جواب صحیح گزینه ۲ میشه اما تو پاسخ نامه زده گزینه ۱!!
میشه بگید کدوم درسته؟؟
ممنون
لطفا این سوال رو نگاه کنید:
برای تبدیل نمودار وراثت به مدل رابطه ای تو کتاب مقسمی هیچی ننوشته. من تو نت که گشتم به این نتیجه رسیدم
برای تبدیل رابطه وراثت از مدل شی گرا به مدل رابطه ای چندین روش مختلف وجود دارد:
******
روش اول:
در این روش برای کل سلسله مراتب کلاس، یک جدول در نظر می گیریم. که ساختار جدول به صورت زیر خواهد بود:
{صفات سوپر کلاس، صفات مختص زیر کلاس ها و یک فیلد نوع کلاس (موجودیت)}
فیلد نوع برای ذخیره اینکه رکورد مورد نظر مربوط به اطلاعات کدام کلاس است به کار می رود.
که در این روش null داریم.
******
روش دوم:
در این روش برای هر زیر کلاس یک جدول در نظر می گیریم. که شمای هر جدول به صورت زیر خواهد بود:
{صفات سوپر کلاس و صفات مختص زیر کلاس}
در این روش بعضی از افزونگی ها را خواهیم داشت. اما مزیت این روش نسبت به روش اول اینست که در این روش دیگر ستونهای با مقادیر Null را نخواهیم داشت.
******
روش سوم:
در این روش برای سوپر کلاس یک کلاس جداگانه در نظر می گیریم که شامل صفات سوپر کلاس می باشد. و برای هر زیر کلاس نیز یک جدول جداگانه در نظر می گیریم. که شامل صفات مختص آن زیر کلاس به همراه کلید اصلی جدول مربوط به سوپر کلاس.
این روش بهترین گزینه برای ما می باشد.زیرا دقیقا هر کلاس را به یک جدول جداگانه و مستقل نگاشت می کند. و هر تغییری در یک کلاس فقط در جدول مربوط به آن کلاس تاثیر خواهد گذاشت و بر خلاف دو روش قبلی، روی جدول های دیگر تاثیر نخواهد گذاشت. در این روش نه افزونگی داده داریم و نه ستونی با مقدار Null.
با توجه به این توضیحات، جواب صحیح گزینه ۲ میشه اما تو پاسخ نامه زده گزینه ۱!!
میشه بگید کدوم درسته؟؟
ممنون
۰
ارسال: #۲
  
RE: سوال ۷۸ آی تی ۹۲ ( تبدیل نمودار وراثت به مدل رابطه ای)
به نظر من هم گزینه ۲ درسته چون اگه کلید سوپر کلاس تو زیرکلاسا بیاد کافیه...
۰
ارسال: #۳
  
RE: سوال ۷۸ آی تی ۹۲ ( تبدیل نمودار وراثت به مدل رابطه ای)
تحلیل شما کاملا درسته ولی:
اولا : نکاتی که شما فرمودید مربوط به تبدیل رابطه وراثت از مدل شی گرا به مدل رابطه ای از روی نمودار کلاس UML می شود
در حالی که در صورت سوال ذکر شده نمودار موجودیت رابطه (نه نمودار کلاس تازه اون هم با استفاده از زبان UML ! (درحالیکه فکر کنم بیس متدی که شما فرمودید رو در هر زبانی میشود استفاده کرد))
دوما : بین رابطه وراثت و سوپرکلاس از دو خط موازی استفاده شده که این در کتاب سیلبرشاتس معنی مشارکت کامل(اجباری) دارد که شاید از این طریق بشه حدس زد که منظور طراح روش دوم مورد نظر هست (درحالی که تولید افزونگی می کند و بهترین روش نیست!)
سوما: این دو موردی که خودم گفتم فقط حدس و گمان خودم هست که ممکن هست کاملا هم اشتباه باشه
چهارما : بچه هایی که پایگاه قوی اند کمک کنند!
اولا : نکاتی که شما فرمودید مربوط به تبدیل رابطه وراثت از مدل شی گرا به مدل رابطه ای از روی نمودار کلاس UML می شود
در حالی که در صورت سوال ذکر شده نمودار موجودیت رابطه (نه نمودار کلاس تازه اون هم با استفاده از زبان UML ! (درحالیکه فکر کنم بیس متدی که شما فرمودید رو در هر زبانی میشود استفاده کرد))
دوما : بین رابطه وراثت و سوپرکلاس از دو خط موازی استفاده شده که این در کتاب سیلبرشاتس معنی مشارکت کامل(اجباری) دارد که شاید از این طریق بشه حدس زد که منظور طراح روش دوم مورد نظر هست (درحالی که تولید افزونگی می کند و بهترین روش نیست!)
سوما: این دو موردی که خودم گفتم فقط حدس و گمان خودم هست که ممکن هست کاملا هم اشتباه باشه
چهارما : بچه هایی که پایگاه قوی اند کمک کنند!
ارسال: #۴
  
RE: سوال ۷۸ آی تی ۹۲ ( تبدیل نمودار وراثت به مدل رابطه ای)
در گزینه ۲ افزونگی وجود دارد و برای بازیابی هر کدام از زیر نوع ها (Sub Types) نیاز به پیوند رابطه ها خواهیم داشت
هنگامیکه تخصیص مجزا و کامل باشد طراحی توسط دو رابطه گزینه ۱ مناسبترین حالت است. چرا که افزونگی و هیچ مقدار (NULL) به حداقل
میرسد
هنگامیکه تخصیص مجزا و کامل باشد طراحی توسط دو رابطه گزینه ۱ مناسبترین حالت است. چرا که افزونگی و هیچ مقدار (NULL) به حداقل
میرسد
ارسال: #۵
  
RE: سوال ۷۸ آی تی ۹۲ ( تبدیل نمودار وراثت به مدل رابطه ای)
(۲۵ آبان ۱۳۹۲ ۰۴:۲۸ ب.ظ)nazanin92 نوشته شده توسط: در گزینه ۲ افزونگی وجود دارد و برای بازیابی هر کدام از زیر نوع ها (Sub Types) نیاز به پیوند رابطه ها خواهیم داشت
هنگامیکه تخصیص مجزا و کامل باشد طراحی توسط دو رابطه گزینه ۱ مناسبترین حالت است. چرا که افزونگی و هیچ مقدار (NULL) به حداقل
میرسد
ببخشید من متوجه منظور شما نشدم! چرا میگیدگزینه ۲ افزونگی داره؟؟ اگر منظورتون اینه که ID که در جدول سوپر کلاس کلید اصلیست و در جداول زیر کلاس ها کلید خارجی میشه، اینکه افزونگی نیست.
ولی تو گزینه ۱ حتما افزونگی داریم...
اگر اینطوری فرض کنیم که:
سوپر کلاس :
شخص{شماره شناسایی، نام، نام خانوادگی}
و زیر کلاس ها:
استاد{شماره شناسایی، درجه، سابقه تحصیل}
دانشجو{شماره شناسایی، مقطع، رشته}
حالا باتوجه به گزینه ۱ داریم:
استاد{شماره شناسایی، نام، نام خانوادگی،درجه، سابقه تحصیل }
دانشجو{شماره شناسایی، نام، نام خانوادگی، مقطع، رشته }
در این روش بعضی از افزونگی ها رو داریم .برای مثال تصور کنید که شخصی هم استاد هست و هم در یک رشته دیگه به عنوان دانشجو تحصیل می کنه. در این حالت صفاتی مانند نام و نام خانوادگی برای یک شخص دوباره ذخیره میشه و این افزونگیه!
اگر منظورتون رو اشتباه متوجه شدم لطفا توضیح بدید ممنون.
۰
ارسال: #۷
  
RE: سوال ۷۸ آی تی ۹۲ ( تبدیل نمودار وراثت به مدل رابطه ای)
سلام.منم گزینه ی شما رو انتخاب کردم و درست هم در حالت عادی همونه. اما اگه توجه داشته باشین روی یه طرف ارتباط نوشته disjoin و فکر می کنم هرچی که هست زیر سر همونه
(۲۳ آبان ۱۳۹۲ ۰۹:۰۹ ب.ظ)mhd3 نوشته شده توسط: سلام.
لطفا این سوال رو نگاه کنید:
برای تبدیل نمودار وراثت به مدل رابطه ای تو کتاب مقسمی هیچی ننوشته. من تو نت که گشتم به این نتیجه رسیدم
برای تبدیل رابطه وراثت از مدل شی گرا به مدل رابطه ای چندین روش مختلف وجود دارد:
******
روش اول:
در این روش برای کل سلسله مراتب کلاس، یک جدول در نظر می گیریم. که ساختار جدول به صورت زیر خواهد بود:
{صفات سوپر کلاس، صفات مختص زیر کلاس ها و یک فیلد نوع کلاس (موجودیت)}
فیلد نوع برای ذخیره اینکه رکورد مورد نظر مربوط به اطلاعات کدام کلاس است به کار می رود.
که در این روش null داریم.
******
روش دوم:
در این روش برای هر زیر کلاس یک جدول در نظر می گیریم. که شمای هر جدول به صورت زیر خواهد بود:
{صفات سوپر کلاس و صفات مختص زیر کلاس}
در این روش بعضی از افزونگی ها را خواهیم داشت. اما مزیت این روش نسبت به روش اول اینست که در این روش دیگر ستونهای با مقادیر Null را نخواهیم داشت.
******
روش سوم:
در این روش برای سوپر کلاس یک کلاس جداگانه در نظر می گیریم که شامل صفات سوپر کلاس می باشد. و برای هر زیر کلاس نیز یک جدول جداگانه در نظر می گیریم. که شامل صفات مختص آن زیر کلاس به همراه کلید اصلی جدول مربوط به سوپر کلاس.
این روش بهترین گزینه برای ما می باشد.زیرا دقیقا هر کلاس را به یک جدول جداگانه و مستقل نگاشت می کند. و هر تغییری در یک کلاس فقط در جدول مربوط به آن کلاس تاثیر خواهد گذاشت و بر خلاف دو روش قبلی، روی جدول های دیگر تاثیر نخواهد گذاشت. در این روش نه افزونگی داده داریم و نه ستونی با مقدار Null.
با توجه به این توضیحات، جواب صحیح گزینه ۲ میشه اما تو پاسخ نامه زده گزینه ۱!!
میشه بگید کدوم درسته؟؟
ممنون
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close