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

نام تاپیک: جدول ارتباط یا کلید خارجی ؟

  1. #1

    جدول ارتباط یا کلید خارجی ؟

    با سلام

    داشتم دیتابیسی طراحی میکردم که این نکته ذهنمو مشغول کرد. یادمه تو درس پایگاه داده خونده بودیم که برای ارتباط جداول با هم دو روش موجوده یا استفاده از کلید خارجی در جدول مورد نظر و یا استفاده از جدول ارتباط.

    شما کدومو ترجیح میدین و چه مزایایی این روشتون داره ؟

  2. #2

    نقل قول: جدول ارتباط یا کلید خارجی ؟

    سلام
    استفاده از کلید خارجی بهتری چون میتوانید روی آن از قوانین انتشار استفاده کنید.

  3. #3

    نقل قول: جدول ارتباط یا کلید خارجی ؟

    ممنون

    میشه درباره قوانین انتشار یه توضیحی بدین ؟

  4. #4

    نقل قول: جدول ارتباط یا کلید خارجی ؟

    نقل قول نوشته شده توسط Direlap مشاهده تاپیک
    با سلام

    داشتم دیتابیسی طراحی میکردم که این نکته ذهنمو مشغول کرد. یادمه تو درس پایگاه داده خونده بودیم که برای ارتباط جداول با هم دو روش موجوده یا استفاده از کلید خارجی در جدول مورد نظر و یا استفاده از جدول ارتباط.

    شما کدومو ترجیح میدین و چه مزایایی این روشتون داره ؟
    با سلام

    ارتباط جداول کلا با کلید خارجی هست. اگر شما جدول رابط هم داشته باشید بازهم رابطه جدول رابط با جداول اصلی با کلید خارجی خواهد بود. ولی اینکه آیا جدول رابط نیاز هست یا نه؟ این موضوع بستگی به تحلیل شما و جداول شما دارد.

  5. #5

    نقل قول: جدول ارتباط یا کلید خارجی ؟

    اگر کلا روابط با کلید خارجی پیاده سازی میشن چه نیازی به جدول ارتباط داریم ؟
    میشه یه مثال بزنید که از جدول ارتباط استفاده کرده و دیگری از کلید خارجی ؟
    اصلا میشه از هرکدوم که خواست استفاده کرد؟ (اگه اینطوره کدوم صحیح تر و بهتره ؟)
    یا مثلا کی از کدوم استفاده بکنیم ؟ فقط یه مثال بزنید ابهام بنده رفع میشه

  6. #6

    نقل قول: جدول ارتباط یا کلید خارجی ؟

    با سلام

    استفاده از جداول رابط برای نرمالسازی می باشند و در حقیقت برای شکستن روابط چند به چند به روابط یک به یک یا یک به چند .

    به دو مثال زیر توجه فرمایید:

    1- حالتی که نیاز به جدول واسط نیست :
    برای یک سال تحصیلی در مدرسه، یک دانش آموز می تواند در یک کلاس حضور داشته باشد. دو موجودیت داریم بنامهای دانش آموز و کلاس.
    جدول دانش آموز شامل : نام، کد دانش آموز ، تاریخ تولد،کد کلاس
    جدول کلاس: نام، کد کلاس،ظرفیت کلاس

    وجود یک فیلد (کد کلاس) بعنوان کلید خارجی برای ارتباط این دو جدول کافی است .

    2- حالتی که نیاز به جدول واسط می باشد :

    برای یک سال تحصیلی دانش آموز میتواند تعداد متغییر درس را انتخاب کند. دو موجودیت بنامهای دانش آموز و درس را داریم.

    جدول دانش آموز شامل : نام، کد دانش آموز ، تاریخ تولد
    جدول درس شامل: نام درس، کد درس ، تعداد واحد

    خوب اکنون نمی دانیم که کدام دانش آموز چه درسهایی را انتخاب خواهد کرد، یک نفر 5 درس ، یک نفر 3 درس و ... و اینکه دروس انتخابی هر فرد نیز می تواند متفاوت باشد . پس نمی توان مانند مثال قبل دو جدول را مستقیما بهم ارتباط داد و نیاز به شکستن رابطه و یک مرحله نرمالسازی می باشد.

    جدول رابط شامل : کد درس ،کد دانش آموز

    این جدول از طریق کلید خارجی کد درس با جدول درس و از طریق کلید خارجی کد دانش آموز با جدول دانش آموز ارتباط دارد و خود نیز بعنوان جدول واسط میان دو جدول عمل میکند.

  7. #7

    نقل قول: جدول ارتباط یا کلید خارجی ؟

    واقعا ممنونم از مثال زیبا و کاربردیتون.

    1)من به این نتیجه رسیدم که جدول ارتباط در روابط چند به چند نیاز میشه و اگه جداول ما ارتباطی یک به یک یا یک به چند داشته باشند با کلید خارجی ارتباط پیدا می کنند. درسته ؟
    2) و اینو نتیجه میگیرم که اگه رابطه جداولمون یک به چنده با کلید خارجی کارمون راه میفته و کلید جدول یک رو در جدول چند میزاریم درسته ؟
    3) و اگه ارتباطمون یک به یک هست کلید هردورو تو جداول همدیگه استفاده می کنیم. اینم درسته ؟
    آخرین ویرایش به وسیله Direlap : سه شنبه 01 مرداد 1392 در 19:27 عصر

  8. #8

    نقل قول: جدول ارتباط یا کلید خارجی ؟

    با سلام

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

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

  1. پاسخ: 3
    آخرین پست: شنبه 27 اسفند 1390, 16:59 عصر
  2. پاسخ: 1
    آخرین پست: چهارشنبه 23 شهریور 1390, 18:48 عصر
  3. پاسخ: 1
    آخرین پست: چهارشنبه 23 شهریور 1390, 18:46 عصر
  4. پاسخ: 3
    آخرین پست: سه شنبه 27 بهمن 1388, 23:24 عصر
  5. دسترسی به جدول دوم با کلید خارجی
    نوشته شده توسط abi_sarab در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: دوشنبه 20 آبان 1387, 08:22 صبح

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

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