Security
13-02-07, 00:28
شناخت ايندکس ها
در يک پايگاه داده مرتبط يک ايندکس يک شئی خاصی است که اجازه می دهد به پايگاه داده برای دسترسی سريع سطرها در يک جدول بر پايه ارزشهای يک يا بيشتر ستونها در بسياری از راههای يکسان به عنوان ايندکس از يک کتاب که دسترسی سريع به محتوياتش را مبنی بر کلمات کليدی ويژه فراهم می آورد. SQL Server مايکروسافت دو نوع مختلف از ايندکس ها را فراهم می آورد. کلاستر شده و کلاستر نشده. يک ايندکس کلاستر شده بر طبق سطرهايی از جدول که به طور فيزيکی ذخيره می شوند تعيين می گردند. از طرف ديگر يک ايندکس کلاستر نشده يک شئی جدا شده در داخل پايگاه داده می باشد که به سطرهای ويژه ای در داخل يک جدول توجه می کند اما چگونه ذخيره شدن سطرها را تعيين نمی کند. يک ايندکس مبنايی برای يک يا چند ستون در يک جدول باشد. يک ايندکس که راجع به تک ستون می باشد Simple Index ناميده می شود نظر به اينکه ايندکسی که راجع به به چندين ستون می باشد Composite Index ناميده می شود. به طور کلی برای ايندکس هايی که شما برای خودتان تعريف می کند. SQL Server به طور خودکار يک ايندکس کلاستر شده به نام Primary key Index ايجاد می کند زمانی که شما يک کليد Primary برای يک جدول تعريف می کنيد. يک کليد Primaryستون يا ستونهايی می باشد که به طور واحد برای مشخص کردن هر سطر استفاده خواهد شد.
ايجاد کردن ايندکس ها
در Enterprise Manager ايندکس ها می توانيد با استفاده از The Create Index يا از طريق The Table Designer به وسيله تنظيم خصوصيات The primary key يا به وسيله تعريف ايندکس در کادر محاوره ای The Tables Properties ايجاد شوند.
ايجاد يک ايندکس با استفاده از The Create Index
1- پايگاه داده Aromatherapy را در درخت Console راهبری می کنيم. SQL Server يک ليستی از Objects پايگاه داده را در قاب Details نشان می دهد.
2- دکمه The Wizard را روی نوار ابزار Manager Enterprise کليک می کنيم. SQL Server کادر محاوره ای Select Wizard را نشان می دهد.
3- Create Index Wizard را در قسمت پايگاه داده انتخاب کرده، و سپس OK را کليک می کنيم. SQL Server اولين صفحه از Create Index Wizard را نشان می دهد.
4-Next را کليک کرده ويزارد يک صفحه را نشان می دهد که يک پايگاه داده و جدول را درخواست می کند برای اينکه ايندکس ايجاد خواهد شد.
5- اطمينان حاصل کنيد که Aromatherapy ، نام پايگاه داده انتخاب شده است و Oils را به عنوان نام جدول انتخاب می کنيم.
6-Next را کليک می کنيم ويزارد ايندکس های موجود را برای جدول نشان می دهد. ايندکس ها با نامهای متنوع به وسيلهSQL Server برای اعمال ارتباط ايجاد می گردند. ما در مورد ارتباطات در درس بعد صحبت خواهيم کرد.
7-Next را کليک کرده ويزارد ستونهايی را در جدول نشان می دهد.
8- Include را در سل ايندکس ستونهای Oil Name وLatin Name برای شامل کردن آنها در ايندکس کليک می کنيم.
9- Next را کليک کرده ويزارد يک صفحه را نشان می دهد که خصوصيات ايندکس را نشان می دهد.
10- مقادير پيش فرض را به وسيله کليک کردن Next می پذيريم. ويزارد نشان می دهد يک صفحه برای تأييد انتخابتان و يک نام برای ايندکس درخواست می کند نام پيش فرض را می پذيريم.
11- فيلد Latin Name را انتخاب و دکمه Move Up برای تغيير ترتيب فيلدها در ايندکس کليک می کنيم.
12-Finish را کليک کرده ويزارد نشان می دهد يک متنی برای تأييد اينکه ايندکس به وجود آمده است.
ايجاد کردن يک ايندکس کليک اصلی
1- پوشه جدول از پايگاه داده Aromatherapy را در درخت Console راهبری می کنيم. SQL Server يک ليستی از جداول در پايگاه داده نشان می دهد.
2- Table Designer را برای جدول Planttypes به وسيله کليک راست کردن نام جدول در قاب Details باز می کنيم و Design Table را انتخاب می کنيم SQL Server ، The Table Designer را باز می کند.
3- ستون PlanttypeID را در شبکه با کليک کردن سمت چپ نام ستون انتخاب می کنيم SQL Server ستون را انتخاب می کند.
4- دکمه کليد اصلی را روی نوار ابزار Table Designer کليک می کنيم. SQL Server ستون انتخاب شده را به عنوان کليد اصلی قرار می دهد.
5- دکمه Save را برای ذخيره سازی تغييرات کليک می کنيم و پنجره را Close می کنيم.
ايجاد کردن يک ايندکس ساده
1- Table Designer را برای جداول Oils با کليک راست کردن نام جدول در قاب Details باز می کنيم وDesign Table را انتخاب می کنيم. SQL Server ،Table Designer را باز می کند.
2- دکمه Indexes/Keys را کليک می کنيم SQL Server کادر محاوره ای The Tables Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
راهنمايی: شما همچنين می توانيد کادرهای محاوره ای The Tables Properties را به وسيله کليک کردن دکمه Properties و سپس زبانه/Keys Indexes باز کنيد.
3-New را کليک کرده SQL Server ، Ix-Oils را به عنوان نام ايندکس Oil Id را به عنوان ستون ايندکس شده پيشنهاد می کند.
4- نام ايندکس را به IX-Oil Name تغيير می دهيم.
5- نام ستون ايندکس را به Oilname به وسيله انتخاب ستون از Combo Box تغيير می دهيم.
6- Create Unique , Checkbox را برای ايجاد ايندکس واحد چک می کنيم. SQL Server به ايجاد کردن کادر گروه UNIQUE قادر می باشد.
7- گزينه Index را انتخاب می کنيم.
ايندکس های واحد
يک ايندکس منحصر به فرد تضمين می کند که هيچ دو سطر در يک جدول نمی تواند شامل داده ها دوتايی شده برای ستون يا ستونهای مشخص شده در ايندکس باشد. کليدهای اصلی ايندکس ها معمولاً منحصر به فرد می باشند اما شما می توانيد به طور کلی ايندکس های منحصر به فرد را اگر مايل باشيد اضافه کنيد. مواظب باشيد در مورد ايجاد ايندکس هايی منحصر به فردی روی ستونها که مقادير Null (تهی) را می پذيرد. اگر چه، SQL Server يک سطر تکی را با يک مقدار تهی خواهد پذيرفت اما ستونهای بعدی را به عنوان مقادير دو تايی (Duplicate) نخواهد پذيرفت.
8- Close را کليک کرده، SQL Server کادر محاوره ای را می بندد.
-9دکمه Save در نوار ابزار Table Designer را برای ذخيره سازی تغييرات کليک می کنيم و سپس پنجره Table Designer را می بنديم.
ايجاد کردن يک ايندکس مرکب
1- Table Designer را برای جدول Oil Odors به وسيله کليک راست کردن نام جدول در قاب Details و انتخاب جدول Design باز می کنيم. Table Designer , SQL Server را باز می کند.
2- دکمه Indexes/Keys را کليک می کنيم.SQL Server کادر محاوره اي Tables Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
3- New را کليک کرده SQL Server ، Ix-Oil Odors را به عنوان نام ايندکس و Oil ID را به عنوان ستون ايندکس شده در نظر می گيرد.
4- ستون Odor ID را برای ايندکس به وسيله کليک کردن در سل نام ستون اضافه می کنيم و آن را از Combo Box انتخاب می کنيم.
5- Close را کليک کرده SQL Server کادر محاوره ای را می بندد.
6- دکمه Save را روی نوار ابزار Table Designer برای ذخيره سازی تغييرات کليک کرده و سپس پنجره Table Designer را می بنديم.
نگهداری کردن ايندکس ها
مانند هر شئی ديگر در پايگاه داده، شما بعضی مواقع نياز به تغيير ايندکس ها که ايجاد کرده ايد خواهيد داشت. ايندکس ها و خصوصيات آنها در کادر محاوره ای Table Designers Properties نگهداری می شوند.
تغيير ايندکس ها
همان طوری که شما می توانيد خصوصيات ستونها را به وسيله باز کردن Table Designers اصلاح کنيد و در کادر محاوره ای Tables Properties نشان دهيد. شما می توانيد خصوصيات يک ايندکس را به همان صورت تغيير دهيد.
تغيير نام يک ايندکس
1- Table Designers را برای جدول Oils به وسيله کليک راست کردن نام جدول در قاب Details باز می کنيم و Table Design را انتخاب می کنيم.
2- دکمه Indexes/Keys را کليک می کنيم. SQL Server کادر محاوره ای Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
3- IX-Oil Name را در ايندکس انتخاب شده Combo Box انتخاب می کنيم. SQL Server جزئيات ايندکس را نشان می دهد.
4- نام ايندکس را برای IX-Nameتغيير می دهيم.
5- Close را کليک کرده، SQL Server کادر محاوره اي را می بندد.
6- دکمه Save را در نوار ابزار Table Designer برای ذخيره تغييرات کليک می کنيم.
تغيير ستونها در يک ايندکس
1- اگر Table Designer برای جدولOils باز نباشد آن را به وسيله کليک راست کردن نام جدول در قاب Details باز می کنيم و جدول Design را انتخاب می کنيم.
2- دکمه Indexes/Keys را کليک کردهSQL Server کادر محاوره اي Properties را با زبانه Indexes/Keys انتخاب شده باز می کند.
3- IX-Oil Name را در ايندکس انتخاب شده Combo Box انتخاب می کنيم. SQL Server خصوصيات ايندکس را نشان می دهد.
4- سل Latin Name را در فيلد Column Name را انتخاب کرده و ستون ايندکس شده را برای Plant Type ID تغيير می دهيم.
5- Close را کليک کرده SQL Server کادر محاوره ای را می بندد.
6- دکمه Save را در نوار ابزار Table Designer برای ذخيره سازی تغييرات کليک می کنيم.
برداشتن Indexe ها
بعضی مواقع شما نياز به برداشتن يک ايندکس از يک جدول خواهيد داشت، به دليل اينکه آن خيلی زياد مورد نياز نمی باشد يا به دليل اينکه کارايی بازيافت داده های بهبود يافته که ايندکس فراهم می آورد به وسيله زمانهای اضافی مورد نياز برای نگهداری ايندکس موقعی که داده مورد نظر به هنگام می شود بيشتر شود. مانند همه وظايف نگهداری ايندکس، حذف کردن يک ايندکس که با استفاده کردن از زبانه Indexes/Keys از کادر محاوره ای Table Designers Properties به انجام می رسد.
از بين بردن يک ايندکس
1- اگرTable Designer برای جدول Oils باز نباشد، آن را به وسيله کليک راست کردن نام جدول در قاب Details باز کرده و جدول Design را انتخاب می کنيم. Table Designer SQL Server را باز می کند.
2- دکمه Indexes/Keys را کليک کرده SQL Server کادر محاوره ای Tables Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
3- IX-Name را در ايندکس انتخاب شده Combo Box انتخاب می کنيم.
4- دکمه Delete را کليک کرده SQL Server ، ايندکس را حذف می کند.
5- Close را کليک کرده، SQL Server کادرهای محاوره ای را می بندد.
6- دکمه Save را در نوار ابزار Table Designer برای ذخيره سازی تغييرات کليک می کنيم و سپس پنجره Table Designer را می بنديم.
در يک پايگاه داده مرتبط يک ايندکس يک شئی خاصی است که اجازه می دهد به پايگاه داده برای دسترسی سريع سطرها در يک جدول بر پايه ارزشهای يک يا بيشتر ستونها در بسياری از راههای يکسان به عنوان ايندکس از يک کتاب که دسترسی سريع به محتوياتش را مبنی بر کلمات کليدی ويژه فراهم می آورد. SQL Server مايکروسافت دو نوع مختلف از ايندکس ها را فراهم می آورد. کلاستر شده و کلاستر نشده. يک ايندکس کلاستر شده بر طبق سطرهايی از جدول که به طور فيزيکی ذخيره می شوند تعيين می گردند. از طرف ديگر يک ايندکس کلاستر نشده يک شئی جدا شده در داخل پايگاه داده می باشد که به سطرهای ويژه ای در داخل يک جدول توجه می کند اما چگونه ذخيره شدن سطرها را تعيين نمی کند. يک ايندکس مبنايی برای يک يا چند ستون در يک جدول باشد. يک ايندکس که راجع به تک ستون می باشد Simple Index ناميده می شود نظر به اينکه ايندکسی که راجع به به چندين ستون می باشد Composite Index ناميده می شود. به طور کلی برای ايندکس هايی که شما برای خودتان تعريف می کند. SQL Server به طور خودکار يک ايندکس کلاستر شده به نام Primary key Index ايجاد می کند زمانی که شما يک کليد Primary برای يک جدول تعريف می کنيد. يک کليد Primaryستون يا ستونهايی می باشد که به طور واحد برای مشخص کردن هر سطر استفاده خواهد شد.
ايجاد کردن ايندکس ها
در Enterprise Manager ايندکس ها می توانيد با استفاده از The Create Index يا از طريق The Table Designer به وسيله تنظيم خصوصيات The primary key يا به وسيله تعريف ايندکس در کادر محاوره ای The Tables Properties ايجاد شوند.
ايجاد يک ايندکس با استفاده از The Create Index
1- پايگاه داده Aromatherapy را در درخت Console راهبری می کنيم. SQL Server يک ليستی از Objects پايگاه داده را در قاب Details نشان می دهد.
2- دکمه The Wizard را روی نوار ابزار Manager Enterprise کليک می کنيم. SQL Server کادر محاوره ای Select Wizard را نشان می دهد.
3- Create Index Wizard را در قسمت پايگاه داده انتخاب کرده، و سپس OK را کليک می کنيم. SQL Server اولين صفحه از Create Index Wizard را نشان می دهد.
4-Next را کليک کرده ويزارد يک صفحه را نشان می دهد که يک پايگاه داده و جدول را درخواست می کند برای اينکه ايندکس ايجاد خواهد شد.
5- اطمينان حاصل کنيد که Aromatherapy ، نام پايگاه داده انتخاب شده است و Oils را به عنوان نام جدول انتخاب می کنيم.
6-Next را کليک می کنيم ويزارد ايندکس های موجود را برای جدول نشان می دهد. ايندکس ها با نامهای متنوع به وسيلهSQL Server برای اعمال ارتباط ايجاد می گردند. ما در مورد ارتباطات در درس بعد صحبت خواهيم کرد.
7-Next را کليک کرده ويزارد ستونهايی را در جدول نشان می دهد.
8- Include را در سل ايندکس ستونهای Oil Name وLatin Name برای شامل کردن آنها در ايندکس کليک می کنيم.
9- Next را کليک کرده ويزارد يک صفحه را نشان می دهد که خصوصيات ايندکس را نشان می دهد.
10- مقادير پيش فرض را به وسيله کليک کردن Next می پذيريم. ويزارد نشان می دهد يک صفحه برای تأييد انتخابتان و يک نام برای ايندکس درخواست می کند نام پيش فرض را می پذيريم.
11- فيلد Latin Name را انتخاب و دکمه Move Up برای تغيير ترتيب فيلدها در ايندکس کليک می کنيم.
12-Finish را کليک کرده ويزارد نشان می دهد يک متنی برای تأييد اينکه ايندکس به وجود آمده است.
ايجاد کردن يک ايندکس کليک اصلی
1- پوشه جدول از پايگاه داده Aromatherapy را در درخت Console راهبری می کنيم. SQL Server يک ليستی از جداول در پايگاه داده نشان می دهد.
2- Table Designer را برای جدول Planttypes به وسيله کليک راست کردن نام جدول در قاب Details باز می کنيم و Design Table را انتخاب می کنيم SQL Server ، The Table Designer را باز می کند.
3- ستون PlanttypeID را در شبکه با کليک کردن سمت چپ نام ستون انتخاب می کنيم SQL Server ستون را انتخاب می کند.
4- دکمه کليد اصلی را روی نوار ابزار Table Designer کليک می کنيم. SQL Server ستون انتخاب شده را به عنوان کليد اصلی قرار می دهد.
5- دکمه Save را برای ذخيره سازی تغييرات کليک می کنيم و پنجره را Close می کنيم.
ايجاد کردن يک ايندکس ساده
1- Table Designer را برای جداول Oils با کليک راست کردن نام جدول در قاب Details باز می کنيم وDesign Table را انتخاب می کنيم. SQL Server ،Table Designer را باز می کند.
2- دکمه Indexes/Keys را کليک می کنيم SQL Server کادر محاوره ای The Tables Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
راهنمايی: شما همچنين می توانيد کادرهای محاوره ای The Tables Properties را به وسيله کليک کردن دکمه Properties و سپس زبانه/Keys Indexes باز کنيد.
3-New را کليک کرده SQL Server ، Ix-Oils را به عنوان نام ايندکس Oil Id را به عنوان ستون ايندکس شده پيشنهاد می کند.
4- نام ايندکس را به IX-Oil Name تغيير می دهيم.
5- نام ستون ايندکس را به Oilname به وسيله انتخاب ستون از Combo Box تغيير می دهيم.
6- Create Unique , Checkbox را برای ايجاد ايندکس واحد چک می کنيم. SQL Server به ايجاد کردن کادر گروه UNIQUE قادر می باشد.
7- گزينه Index را انتخاب می کنيم.
ايندکس های واحد
يک ايندکس منحصر به فرد تضمين می کند که هيچ دو سطر در يک جدول نمی تواند شامل داده ها دوتايی شده برای ستون يا ستونهای مشخص شده در ايندکس باشد. کليدهای اصلی ايندکس ها معمولاً منحصر به فرد می باشند اما شما می توانيد به طور کلی ايندکس های منحصر به فرد را اگر مايل باشيد اضافه کنيد. مواظب باشيد در مورد ايجاد ايندکس هايی منحصر به فردی روی ستونها که مقادير Null (تهی) را می پذيرد. اگر چه، SQL Server يک سطر تکی را با يک مقدار تهی خواهد پذيرفت اما ستونهای بعدی را به عنوان مقادير دو تايی (Duplicate) نخواهد پذيرفت.
8- Close را کليک کرده، SQL Server کادر محاوره ای را می بندد.
-9دکمه Save در نوار ابزار Table Designer را برای ذخيره سازی تغييرات کليک می کنيم و سپس پنجره Table Designer را می بنديم.
ايجاد کردن يک ايندکس مرکب
1- Table Designer را برای جدول Oil Odors به وسيله کليک راست کردن نام جدول در قاب Details و انتخاب جدول Design باز می کنيم. Table Designer , SQL Server را باز می کند.
2- دکمه Indexes/Keys را کليک می کنيم.SQL Server کادر محاوره اي Tables Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
3- New را کليک کرده SQL Server ، Ix-Oil Odors را به عنوان نام ايندکس و Oil ID را به عنوان ستون ايندکس شده در نظر می گيرد.
4- ستون Odor ID را برای ايندکس به وسيله کليک کردن در سل نام ستون اضافه می کنيم و آن را از Combo Box انتخاب می کنيم.
5- Close را کليک کرده SQL Server کادر محاوره ای را می بندد.
6- دکمه Save را روی نوار ابزار Table Designer برای ذخيره سازی تغييرات کليک کرده و سپس پنجره Table Designer را می بنديم.
نگهداری کردن ايندکس ها
مانند هر شئی ديگر در پايگاه داده، شما بعضی مواقع نياز به تغيير ايندکس ها که ايجاد کرده ايد خواهيد داشت. ايندکس ها و خصوصيات آنها در کادر محاوره ای Table Designers Properties نگهداری می شوند.
تغيير ايندکس ها
همان طوری که شما می توانيد خصوصيات ستونها را به وسيله باز کردن Table Designers اصلاح کنيد و در کادر محاوره ای Tables Properties نشان دهيد. شما می توانيد خصوصيات يک ايندکس را به همان صورت تغيير دهيد.
تغيير نام يک ايندکس
1- Table Designers را برای جدول Oils به وسيله کليک راست کردن نام جدول در قاب Details باز می کنيم و Table Design را انتخاب می کنيم.
2- دکمه Indexes/Keys را کليک می کنيم. SQL Server کادر محاوره ای Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
3- IX-Oil Name را در ايندکس انتخاب شده Combo Box انتخاب می کنيم. SQL Server جزئيات ايندکس را نشان می دهد.
4- نام ايندکس را برای IX-Nameتغيير می دهيم.
5- Close را کليک کرده، SQL Server کادر محاوره اي را می بندد.
6- دکمه Save را در نوار ابزار Table Designer برای ذخيره تغييرات کليک می کنيم.
تغيير ستونها در يک ايندکس
1- اگر Table Designer برای جدولOils باز نباشد آن را به وسيله کليک راست کردن نام جدول در قاب Details باز می کنيم و جدول Design را انتخاب می کنيم.
2- دکمه Indexes/Keys را کليک کردهSQL Server کادر محاوره اي Properties را با زبانه Indexes/Keys انتخاب شده باز می کند.
3- IX-Oil Name را در ايندکس انتخاب شده Combo Box انتخاب می کنيم. SQL Server خصوصيات ايندکس را نشان می دهد.
4- سل Latin Name را در فيلد Column Name را انتخاب کرده و ستون ايندکس شده را برای Plant Type ID تغيير می دهيم.
5- Close را کليک کرده SQL Server کادر محاوره ای را می بندد.
6- دکمه Save را در نوار ابزار Table Designer برای ذخيره سازی تغييرات کليک می کنيم.
برداشتن Indexe ها
بعضی مواقع شما نياز به برداشتن يک ايندکس از يک جدول خواهيد داشت، به دليل اينکه آن خيلی زياد مورد نياز نمی باشد يا به دليل اينکه کارايی بازيافت داده های بهبود يافته که ايندکس فراهم می آورد به وسيله زمانهای اضافی مورد نياز برای نگهداری ايندکس موقعی که داده مورد نظر به هنگام می شود بيشتر شود. مانند همه وظايف نگهداری ايندکس، حذف کردن يک ايندکس که با استفاده کردن از زبانه Indexes/Keys از کادر محاوره ای Table Designers Properties به انجام می رسد.
از بين بردن يک ايندکس
1- اگرTable Designer برای جدول Oils باز نباشد، آن را به وسيله کليک راست کردن نام جدول در قاب Details باز کرده و جدول Design را انتخاب می کنيم. Table Designer SQL Server را باز می کند.
2- دکمه Indexes/Keys را کليک کرده SQL Server کادر محاوره ای Tables Properties را با صفحه خصوصيات Indexes/Keys نشان داده شده باز می کند.
3- IX-Name را در ايندکس انتخاب شده Combo Box انتخاب می کنيم.
4- دکمه Delete را کليک کرده SQL Server ، ايندکس را حذف می کند.
5- Close را کليک کرده، SQL Server کادرهای محاوره ای را می بندد.
6- دکمه Save را در نوار ابزار Table Designer برای ذخيره سازی تغييرات کليک می کنيم و سپس پنجره Table Designer را می بنديم.