ایندکس گذاری و نقش آن در جداول اکسس (به همراه ویدئوی آموزشی)

ایندکس گذاری و اهمیت ایندکس گذاری جداول در اکسس موضوع مطلب امروز ما می باشد .

اینکه اصلا معنا و مفهوم ایندکس چه هست ؟

چه کاربردی می تواند برای ما در جداول و بانک اطلاعاتی ما داشته باشد ؟

مزایا و معایب آن و نحوه ایندکس کردن فیلدها و تنظیمات مربوط به آن از جمله موضوعاتی است که امروز به آنها خواهیم پرداخت .

پس با ما تا انتهای این مطلب همراه باشید

مطلب مرتبط : طراحی و ایجاد یک بانک اطلاعاتی توسط نرم افزار اکسس

 

مفهوم ایندکس چیست ؟

ابتدا بیایید نگاهی به مفهوم خود کلمه ایندکس بیاندازیم و ببینیم که در کجا و از چه طریقی می تواند برای ما مفید واقع شود .

همه ما عاشق سرعت هستیم .

فرقی نمی کند که در کف جاده و یا خیابان در حال رانندگی باشیم و یا در یک مغازه  یا فروشگاه  به دنبال یک کالای خاص باشیم .

و یا حتی در یک کتابخانه پر از کتاب بدنبال یک کتاب خاص بگردیم .

در همه این حالات می خواهیم در سریعترین زمان ممکن کار خود را به سرانجام رسانده و به هدف نهایی خود برسیم . 

بیایید با هم یک مثال را بررسی کنیم .

فرض کنید کتابی شامل ۵۰۰ صفحه در اختیار دارید .

بنابر هر دلیلی می خواهید بدانید که عبارت “City Life” در چه صفحاتی از این کتاب شما وارد شده است .

بنظر شما چه راهکاری برای پیدا کردن این عبارت در بین صفحات کتاب وجود دارد ؟

نظرتان چیست که هر ۵۰۰ صفحه کتاب را ورق زده و تکک عبارات را جستجو  کنید تا به عبارت مورد نظر خود برخورد کنید . ؟

 مطمئنا کار بسیار وقت گیر و خسته کننده ای خواهد بود .

اما راهکار بهتری هم برای این موضوع وجود دارد .

به تصویر زیر نگاهی بیاندازید .

ایندکس گذاری جداول در اکسس

 در تصویر بالا کافی است که عبارت City Life را پیدا کنید. 

شماره و اعدادی که در روبروی این عبارت درج شده اند بیانگر شماره صفحاتی هستند که این عبارت در آنها وارد شده است .

به همین راحتی و به سادگی هر  چه تمامتر شما  توانستید به هدف مورد نظر خود در این زمینه برسید .

اما این تصویر اشاره به چه چیزی می کند .

این تصویر همان چیزی است که ما از آن تحت عنوان ایندکس یا نمایه نام می بریم و در اغلب کتابها مخصوصا آنهایی که دارای تعداد صفحات زیادی هستند معمولا چند صفحه ای از انتهای کتاب را به ایندکس گذاری و یا نمایه سازی اختصاص می دهند .

پس تا اینجا با مفهوم ایندکس و ایندکس گذاری بطور عملی و کاربردی آشنا شدیم .

همینطور متوجه شدیم که ایندکس گذاری تا چه حد می تواند بر روی عملکرد و سرعت کار ما تاثیر مثبتی داشته باشد. 

کاری که ایندکس گذاری کلمات در یک کتاب برای ما انجام می دهد دقیقا مشابه کاری است که ایندکس گذاری فیلدها در جداول اکسس قرار است برای ما انجام دهند .

موضوعی که در ادامه بیشتر آن را باز خواهیم کرد .

اما یک سوال اساسی :

” چه کلماتی را باید برای ایندکس گذاری انتخاب نمود ؟ ”

مسلما ما نمی توانیم تمامی کلماتی را که در یک کتاب وجود دارند برای ایندکس گذاری انتخاب کنیم و همه آنها را ایندکس کنیم .

پس ملاک ما برای ایندکس گذاری کلمات در یک کتاب چیست و چه کلماتی را باید برای این منظور انتخاب کنیم ؟ 

در جداول اکسس چطور ؟ چه فیلد یا فیلدهایی را باید برای این منظور انتخاب نماییم؟.

به این سوالات نیز در جای خود پاسخ خواهیم داد .

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

این دقیقا همان کاری است که در مثال ایندکس کتابها مورد بررسی قرار دادیم .

برای اینکه بیشتر و بهتر با این مفهوم در اکسس و کاربرد آن در جداول آشنا شوید به تصویر زیر دقت کنید . 

 

 

ایندکس گذاری جداول در اکسس

ما در این تصویر برای فیلد مربوط به نام نویسنده یک ایندکس تعریف کرده ایم .

اتفاقی که می افتد این است که اکسس بطور خودکار کنترل می کند که مثلا نویسنده ای به نام علی شریعتی در چه فیلدهایی نامش ذکر شده است .

حال اگر شما نام شریعتی را در این جدول سرچ کنید اکسس به جای اینکه فیاد مربوط به نویسنده ها ره به ترتیب از بالا تا پایین برای نام علی شریعتی کنترل کند بطور مستقیم به سراغ فیلدهایی می رود که از قبل آنها را ایندکس کرده است و می داند که از بین تمام رکوردها فقط در رکوردهای شماره ۱ ,۵,۱۳, ۱۴  نام این نویسنده ذکر شده است . 

بنابراین نیازی به جستجوی تمامی رکوردهای جدول ندارد .

اکنون رسیدیم به این سوال مهم که ما باید بر روی کدام  یک از فیلدهای یک جدول ایندکس گذاری کنیم .

معیار های ایندکس گذاری جداول در اکسس

جدولی را در نظر بگیرید که دارای ۱۰ ستون از اطلاعات است .

آیا ما می توانیم بر روی تمامی ۱۰ ستون مذکور ایندکس تعریف کنیم ؟

پاسخ به این سوال مثبت است .

یعنی اکسس این اختیار را به ما داده است که بر روی هر چند ستون از اطلاعات که مد نظر ماست ایندکس گذاری کنیم .

البته این کار را به هیچ عنوان توصیه نمی کنیم .

این کار دقیقا مثل این است که ما بخواهیم برای تمامی کلمات موجود در یک کتاب ۵۰۰ صفحه ای ایندکس تعریف کنیم .

امری که اصلا نه معقولانه است و نه نیازی برای این کار پیدا می کنیم .

پس ما باید بر روی چه فیلدها و یا رکوردهایی ایندکس تعریف کنیم .

هیچ پاسخ قطعی برای این سوال نمی توان عنوان کرد .

چرا که فرآیند ایندکس گذاری کاملا بسته به نیاز و خواسته های شما دارد .

اما  برای اینکه بهتر بتوانیم از بین چندین و چند فیلد بهترین آنها را برای فرآیند ایندکس گذاری انتخاب کنیم چند توصیه کلی وجود دارد ۱- فیلدهایی را برای اعمال ایندکس و نمایه سازی انتخاب نمایید که بعدها بیشترین جستجو های خود را بر مبنای آنها طراحی خواهید کرد . 

۲- فرآیند ایندکس گذاری را بر روی فیلدهایی انجام دهید که دارای اطلاعات متنوعی هستند . یعنی قرار نیست اطلاعات شبیه به هم در آنها ذخیره شوند .

بعنوان مثال در جدول فوق که اطلاعات مربوط به کتابها و نویسنده های آنها را در خود ذخیره می کند شاید به جای ایندکس سازی فیلد مربوط به نام نویسنده بهتر باشد که ایندکس خود را بر روی فیلد مربوط به کتابها قرار دهید . به چه علت ؟

چون  فرض کنید که یک نویسنده دارای ۱۰ عنوان کتاب می باشد .

این یعنی اینکه نام این نویسنده ۱۰ بار در فیلد مربوط به نام نویسنده ها تکرار می شود .

اما از آنجا که احتمال اینکه هر ۱۰ عنوان کتاب مربوط به این نویسنده دارای یک نام واحد باشند بسیار کم است پس طبق توصیه دوم که در بالا به آن اشاره شد بهتر فیلد مربوط به نام کتاب را برای ایندکس گذاری انتخاب کنید .

۳٫- از ایندکس گذاری فقط در مواردی استفاده کنید که با حجم بسیار زیادی از اطلاعات در جداول خود مواجه هستید .

استفاده کردن و یا نکردن از قابلیت ایندکس در  حجم کم اطلاعات نمی تواند  تفاوت آنچنانی را برای شما  از لحاظ سرعت و دقت در کار با داده ها به ارمغان بیاورد .

۴- بطور کل ما دو دسته ایندکس داریم یا ایندکس ساده و یا ایندکس ترکیبی 

بهتر است ایندکس گذاری مختص  فیلدی  باشد  که بعد ها می خواهیم بیشترین جستجوها را بر مبنای آن انجام دهیم  این همان ایندکس ساده است .

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

در ادامه به شما خواهیم گفت که به چه نحو می توانید یک ایندکس ساده و یا ترکیبی ایجاد نمایید .

نحوه ایجاد ایندکس در جداول اکسس

گفتیم که برای ایجاد ایندکس در جداول اکسس ابتدا باید تصمیم بگیرید که بر روی چه فیلد و یا فیلدهایی می خواهید ایندکس گذاری گذارید .

بعد از انتخاب فیلد مورد نظر  مراحل زیر را برای تنظیم ایندکس دنبال نمایید .

۱- به نمای طراحی جدول اکسس خود بروید .

۲٫- در قسمت بالا بر روی فیلدی که می خواهید ایندکس گذاری کنید کلیک کنید تا انتخاب شود .

۳- در قسمت Property Field  به سراغ گزینه Indexed  رفته فلش روبه پایین آن را بزنید.

 

ایندکس گذاری جداول در اکسس

همانگونه که در تصویر مشاهده می کنید سه گزینه برای شما به نمایش در می آید با هم این گزینه ها را بررسی می کنیم :

۱- گزینه NO

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

۲- گزینه  Yes(Duplicate OK

انتخاب این گزینه اکسس فرآیند ایندکس کردن اطلاعاتی را که در این فیلد وارد می شود شروع خواهد کرد با انتخاب این گزینه اکسس اجازه این را به شما می دهد که بتوانید اطلاعات تکراری در این فیلد وارد نمایید.

۳- گزینه Yes ( No Duplicate

با انتخاب این گزینه نیز اکسس فرایند ایندکس کردن اطلاعات این فیلد را انجام می دهد با این تفاوت که دیگر شما مجاز به وارد کردن اطلاعات تکراری در این فیلد نیستید .

این حالت درست مانند حالتی است که در مورد فیلدکلید اولیه یا Primary Key    شما اتفاق می افتد

اکسس بطور خودکار فیلد کلید اولیه در یک جدول را ایندکس می کند اما اجازه وارد کردن مقادیر تکراری را در این فیلد به کاربر نمی دهد .

آنچه که در بالا انجام دادیم مربوط به ایجاد ایندکس ساده است اما برای ایجاد ایندکس ترکیبی باید مراحل زیر را دنبال نماییم .

۱- ابتدا به محیط طراحی یا Design  جدول خود بروید .

۲-  در سربرگ Design  از داشبورد Show /  Hide  گزینه Indexes  را انتخاب نمایید .

ایندکس گذاری جداول در اکسس

 بعد از انجام این کار  کادری  همانند تصویر زیر برای شما به نمایش در می آید .

 

ایندکس گذاری جداول در اکسس

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

۱- چگونه یک ایندکس ترکیبی ایجاد کنیم ؟

۲- چگونه یک ایندکس را ویرایش نماییم ؟

۳- چگونه یک ایندکس را حذف نماییم ؟

مزایا و معایب استفاده از ایندکس در اکسس

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

این افزایش سرعت در جستجوی داده ها وقتی بهتر خود را نشان می دهد که ما با حجم زیادی از اطلاعات روبرو باشیم .

اما در عین حال ایندکس کردن دارای ایراد هم هست .

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

در واقع هر بار که شما اطلاعاتی را به جدول خود وارد می کنید یا اطلاعاتی را حذف می کنید اکسس مجبور می شود کل فرآیند ایندکس گذاری خود را بر مبنای تغییراتی که رخ داده است دوباره بازبینی کند و این تغییرات را در ساختار ایندکس شده نیز اعمال نماید .

به همین دلیل است که عنوان کردیم که باید از ایندکس گذاری بر روی فیلدهای غیر ضروری خودداری نمود .

در اینجا سعی کردیم بطور مفصل به مبحث ایندکس گذاری جداول اکسس پرداخته و مسائل و نکات مربوط به آن را با هم مورد بررسی قرار دهیم

 از اینکه تا انتهای این مطلب همراه ما بودید از شما سپاسگذاریم .

اگر نظر و یا سوالی در مورد این مطلب دارید می توانید در قسمت نظرات مطرح نمایید .

ایندکس گذاری جداول در اکسس

آموزش اکسس بازدید : 144 views ۹ شهریور, ۱۳۹۸ ۱