موجودیت های وابسته

m_zareie

عضو جدید
دوستان توی یه سیستم اگه دو تا موجودیت به هم وابسته باشن، یعنی ارتباط بینشون full participation باشه، اونوقت چه طور باید در سیستم ذخیره بشن؟
منظورم اینه که مقدار دادن به یکی از این موجودیت ها در گرو مقدار دادن به موچودیت دیگه است، در این حالت باید چه کار کرد؟؟؟
 

iaidin

عضو جدید
دوستان توی یه سیستم اگه دو تا موجودیت به هم وابسته باشن، یعنی ارتباط بینشون full participation باشه، اونوقت چه طور باید در سیستم ذخیره بشن؟
منظورم اینه که مقدار دادن به یکی از این موجودیت ها در گرو مقدار دادن به موچودیت دیگه است، در این حالت باید چه کار کرد؟؟؟
در یک جدول و با دو تا فیلد با هم یک کلید تعریف شوند
 
آخرین ویرایش:

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
در یک جدول و با دو تا فیلد با هم یک کلید تعریف شوند

الزاماً نباید کلید باشن، میشه ایندکسشون کرد. چون بهترین حالت استفاده از یک کلید در جدوله و کنترلش و پرس و جو هم بهتره :gol:
 

m_zareie

عضو جدید
الزاماً نباید کلید باشن، میشه ایندکسشون کرد. چون بهترین حالت استفاده از یک کلید در جدوله و کنترلش و پرس و جو هم بهتره :gol:
برای من خیلی مهمه که به هیچ وجه این دو حدول یکی نشن!
یعنی با وجود دو تا جدول به هم وابسته، اطلاعات درج بشه!؟
راهش چیه؟
ممنون میشم پاسخ بدین!
 
آخرین ویرایش:

iaidin

عضو جدید
برای من خیلی مهمه که به هیچ وجه این دو حدول یکی نشن! یعنی با وجود دو تا جدول به هم وابسته، اطلاعات درج بشه!؟ راهش چیه؟ ممنون میشم پاسخ بدین!
دوستان توی یه سیستم اگه دو تا موجودیت به هم وابسته باشن، یعنی ارتباط بینشون full participation باشه، اونوقت چه طور باید در سیستم ذخیره بشن؟ منظورم اینه که مقدار دادن به یکی از این موجودیت ها در گرو مقدار دادن به موچودیت دیگه است، در این حالت باید چه کار کرد؟؟؟
سوالتون را خیلی کلی مطرح میکنید و دیر به نتیجه میرسید. دوست عزیز نوع ارتباط(1-1) ، (1-N) یا (N-M) هست؟ این را ابتدا مشخص کنید تا نسبت به نوع ریلیشن پاسخ شما داده شود.
 

m_zareie

عضو جدید
بله حق با شماست، سوالم رو بیشتر توضیح می دم:
فرض بفرمایید که یک رابطه داریم (مثلاً رابطه ی بین موجودیت استاد و درس با ارتباط یک به یک) و مشارکت هر دو هم در رابطه اجباری هست، اولین نقطه ای که می خواهیم اطلاعات رو وارد کنیم، در دو طرف هیچی نداریم، برای وارد کردن اطلاعات در اولی، (خوب باید در رابطه شرکت کند) ولی من هنوز رکوردی وارد نکردم! اگر بخواهیم این طرف رو وارد کنیم، اول باید طرف دیگر وارد بشه!
هر دو موجودیت به هم وابسته اند، بالاخره باید این اطلاعات از یه نقطه ای شروع بشه به وارد کردن!
مثلاً در یک طرف باید اسم استاد ها وارد بشن، در طرف دیگه باید اسم درس ها. هر درسی رو هم باید یک استاد ارائه بده، تا میخوام اسم درسو وارد کنم، میگه اسم استادش چیه، تا می خوام اسم استادو وارد کنم میگه اسم درس چیه!!!
نقطه شروع اطلاعات کجاست؟؟
این چه جوریه؟ :que:
 

iaidin

عضو جدید
بله حق با شماست، سوالم رو بیشتر توضیح می دم:
فرض بفرمایید که یک رابطه داریم (مثلاً رابطه ی بین موجودیت استاد و درس با ارتباط یک به یک) و مشارکت هر دو هم در رابطه اجباری هست، اولین نقطه ای که می خواهیم اطلاعات رو وارد کنیم، در دو طرف هیچی نداریم، برای وارد کردن اطلاعات در اولی، (خوب باید در رابطه شرکت کند) ولی من هنوز رکوردی وارد نکردم! اگر بخواهیم این طرف رو وارد کنیم، اول باید طرف دیگر وارد بشه!
هر دو موجودیت به هم وابسته اند، بالاخره باید این اطلاعات از یه نقطه ای شروع بشه به وارد کردن!
مثلاً در یک طرف باید اسم استاد ها وارد بشن، در طرف دیگه باید اسم درس ها. هر درسی رو هم باید یک استاد ارائه بده، تا میخوام اسم درسو وارد کنم، میگه اسم استادش چیه، تا می خوام اسم استادو وارد کنم میگه اسم درس چیه!!!
نقطه شروع اطلاعات کجاست؟؟
این چه جوریه؟ :que:

رابطه موجودیت استاد و درس به صورت یک به یک نیست و معمولا به صورت چند به چند میباشد.
و اما پاسخ شما:
ایتدا یک جدول برای موحودیت استاد در نظر میگیرید و همچنین یک جدول برای موجودیت درس.
بعد شما بایستی یک جدول سومی در نظر بگیرید که در اون دو تا کلید خارجی از جداول استاد و درس قرار بدید.
در نتیجه شما ابتدا لیست اساتید را در جدول اساتید وارد میکنید. لیست دروس را در جدول دروس وارد میکنید. در ادامه وقتی که میخواهید مشخص کنید که یک استاد چه دروسی را ارائه میکند بایستی در جدول سوم یک رکود که شامل کلید جدول استاد و همچنین شامل کلید جدول درس می باشد را درج کنید.
 

m_zareie

عضو جدید
اگر اشتباه نکنم این برای ارتباط چند به چند هست که از جدول واسط استفاده میشه!
سناریو من میگه ارتباط بین اینا یک به یک هست!
نظرتون در مورد اینکه رابطه رو به طور موقت حذف کنم و داده ها رو در دو جدول درج کنم و بعد از درج دوباره رابطه رو برقرار کنم چیه؟
 

iaidin

عضو جدید
اگر اشتباه نکنم این برای ارتباط چند به چند هست که از جدول واسط استفاده میشه!
سناریو من میگه ارتباط بین اینا یک به یک هست!
نظرتون در مورد اینکه رابطه رو به طور موقت حذف کنم و داده ها رو در دو جدول درج کنم و بعد از درج دوباره رابطه رو برقرار کنم چیه؟
ارتباط استاد و درس چند به چند هست و راه حل اون را شرح دادم.
منتهی اگر شما اصرار بر این دارید که رابطه یک به یک هست راه حل:
شما کلید استاد را به عنوان کلید خارجی در جدول درس قرار بدید و اون را به صورت unique ست کنید(البته برعکس هم امکان پذیر هست).
 
بالا