آموزش زبان برنامه نویسیSQL

آموزش زبان برنامه نویسیSQL

آموزش زبان برنامه نویسیSQL

آموزش زبان برنامه نویسیSQL

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

بیشتر پایگاه داده در نظر گرفته می شوند به صورت مدلهایی که در دنیای واقعی وجود دارد که به صورت Problem Space شناخته شده است.در سطح منطقی، شیءها در Problem Space موجودیتها و اجتماع بین آنها می باشد که با هم در ارتباطند. در سطح فیزیکی، SQL Server موجودیتها را به صورت جداول و ارتباط ها به صورت محدودیت کلیدهای خارجی نشان می دهد که کلیدهای خارجی را تعریف می کند.

مدل رابطه ای
بیشتر مردم معتقدند که پایگاههای داده رابطه ای Relational نامیده می شود زیرا ارتباطات بین جداول ایجاد می گردد. در حقیقت، توصیف آن از اصلاح Relation می آید که Dr .E .F .codd (که او در اصل مدل رابطه ای را در اواخر 1960 گسترش داده) برگزیده شد برای تشریح شئی ها که در SQL Server به صورت جداول به کار برده می شود.
به صورت منطقی سه نوع ارتباط وجود دارد: یک به یک که هر سطر از یک جدول به صفر یا یک سطر از جدول دیگر ربط می شود. یک به چند که هر سطر از یک جدول به صفر، یک یا سطرهای بیشتر در دیگر جداول مربوط می شود و چند به چند که هر سطر در جدول اول به صفر، یک و چندین سطر از جدول دوم مربوط می شود. هر سطر در دومین جدول می تواند به صفر، یک یا سطرهای بیشتر در جدول اول مربوط شود. ارتباطات یک به یک نسبتاً نادر می باشد. آنها اغلب زمانی که یک مجموعه از مشخصات فقط برای مقداری از نمونه های موجودیتها به کار می رود استفاده می گردند. برای مثال، فقط یک زیر مجموعه کوچکی از کارمندان که در شرکت در تیم Softball بازی می کنند. یک طراح پایگاه داده ممکن است همه ویژگیهای تیم Softball را در یک جدول قرار دهد و سپس یک ارتباط یک به یک بین آن و جدول کارمندان ایجاد کند. از طرف دیگر ارتباطات یک به چند کاملاً رایج می باشند. در پایگاه داده نمونه مان، یک ارتباط یک به چند بین جدول Plant Parts وOils ایجاد می گردد. هر سطر موجود در جدول Plant Parts می تواند به صفر، یک یا سطرهای بیشتر در جدول Oils مربوط شود. ارتباط چند به چند همچنین رایج می باشند. برای مثال، یک ارتباط چند به چند بین جدول Properties و جدول oils ایجاد می گردد هر Oil موجود می تواند چندین Properties داشته باشد و هر Properties به چندین oils تخصیص داده می شود. SQL Server مانند دیگر موتورهای پایگاه داده رابطه ای به صورت مدلهای یک به یک و یک به چند به طور مستقیم به یکدیگر مربوط می شوند. اما آن یک نوع ویژه از جدول را که به صورت Junction Table شناخته شده برای تجزیه کردن جداول چند به چند استفاده می کند. یک Junction Table شامل کلیدهای اصلی از جداول در دو طرف ارتباط می باشند. یک ارتباط یک به چند بین جدول Junction و هر جدول اصلی که در شکل 1-7 نشان داده شده ایجاد می گردد.


ارتباطات انعکاسی
بیشتر ارتباطات در یک پایگاه داده بین جدول متفاوت برپا می گردد. اگر چه ارتباط یک جدول به خودش امکان پذیر است، همچنین ارتباط یک به یک، یا یک به چند. مانند ارتباطاتی که به عنوان ارتباطات انعکاسی شناخته می شود. ارتباطات انعکاسی مکرراً برای مرتبه بندی مدل استفاده می شوند. یک مثال رایج مرتبه بندی کارمندان در یک سازمان می باشد. یک کارمند، یک مدیر دارد و مدیر یک کارمندی است که ممکن خود نیز یک مدیر داشته باشد. این ارتباط کلید اصلی از جدول کارمندان به صورت یک ستون در جدول می باشد که مدل سازی می شود و یک ارتباط انعکاسی یک به چند ایجاد می کند.

در سطح جدول، یک ارتباط با موجود بودن شناسه واحد که معمولاً کلید اصلی می باشد، از یک جدول از یک طرف (که جدول کلید اصلی نامیده می شود) به جداولی از سوی دیگر (که جدول کلید خارجی نامیده می شود) مدل سازی می شود. شناسه به صورت کلیدهای خارجی شناخته می شود.

راهنمایی: شناسه واحد که به صورت کلید خارجی استفاده می شود معمولاً کلیدهای اصلی از کلید اصلی جدول می باشد اما آن می تواند ستون باشد یا مجموعه یا ستونهایی که به صورت واحد آشکار می گردد. 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 انواع ارتباطات را بر اساس ستونهای مشخص شده در کلیدهای خارجی جداول معین خواهد کرد. اگر یک ایندکس واحد در ستونهای کلید خارجی وجود داشته باشد ارتباط یک به یک خواهد بود در غیر این صورت یک به چند خواهد بود.

ایجاد یک ارتباط
1- Table Designer را برای جدول Oilsبه وسیله کلیک راست کردن نام جدول در قاب Detailsباز می کنیم و جدول Design را انتخاب می کنیم. SQL Server،Table Designer را باز می کند.

2- دکمه Relation Ships را در نوار ابزار Table Designer کلیک کرده SQL Serverکادر محاوره ای Table Designers Properties را با صفحه خصوصیات Relationships نشان داده شده باز می کند.


3- New را کلیک کرده SQL Server اولین جدول درلیست جداول را برای ارتباط جدید درخواست می کند.

4- Planttypes را به عنوان کلید اصلی جدول انتخاب می کند.FK- Oils- Planttypes , SQL Server را به عنوان نام ارتباط پیشنهاد می کند.

5- Planttypes ID را به عنوان فیلد کلید اصلی انتخاب می کنیم.

6- Planttypes ID را به عنوان فیلد کلید خارجی انتخاب می کنیم.

راهنمایی: اگر شما تنظیمات یا حذفیات انتشاری را برای ارتباط خواستار باشید، آن را با انتخاب Check box ها در صفحه Property انجام می دهیم.

7- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.

8- دکمه Save را در نوار ابزار Table Designer کلیک می کنیم. SQL Server یک کادر محاوره ای را نشان می دهد که از شما برای تأیید تغییرات که برای دو جدول از پایگاه داده تان ذخیره خواهد شد می پرسد.

9- Yes را کلیک کردهSQL Server ارتباط را ایجاد می کند.

10- پنجره Table Designer را می بندیم.

مدیریت کردن ارتباطات
ارتباط بین جداول می تواند به خوبی پایدار گردد اما مانند هر بخش دیگری از طرح پایگاه داده، آنها می توانند در طی زمان تغییر یابند. Manager Enterpriseکنترل این تغییرات را آسان می سازد.

تغییر دادن ارتباطات
تغییر دادن یک ارتباط خیلی مرسوم نیست اما بعضی مواقع یک تغییر در ساختار یکی از جداول مورد نیاز خواهد بود که شما می توانید ستونهایی که در ارتباط درگیر می باشند را به وسیله تغییر دادن ساده مشخصات در صفحه خصوصیات Relationships از کادر محاوره ه ای Table Propertiesتغییر دهید.

تغییر دادن یک ارتباط
1- Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Detailsباز کرده Table Design را انتخاب می کنیم. Table Designer , SQL Serverرا باز می کند.

2- دکمه Relationshipsدر نوار ابزارTable Designer را کلیک می کنیم. SQL Server کادر محاوره ای Table Designersرا با صحفه خصوصیات Relationships نشان داده شده باز می کند.

3- اطمینان حاصل کنید که FK-Oils-Planttypes در Combo Box انتخاب شده است.SQL Server مشخصاتی از ارتباطات را نشان می دهد.

4- Plantpart ID را به عنوان فیلد کلید خارجی انتخاب می کنیم.

5- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.

6- دکمه Save را در نوار ابزار Table Designer کلیک می کنیم. SQL Server یک کادر محاوره ای را نشان می دهد که از شما برای تأیید تغییراتی برای دو جدول که در پایگاه داده تان ذخیره خواهد شد سؤال می کند.

7-Yes را کلیک می کنیم. SQL Serverارتباط را تغییر می دهد.

8- پنجرهTable Designer را می بندیم.

نگهداری ارتباطات
همان طوری که شما احتمالاً تا حال منتظر بودید ارتباطات با استفاده از کادر محاوره ای Properties که شما برای ایجاد بر آنها استفاده کرده اید نگهداری می گردند.

تغییر نام یک ارتباط
1- Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز می کنیم. Design Tableرا انتخاب می کنیم. SQL Server و Table Designer را باز می کند.

2- دکمه Relationships را کلیک می کنیم. SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیات Relationships نشان داده شده باز می کند.

3- FK-Oils-Planttypes را در Combo Box ارتباطی انتخاب شده انتخاب می کنیم. SQL Server خصوصیات ارتباط را نشان می دهد.

4- متن را در فیلدRelation Ship Name انتخاب و Delete Me را تایپ می کنیم.

5- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.

6- دکمه Save را کلیک کرده SQL Server یک کادر محاوره ای را نشان می دهد و از شما برای تأیید تغییرات برای دو جدول که در پایگاه داده تان ذخیره خواهد شد می پرسد.

7- Yes را کلیک کرده SQL Server نام ارتباط را تغییر می دهد.

8- پنجره Table Designer را می بندیم.

حذف کردن یک ارتباط
1- Table Designer را برای جدول Oils با کلیک راست کردن نام جدول در قاب Details باز می کنیم و Design Table را انتخاب می کنیم. SQL Server ، Table Designer را باز می کند.

2- دکمه Relation Ships را کلیک می کنیم. SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیات Relationships نشان داده شده باز می کنیم.

3- Delete Me را در Combo Box ارتباطی انتخاب شده، انتخاب می کنیم. SQL Server خصوصیات ارتباطی را نشان می دهد.

4- Delete را کلیک کرده SQL Server یک متنی که ازشما برای تأیید حذفیات سؤال می کند نشان می دهد.

5- Yes را کلیک می کنیم.

6- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.

7- دکمه Save را کلیک کرده SQL Server یک کادر محاوره ای را نشان می دهد که از شما برای تأیید تغییرات که برای دو جدول پایگاه داده تان ذخیره خواهد شد سؤال خواهد کرد.

8- Yes را کلیک کرده SQL Server ارتباط را حذف می کند.

9- پنجره Table Designer را می بندیم

ایجاد کردن Check Constraint

شناخت Check Constraint
یکی از مهمترین بازرسی های طراحی پایگاه داده یکپارچه سازی داده ها می باشد. قاعده یکپارچگی داده ها تضمین می کند که داده های ایجاد شده در پایگاه داده اگر درست نباشد حداقل قابل قبول می باشد. چندین سطح از یکپارچگی داده ها وجود دارد. در درس 7 ما درباره یکپارچگی رابطه ای مطالعه کردیم که تضمین می کند اجتماع بین جداول ایجاد و به طور صحیح نگهداری می گردند.

Check Constraintsبرای اجرای دو فرم اضافی از یکپارچگی پایگاه داده استفاده می شود. domain Integrity و entity Integrity . در اصطلاحات رابطه ای که Domain محدوده ای از مقادیری است که یک ستون می تواند داشته باشد. نوع داده های یک ستون یکی از ویژگیهای از یک Domain می باشد، اما تعریف نوع داده معمولاً کافی نیست. برای مثال، یک ستون Smallint می تواند شامل مقادیر صحیح از 768/32- تا 767/32 می باشد که ممکن نوع داده مناسبی برای یک ستونی که شامل سالی است که یک کارمند مدرک دانشگاهی را در دریافت می کند باشد. اما حدود اصلی مقادیر ستون Year Degree Awarded بیشتر محدود شده و بین 1900 و سال جاری می باشد. شما از یک Check Constraints استفاده می کنید، برای تخمین اینکه هیچ کس به طور واقعی مقادیر 1543 یا 2075 را به عنوان مقدار ستون وارد نمی کند. Entity Integrity Constraints جامعیت از موجودی خودش را اجرا می کند. مهمترین محدودیتهای یکپارچگی موجودیت آن است که هر موجودیت Entity Integrity باید به طور واحد قابل شناسایی باشد. این محدودیت به وسیله مشخص کردن یک کلید اصلی برای جدول انجام می گیرد. یکپارچگی موجودیت همچنین می تواند درگیر ارزیابی شرطی از چندین ستون در یک جدول باشد و این نوع از محدودیت اغلب بیشتر با استفاده از Check Constraints انجام می گیرد. برای مثال، اگر یک جدول شامل ستونهای کشور و ایالت باشد شما ممکن از یک Check Constraints برای مشخص کردن اینکه ارزش ستون State ، "AZ" معتبر می باشد فقط اگر ستون Country شامل مقادیر USA باشد. Check Constraint به عنوان Boolean Expressions شناخته می شود یک Boolean Expressions برای مقادیر True یا False ارزیابی می گردد. Boolean Expressions را در درس 13 می آموزیم. در این درس ما از عبارت LEN()>=4 استفاده می کنیم. LEN یک تابع Transact-SQL می باشد که تعدادی کارکترهای یک رشته را برمی گرداند. بنابراین عبارت LEN()>=4 ارزش آن اگر شامل 4 یا بیشتر کارکتر باشد ارزش آن True و اگر کمتر از 4 باشد ارزش آن False می گردد.


ایجاد کردن Check Constraint)
مانند ایندکس ها و پیوندها شما می توانید Check Constraints را با استفاده از کادر محاوره ای Properties از Table Designer ایجاد کنید.

1- Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و Design Table را انتخاب می کنیم. Table Designer , SQL Server را باز می کنیم.

2- دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designer Properties را با صفحه خصوصیات Constraints Check نشان داده شده باز می کنیم.

3- New را کلیک کرده Ck-Oils , SQL Server را به عنوان نام محدودیت پیشنهاد می دهد. برای این مثال این نام را می پذیریم.

4- Len(Oil Name)>=4را به عنوان عبارت محدودیت وارد می کنیم.

راهنمایی: اگر شما یک Check Constraint جدید را ایجاد می کنید و مراقب نیستید که آیا داده های موجود متابعت می شوند، شما می توانید بگوید به SQL Server که از ایجاد کردن داده به وسیله چک نکردنCheck Existing Data On Creation از محدودیت چشم پوشی کند.

5- Close را کلیک کرده SQL Server کادر محاوره ای Designers Properties Table را می بندد.

6- دکمه Save را کلیک کرده SQL Server کنترل می کند که همه سطرها در جدول باCheck Constraint مواجه می شوند و سپس محدودیت را ذخیره می کنیم.

مدیریت Check Constraints
به عنوان بخشی از طرح پایگ اه داده، Check Constraints نباید تحت شرایط نرمال نیاز به مقدار زیاد نگهداری داشته باشد. شما آنها را یکباره تعریف کرده زمانی که پایگاه داده را ایجاد می کنید. اگر چه طرحهای پایگاه داده به تدریج تغییر خواهد کرد. تغییرات Check Constraints تغییر خواهد کرد. Enterprise Manager نگهداری محدودیتها را آسان می سازد.

تغییر دادن Check Constraint
Table Designer مکانیزمی برای تغییر متن از یک Check Constraint از همان کادر محاوره ای که شما برای ایجاد آن استفاده کردید فراهم می کند.

تغییر متن محدودیت
1- اگر Table Designer برای جدول Oils هنوز از تمرین قبل باز نمی باشد به وسیله کلیک راست کردن نام جدول در قاب Details آن را باز کرده وDesign Table را انتخاب می کنیم. Table Designer , SQL Sarver را باز می کند.

2- دکمه Constraints را کلیک کرده SQL Sarver کادر محاوره ایTable Designer را با صفحه خصوصیات Check Constraint باز می کند.

3- اطمینان حاصل کنید کهCk – Oilsدر Constraint Combo Box انتخاب شده نشان داده شده است.

4- متن محدودیت را برایLEN (Oil Name )>2 به عنوان عبارت محدودیت جدید تغییر می دهیم.

5- Close را کلیک کردهSQL Server کادر محاوره ایTable Designer’s Properties را می بندد.

6- دکمه Save را کلیک کرده SQL Server همه سطرها در جدول را که با Check Constraint جدید مواجه است را کنترل کرده و سپس محدودیت را ذخیره می سازد.

نگهداری Check Constraints
مانند دیگر خصوصیات جدول دیگر، Check Constraints در کادر محاوره ای Properties ازTable Design نگهداری می گردد.

تغییر نام یک Check Constraints

1- Table Designer برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و Design Table را انتخاب می کنیم. Table Designer , SQL Server را باز می کنیم.

2- دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیات Check Constraint نشان داده شده باز می کند.

3- Ck-Oils را در فیلد Constraint Name انتخاب کرده و آن را به Ck-Deleteme تغییر می دهیم.

4- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.

5- دکمه Save را کلیک کردهSQL Server همه سطرها در جدول که باCheck Constraint مواجه شده اند را کنترل می کند و سپسConstraint ذخیره می گردد.

حذف یک Check Constraint

1- Table Designer برای جدول Oils را به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و جدول Design را انتخاب می کنیم. Table Designer , SQL Server را باز می کند.

2- دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیاتCheck Constraint نشان داده شده باز می کنیم.

3- اطمینان حاصل کنید که Ck-Deleteme در فیلد محدودیت انتخاب شده می باشد و سپس Delete را کلیک می کنیم. SQL Server محدودیت را برمی دارد.

4- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.

5- دکمه Save را کلیک می کنیم. SQL Server محدودیت را برمی دارد.

6- Table Designer را می بندیم.

ایجاد جداول

ایجاد کردن شئی های جدول
در درسهای گذشته، شما آموختید که چگونه خصوصیات گوناگون از قبیل مقادیر پیش فرض و Check Constraints برای ستونهای خاص از یک جدول تخصیص دهیم. بعضی مواقع اگر چه، یک نوع خاص از ستون در چندین جدول مختلف استفاده می گردد. در این وضعیت، آن اغلب مفید می باشد به ایجاد Properties در یک جای جداگانه به طوری که آنها را برای هر جدول به کار ببریم.
پیش فرضها، نقشها و انواع داده تعریف شده کاربر مکانیزمی را برای ایجاد و نگهداری این شئی ها در یک مکان جداگانه فراهم می آورند. برای مثال شما یک مدل پایگاه داده برای جوابگویی به ارزیابی مشتری می سازید. شما در ابتدا تصمیم می گیرید که مقدار پیش فرض برای هر سؤالی که جواب داده نشده باید Unknown"" شوند. اگر شما یک پیش فرض ایجاد کنید و پیش فرضها را برای ستون مناسب پیوند دهید. شما می توانید بعداً پیش فرض را به Unanswered تغییر دهید. بدون هیچ تغییری هر ستون، آن پیش فرض را استفاده می کند.

شناخت پیش فرضها
توابع پیش فرض از همان راهی که خصوصیات پیش فرض که شما مشخص می کنید زمانی که شما یک ستون در Table Designer ایجاد می کنید آنها مقادیری هستند که به طور خودکار به وسیله SQL Server تخصیص داده می شوند. اگر کاربر یک مقدار را زمانی که سطری را ایجاد می کند مشخص نکند. اگر چه پیش فرض، شئی های سطح پایگاه داده می باشند که می تواند برای چندین ستونها به کار برده شوند.

ایجادکردن پیش فرضها
از موقعی که پیش فرض، شئی های مستقل در داخل پایگاه داده هستند، شئی باید پیش فرض را ایجاد کند قبل از اینکه شئی بتواند آن را برای یک ستون جدول متصل سازد.

ایجاد کردن یک پیش فرض
1- پوشه Defaults را از پایگاه داده Aromatherapy از درختConsole جستجو می کنیم. SQL Server یک لیستی از Default ها را در قالب Details نشان می دهد. (چیزی در پایگاه داده Sample وجود ندارد).

2- دکمه Newرا کلیک کرده، SQL Server کادر محاوه ای Default Properties را نشان می دهد.

3- در فیلدName ، Default Unknown را تایپ می کنیم.

4- "Unknown" را در فیلد Value تایپ می کنیم.

5- OK را کلیک کرده،SQL Server پیش فرض را ایجاد می کند.

ربط دادن یک پیش فرض به یک ستون
1- پوشهTables را راهبری کرده، Table Designer را برای جدول Oil با کلیک راست کردن نام جدول در قاب Details باز کرده و Table Design را انتخاب می کنیم.

2- یک ستون جدید برای جدولی که Sample نامیده شده اضافه می کنیم. انواع داده پیش فرض را پذیرفته و طول آن به وسیله SQL Server پیشنهاد می گردد.

3- فیلد Default Valve را برای ستون کلیک کرده و سپس dbo.DefaultUnknown را از لیست انتخاب می کنیم.

4- دکمه Save را کلیک کردهSQL Server جدول را ذخیره می کند.

قطع پیوند یک پیش فرض
1- اگر Table Designer برای جدول Oilsاز تمرین قبل باز نیست، آن را به وسیله کلیک راست کردن نام جدول در قاب Pet ail> باز کرده و Design Table را انتخاب می کنیم. SQL Server، Table Disdainer را باز می کند.

2- ستون Sampleرا انتخاب کرده، Table Designerخصوصیات این ستون را نشان می دهد.

3- dbo.DefaultUnknown را در فیلد Default Value انتخاب کرده و کلید Delete را برای برداشتن مقدار فشار می دهیم.

4- دکمه Save راکلیک کرده SQL Server تغییرات برای تعریف ستون را ذخیره می سازد.

شناخت نقشها
نقشها مانند پیش فرضها سطوح شئی های پایگاه داده می باشند که می تواند برای ستونها در جداول چندگانه به کار برده شوند. یک نقش Check Constraint موجود می باشد که مشخص می کند مقادیر داده ها در یک ستون مورد قبول می باشند، اما استفاده از آن بیشتر محدود شده است. یک ستون می تواند چندین Check Constraintداشته باشد که برای آن به کار برده می شود.
راهنمایی: مایکروسافت نقشها و توصیه ها را که با Check Constraint جایگزین می شود را درست نمی داند. اگر چه نقشها هنوز جایگاهشان را در پایگاه داده هایSQL Server دارند از زمانی که فقط یک وظیفه بتواند برای نوع داده هایی که به وسیله SQL Server تعریف شده به کار برده شود.
برخلاف Check Constraint ، یک نقش نمی تواند مبنایی برای یک ستون به طور مستقیم باشد. در عوض، مقادیری که یک نقش به کار می برد به نقشی که در یک متغیری که فرمت@Variable Name می گیرد داده می شود. در مورد متغیرها در Detail در فصل 24 بحث خواهیم کرد.

ایجاد کردن نقشها
از زمانی که نقشها مانند Defaults مستقل از شئی های پایگاه داده می باشند، شما باید آنها را قبل از اینکه شما بتوانید آنها را برای یک ستون در جدول به کار ببرید ایجاد کنید.

ایجاد یک نقش
1- پوشه نقش را از پایگاه داده در درخت Console راهبری کرده SQL Server یک لیستی از نقشها در پایگاه داده نشان می دهد. (لیست در پایگاه داده Sample خالی می باشد)

2- دکمه New را کلیک کردهSQL Server کادر محاوره ای را باز می کند.

3- Sample Rule را به عنوان نام نقش تایپ می کنیم.

4- LEN(@Fldalue)>3 را به عنوان متن نقش تایپ می کنیم.

راهنمایی: به خاطر داشته باشید LEN یک تابعTransact SQL می باشد که تعدادی از کاراکترها را در یک متن رشته ای برمی گرداند و اینکه @ قبل از یک بر چسب عبارتTransact SQL یک متغیــر را نشان می دهد، یک مقدار که برای عبارت داده می شود. بنابراین در این حالت نقش Trueمی گردد اگر طول ستون بزرگتر از 3 باشد.
5-OK را کلیک کرده، SQL Server کادر محاوره ای Rule Properties را می بندد و نقش را ایجاد می کند.

ربط دادن یک Rule به یک ستون
1- کادر محاوره ای Rule Properties را برایSample Rule به وسیله دابل کلیک کردن نام Rule در قاب Details باز می کنیم. SQL Server کادر محاوره ای Rule Properties را نشان می دهد.

2- ستونBind را کلیک کرده SQL Server کادر محاوره ایBind Rule to Columns را نشان می دهد.

3- [dbo].[Oils] را درTable Combo Box انتخاب می کنیم.SQL Server فیلدها را در جدول Oils نشان می دهد.

4- ستون Sample را در لیست Unbound Columns انتخاب کرده و سپس Add را کلیک می کنیم. SQL Server ستون را به لیست Bound Columns حرکت می دهد.

5- SQL Server کادر محاوره ایBind Rule to Columns را می بندد.

6-OK را مجدداً برای بستن کادر محاوره ای Rule Properties کلیک می کنیم.

شناخت User-Defined Data Types
نقشها و پیش فرضها مکانیزم مفیدی برای نگهداری محدودیتهای پایگاه داده ها می باشند، اما SQL Server حتی مکانیزم قوی تری در User-Defined Data Typesها فراهم می آورد. User-Defined Data Types بر مبنای هیچ نوع از پایگاه داده حقیقی مشخص نمی گردد و شامل مشخصاتی از طول ستون می باشد. به طور کلی نقشها و پیش فرضها ممکن است به طور انتخابی برای یکUser-Defined Data Types به کار برده شوند. زمانی که یک ستون بر مبنای یک User-Defined Data Typesایجاد می گردد، ستون جدول همه خصوصیات مشخص شده را برای آن نمونه به ارث خواهد برد. زمانی که مشخصات از User-Defined Data Typesتغییرمی یابد،نقشها برای ستونها بر اساس آن نمونه همچنین تغییر خواهد کرد.
راهنمایی: اگر یک User-Defined Data Type در پایگاه داده Model ایجاد گردد، همه پایگاه داده جدید به طور خودکار به آن نوع دسترسی خواهد داشت.

ایجادکردن User-Defined Data Types
User-Defined Data Types از شئی های پایگاه داده مستقل می باشند و باید در داخل پایگاه داده تعریف شوند قبل از اینکه آنها بتوانند به ستونها تخصیص داده شوند.

ایجاد کردن یک User-Defined Data Types
1- پوشه User-Defined Data Types را از پایگاه داده Aromatherapy راهبری می کنیم. SQL Server یک لیستی ازUser-Defined Data Types را نشان می دهد (چیزی در پایگاه داده Sample وجودندارد).

2- دکمه New را کلیک کرده SQL Server کادر محاوره ای User-Defined Data Types را نشان می دهد.

3- MySample را به عنوان نام User-Defined Data Types تایپ می کنیم.

4- نوع داده پایگاه را varchar و طول آن را 20 قرار می دهیم.

5- Dbo.Sample Rule را در Rule Combo Box انتخاب می کنیم.

6- مقادیر پیش فرض برای Allow Nulls و گزینه های پیش فرض را می پذیریم و OKرا کلیک می کنیم. SQL Server ، User-Defined Data Types را ایجاد می کند.


تخصیص یک ستون برای یک User-Defined Data Types
1- Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام آن در قاب Details باز می کنیم و Details Table را انتخاب می کنیم. SQL Server ، Table Designer را باز می کند.

2- ستون Sample را انتخاب کرده وMySample را از Data Type Combo Boxرا انتخاب می کنیم. Data Type , SQL Server را برای MySampleقرار می دهد.
راهنمایی: User-Defined Data Types در پایین لیست Data Type می باشد.

3- دکمهSave را کلیک کردهSQL Server جدول را با تعریف جدید ذخیره می سازد.

ایجاد یک پایگاه اطلاعاتی

در محیط SQL Server شما جداول، نماها و دیگر شیءها که مربوط به تنظیم اطلاعات در یک پایگاه داده می باشد را ذخیره می کنید. بنابراین اولین گام برای نمایش دادن یک برنامه پایگاه اطلاعاتی، به طور آشکار، ایجاد پایگاه داده می باشد و در این درس خواهیم آموخت که چگونه آن را انجام دهیم.

ایجاد کردن پایگاه داده ها
برای هر پایگاه داده منطقی، SQL Server دو فایل فیزیکی ایجاد می کند: یکی برای Objects و دیگری برای Transaction Log .
راهنمایی: اگر چه به وسیله SQL Server پیش فرض یک محل یکسان برای هر دوی پایگاه داده فایل و Transaction Log پیشنهاد می کنیم. در یک سیستم Production شما باید معمولاً Transaction Log را در یک محلی دیگر ترجیحاً روی یک ماشین دیگر ذخیره سازید که آن را ممکن می سازد به بازگرداندن پایگاه داده در حالتی از ناتوانی سخت افزار که خوانده شدن از دیسک جلوگیری می کند.

ایجاد کردن یک پایگاه داده جدید
اگر چه آن ممکن است به ایجاد یک پایگاه داده جدید به وسیله انتخاب دستور New Database در منوی محتویات پوشه Database که ساده ترین راه برای استفاده کردن از Create Database Wizard می باشد.

ایجاد یک پایگاه داده جدید
1- پوشه Database را از Server که شما استفاده می کنید برای این درسها راهبری می کنیم. SQL Server لیستی از پایگاه داده را در قاب Details نشان می دهد.

2- دکمه Wizard را روی نوار ابزار Manager Enterprise کلیک می کنیم. SQL Server کادر محاوره ای The Select Wizard را نشان می دهد.

3- Create Database Wizard را از بخش Database انتخاب کرده و OK را کلیک می کنیم. SQL Server اولین صفحه از Wizard را نشان می دهد.

4- Next را کلیک کرده Create Database Wizard یک صفحه که نام و محل پایگاه داده را درخواست می کند نشان می دهد.

5- 4 Lessen را در فیلد نام پایگاه داده تایپ می کنیم.

6- دکمه Brows را برای تغییر محل فایل پایگاه داده کلیک می کنیم. ویزارد یک کادر محاوره ای را که محل جدید را درخواست می کند نشان می دهد.

مکانهای فایل پایگاه داده
زمانی که SQL Server اولین بار نصب می گردد، آن در محل پیش فرض MS SQL / Data برای فایلهای پایگاه داده جدید در پوشه آنجایی که Server نصب می گردد قرار می گیرد. این پیش فرض در The Create Database Wizard تعبیه شده است. برای تغییر دائمی پیش فرض شما می توانید یک مکان جدید روی زبانه Settings پایگاه داده از کادر محاوره ای SQL Server Properties برقرار کنید که در دسترس می باشد. با کلیک راست کردن Server در درخت Console ، Properties را انتخاب کرده سپس زبانه Settings پایگاه داده را انتخاب می کنیم.

6- پوشه Step by Step 2000 The SQL را به ریشه دایرکتوری هدایت کرده و سپس OK را کلیک می کنیم. ویزارد مکان فایل پایگاه داده را برای دایرکتوری انتخاب شده فراهم می کند.
7- دکمه Browse را برای تغییر موقعیت Transaction Log کلیک می کنیم. ویزارد یک کادر محاوره ای که یک موقعیت جدید را درخواست می کند نشان می دهد.

8- پوشه Step by Step 2000 SQLرا به ریشه دایرکتوری فرستاده و سپس OK را کلیک می کنیم. ویزارد مکان فایل Log Transaction را برای دایرکتوری انتخاب شده تنظیم می کند.
9- Next را کلیک می کنیم. ویزارد یک صفحه ای که نام و اندازه اولیه برای فایل پایگاه داده درخواست می کند نشان می دهد.

10- Next را کلیک می کنیم. ویزارد نشان می دهد صفحه ای که به شما اجازه می دهد به انتخاب اینکه آیا فایلهای پایگاه داده به طور خودکار افزایش می یابد و یا اینکه فقط زمانی که شما آنها را بسط می دهید افزایش می یابد. برای این تمرین تنظیمات پیش فرض را می پذیریم.

11- Next را کلیک کرده ویزارد یک صفحه ای را که از شما نام و سایز اصلی برای Transaction Log را درخواست می کند نشان می دهد.

12- Next را کلیک کرده ویزارد یک صفحه ای را نشان می دهد که اجازه می دهد به شما انتخاب کنید که آیا Transaction File باید به طور خودکار افزایش یابد.

13- Next را کلیک کرده ویزارد یک صفحه ای را برای تأیید انتخابهایی که شما ساخته اید نشان می دهد.

14- Finish را کلیک کرده ویزارد پایگاه داده و فایلها Transaction Log را ایجاد می کند و سپس می پرسد آیا شما می خواهید یک طرح نگهداری برای پایگاه داده جدید ایجاد کنید.

15- NO را کلیک کرده ویزارد بسته می شود.

تنظیمات خصوصیات پایگاه داده
زمانی که شما با Create Database Wizard یک پایگاه داده ایجاد می کنید. شما مشخصه یا خصوصیات از پایگاه داده را مشخص می کنید مانند نام پایگاه داده و مکانهای فایل. بعد از اینکه پایگاه داده ایجاد می شود، شما می توانید این خصوصیات را به وسیله تغییر دادن تنظیمات appropriate در کادر محاوره ای databases Properties تغییر دهید.
برای مثال بزرگ کردن اندازه فایل داده فیزیکی Growing The File در عبارت SQL Server هست به طور واضح یک عملیاتی که به آهستگی زمان مسئولیت پذیری جواب گویی Server را پایین می آورد. اگر شما پیدا کنید SQL Server که اغلب مجبور به بزرگ کردن فایل می باشد، ممکن است شما تغییر تنظیمات درصد رشد فایل را در کادر محاوره ای Properties مورد ملاحظه قرار دهید. بنابراین Server فایل را بیش تر از ارزش پیش فرض 10 درصد رشد خواهد شد.

تغییر درصد رشد فایل پایگاه داده
1- پایگاه داده 4Lesson را در درخت Console انتخاب می کنیم.
2- دکمه Properties را در نوار ابزار کلیک می کنیم. SQL Server کادر محاوره ای databases Properties را نشان می دهد.

3- زبانه Data Files را کلیک کرده SQL Server خصوصیاتی از فایلهای داده پایگاه داده را نشان می دهد.

4- درصد رشد 20 درصد قرار می دهیم.

5- را کلیک می کنیم. SQL Server یک خصوصیت جدید را ایجاد کرده و کادر محاوره ای Properties را می بندد.

مدیریت پایگاه داده ها
به طور کلی برای تغییر دادن خصوصیات یک پایگاه داده، شما گاه گاهی نیاز به حذف همگی آنها خواهید داشت که Manager Enterprise آن را خیلی ساده می سازد.
نکته: کارهای مدیریت دیگری که شما ممکن بخواهید به انجام رسانید نامگذاری مجدد پایگاه داده، در داخل Manager Enterprise نمی تواند انجام شود. ما در درس 28 خواهیم آموخت که چگونه یک پایگاه داده را مجدد نامگذاری کنیم.

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

حذف یک پایگاه داده
1- پایگاه داده 4 Lesson را در درخت Console انتخاب می کنیم.
2- کلید Delete را فشار می دهیم. SQL Server یک متنی که از شما برای تأیید حذف درخواست می کند نشان می دهد.

4- Yes را کلیک کرده SQL Server جایگاه داده ها و همه منابع گردآوری شده را از Server برمی دارد

آشنایی

این وبلاگ عضو گروه بزرگ Design school  هستش و در جهت آموزش و راهنمایی بانک نویسان بوجود اومده که هر چه سریعتر آموزش های کاربردی زیادی رو میتونی ازش شاهد باشین.