PDA

View Full Version : سوال: لود کردن اطلاعات از دیتابیس با ارتباط یک به یک



mohammad_kazem
دوشنبه 21 اسفند 1391, 18:00 عصر
سلام دوستان
اول بگم که میخواستم تو تالار sql server بپرسم ولی نمیدونم چرا دکمه "ایجاد تاپیک جدید"ش قفل بود.
تو بانکم دو جدول دارم که با یک ارتباط یک به یک (کلید اصلی به کلید اصلی) به هم متصل هستن. حالا دوتا سوال:
1- وقتی میخوام دیتا رو بریزم تو بانک چطوری باید مشخص کنم کدوم رکورد از جدول اول مربوط به یک رکورد خاص از جدول دوم هست؟
2- موقع لود کردن از جدول دوم چطوری باید رکورد مربوط به یک رکورد خاص از جدول اول رو لود کنم.
مثلا "وضعیت" مربوط به "پروژه" با آیدی شماره 8 رو چطور باید از جدول "وضعیت" در بیارم؟
با تشکر فراوان

crazy_1892
دوشنبه 21 اسفند 1391, 19:27 عصر
دوست عزیز شما کلید اصلی تعریف کردی برای همین مسئله

aliblue
دوشنبه 21 اسفند 1391, 19:54 عصر
وقتی رابطه یک به یک هست چرا توی دو جدول ذخیره می کنی؟دلیل خاصی داری؟میتونی فیلدهای جدول دوم رو به جدول اول اضافه کنی.

mohammad973
دوشنبه 21 اسفند 1391, 20:59 عصر
میتونی کلید اصلی هر کدوم رو به عنوان کلید خارجی اون یکی تعریف کنی و هنگامی که میخوای اطلاعاتی رو بصورت ترکیبی از رکورد های مرتبط از دو جدول بدست بیاری، باید Join کنی .

میتونی نمونه کد جدول هات رو بگزاری تا دوستان بهتر کمک کنند ... .

mohammad_kazem
دوشنبه 21 اسفند 1391, 23:25 عصر
دوست عزیز شما کلید اصلی تعریف کردی برای همین مسئله

یا شما منظور منو متوجه نشدی یا من منظورتو نمیفهمم


وقتی رابطه یک به یک هست چرا توی دو جدول ذخیره می کنی؟دلیل خاصی داری؟

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


میتونی کلید اصلی هر کدوم رو به عنوان کلید خارجی اون یکی تعریف کنی و هنگامی که میخوای اطلاعاتی رو بصورت ترکیبی از رکورد های مرتبط از دو جدول بدست بیاری، باید Join کنی .

این کار که پاک کردن صورت مسئله است جیییگر. اگه این مشکل حل نشد اونوقت میرم سراغ اون راه حل. ولی بحث سر اینه که وقتی ارتباط یک به یک رو گذاشتن حتما راهی هم برای لود اطلاعاتش گذاشتن دیگه. نذاشتن؟:چشمک:

بازم اگه کسی میتونه کمک کنه ممنون میشم.