ایندکس گذاری و نقش آن در جداول اکسس + ویدئوی آموزشی
ایندکس گذاری و اهمیت ایندکس گذاری جداول در اکسس موضوع مطلب امروز ما می باشد .
اینکه اصلا معنا و مفهوم ایندکس چه هست ؟
چه کاربردی می تواند برای ما در جداول و بانک اطلاعاتی ما داشته باشد ؟
مزایا و معایب آن و نحوه ایندکس کردن فیلدها و تنظیمات مربوط به آن از جمله موضوعاتی است که امروز به آنها خواهیم پرداخت .
پس با من تا انتهای این مطلب همراه باشید تا همه چیزهایی را که در مورد ایندکس ها لازم است را یاد بگیرید .
مطلب مرتبط : طراحی و ایجاد یک بانک اطلاعاتی توسط نرم افزار اکسس
مفهوم ایندکس چیست ؟
ابتدا بیایید نگاهی به مفهوم خود کلمه ایندکس بیاندازیم و ببینیم که در کجا و از چه طریقی می تواند برای ما مفید واقع شود .
برای شروع بیایید با هم یک مثال را بررسی کنیم .
فرض کنید کتابی شامل ۵۰۰ صفحه در اختیار دارید .
بنابر هر دلیلی می خواهید بدانید که عبارت “City Life” یا همان ” زندگی شهری ” در چه صفحاتی از این کتاب وارد شده است .
بنظر تان چه راههایی برای پیدا کردن این عبارت در بین صفحات کتاب وجود دارد ؟
فکر می کنید بشود هر ۵۰۰ صفحه کتاب را ورق زده و تک تک صفحات را جستجو کنید تا به عبارت مورد نظر خود برخورد کنید . ؟
کار نشدنی نیست ! اما مطمئنا بسیار وقت گیر و خسته کننده خواهد بود .
اما راهکار بهتری هم برای این موضوع وجود دارد .
به تصویر زیر نگاه کنید .
یک مطلب پیشنهادی : صدور پیغام مناسب قبل از ذخیره اطلاعات در فرم اکسس
در تصویر بالا کافی است که عبارت City Life را پیدا کنید.
شماره و اعدادی که در روبروی این عبارت درج شده اند همان شماره صفحاتی هستند که این عبارت در آنها وارد شده است .
به همین راحتی و به سادگی هر چه تمامتر شما توانستید به هدف مورد نظر خود در این زمینه برسید .
اما این تصویر اشاره به چه چیزی می کند .
این تصویر همان چیزی است که ما از آن تحت عنوان ایندکس یا نمایه نام می بریم و در اغلب کتابها وجود دارد . مخصوصا آنهایی که دارای تعداد صفحات زیادی هستند معمولا چند صفحه ای از انتهای کتاب را به ایندکس گذاری و یا نمایه سازی اختصاص می دهند .
پس تا اینجا با مفهوم ایندکس و ایندکس گذاری بطور عملی و کاربردی آشنا شدیم .
همینطور متوجه شدیم که ایندکس گذاری تا چه حد می تواند بر روی عملکرد و سرعت کار ما تاثیر مثبتی داشته باشد.
کاری که ایندکس گذاری کلمات در یک کتاب برای ما انجام می دهد دقیقا مشابه کاری است که قرار است ایندکس گذاری فیلدها در جداول اکسس برای ما انجام دهند .
موضوعی که در ادامه بیشتر آن را باز خواهیم کرد .
اما یک سوال اساسی :
” چه کلماتی را باید برای ایندکس گذاری انتخاب نمود ؟ “
مسلما ما نمی توانیم تمامی کلماتی را که در یک کتاب وجود دارند برای ایندکس گذاری انتخاب کنیم و همه آنها را ایندکس کنیم .
پس ملاک ما برای ایندکس گذاری کلمات در یک کتاب چیست و چه کلماتی را باید برای این منظور انتخاب کنیم ؟
در جداول اکسس چطور ؟
چه فیلد یا فیلدهایی را باید برای این منظور انتخاب نماییم؟.
به این سوالات نیز در جای خود پاسخ خواهیم داد .
اما ایندکس گذاری در یک جدول شامل فرآیندی است که اکسس با استفاده از آن مکانی را که دیتای مورد نظر ما در آن قرار دارد را در خود ذخیره می کند و در مواقع مورد نیاز به محل مذکور رفته و دیتای موجود در آن را برای ما بر می گرداند .
این دقیقا همان کاری است که در مثال ایندکس کتابها مورد بررسی قرار دادیم .
برای اینکه بیشتر و بهتر با این مفهوم در اکسس و کاربرد آن در جداول آشنا شوید به تصویر زیر دقت کنید .
ما در این تصویر برای فیلد مربوط به نام نویسنده یک ایندکس تعریف کرده ایم .
اتفاقی که می افتد این است که اکسس بطور خودکار کنترل می کند که مثلا نویسنده ای به نام علی شریعتی در چه فیلدهایی نامش ذکر شده است .
حال اگر شما نام شریعتی را در این جدول سرچ کنید اکسس به جای اینکه فیلد مربوط به نویسنده ها را به ترتیب از بالا تا پایین برای نام علی شریعتی کنترل کند بطور مستقیم به سراغ فیلدهایی می رود که از قبل آنها را ایندکس کرده است و می داند که از بین تمام رکوردها فقط در رکوردهای شماره ۱ ,۵,۱۳, ۱۴ نام این نویسنده ذکر شده است .
بنابراین نیازی به جستجوی تمامی رکوردهای جدول ندارد .
حالا رسیدیم به این سوال مهم که ما باید بر روی کدام یک از فیلدهای یک جدول ایندکس گذاری کنیم .
معیار های ایندکس گذاری جداول در اکسس
جدولی را در نظر بگیرید که دارای ۱۰ ستون از اطلاعات است .
آیا ما می توانیم بر روی تمامی ۱۰ ستون مذکور ایندکس تعریف کنیم ؟
پاسخ به این سوال مثبت است .
یعنی اکسس این اختیار را به ما داده است که بر روی هر چند ستون از اطلاعات که مد نظر ماست ایندکس گذاری کنیم .
البته این کار را به هیچ عنوان توصیه نمی کنیم .
این کار دقیقا مثل این است که ما بخواهیم برای تمامی کلمات موجود در یک کتاب ۵۰۰ صفحه ای ایندکس تعریف کنیم .
امری که اصلا نه معقولانه است و نه نیازی برای این کار پیدا می کنیم .
پس ما باید بر روی چه فیلدها و یا رکوردهایی ایندکس تعریف کنیم .
هیچ پاسخ قطعی برای این سوال نمی توان عنوان کرد .
چرا که فرآیند ایندکس گذاری کاملا بسته به نیاز و خواسته های شما دارد .
معیارهای ایندکس گذاری در جدول های اکسس
برای اینکه بهتر بتوانیم از بین چندین و چند فیلد بهترین آنها را برای فرآیند ایندکس گذاری انتخاب کنیم چند توصیه کلی وجود دارد.
۱- فیلدهایی را برای اعمال ایندکس و نمایه سازی انتخاب نمایید که بعدها بیشترین جستجو های خود را بر مبنای آنها طراحی خواهید کرد .
۲- فرآیند ایندکس گذاری را بر روی فیلدهایی انجام دهید که دارای اطلاعات متنوعی هستند .
یعنی قرار نیست اطلاعات شبیه به هم در آنها ذخیره شوند .
بعنوان مثال در جدول بالا که اطلاعات مربوط به کتابها و نویسنده های آنها را در خود ذخیره می کند شاید به جای ایندکس کردن فیلد مربوط به نام نویسنده بهتر باشد که ایندکس خود را بر روی فیلد مربوط به کتابها قرار دهید . به چه علت ؟
چون فرض کنید که یک نویسنده دارای ۱۰ عنوان کتاب می باشد .
این یعنی اینکه نام این نویسنده ۱۰ بار در فیلد مربوط به نام نویسنده ها تکرار می شود .
اما از آنجا که احتمال اینکه هر ۱۰ عنوان کتاب مربوط به این نویسنده دارای یک نام واحد باشند بسیار کم است پس طبق توصیه دوم که در بالا به آن اشاره شد بهتر است فیلد مربوط به نام کتاب را برای ایندکس گذاری انتخاب کنید .
۳٫- از ایندکس گذاری فقط در مواردی استفاده کنید که با حجم بسیار زیادی از اطلاعات در جداول خود مواجه هستید .
استفاده کردن و یا نکردن از قابلیت ایندکس در حجم کم اطلاعات نمی تواند تفاوت آنچنانی را برای شما از لحاظ سرعت و دقت در کار با داده ها به ارمغان بیاورد .
۴- بطور کل ما دو دسته ایندکس داریم یا ایندکس ساده و یا ایندکس ترکیبی
بهتر است ایندکس گذاری مختص فیلدی باشد که بعدها می خواهیم بیشترین جستجوها را بر مبنای آن انجام دهیم این همان ایندکس ساده است .
حال اگر در آینده ممکن است بر روی اطلاعات موجود در بیشتر از یک فیلد جستجو انجام دهید می توانید بطور ترکیبی بر روی هر کدام از آنها ایندکس گذاری نمایید .
در ادامه به شما خواهم گفت که به چه نحو می توانید یک ایندکس ساده و یا ترکیبی ایجاد نمایید .
نحوه ایجاد ایندکس در جداول اکسس
گفتیم که برای ایجاد ایندکس در جداول اکسس ابتدا باید تصمیم بگیرید که بر روی چه فیلد و یا فیلدهایی می خواهید ایندکس گذاری گذارید .
بعد از انتخاب فیلد مورد نظر مراحل زیر را برای تنظیم ایندکس دنبال نمایید .
۱- به نمای طراحی جدول اکسس خود بروید .
۲٫- در قسمت بالا بر روی فیلدی که می خواهید ایندکس گذاری کنید کلیک کنید تا انتخاب شود .
۳- در قسمت Property Field به سراغ گزینه Indexed رفته فلش روبه پایین آن را بزنید.
همانگونه که در تصویر مشاهده می کنید سه گزینه برای شما به نمایش در می آید با هم این گزینه ها را بررسی می کنیم :
۱- گزینه NO
این گزینه بصورت پیشفرض انتخاب شده است و با انتخاب آن هیچ ایندکسی بر روی فیلد انتخاب شده اعمال نمی شود .
۲- گزینه Yes(Duplicate OK
انتخاب این گزینه اکسس فرآیند ایندکس کردن اطلاعاتی را که در این فیلد وارد می شود شروع خواهد کرد با انتخاب این گزینه اکسس اجازه این را به شما می دهد که بتوانید اطلاعات تکراری در این فیلد وارد نمایید.
۳- گزینه Yes ( No Duplicate
با انتخاب این گزینه نیز اکسس فرایند ایندکس کردن اطلاعات این فیلد را انجام می دهد با این تفاوت که دیگر شما مجاز به وارد کردن اطلاعات تکراری در این فیلد نیستید .
این حالت درست مانند حالتی است که در مورد فیلدکلید اولیه یا Primary Key شما اتفاق می افتد
اکسس بطور خودکار فیلد کلید اولیه در یک جدول را ایندکس می کند اما اجازه وارد کردن مقادیر تکراری را در این فیلد به کاربر نمی دهد .
آنچه که در بالا انجام دادیم مربوط به ایجاد ایندکس ساده است اما برای ایجاد ایندکس ترکیبی باید مراحل زیر را دنبال نماییم .
۱- ابتدا به محیط طراحی یا Design جدول خود بروید .
۲- در سربرگ Design از داشبورد Show / Hide گزینه Indexes را انتخاب نمایید .
بعد از انجام این کار کادری همانند تصویر زیر برای شما به نمایش در می آید .
برای اینکه بدانید چگونه می توان با استفاده از این پنجره به ایجاد یک ایندکس ترکیبی اقدام کنید توصیه می کنم به تماشای کلیپ زیر بپردازید . نکاتی که در این ویدئو به آنها می پردازیم شامل موارد زیر است :
۱- چگونه یک ایندکس ترکیبی ایجاد کنیم ؟
۲- چگونه یک ایندکس را ویرایش نماییم ؟
۳- چگونه یک ایندکس را حذف نماییم ؟
مزایا و معایب استفاده از ایندکس در اکسس
مهمترین مزیتی که برای ایندکس می توان در نظر گرفت امکان سرعت دهی زیادی است که در فرآیند جستجوی بین اطلاعات برای ما فراهم می آورد .
این افزایش سرعت در جستجوی داده ها وقتی بهتر خود را نشان می دهد که ما با حجم زیادی از اطلاعات روبرو باشیم .
اما در عین حال ایندکس کردن دارای ایراد هم هست .
درست است که ایندکس گذاری موجب افزایش سرعت در حین جستجوی داده ها می شود اما وجود ایندکس موجب کندی در فرآیند آپدیت و ویرایش اطلاعات می شود .
در واقع هر بار که شما اطلاعاتی را به جدول خود وارد می کنید یا اطلاعاتی را حذف می کنید اکسس مجبور می شود کل فرآیند ایندکس گذاری خود را بر مبنای تغییراتی که رخ داده است دوباره بازبینی کند و این تغییرات را در ساختار ایندکس شده نیز اعمال نماید .
به همین دلیل است که عنوان کردیم که باید از ایندکس گذاری بر روی فیلدهای غیر ضروری خودداری نمود .
در اینجا سعی کردیم بطور مفصل به مبحث ایندکس گذاری جداول اکسس پرداخته و مسائل و نکات مربوط به آن را با هم مورد بررسی قرار دهیم
از اینکه تا انتهای این مطلب همراه من بودید از شما سپاس گذارم .
اگر نظر و یا سوالی در مورد این مطلب دارید می توانید در قسمت نظرات مطرح نمایید .
مطالب زیر را حتما مطالعه کنید
ساخت برچسب در اکسس💥چطور آنها را ایجاد و مدیریت کنیم ؟
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
باز کردن گزارش اکسس برای یک رکورد مشخص + نمونه فایل
11 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
با سلام و تشکر از مطلب خوبتون . می خواستم بدونم آیا ایندکس گذاری در اکسس یک کار لازم هستش یا نه و ار ایندکس ایجاد نکنیم مشکلی پیش می آید .
در پاسخ به سوال شما باید گفت که ایندکس گذاری برای حجم کم اطلاعات چندان ضروری نیست
اما مطمئنا در حجم های بسیار زیاد اطلاعات می تواند کمک خوبی در سرعت کار با داده ها بخصوص در حین پرسو جوها برای شما ایجاد کند
خیلی ممنونم از مطالب بسیار آموزنده تون .عالی بود
با سلام
با تشکر از لطف شما
سلام، بسیار عالی
با سلام
ممنونم از آموزش هاتون خیلی خوب و کاربردی هستند . به من کمک زیادی کردن .
فقط یه سوالی در اکسس آیا میشه فرم رو که به طوری دلخواه طراحی می کنیم به صورت یه فایل اجرایی درآورد و اون رو روی دسکتاپ گذاشت و با هر بار کلیک موس بشه اجراش کرد بدون باز کردن برنامه اکسس . به نظرم در ورد ۲۰۰۳ یادم میاد اون زمان ها چنین قابلیتی داشت . اگه ممنون می شم راهنمایی کنید .
این امکانی که شما می فرمایید دیگه توی اکسس ۲۰۰۷ به بعد وجود نداره . توی اکسس ۲۰۰۳ حتی می شد برای فرم ها منو طراحی کرد اما الان دیگه نه .
اما میشه کاری کرد که وقتی اکسس اجرا میشه به جای نمایش محیط کاری اکسس فقط یک فرم به کاربر نمایش داده بشه و در واقع محیط اکسس رو از دید کاربر مخفی کرد
سلام من یک فایل اکسس دارم از کجا می توانم تشخیص بدهم که کدام یکی از فیلدهای موجود در جدول برایشان ایندکس تعریف شده می دونید می خوام چی بگم می خوام یک چیزی مثل کوئری داشته باشم و از اکسس بخواهم همه فیلدهایی رو که در یک جدول برایشان ایندکس گذاری شده را برای من لیست کند . آیا این کار شدنی هست یا نه ؟
بله این کار کاملا شدنی است البته برای این کار باید به سراغ کد نویسی وی بی ای بروید
می خواستم بدونم برای یک جدولی که مثلا ۱۰ تا ستون دارد چند تا ایندکس تعریف کنیم مشکلی ندارد ؟
ممنون میشم اگر سریعتر پاسخ بدید
تعداد ایندکس ها هر چه که محدودتر باشد بهتر است چون هر چه که تعداد ایندکس ها بیشتر شود از ان طرف سرعت دیتابیس و جستجو در اطلاعات آن پایین تر می آید