در قسمت چهارم آموزش SQL Server ،فیلدهای Unique ،اعمال شرط بر روی مقادیر ورودی جداول و Identity Specification را به شما آموزش دادیم.دراین قسمت قصد داریم ،Junction table را به شما آموزش بدیم.
طبق بانکی که در اموزش های قبلی گفته شده (بانک کتابخانه) حال میخواهیم یک جدول جدید به ان اضافه و دیاگرام جدیدی طرح کنیم.
جدولی که قصد اضافه کردن را داریم به عنوان جدول اتصال شناخته میشود به طور مثال در جدولی که در عکس زیر مشاهده میکنید ما میخواهیم کلید اصلی جدول امانت و جدول کتاب را در یک جدول جدا قرار دهیم تا هنگام ایجاد رابطه دیگر نخواهیم جدول امانت و جدول کتاب را مستقیما به هم متصل کنیم بلکه کلید اصلی جدول کتاب را به کلید خارجی خودش در جدول جدید و همچنین کلید اصلی جدول امانت هم به کلید خارجی خودش در جدول جدید ارتباط میدهیم این کار برای زمانیست که ما نخواهیم جدول خود را صرفا مثل دفعات قبل به جدول دیگری با کلید اصلی و خارجی ارتباط دهیم بلکه در یک جدول جدید که فقط شامل کلید های اصلی دو جدول مورد نظر و یک فیلد شناسه برای کلید اصلی خود جدول اتصال است این ارتباط را بین دو جدول برقرار کنیم
همانطور که در تصویر فوق مشاهده میکنید یک جدول جدید با کلیک راست کردن روی فولدر Table و انتخاب گزینه New و سپس Table جدولی جدید خواهیم داشت در مرحله دوم که در تصویر هم مشخص شده باید فیلدها را مشخص کنیم که این جدول شامل ستون های ID که به عنوان کلید اصلی و شناسه جدول میباشد و ستونی به عنوان Code_Ketab که به عنوان کلید خارجی جدول کتاب است و ستون ID_Amanat که به جدول امانت اشاره دارد میباشد در مرحله سوم باید با فشردن دکمه های Ctrl+S جدول با دادن نامی برای جدول ذخیره کنیم که برای نام گزاری این جدول نیز پیشنهاد میشود که نام دو جدول به همراه Under Line استفاده شود مثل بالا که بدین صورت نوشته شده Amanat_Ketab . حال باید دیاگرام و رابطه بین انها را بر قرار کنیم.
در اموزش های قبلی روش ساده ای برای ایجاد رابطه یا Realtionships معرفی و آموزش دادیم حال با روش دیگری برای ایجاد رابطه اشنا خواهیم شد که به صورت زیرانجام میشود.
برای انجام این کار باید به قسمت Design هرجدولی که میخواهیم برای ان رابطه ای در نظر بگیریم رفته و به صورت زیر عمل کنیم
همانگونه که در تصویر فوق مشخص شده برای انجام این روش ابتدا به روی ایکون مشخص شده با کادر قرمز رنگ که نشانه Relatinships میباشد کلیک میکنیم تا پنجره ای که مشخص شده و به عنوان مرحله دوم کار است مشاهده کنیم حال برای ایجاد رابطه باید به روی دکمه Add کلیک کنیم( به تعداد کلیدهای خارجی که در جدول مورد نظر داریم باید با کلیک کردن دکمه Add رابطه شان را با کلیدهای اصلیشان برقرار کنیم)
همانگونه که در جدول فوق مشاهده میکنید پس از کلیک کردن دکمه Add پنجره ای که با شماره 1 مشخص شده نمایش داده میشود سپس بایدبه روی کادر جلوی عبارت Tables and Columns Specific که با کادر مشکی رنگ نیز مشخص شده دو بار کلیک کنید تا پنجره دوم که با شماره 2 مشخص شده نمایش داده شود در این پنجره شما باید بدانید که در جدول امانت که قصد برقرای ارتباط برای این جدول را دارید چند کلید خارجی و چه کلیدهایی وجود دارند بدین معنی که به کدام جدول اشاره دارند سپس باید مشخص کنید “چه فیلدی و در کدام جدول کلید اصلی میباشد که در این جدول جاری(اینجا جدول امانت جدول جاری است) به عنوان کلید خارجی بکار رفته” برای مثال ما در تصویر مشخص کرده ایم که فیلد Code در جدول اعضا کلید اصلیست در حالی که فیلد Code_Girande در جدول جاری که جدول امانت میباشد به عنوان کلید خارجی است و به جدول اعضا اشاره میکند بنابراین باید انتخاب شود و رابطه بینشان برقرار شود. پس از مشخص کردن این فیلدها به روی دکمه Ok کلیک میکنیم حال چون ما یک کلید خارجی دیگر نیز در این جدول داریم که به جدول کتاب اشاره میکند و برای برقراری ارتباط باید دوباره همان مراحل را طی کنیم یعنی ابتدا Add سپس دوبار کلیک روی کادر جلوی Tables and Columns Specific و وارد کردن مشخصات فیلد های کلید اصلی و خارجی که به صورت زیر میشود
تصویر فوق بدین معنیست که در جدول کتاب فیلدی به عنوان کلید اصلی وجود دارد که در جدول جاری(جدول امانت) فیلد کلید خارجی ان وجود دارد و بین این دو باید رابطه ای برقرار شود.
تمام رابطه ها را بدین صورت برقرار میکنیم سپس در قسمت دیاگرام برنامه با این نما مواجه میشویم
همانگونه که در دیاگرام ایجاد شده در تصویر فوق مشاهده میکنید رابطه ها تغییر کرده اند بدین صورت که به جدول Amanat_ketab دو رابطه متصل است.