در قسمت سوم آموزش SQL Server ،کار با بخش View ،جابجا کردن (انتقال) دیتابیس ،بکاپ گرفتن از دیتابیس را به شما آموزش دادیم.دراین قسمت قصد داریم Identity Specification ،فیلدهای Unique و اعمال شرط بر روی مقادیر ورودی جداول را به شما آموزش بدیم.
همانگونه که در قسمت های قبلی گفته شد Identity Specification به عنوان شناسه هرجدول انتخاب میشود بدین معنی که هنگام مقدار دهی فیلدهای جدول نیاز به مقدار دهی این فیلد نیست چون خود سیستم به طور خودکار مقداری به این فیلد خواهد داد.
همانگونه که در تصویر بالا میبینید ما در قسمت Design جدول اعضا کتابخانه (دیتابیس کتابخانه در قسمت های قبلی به طور کل توضیح داده شده) هستیم و همانگونه که گفتیم ستون Code را به عنوان ستون شناسه یا Identity معرفی کردیم که با کادر قرمز رنگ مشخص شده در همان لحظه که ما مقدار Identity Column را برابر با Code میکنیم در قسمت Column Properties مقادیر قسمت هایی که با کادر مشکی رنگ مشخص شده نیز مشخص میشوند که Identity increment مقدار اولیه فیلد را مشخص میکند بدین معنی که مقادیر ما از 1 شروع شود و قسمت Identity seed نیز گام هارا مشخص میکند بدین معنی که مقادیر ستون Identity یکی یکی بالا می رود که میتوان اینها را مطابق نیاز تغییر داد.
بعضی مواقع میخواهیم در جداول در فیلدهایی که کلید اصلی نیستند مقادیر تکراری وارد نشود برای این کار دو راه متفاوت وجود دارد روش اول این است که تمام فیلدهای مورد نظر را کلید اصلی کنیم تا کاربر نتواند مقادریر تکراری وارد کند اما این روش خیلی مناسب نیست پس از روش دوم استفاده مکنیم که باید از خاصیت Unique استفاده کنیم که به صورت زیر میباشد.
همانگونه که در تصویر زیر مشاهده میکنید ابتدا در مرحله اول باید از قسمت Design ایکونی که با کادر مشکی رنگ در بالای برنامه مشخص شد را فشرد یا بر روی جدول کلیک راست کرده و گزینه Indexes/keys.. را انتخاب کرده تا پنجره مقابل که مرحله دوم از کار میباشد نمایش داده شود حال باید بر روی دکمه Add برای اضافه کردن فیلدهای Unique فشرد.
پس از این که دکمه Add را زدید پنجره زیر برایتان باز میشود همانگونه که در تصویر زیر مشخص شده باید بر دکمه که فلش اشاره میکند برای اضافه کردن ستون هایی که قصد Unique کردن انهارا دارید
کلیک کنید تا پنجره زیر برایتان باز شود.
حال در پنجره بالا در زیر Column Name باید نام ستون هایی که قصد Unique کردنشان را داریم وارد کنیم و در اخر نیز بر روی دکمه Ok کلیک کنیم.پس از زدن دکمه Ok باید به صورت زیر عمل کنیم
همانگونه که در عکس بالا مشاهده میکنید در مقابل گزینه Columns تمامی ستون هایی که انتخاب کردیم وجود دارد و سپس باید مقدار Is Unique را برابر با Yes قرار دهیم بدین معنی که ما میخواهیم ستون های انتخابی به شکل Unique در بیاید و در قسمت Type نیز باید مقدار Unique Key را وارد کنیم و سپس بروی دکمه Close کلیک کنییم.
در این صورت دیگر نمیتوان مقادیر تکراری را وارد کرد مانند شکل زیر
همانگونه که در شکل بالا میبینید ما دو ستون که با کادر قرمز رنگ مشخص شده را مانند هم وارد کردیم بدین صورت که ابتدا ستون اولی را وارد کردیم و سپس ستون بعد را نیز دقیقا مانند ستون بالا وارد کردیم و وقتی خواستیم به ستون بعدی برویم پیغام خطا داد ،همانطور که مشاهده میکنید گفته شده چون شما از Unique ها استفاده کرده اید دیگر نمیتوان مقادیر تکراری وارد کرد حال اگر یکی از فیلدها مثلا فیلد نام کتاب یا نویسنده یا .. را متفاوت وارد کنیم خطایی نمیدهد فقط در صورتی خطا میدهد که تمامی مقادیر مشابه باشند.
حال همانگونه که در تصویر زیر مشاهده میکنید پس از ایجاد یونیک ها در دیاگرام برنامه تغییراتی اعمال شده چون ما تمامی ستون های جدول کتاب را یونیک کردیم و همچنین کد کتاب در جدول امانت را نیز یونیک کردیم ارتباط میان انها به صورت 1 به 1 شده همانگونه که میبینید هر دو طرف به شکل کلید است بدینن معنی هر کتاب فقط میتواند در هر لحظه به امانت بک فرد دربیاید بنابراین رابطه 1:1 است اما رابطه بین جدول امانت و جدول اعضا همانگونه که میبینید علامت کنار جدول امانت به شکل بنهایت است به معنی چند و علامت کنار جدول اعضا به شکل کلید است به معنی یک که این رابطه معنی یک به چند دارد یعنی هر عضو میتواند در هر لحظه چندین کتاب را به امانت ببرندبنابراین رابطه n:1 است
گاهی لازم میشود که فقط مقادیر خاصی با شرایط خاصی به عنوان ورودی داشته باشیم پس باید برای ورودی ها شرایط خاصی بگذاریم که مقادیر خارج از آن شرایط را نپذیرد و خطا دهد برای شرط گذاری باید به روش زیر عمل کنیم.
همانگونه که در شکل زیر میبینید ابتدا در مرحله اول باید در قسمت Design بر روی جدول کلیک راست کرده و گزینهCheck Constraints را انتخاب میکنیم در مرحله دوم جدول مقابل را میبینیم که با زدن دکمه Add میتوان شرط را مطابق تصاویر بعد وارد کرد
پس از کلیک بر روی دکمه Add پنجره زیر باز میشود
همانگونه که در تصویر بالا مشخص شده ابتدا باید در کادر جلوی عبارت Expression دوبار کلیک کرده تا کادر بعدی که با فلش مشخص شده نمایش داده شود.
در این کادر باید شرط را با رعایت اصول و قوانین خاصی قید کرد و دکمه Ok را زد.ما در این شرط میخواستیم که کاربر نتواند سن زیر 6 سال را در جدول اعضا کتابخانه وارد کند حال اگر در قسمت Edit Top 200 Rows جدول اعضا کتابخانه فردی را که سن زیر 6 سال دارد را وارد کنیم با خطای زیر مواجه میشویم. همانگونه که در خطای گرفته شده گفته که یک Check Contains برای این جدول در نظر گرفته شده که سن زیر 6 سال را قبول نمیکند.