PDA

View Full Version : سوال: وارد کردن فیلد یک جدول در جدول دیگر



مریم محمدی 888
یک شنبه 20 بهمن 1392, 17:19 عصر
سلام

من میخوام یک فیلد خاص از رکورد های جدول (t1 ) رو در یک فیلد خاص در جدول (t2) دیگر وارد کنم
اطلاعات واردمیشه ولی هر وقت من دوباره اجرا میکنم دوباره مقادیر تکراری رو در جدول (t2) وارد میکنه. در صورتی که هیج داده جدیدیرو در جدول ( t1) وارد نکردم فقط هر بار که اجرا میشه کپی میکنه.

دوستان می تونید راهنمایی کنید چه کار کنم.

asefy2008
یک شنبه 20 بهمن 1392, 17:40 عصر
سلام

من میخوام یک فیلد خاص از رکورد های جدول (t1 ) رو در یک فیلد خاص در جدول (t2) دیگر وارد کنم
اطلاعات واردمیشه ولی هر وقت من دوباره اجرا میکنم دوباره مقادیر تکراری رو در جدول (t2) وارد میکنه. در صورتی که هیج داده جدیدیرو در جدول ( t1) وارد نکردم فقط هر بار که اجرا میشه کپی میکنه.

دوستان می تونید راهنمایی کنید چه کار کنم.

دوست عزیز این طور که می بینم شما داری از پایگاه داده استفاده می کنی وقتی شما از پایگاه داده استفاده می کنی نباید فیلدهای تکراری داشته باشی.
موفق باشی

مریم محمدی 888
یک شنبه 20 بهمن 1392, 18:52 عصر
دوست عزیز این طور که می بینم شما داری از پایگاه داده استفاده می کنی وقتی شما از پایگاه داده استفاده می کنی نباید فیلدهای تکراری داشته باشی.
موفق باشی

من گفتم یک فیلد خاص از رکوردهای یک جدول رو می خوام تو یک فیلد از جدول دیگری کپی کنم.

Mahmoud.Afrad
یک شنبه 20 بهمن 1392, 18:58 عصر
ایشون هم گفتند ستون تکراری غیر منطقیه. به نظر دیتابیستون نرمال نیست. ساختار جداولتون رو بزارید.

مریم محمدی 888
یک شنبه 20 بهمن 1392, 19:13 عصر
ایشون هم گفتند ستون تکراری غیر منطقیه. به نظر دیتابیستون نرمال نیست. ساختار جداولتون رو بزارید.

جدول ثبت

http://upload7.ir/imgs/2014-02/92694609318895297060.jpg

جدول حساب

http://upload7.ir/imgs/2014-02/25004159850499109856.jpg

یه قسمت از برنامه نیاز به فیلد id جدول ثبت در فیلد id_sabt جدول حساب دارم.

asefy2008
یک شنبه 20 بهمن 1392, 19:34 عصر
در حقیقت شما دارین id جدول ثبت رو در id_sabt جدول حساب کپی می کنی. همون طور که قبلا گفتم و دوستمون هم تایید کرد پایگاه دادتون غیر نرمال هست شما باید ابتدا با مفاهیم دیتابیس آشنا بشید. این گونه کارها در آینده حجم دیتابیستون رو زیاد می کنه و برنامتون ناکارآمد میشه.
موفق باشی

Mahmoud.Afrad
یک شنبه 20 بهمن 1392, 20:13 عصر
به شرطی که id_sabt کلید خارجی باشه مشکلی نیست
ولی
آیا فیلد id همه رکوردهای جدول ثبت رو در جدول حساب کپی میکنید؟
و آیا هر Id_sabt فقط یک بار باید در جدول حساب درج بشه یا بیشتر هم میتونه؟ یعنی ارتباط یک به یک هست یا یک به چند؟

مریم محمدی 888
یک شنبه 20 بهمن 1392, 20:14 عصر
در حقیقت شما دارین id جدول ثبت رو در id_sabt جدول حساب کپی می کنی. همون طور که قبلا گفتم و دوستمون هم تایید کرد پایگاه دادتون غیر نرمال هست شما باید ابتدا با مفاهیم دیتابیس آشنا بشید. این گونه کارها در آینده حجم دیتابیستون رو زیاد می کنه و برنامتون ناکارآمد میشه.
موفق باشی

درسته حق با شماست.
حالا اگه بخوام همین کپی کنم کدش چه طور میشه نوشت.
چون اطلاعات ورودی من خیلی کم هست.

asefy2008
یک شنبه 20 بهمن 1392, 20:49 عصر
درسته حق با شماست.
حالا اگه بخوام همین کپی کنم کدش چه طور میشه نوشت.
چون اطلاعات ورودی من خیلی کم هست.

حق با دستمون هست اگه کلید خارجی باشه مشکلی نداره ولی من علامتش رو ندیدم به خاطر همین این مورد رو ذکر نکردم.(می تونی از این سایت مراحل رو دنبال کنی (http://www.wikipg.com/%D8%A2%D9%85%D9%88%D8%B2%D8%B4%20%D9%86%D8%B1%D9%8 5%20%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%20SQL%20SERVER# فصل سوم (مفهوم Constraints (قیود) و کاربرد آن در جداول)))

در غیر این صورت می تونی از دستور های آپدیت یا insert استفاده کنی.(این جا (http://www.forum.98ia.com/t1047556.html)) البته این کار غیر اصولی هست و من پیشنهاد نمی کنم

اگه بازهم متوجه نشدی قطعه کد رو بزار تا بتونیم بهتر نظر بدیم
پیروز باشید