جمعه, ۳۱ فروردین, ۱۴۰۳ / 19 April, 2024
مجله ویستا

ایجاد کردن ارتباطات


ایجاد کردن ارتباطات
ایجاد کردن ارتباطات بیشتر پایگاه داده در نظر گرفته می شوند به صورت مدلهایی که در دنیای واقعی وجود دارد که به صورت Problem Space شناخته شده است.در سطح منطقی، شیءها در Problem Space موجودیتها و اجتماع بین آنها می باشد که با هم در ارتباطند. در سطح فیزیکی، SQL Server موجودیتها را به صورت جداول و ارتباط ها به صورت محدودیت کلیدهای خارجی نشان می دهد که کلیدهای خارجی را تعریف می کند. مدل رابطه ای بیشتر مردم معتقدند که پایگاههای داده رابطه ای Relational نامیده می شود زیرا ارتباطات بین جداول ایجاد می گردد. در حقیقت، توصیف آن از اصلاح Relation می آید که Dr .E .F .codd (که او در اصل مدل رابطه ای را در اواخر ۱۹۶۰ گسترش داده) برگزیده شد برای تشریح شئی ها که در SQL Server به صورت جداول به کار برده می شود.
به صورت منطقی سه نوع ارتباط وجود دارد:
۱) یک به یک که هر سطر از یک جدول به صفر یا یک سطر از جدول دیگر ربط می شود.
۲) یک به چند که هر سطر از یک جدول به صفر، یک یا سطرهای بیشتر در دیگر جداول مربوط می شود
۳) چند به چند که هر سطر در جدول اول به صفر، یک و چندین سطر از جدول دوم مربوط می شود.
هر سطر در دومین جدول می تواند به صفر، یک یا سطرهای بیشتر در جدول اول مربوط شود. ارتباطات یک به یک نسبتاً نادر می باشد. آنها اغلب زمانی که یک مجموعه از مشخصات فقط برای مقداری از نمونه های موجودیتها به کار می رود استفاده می گردند. برای مثال، فقط یک زیر مجموعه کوچکی از کارمندان که در شرکت در تیم Softball بازی می کنند. یک طراح پایگاه داده ممکن است همه ویژگیهای تیم Softball را در یک جدول قرار دهد و سپس یک ارتباط یک به یک بین آن و جدول کارمندان ایجاد کند. از طرف دیگر ارتباطات یک به چند کاملاً رایج می باشند. در پایگاه داده نمونه مان، یک ارتباط یک به چند بین جدول Plant Parts وOils ایجاد می گردد.
هر سطر موجود در جدول Plant Parts می تواند به صفر، یک یا سطرهای بیشتر در جدول Oils مربوط شود. ارتباط چند به چند همچنین رایج می باشند. برای مثال، یک ارتباط چند به چند بین جدول Properties و جدول oils ایجاد می گردد هر Oil موجود می تواند چندین Properties داشته باشد و هر Properties به چندین oils تخصیص داده می شود. SQL Server مانند دیگر موتورهای پایگاه داده رابطه ای به صورت مدلهای یک به یک و یک به چند به طور مستقیم به یکدیگر مربوط می شوند. اما آن یک نوع ویژه از جدول را که به صورت Junction Table شناخته شده برای تجزیه کردن جداول چند به چند استفاده می کند. یک Junction Table شامل کلیدهای اصلی از جداول در دو طرف ارتباط می باشند. یک ارتباط یک به چند بین جدول Junction و هر جدول اصلی که در شکل ۱-۷ نشان داده شده ایجاد می گردد. ارتباطات انعکاسی بیشتر ارتباطات در یک پایگاه داده بین جدول متفاوت برپا می گردد. اگر چه ارتباط یک جدول به خودش امکان پذیر است، همچنین ارتباط یک به یک، یا یک به چند. مانند ارتباطاتی که به عنوان ارتباطات انعکاسی شناخته می شود.
ارتباطات انعکاسی مکرراً برای مرتبه بندی مدل استفاده می شوند. یک مثال رایج مرتبه بندی کارمندان در یک سازمان می باشد. یک کارمند، یک مدیر دارد و مدیر یک کارمندی است که ممکن خود نیز یک مدیر داشته باشد. این ارتباط کلید اصلی از جدول کارمندان به صورت یک ستون در جدول می باشد که مدل سازی می شود و یک ارتباط انعکاسی یک به چند ایجاد می کند. در سطح جدول، یک ارتباط با موجود بودن شناسه واحد که معمولاً کلید اصلی می باشد، از یک جدول از یک طرف (که جدول کلید اصلی نامیده می شود) به جداولی از سوی دیگر (که جدول کلید خارجی نامیده می شود) مدل سازی می شود. شناسه به صورت کلیدهای خارجی شناخته می شود.
▪ راهنمایی: شناسه واحد که به صورت کلید خارجی استفاده می شود معمولاً کلیدهای اصلی از کلید اصلی جدول می باشد اما آن می تواند ستون باشد یا مجموعه یا ستونهایی که به صورت واحد آشکار می گردد. SQL Server می تواند ارتباطاتی که شما در پایگاه داده ایجاد کرده اید را اجرا کند. که این Maintaining Referential in Tearing نامیده می شود. به طور پیش فرض SQL Server هر تغییری بر روی کلیدهای اصلی از یک ستون از کلید اصلی جدول که به ستونهایی از کلید خارجی جدول مربوط شده را نخواهد پذیرفت. مورد جدید در SQL Server توانایی انتشاری کردن تغییرات برای کلید اصلی جدول می باشد. اگر شما به SQL Server بگویید برای حذف درختی ارتباط، حذف یک سطر در کلید اصلی جدول سبب خواهد شد که SQL Server همه سطرها مربوط به کلید خارجی جدول را حذف کند. به همین صورت، اگر شما به SQL Server بگویید به روز رسانی انتشاری را صورت دهد. تغییر کلید اصلی از کلید اصلی جدول سبب خواهد شد که ستونهای کلید خارجی جدول به روز گردد.
▪ مهم: تعدادی از طرحهای پایگاه داده می تواند کاملاً پیچیده باشد. با استفاده از حذف و به هنگام سازی انتشاری، نگهداری ساختار پیچیده داده می تواند ساده شود. اما SQL Server نیاز دارد که انتشارها چرخشی نباشند. برای مثال حذف یک سطر در جدول A می تواند سبب حذف یک سطر در جدول B شود که به این صورت باعث حذف یک سطر در جدول C می گردد. ولی عکس این قضیه صادق نیست. ایجاد ارتباطات در SQL Server ، ارتباطات از طریق زبانه Relationships در کادر محاوره ای Table Designers Properties ایجاد می گردد به طور کلی ارتباط یک به یک و یک به چند دقیقاً مثل هم به وجود می آیند. SQL Server انواع ارتباطات را بر اساس ستونهای مشخص شده در کلیدهای خارجی جداول معین خواهد کرد. اگر یک ایندکس واحد در ستونهای کلید خارجی وجود داشته باشد ارتباط یک به یک خواهد بود در غیر این صورت یک به چند خواهد بود.
● ایجاد یک ارتباط
۱) Table Designer را برای جدول Oilsبه وسیله کلیک راست کردن نام جدول در قاب Detailsباز می کنیم و جدول Design را انتخاب می کنیم. SQL Server،Table Designer را باز می کند.
۲) دکمه Relation Ships را در نوار ابزار Table Designer کلیک کرده SQL Serverکادر محاوره ای Table Designers Properties را با صفحه خصوصیات Relationships نشان داده شده باز می کند.
۳) New را کلیک کرده SQL Server اولین جدول درلیست جداول را برای ارتباط جدید درخواست می کند.
۴) Planttypes را به عنوان کلید اصلی جدول انتخاب می کند.FK- Oils- Planttypes , SQL Server را به عنوان نام ارتباط پیشنهاد می کند.
۵) Planttypes ID را به عنوان فیلد کلید اصلی انتخاب می کنیم.
۶) Planttypes ID را به عنوان فیلد کلید خارجی انتخاب می کنیم.
▪ راهنمایی: اگر شما تنظیمات یا حذفیات انتشاری را برای ارتباط خواستار باشید، آن را با انتخاب Check box ها در صفحه Property انجام می دهیم.
۷) Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.
۸) دکمه Save را در نوار ابزار Table Designer کلیک می کنیم. SQL Server یک کادر محاوره ای را نشان می دهد که از شما برای تأیید تغییرات که برای دو جدول از پایگاه داده تان ذخیره خواهد شد می پرسد.
۹) Yes را کلیک کردهSQL Server ارتباط را ایجاد می کند.
۱۰) پنجره Table Designer را می بندیم. مدیریت کردن ارتباطات ارتباط بین جداول می تواند به خوبی پایدار گردد اما مانند هر بخش دیگری از طرح پایگاه داده، آنها می توانند در طی زمان تغییر یابند. Manager Enterpriseکنترل این تغییرات را آسان می سازد. تغییر دادن ارتباطات تغییر دادن یک ارتباط خیلی مرسوم نیست اما بعضی مواقع یک تغییر در ساختار یکی از جداول مورد نیاز خواهد بود که شما می توانید ستونهایی که در ارتباط درگیر می باشند را به وسیله تغییر دادن ساده مشخصات در صفحه خصوصیات Relationships از کادر محاوره ه ای Table Propertiesتغییر دهید.
● تغییر دادن یک ارتباط
۱) Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Detailsباز کرده Table Design را انتخاب می کنیم. Table Designer , SQL Serverرا باز می کند.
۲) دکمه Relationshipsدر نوار ابزارTable Designer را کلیک می کنیم. SQL Server کادر محاوره ای Table Designersرا با صحفه خصوصیات Relationships نشان داده شده باز می کند.
۳) اطمینان حاصل کنید که FK-Oils-Planttypes در Combo Box انتخاب شده است.SQL Server مشخصاتی از ارتباطات را نشان می دهد.
۴) Plantpart ID را به عنوان فیلد کلید خارجی انتخاب می کنیم.
۵) Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.
۶) دکمه Save را در نوار ابزار Table Designer کلیک می کنیم. SQL Server یک کادر محاوره ای را نشان می دهد که از شما برای تأیید تغییراتی برای دو جدول که در پایگاه داده تان ذخیره خواهد شد سؤال می کند.
۷) Yes را کلیک می کنیم. SQL Serverارتباط را تغییر می دهد.
۸) پنجرهTable Designer را می بندیم. نگهداری ارتباطات همان طوری که شما احتمالاً تا حال منتظر بودید ارتباطات با استفاده از کادر محاوره ای Properties که شما برای ایجاد بر آنها استفاده کرده اید نگهداری می گردند.
● تغییر نام یک ارتباط
۱) Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز می کنیم. Design Tableرا انتخاب می کنیم. SQL Server و Table Designer را باز می کند.
۲) دکمه Relationships را کلیک می کنیم. SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیات Relationships نشان داده شده باز می کند.
۳) FK-Oils-Planttypes را در Combo Box ارتباطی انتخاب شده انتخاب می کنیم. SQL Server خصوصیات ارتباط را نشان می دهد.
۴) متن را در فیلدRelation Ship Name انتخاب و Delete Me را تایپ می کنیم.
۵) Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.
۶) دکمه Save را کلیک کرده SQL Server یک کادر محاوره ای را نشان می دهد و از شما برای تأیید تغییرات برای دو جدول که در پایگاه داده تان ذخیره خواهد شد می پرسد.
۷) Yes را کلیک کرده SQL Server نام ارتباط را تغییر می دهد.
۸) پنجره Table Designer را می بندیم.
● حذف کردن یک ارتباط
۱) Table Designer را برای جدول Oils با کلیک راست کردن نام جدول در قاب Details باز می کنیم و Design Table را انتخاب می کنیم. SQL Server ، Table Designer را باز می کند.
۲) دکمه Relation Ships را کلیک می کنیم. SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیات Relationships نشان داده شده باز می کنیم.
۳) Delete Me را در Combo Box ارتباطی انتخاب شده، انتخاب می کنیم. SQL Server خصوصیات ارتباطی را نشان می دهد.
۴) Delete را کلیک کرده SQL Server یک متنی که ازشما برای تأیید حذفیات سؤال می کند نشان می دهد.
۵) Yes را کلیک می کنیم.
۶) Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.
۷) دکمه Save را کلیک کرده SQL Server یک کادر محاوره ای را نشان می دهد که از شما برای تأیید تغییرات که برای دو جدول پایگاه داده تان ذخیره خواهد شد سؤال خواهد کرد.
۸) Yes را کلیک کرده SQL Server ارتباط را حذف می کند.
۹) پنجره Table Designer را می بندیم.
منبع : انجمن علمی دانشگاه شیخ بهایی


همچنین مشاهده کنید