تالار گفتمان مانشت
تجزیه رابطه به ۳NF! - نسخه‌ی قابل چاپ

تجزیه رابطه به ۳NF! - AEM4949 - 20 بهمن ۱۳۹۲ ۱۲:۵۱ ب.ظ

با سلام

دوستان جواب گزینه ۲ هستش.مشکل من فقط با R1 هست ، به نظر شما R1 نباید فقط ستون های Aو C را شامل شود؟Sad

RE: تجزیه رابطه به ۳NF! - mehdi.m2 - 20 بهمن ۱۳۹۲ ۰۱:۱۹ ب.ظ

(۲۰ بهمن ۱۳۹۲ ۱۲:۵۱ ب.ظ)AEM4949 نوشته شده توسط:  با سلام

دوستان جواب گزینه ۲ هستش.مشکل من فقط با R1 هست ، به نظر شما R1 نباید فقط ستون های Aو C را شامل شود؟Sad

A و C با D رابطه دارن و D با F که رابطه با واسطه ایجاد می کنن پس D و F خودشون به یک رابطه جدا از هم تبدیل می شن و A , C به یک رابطه جدا دیگه که باید کلید D,F رو که همون D می شه به عنوان کلید خارجی داشته باشن که می شه A ,C ,D
C, E, D به یک رابطه جدا دیگه تبدیل شده از اون نمی تونیم به این یکی برسیم

RE: تجزیه رابطه به ۳NF! - maryam.raz - 20 بهمن ۱۳۹۲ ۰۲:۳۶ ب.ظ

چون واسطه رابطه بین اینها A,C,D,F ،صفت D هست و تجزیه روی این صفت انجام میشه پس D باید در هر دو رابطه باشه

RE: تجزیه رابطه به ۳NF! - tayebe68 - 20 بهمن ۱۳۹۲ ۰۳:۳۴ ب.ظ

شرط ۳NF بودن اینه که:
۲NF باشه ( که هست، چون فقط یه صفت غیر کلید داره! )
و وابستگی تابعی به غیر کلید نداشته باشیم که اینجا نداریم ؛ یعنی دترمینان ها کلید یا صفت عمده(بخشی از کلید) باشند

AC که D بهشون وابسته است کلید هستند پس درسته

RE: تجزیه رابطه به ۳NF! - AEM4949 - 20 بهمن ۱۳۹۲ ۰۳:۵۳ ب.ظ

(۲۰ بهمن ۱۳۹۲ ۰۱:۱۹ ب.ظ)mehdi.m2 نوشته شده توسط:  
(20 بهمن ۱۳۹۲ ۱۲:۵۱ ب.ظ)AEM4949 نوشته شده توسط:  با سلام

دوستان جواب گزینه ۲ هستش.مشکل من فقط با R1 هست ، به نظر شما R1 نباید فقط ستون های Aو C را شامل شود؟Sad

A و C با D رابطه دارن و D با F که رابطه با واسطه ایجاد می کنن پس D و F خودشون به یک رابطه جدا از هم تبدیل می شن و A , C به یک رابطه جدا دیگه که باید کلید D,F رو که همون D می شه به عنوان کلید خارجی داشته باشن که می شه A ,C ,D
C, E, D به یک رابطه جدا دیگه تبدیل شده از اون نمی تونیم به این یکی برسیم

ممنون از جوابت.Shy

AC چون کلید کاندیده به همه رو دسترسی پذیر میکنه ، درسته؟
گفتم من فقط با R1 مشکل دارم ، نمیشه گفت:
AC و CED فیلد مشترکشون C هست و دیگه D رو ننوشت؟

پ.ن:پرسیدن عیب نیست ، نداستن عیب استBlush

RE: تجزیه رابطه به ۳NF! - mehdi.m2 - 20 بهمن ۱۳۹۲ ۰۵:۲۴ ب.ظ

(۲۰ بهمن ۱۳۹۲ ۰۳:۵۳ ب.ظ)AEM4949 نوشته شده توسط:  AC چون کلید کاندیده به همه رو دسترسی پذیر میکنه ، درسته؟
گفتم من فقط با R1 مشکل دارم ، نمیشه گفت:
AC و CED فیلد مشترکشون C هست و دیگه D رو ننوشت؟

پ.ن:پرسیدن عیب نیست ، نداستن عیب استBlush

کی گفته عیبه فقط به من نشونش بده دیگه کاریت نباشه

درسته AC تو رابطه اولیه کلید کاندید هستش. اما وقتی یک رابطه رو تجزیه می کنیم به چند رابطه هر کدام از رابطه های جدید مستقل از هم هستن و وابستگی به هم ندارن . به همین دلیل وقتی تو سطح ۳nf نرمال سازی می کنیم کلید خارجی رو به رابط اضافه می کنیم تا وابستگی که لازم هست حفظ بشه و افزونگی هم از بین بره.
بنابراین رابطه R1 مستقل از سایر رابطه ها هستش و نمی تونیم بگیم وابستگی های AC را از طریق CED بدست می اوریم.
پس D به عنوان کلید خارجی هم باید به AC و هم به CE اضافه بشه.

پ.ن: ببخشید من توضیح دادن خوب نیست.

RE: تجزیه رابطه به ۳NF! - El@he - 20 بهمن ۱۳۹۲ ۰۶:۱۶ ب.ظ

سلام
نه دیگه D هم میتونه توش باشه، چون چیزی از قوانین ۲nf و ۳nf نقض نمیشه!

(A,C,D)

ببین توی وابستگی هایی که داری، D با AC وابستگی کامل داره پس اگه مثلا یه وابستگی اینجوری میداشتیم :

A ----> D

اونموقع مشکل ایجاد میشد، ولی الان درسته.

واسه حل هم میشه با رد گزینه حل کرد.
مثلا مورد ۳ و ۴، رابطه ی (A,B,E) ایجاد مشکل میکنه، چون وقتی A رو کلید میگیریم، B با E رابطه داره که نرمال ۳ نمیشه باشه.

توی اولی هم که همون رابطه ی اول مشکل داره.

موفق باشی Smile