0

آموزش SQL Server

 
kosarsh
kosarsh
کاربر برنزی
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1138
محل سکونت : خوزستان

آموزش SQL Server



شناخت نقشها
نقشها مانند پیش فرضها سطوح شئی های پایگاه داده می باشند که می تواند برای ستونها در جداول چندگانه به کار برده شوند. یک نقش Check Constraint موجود می باشد که مشخص می کند مقادیر داده ها در یک ستون مورد قبول می باشند، اما استفاده از آن بیشتر محدود شده است. یک ستون می تواند چندین Check Constraintداشته باشد که برای آن به کار برده می شود .
راهنمایی: مایکروسافت نقشها و توصیه ها را که با Check Constraint جایگزین می شود را درست نمی داند. اگر چه نقشها هنوز جایگاهشان را در پایگاه داده هایSQL Server دارند از زمانی که فقط یک وظیفه بتواند برای نوع داده هایی که به وسیله SQL Server تعریف شده به کار برده شود . برخلاف Check Constraint ، یک نقش نمی تواند مبنایی برای یک ستون به طور مستقیم باشد. در عوض، مقادیری که یک نقش به کار می برد به نقشی که در یک متغیری که فرمت @Variable Name می گیرد داده می شود. در مورد متغیرها در Detail در فصل 24 بحث خواهیم کرد .
ایجاد کردن نقشها
از زمانی که نقشها مانند Defaults مستقل از شئی های پایگاه داده می باشند، شما باید آنها را قبل از اینکه شما بتوانید آنها را برای یک ستون در جدول به کار ببرید ایجاد کنید .
ایجاد یک نقش
پوشه نقش را از پایگاه داده در درخت Console راهبری کرده SQL Server یک لیستی از نقشها در پایگاه داده نشان می دهد. (لیست در پایگاه داده Sample خالی می باشد)
دکمه New را کلیک کردهSQL Server کادر محاوره ای را باز می کند .
Sample Rule را به عنوان نام نقش تایپ می کنیم .
LEN(@Fldalue)>3 را به عنوان متن نقش تایپ می کنیم .
راهنمایی: به خاطر داشته باشید LEN یک تابعTransact SQL می باشد که تعدادی از کاراکترها را در یک متن رشته ای برمی گرداند و اینکه @ قبل از یک بر چسب عبارتTransact SQL یک متغیــر را نشان می دهد، یک مقدار که برای عبارت داده می شود. بنابراین در این حالت نقش Trueمی گردد اگر طول ستون بزرگتر از 3 باشد .
OK را کلیک کرده، SQL Server کادر محاوره ای Rule Properties را می بندد و نقش را ایجاد می کند .
ربط دادن یک Rule به یک ستون
کادر محاوره ای Rule Properties را برایSample Rule به وسیله دابل کلیک کردن نام Rule در قاب Details باز می کنیم . SQL Server کادر محاوره ای Rule Properties را نشان می دهد .
ستونBind را کلیک کرده SQL Server کادر محاوره ایBind Rule to Columns را نشان می دهد .
[dbo].[Oils]را درTable Combo Box انتخاب می کنیم .SQL Server فیلدها را در جدول Oils نشان می دهد .
ستون Sample را در لیست Unbound Columns انتخاب کرده و سپس Add را کلیک می کنیم . SQL Server ستون را به لیست Bound Columns حرکت می دهد .
SQL Server کادر محاوره ایBind Rule to Columns را می بندد .
OK را مجدداً برای بستن کادر محاوره ای Rule Properties کلیک می کنیم .
شناخت User-Defined Data Types
نقشها و پیش فرضها مکانیزم مفیدی برای نگهداری محدودیتهای پایگاه داده ها می باشند، اما SQL Server حتی مکانیزم قوی تری در User-Defined Data Typesها فراهم می آورد . User-Defined Data Types بر مبنای هیچ نوع از پایگاه داده حقیقی مشخص نمی گردد و شامل مشخصاتی از طول ستون می باشد. به طور کلی نقشها و پیش فرضها ممکن است به طور انتخابی برای یکUser-Defined Data Types به کار برده شوند. زمانی که یک ستون بر مبنای یک User-Defined Data Type ایجاد می گردد، ستون جدول همه خصوصیات مشخص شده را برای آن نمونه به ارث خواهد برد. زمانی که مشخصات از User-Defined Data Typesتغییرمی یابد،نقشها برای ستونها بر اساس آن نمونه همچنین تغییر خواهد کرد .
راهنمایی: اگر یک User-Defined Data Type در پایگاه داده Model ایجاد گردد، همه پایگاه داده جدید به طور خودکار به آن نوع دسترسی خواهد داشت .
ایجادکردن User-Defined Data Types
User-Defined Data Types از شئی های پایگاه داده مستقل می باشند و باید در داخل پایگاه داده تعریف شوند قبل از اینکه آنها بتوانند به ستونها تخصیص داده شوند .
ایجاد کردن یک User-Defined Data Types
پوشه User-Defined Data Types را از پایگاه داده Aromatherapy راهبری می کنیم . SQL Server یک لیستی ازUser-Defined Data Types را نشان می دهد (چیزی در پایگاه داده Sample وجودندارد)
دکمه New را کلیک کرده SQL Server کادر محاوره ای User-Defined Data Types را نشان می دهد .
MySample را به عنوان نام User-Defined Data Types تایپ می کنیم .
نوع داده پایگاه را varchar و طول آن را 20 قرار می دهیم .
Dbo.Sample Rule را در Rule Combo Box انتخاب می کنیم .
مقادیر پیش فرض برای Allow Nulls و گزینه های پیش فرض را می پذیریم و OKرا کلیک می کنیم . SQL Server ، User-Defined Data Types را ایجاد می کند .
تخصیص یک ستون برای یک User-Defined Data Types
Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام آن در قاب Details باز می کنیم و Details Table را انتخاب می کنیم . SQL Server ، Table Designer را باز می کند .
ستون Sample را انتخاب کرده وMySample را از Data Type Combo Boxرا انتخاب می کنیم . Data Type , SQL Server را برای MySampleقرار می دهد .
راهنمایی : User-Defined Data Types در پایین لیست Data Type می باشد .
دکمهSave را کلیک کردهSQL Server جدول را با تعریف جدید ذخیره می سازد
جداول موقت
جداول موقت مثل جداول عادی هستند با این تفاوت که آنها فقط زمانی وجود دارند که از آنها استفاده می شود. آنها به طور اتوماتیک وقتی که تمام کاربران دیگر با آنها کاری ندارند توسط Microsoft SQL حذف می شود. نکته : ایجاد یک جدول موقت یک رویه تقریباً پر هزینه می باشد که مربوط به هزینه منابع Server و چرخه های CPU می باشد. بسیاری از استفاده های مرسوم از جداول موقت هم اکنون می توانند با استفاده از جدول متغیرها جایگزین شوند .
استفاده از جدول موقت
جداول موقت با استفاده از همان فرمان Create و Select INTO به عنوان جداول عادی ایجاد می شوند. بعد از تهیه جدول در سؤال قابل دسترسی به ارتباط خواهد بود. (این است که این یک جدول محلی تهیه شده توسط ارتباط متفاوت نیست)، این عمل همچنین مثل جداول عادی قابل استفاده می باشد .
ایجاد جدول موقت محلی
دکمه علامت سؤال جدید را روی Toolbar تجزیه کننده سؤال کلیک کنید تا یک پنجره سؤال جدید ظاهر شود .
روی دکمه Loud Script روی Toolbar تجزیه کننده سؤال کلیک کنید. تجزیه کننده سؤال جعبه پرونده گفتگو را نشان خواهد داد .
نسخه خطی Create Local را انتخاب کنید و Open را کلیک کنید. تجزیه کننده سؤال نسخه خطی را پر می کند .
دکمه Execute Query را در Toolbar تجزیه کننده سؤال کلیک کنید. تجزیه کننده سؤال جدول موقت ایجاد می کند .
User Table Folder را که در پایگاه داده Tempdb در Object browser می باشد را انتخاب کنید .
F5 را برای به کارگیری مجدد نمایشگر Object browser فشار دهید و User Table Folder را گسترش دهید. نمایشگر سؤال جدول محلی dbo.# را در لیست نشان خواهد داد .
ایجاد جدول جهانی موقت
بدون بستن پنجره شامل نسخه خطی Create Local بر روی دکمه New Query روی Query Analyzer Toolbar برای باز کردن یک پنجره جدید خطی، کلیک کنید .
بر روی دکمه Loud Script روی Query Analyzer Toolbar کلیک کنید . Query Analyzer نشانگر جعبه گفتگوی فایل Query خواهد بود .
خطی را که در آن Create 6 Loud وجود دارد را انتخاب کنید و Open را کلیک کنید. تجزیه کننده سؤال خط انتخابی را Loud می کند .
دکمه Execute Query را که روی Query Analyzer Toolbar می باشد را کلیک کنید . Query Analyzer جدول موقت را ایجاد می کند .
User Folder Table که مربوط به Tempdb Database در Object browser را انتخاب کنید .
F5را برای راه اندازی مجدد نمایشگر Object browser فشار دهید . Query Analyzer نمایشگر dbo##6 Loud Table لیست خواهد بود
ایجاد کردن 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 ایجاد کنید .
Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و Design Table را انتخاب می کنیم . Table Designer , SQL Server را باز می کنیم .
دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designer Properties را با صفحه خصوصیات Constraints Check نشان داده شده باز می کنیم .
New را کلیک کرده Ck-Oils , SQL Server را به عنوان نام محدودیت پیشنهاد می دهد. برای این مثال این نام را می پذیریم .
Len(Oil Name)>=4 را به عنوان عبارت محدودیت وارد می کنیم .
راهنمایی: اگر شما یک Check Constraint جدید را ایجاد می کنید و مراقب نیستید که آیا داده های موجود متابعت می شوند، شما می توانید بگوید به SQL Server که از ایجاد کردن داده به وسیله چک نکردنCheck Existing Data On Creation از محدودیت چشم پوشی کند .
Close را کلیک کرده SQL Server کادر محاوره ای Designers Properties Table را می بندد .
دکمه Save را کلیک کرده SQL Server کنترل می کند که همه سطرها در جدول باCheck Constraint مواجه می شوند و سپس محدودیت را ذخیره می کنیم .
مدیریت Check Constraints
به عنوان بخشی از طرح پایگ اه داده، Check Constraints نباید تحت شرایط نرمال نیاز به مقدار زیاد نگهداری داشته باشد. شما آنها را یکباره تعریف کرده زمانی که پایگاه داده را ایجاد می کنید. اگر چه طرحهای پایگاه داده به تدریج تغییر خواهد کرد. تغییرات Check Constraints تغییر خواهد کرد . Enterprise Manager نگهداری محدودیتها را آسان می سازد .
تغییر دادن Check Constraint
Table Designer مکانیزمی برای تغییر متن از یک Check Constraint از همان کادر محاوره ای که شما برای ایجاد آن استفاده کردید فراهم می کند .
تغییر متن محدودیت
اگر Table Designer برای جدول Oils هنوز از تمرین قبل باز نمی باشد به وسیله کلیک راست کردن نام جدول در قاب Details آن را باز کرده وDesign Table را انتخاب می کنیم. Table Designer , SQL Sarver را باز می کند .
دکمه Constraints را کلیک کرده SQL Sarver کادر محاوره ایTable Designer را با صفحه خصوصیات Check Constraint باز می کند .
اطمینان حاصل کنید کهCk – Oilsدر Constraint Combo Box انتخاب شده نشان داده شده است .
متن محدودیت را برایLEN (Oil Name )>2 به عنوان عبارت محدودیت جدید تغییر می دهیم .
Close را کلیک کردهSQL Server کادر محاوره ایTable Designer’s Properties را می بندد .
دکمه Save را کلیک کرده SQL Server همه سطرها در جدول را که با Check Constraint جدید مواجه است را کنترل کرده و سپس محدودیت را ذخیره می سازد .
نگهداری Check Constraints
مانند دیگر خصوصیات جدول دیگر، Check Constraints در کادر محاوره ای Properties ازTable Design نگهداری می گردد .
تغییر نام یک Check Constraints
Table Designer برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و Design Table را انتخاب می کنیم . Table Designer , SQL Server را باز می کنیم .
دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیات Check Constraint نشان داده شده باز می کند .
Ck-Oils را در فیلد Constraint Name انتخاب کرده و آن را به Ck-Deleteme تغییر می دهیم .
Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد .
دکمه Save را کلیک کردهSQL Server همه سطرها در جدول که باCheck Constraint مواجه شده اند را کنترل می کند و سپسConstraint ذخیره می گردد .
حذف یک Check Constraint
Table Designer برای جدول Oils را به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و جدول Design را انتخاب می کنیم . Table Designer , SQL Server را باز می کند .
دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیاتCheck Constraint نشان داده شده باز می کنیم .
اطمینان حاصل کنید که Ck-Deleteme در فیلد محدودیت انتخاب شده می باشد و سپس Delete را کلیک می کنیم . SQL Server محدودیت را برمی دارد .
Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد .
دکمه Save را کلیک می کنیم . SQL Server محدودیت را برمی دارد .
Table Designer را می بندیم .

چهارشنبه 17 خرداد 1391  11:18 PM
تشکرات از این پست
دسترسی سریع به انجمن ها