نمایش نتایج 1 تا 10 از 10

نام تاپیک: مشکل در ایجاد Foreign Key در ساخت جدول

  1. #1
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    مشکل در ایجاد Foreign Key در ساخت جدول

    سلام بچه ها ..
    من توی جدول اولم یه فیلد از نوع Int دارم که PK هستش،حالا توی جدول دوم دو تا فیلد میخوام بسازم که به همون فیلد از جدول اولم رفرنس بده،مشکل اینجاس که Sql Server خطا میگیره، حالا من چطوری میتونم دو تا فیلد از جدولم رو به یه فیلد از جدول دیگم رفرنس بدم ؟؟
    برای راهنمایی بیشتر، جدول اولم کد و نام فرستنده ها و گیرنده های نامه س، و جدول دوم هم آرشیو نامه هاس،که در موقع ثبت هم کد فرستنده و هم کد گیرنده رو میگیره(که دو تا شون توی یه جدول و مربوط به یه فیلد هستن)
    مرسی ..

  2. #2
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274
    سلام
    من پیشنهاد می کنم شمادر جدول دوم یک فیلد دیگه تعریف کنی مثلا صفر برای فرستنده و یک برای گیرنده و فیلد کد این جدول را به فیلد کد جدول اول مرتبط کنی.
    در ضمن فیلد کد جدول دوم هم نباید کلید اصلی باشد.
    راه دیگه استفاده از دو جدول مجزا.

  3. #3
    اگر Cascade نکنین اجازه ساخت رو میده

  4. #4
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    سلام ..
    من میخوام cascade کنم،یعنی میخوام در صورت تغییر،جدول Child هم به روز بشه،بعد اینکه با توجه به نظر shayan_delphi نمیخوام یه جدول دیگه ایجاد کنم،چون ممکنه همون گیرنده ها توی نامه های بعدی فرستنده باشن،من میخوام یه جوری این اطلاعات در یه جدول باشه،چه راه دیگه ای به نظرتون میاد ؟؟

  5. #5
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    من هنوز مشکلم حل نشده ..
    ببینید برای توضیح بیشتر اینو بگم که جدول MailArchive که جدول فرزند هست دو بار به جدول SenderReciever که والد هست رفرنس میده، یه بار برای ثبت ID فرستنده و یه بار هم برای ثبت ID گیرنده.
    منتظر جوابم .. مرسی

  6. #6
    میتونین FK درست نکنین و بجاش Trigger بنویسین. این کار کاملا استاندارده

  7. #7
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274
    hdv212 در روش اولی که گفتم چه مشکلی وجود داره؟
    آقای ثباتی روشی که من پیشنهاد دادم اشکالی داره؟
    دیگه نیازی هم به Trigger نیست.

  8. #8
    نقل قول نوشته شده توسط shayan_delphi مشاهده تاپیک
    hdv212 در روش اولی که گفتم چه مشکلی وجود داره؟
    آقای ثباتی روشی که من پیشنهاد دادم اشکالی داره؟
    دیگه نیازی هم به Trigger نیست.
    در جدول Child، در حقیقت ID دو نفر باید ثبت بشه، من متوجه نشدم شما چجوری این مشکل رو حل کردین

  9. #9
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274
    یک فیلد جدید در جدول child از نوع bit تعریف شود برای دو حالت.اگر فرستنده باشد صفر و اگر گیرنده باشد مقدار یک بگیرد.
    و در این جدول فیلد کد که کلید اصلی نباشد به فیلد کلید جدول parent متصل شود.

  10. #10
    فرض کن شما یک email رو از User 1 به User 2 میفرستین. ID هر دو کاربر در جدول emailهای ارسال شده ثبت میشه. این جدول Child محسوب میشه برای جدول Users. هر دو User نامشون برای یک رکورد بصورت دو فیلد ثبت میشه. متوجه اشکال شدی عزیزم؟

تاپیک های مشابه

  1. پاسخ: 7
    آخرین پست: یک شنبه 13 اردیبهشت 1388, 10:20 صبح
  2. بستن کانسترنت از نوع Foreign به یک view
    نوشته شده توسط babila در بخش Oracle
    پاسخ: 0
    آخرین پست: شنبه 30 تیر 1386, 16:31 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •