PDA

View Full Version : کلیدهای خارجی(2)



faramarz_s
چهارشنبه 13 اسفند 1382, 16:03 عصر
سوالاتی پیرامون مفاهیم کلید های خارجی:
1-پیاده سازی مفهوم کلید خارجی با کویری ها صورت می گیرد یا اینکه راه دیگری هم وجود دارد(منظورم مشخص کردن کلید خارجی نظیر کلید پرایمری هستش .آیا امکان داره؟)
2-RelationShip ها برای پیاده سازی چه مفهومی استفاده شده اند؟
3-محدودیتی در بکار گیری کلیدهای خارجی وجود دارد؟(تعداد)
4-Join و Union برای بازیابی مفهوم کلید خارجی مناسب هستند؟ :roll: :oops: :?:

Abbas Arizi
شنبه 16 اسفند 1382, 13:01 عصر
1- بله. foreign key. و بعد از اون با عبارت references مشخص میشود که به چه جدول و فیلدی رجوع میکند.
2- همین کلیدهای خارجی. (البته در SQL Server)
3- فکر نکنم.
4- بی اطلاعم.

faramarz_s
شنبه 16 اسفند 1382, 15:03 عصر
در مورد 1 مثالی هم بفرمایید :!:

Abbas Arizi
شنبه 16 اسفند 1382, 15:12 عصر
create table dbo.Forum_Author(
Group_ID int not null foreign key references Forum_Group(Group_ID))
این چیزارو یه گشت توی Books Online بزنی سه سوته پیدا می‌کنی.

faramarz_s
شنبه 16 اسفند 1382, 15:37 عصر
با تشکر
آیا دو فیلد آیدنتی تی در دو جدول مجزا را می توان کلید خارجی برای هم قرار داد؟(مسلما با یک نام)
مثال را هم دریغ نفرمایید. :oops:

Abbas Arizi
شنبه 16 اسفند 1382, 16:00 عصر
تفاوتی بین فیلد IDENTITY با فیلدهای دیگه وجود نداره.

Abbas Arizi
شنبه 16 اسفند 1382, 16:41 عصر
مسلما با یک نام
نیازی نیست که فیلدها هم نام باشند. ولی اگر همنام باشند دیگه توی تعریف کلید خارجی نیازی به مشخص کردن نام فیلد نیست و به طور اتوماتیک فیلد همنام اون در جدول دیگه در نظر گرفته میشه.

vadood
یک شنبه 17 اسفند 1382, 08:59 صبح
فایده نداره شما شما دو فیلد identity را با هم رابطه بدی چون one-to-one relationship درست میشه که استفاده چندانی ازش نمیشه

faramarz_s
یک شنبه 17 اسفند 1382, 15:58 عصر
http://doost.europe.webmatrixhosting.net/sql/r01.jpg
1-الزاما فیلدی مثل NewsId مگر نباید آیدنتیتی باشد؟
الف-اگر لازم نیست پیشنهاد شما چیست؟
ب-اگر لازم هست
«فایده نداره شما شما دو فیلد identity را با هم رابطه بدی چون one-to-one relationship درست میشه که استفاده چندانی ازش نمیشه«؟؟؟؟
2-برای پیاده سازی RelationShip>One to Many نظیر شکل مشکل خاصی هست؟چون ایرادی در حین کار نگرفت!
تشکر

vadood
دوشنبه 18 اسفند 1382, 13:32 عصر
2- خوب شما relation را درست برقرار کردید و مشکلی نیست
1- این دیگه به فلسفه طراحی بانک اطلاعتی و بیزینس شما مربوطه من نمی دونم اونجا چی می خواهی توی این 3 تا جدول ذخیره کنی