ورود

View Full Version : مشکل در تحلیل ارتباط کلید خارجی در یک جدول که با هم کلید اصلی هستند



mosadatta
یک شنبه 17 دی 1391, 11:39 صبح
با سلام
من برای یادگیری سی شارپ و ارتباط با پایگاه داده از طریقentity framework
پروژه ثبت نامه ای که دارای جدول و متن است انجام میدم
3 جدول داریم 1-نامه 2- آیتم های جدول 3- آیتم -نامه
در جدول نامه شماره نامه کلید و در جدول آیتم کلید اصلی از نوع int و فیلد دیگرش نام ایتم جدول است
که در هر نامه ای هر ایتمی خواستیم به جدول اضافه می کنیم
اما جدول سوم که ایتم-نامه است دو کلید خارجی که همان شماره نامه و ایتم ایدی است داریم و مشخصات دیگر نامه مثل تاریخ و عنوان
-----؟-- ایا میشه هر دو کلید خارجی را باهم کلید اصلی جدول سوم باشند
-----؟--ایا این دو کلید خارجی در جدول سوم با مقدار گرفتن کلید اصلی جدول اول و دوم در جدول سوم پرمیشند یا نه

و نکته ی اخر اینکه ما ایتم ها را بطور کلی تعریف می کنیم و در هرنامه ممکن است فقط تعدادی از ایتم ها را به جدول اضافه کنیم و هر نامه یک جدول بیشتر ندارد
97958

mosadatta
یک شنبه 17 دی 1391, 14:04 عصر
لظفا دوستان نظر بدهند من با یک استورد پروسیجر برای هر نامه ای که تعریف کردیم چند ایتم تعریف می کنم
در واقع با انتخاب نامه از جدول نامه ها و انتخاب ایتم از جدول ایتم ها جدول ایتم -نامه را با تعداد ان ایتم و دیگر مشخصات پرمیکنم
می خواستم بدونم تحلیلم درسته یا نه
و 2 سوالی که مطرح کردم را لطفاجواب بدید

محمد سلیم آبادی
شنبه 23 دی 1391, 10:26 صبح
ایا میشه هر دو کلید خارجی را باهم کلید اصلی جدول سوم باشند
بله میشه. از طریق design شما هر دو ستون (که همزان کلید خارجی هستند) را انتخاب کنید و set as primary key رو بزنین.
نام گذاری ستون هایتان در جدول سوم گویا نیست. مثلا در آن جدول کدام کلید خارجی متصل شده است به کلید جدول نامه ها (lettShomare) ؟ و همچنین در مورد کلید خارجی که مرتبط شده به کلید اولیه جدول آیتم ها (ItemID) ؟
شما بهتر بود DDL این جدول ها را پست می کردین چیزی شبیه به این:
create table ItemLetter
(item_id integer not null foreign key references Items(ItemID),
letter_id integer not null foreign key references Letters(LetterShomare),
...,
primary key(item_id, letter_id));
متاسفانه سوالات دیگتون رو متوجه نشدم. اگه امکان داره با داده های نمونه مساله رو شرح بدین تا قابل درک بشه.