۰
subtitle
ارسال: #۱
  
پیاده سازی رابطه ی is-a
سلام
۴نوع رابطه تخصیص داریم
کامل هم پوشا
کامل مجزا
ناقص هم پوشا
ناقص مجزا
اگه رابطه ی تعمیمون هرکدوم از این موردها باشه باید برای پیاده سازیش چه کنیم؟
منظورم اینه فرض کنید یه سوپر کلاس و دوتا زیرکلاس داریم
۳مدل میشه اینها رو پیاده سازی کرد
۱/هر ۳تایی بشن ۱رابطه
۲/هر کدوم ی رابطه مجزا شن ک کلید اصلی از سوپر کلاس بگیرن
۳/خصوصیات سوپرکلاس در زیرکلاس ها کپی شن و دوتا جدول داشته باشیم
حالا برمبنای چه شرایطی هرکدوم از این ۳تا گزینه ها رو انتخاب میکنیم ربطی به اینکه توع رابطه ی تخصیصمون چی باشه داره؟
یکی کمک کنه ناجور گیر کردم
۴نوع رابطه تخصیص داریم
کامل هم پوشا
کامل مجزا
ناقص هم پوشا
ناقص مجزا
اگه رابطه ی تعمیمون هرکدوم از این موردها باشه باید برای پیاده سازیش چه کنیم؟
منظورم اینه فرض کنید یه سوپر کلاس و دوتا زیرکلاس داریم
۳مدل میشه اینها رو پیاده سازی کرد
۱/هر ۳تایی بشن ۱رابطه
۲/هر کدوم ی رابطه مجزا شن ک کلید اصلی از سوپر کلاس بگیرن
۳/خصوصیات سوپرکلاس در زیرکلاس ها کپی شن و دوتا جدول داشته باشیم
حالا برمبنای چه شرایطی هرکدوم از این ۳تا گزینه ها رو انتخاب میکنیم ربطی به اینکه توع رابطه ی تخصیصمون چی باشه داره؟
یکی کمک کنه ناجور گیر کردم
۰
ارسال: #۲
  
RE: پیاده سازی رابطه ی is-a
سلام
سعی می کنم به طور کلی و خلاصه بگم تا بهتر متوجه بشین.
ما به سه روش می تونیم رابطه ی is-a رو پیاده سازی کنیم :
رابطه ی is-a به همین راحتی در پایگاه داده رابطه ای پیاده سازی نمی شود و باید یه حالتی و شرایطی رو برقرار کنیم تا بتونیم این رابطه رو در مدل رابطه ای پیاده سازی کنیم.
همونطور که می دونید رابطه ی is-a یه رابطه کلی - اختصاصی است و همین طور که از اسمش مشخص هستش یه رابطه کلی هستش و به نوع رابطه تخصیصمون ربط پیدا نمی کنه و بهش رابطه وراثت هم میگن که از بحث شی گرایی به وجود اومده.
حالت اول - در این حالت رابطه سوپرکلاس یا پدر رو درنظر نمی گیریم و فقط برای هر کدوم از فرزندان یا زیرکلاس ها یه رابطه یا همون جدول رو پیاده سازی می کنیم. یعنی در این حالت دیگه مساله وراثت در نظر گرفته نمی شود.
حالت دوم - در این حالت برای همه رابطه ها اعم از سوپرکلاس و زیر کلاس یک رابطه کلی طراحی می کنیم در این حالت تعداد Null زیادی رو خواهیم داشت. حالت دوم در واقع به صورت نسبی مساله وراثت رو طراحی و در نظر می گیرد.
حالت سوم - این حالت در واقع بهترین حالت ممکن برای پیاده سازی در پایگاه داده رابطه ای هستش بدین صورت که کلید اصلی سوپرکلاس در رابطه های زیرکلاس به عنوان کلید خارجی شناخته می شود و بدین ترتیب این رابطه ها از طریق کلید ها با هم ارتباط برقرار می کنند و این حالت به صورت کامل مساله وراثت رو پیاده سازی می کنه.
امیدوارم که به دردتون بخوره .
التماس دعا
سعی می کنم به طور کلی و خلاصه بگم تا بهتر متوجه بشین.
ما به سه روش می تونیم رابطه ی is-a رو پیاده سازی کنیم :
رابطه ی is-a به همین راحتی در پایگاه داده رابطه ای پیاده سازی نمی شود و باید یه حالتی و شرایطی رو برقرار کنیم تا بتونیم این رابطه رو در مدل رابطه ای پیاده سازی کنیم.
همونطور که می دونید رابطه ی is-a یه رابطه کلی - اختصاصی است و همین طور که از اسمش مشخص هستش یه رابطه کلی هستش و به نوع رابطه تخصیصمون ربط پیدا نمی کنه و بهش رابطه وراثت هم میگن که از بحث شی گرایی به وجود اومده.
حالت اول - در این حالت رابطه سوپرکلاس یا پدر رو درنظر نمی گیریم و فقط برای هر کدوم از فرزندان یا زیرکلاس ها یه رابطه یا همون جدول رو پیاده سازی می کنیم. یعنی در این حالت دیگه مساله وراثت در نظر گرفته نمی شود.
حالت دوم - در این حالت برای همه رابطه ها اعم از سوپرکلاس و زیر کلاس یک رابطه کلی طراحی می کنیم در این حالت تعداد Null زیادی رو خواهیم داشت. حالت دوم در واقع به صورت نسبی مساله وراثت رو طراحی و در نظر می گیرد.
حالت سوم - این حالت در واقع بهترین حالت ممکن برای پیاده سازی در پایگاه داده رابطه ای هستش بدین صورت که کلید اصلی سوپرکلاس در رابطه های زیرکلاس به عنوان کلید خارجی شناخته می شود و بدین ترتیب این رابطه ها از طریق کلید ها با هم ارتباط برقرار می کنند و این حالت به صورت کامل مساله وراثت رو پیاده سازی می کنه.
امیدوارم که به دردتون بخوره .
التماس دعا
ارسال: #۳
  
RE: پیاده سازی رابطه ی is-a
(۱۸ بهمن ۱۳۹۲ ۰۳:۳۹ ب.ظ)afshin.dam نوشته شده توسط: سلامممنونم اما این حالات بر اساس نوع تخصیص شکل میگیرند
سعی می کنم به طور کلی و خلاصه بگم تا بهتر متوجه بشین.
ما به سه روش می تونیم رابطه ی is-a رو پیاده سازی کنیم :
رابطه ی is-a به همین راحتی در پایگاه داده رابطه ای پیاده سازی نمی شود و باید یه حالتی و شرایطی رو برقرار کنیم تا بتونیم این رابطه رو در مدل رابطه ای پیاده سازی کنیم.
همونطور که می دونید رابطه ی is-a یه رابطه کلی - اختصاصی است و همین طور که از اسمش مشخص هستش یه رابطه کلی هستش و به نوع رابطه تخصیصمون ربط پیدا نمی کنه و بهش رابطه وراثت هم میگن که از بحث شی گرایی به وجود اومده.
حالت اول - در این حالت رابطه سوپرکلاس یا پدر رو درنظر نمی گیریم و فقط برای هر کدوم از فرزندان یا زیرکلاس ها یه رابطه یا همون جدول رو پیاده سازی می کنیم. یعنی در این حالت دیگه مساله وراثت در نظر گرفته نمی شود.
حالت دوم - در این حالت برای همه رابطه ها اعم از سوپرکلاس و زیر کلاس یک رابطه کلی طراحی می کنیم در این حالت تعداد Null زیادی رو خواهیم داشت. حالت دوم در واقع به صورت نسبی مساله وراثت رو طراحی و در نظر می گیرد.
حالت سوم - این حالت در واقع بهترین حالت ممکن برای پیاده سازی در پایگاه داده رابطه ای هستش بدین صورت که کلید اصلی سوپرکلاس در رابطه های زیرکلاس به عنوان کلید خارجی شناخته می شود و بدین ترتیب این رابطه ها از طریق کلید ها با هم ارتباط برقرار می کنند و این حالت به صورت کامل مساله وراثت رو پیاده سازی می کنه.
امیدوارم که به دردتون بخوره .
التماس دعا
مثلا اگه نوع تخصیص کامل و مجزا باشه حالت اول شما رخ میده ک نمونه ی این سوال پارسال اومده بود
میدونم اگه هم پوشا باشه میشه حالت دومی اما ناقص یا کامل؟
ولی جزییات دیگه اش رو نمیدونم اگه کسی میدونه کمک کنه
اگه منبعی سراغ دارید معرفی کنید
ارسال: #۴
  
RE: پیاده سازی رابطه ی is-a
(۱۸ بهمن ۱۳۹۲ ۰۴:۰۴ ب.ظ)atenaa نوشته شده توسط:(18 بهمن ۱۳۹۲ ۰۳:۳۹ ب.ظ)afshin.dam نوشته شده توسط: سلامممنونم اما این حالات بر اساس نوع تخصیص شکل میگیرند
سعی می کنم به طور کلی و خلاصه بگم تا بهتر متوجه بشین.
ما به سه روش می تونیم رابطه ی is-a رو پیاده سازی کنیم :
رابطه ی is-a به همین راحتی در پایگاه داده رابطه ای پیاده سازی نمی شود و باید یه حالتی و شرایطی رو برقرار کنیم تا بتونیم این رابطه رو در مدل رابطه ای پیاده سازی کنیم.
همونطور که می دونید رابطه ی is-a یه رابطه کلی - اختصاصی است و همین طور که از اسمش مشخص هستش یه رابطه کلی هستش و به نوع رابطه تخصیصمون ربط پیدا نمی کنه و بهش رابطه وراثت هم میگن که از بحث شی گرایی به وجود اومده.
حالت اول - در این حالت رابطه سوپرکلاس یا پدر رو درنظر نمی گیریم و فقط برای هر کدوم از فرزندان یا زیرکلاس ها یه رابطه یا همون جدول رو پیاده سازی می کنیم. یعنی در این حالت دیگه مساله وراثت در نظر گرفته نمی شود.
حالت دوم - در این حالت برای همه رابطه ها اعم از سوپرکلاس و زیر کلاس یک رابطه کلی طراحی می کنیم در این حالت تعداد Null زیادی رو خواهیم داشت. حالت دوم در واقع به صورت نسبی مساله وراثت رو طراحی و در نظر می گیرد.
حالت سوم - این حالت در واقع بهترین حالت ممکن برای پیاده سازی در پایگاه داده رابطه ای هستش بدین صورت که کلید اصلی سوپرکلاس در رابطه های زیرکلاس به عنوان کلید خارجی شناخته می شود و بدین ترتیب این رابطه ها از طریق کلید ها با هم ارتباط برقرار می کنند و این حالت به صورت کامل مساله وراثت رو پیاده سازی می کنه.
امیدوارم که به دردتون بخوره .
التماس دعا
مثلا اگه نوع تخصیص کامل و مجزا باشه حالت اول شما رخ میده ک نمونه ی این سوال پارسال اومده بود
میدونم اگه هم پوشا باشه میشه حالت دومی اما ناقص یا کامل؟
ولی جزییات دیگه اش رو نمیدونم اگه کسی میدونه کمک کنه
اگه منبعی سراغ دارید معرفی کنید
اگه منبع میخواین باید کتاب پایگاه داده المصری با عنوان و ویرایش Fundamentals of Database Systems,6thEdition گیر بیارین و از اونجا فکر کنم فصل ۷ یا ۸ بود ... دقیق یادم نیست ... این جور چیزا رو اونجا المصری گفته ...
۰
ارسال: #۵
  
RE: پیاده سازی رابطه ی is-a
اگه ارتباط ناقص باشه در هر دو حالت هم پوشا و مجزا باید کلید اصلی super class در subclass تکرار بشه
اما اگه ارتباط کامل باشه وهم پوشا همه رو توی یه جدول می نویسیم
و اگه ارتباط کامل باشه و مجزا super class را در نظر نمیگیریم
دوستان اگه در این مورد نظری دارند ذکر کنند؟
اما اگه ارتباط کامل باشه وهم پوشا همه رو توی یه جدول می نویسیم
و اگه ارتباط کامل باشه و مجزا super class را در نظر نمیگیریم
دوستان اگه در این مورد نظری دارند ذکر کنند؟
۰
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close