تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
بررسی اجزای اصلی
در درسهای گذشته به طور كامل با محیط اكسس آشنا شدیم و امیدوارم كه شما تمامی پایگاهای نمونه را بررسی كرده باشید و كاملا مفهوم كار با اكسس برای شما روشن شده باشد. درس این جلسه یكی از مهمترین دروس در رابطه با اكسس است و شما حتما سعی كنید به طور كامل این درس را بفمید و حتما در مورد این درس اگه سوالی بود بپرسید چون واقعا فهمیدن این قسمت از اكسس كار را بسیار ساده خواهد كرد.
در این درس ما با بخشهای مختلف پنجره Database آشنا می شویم و چگونگی استفاده از هر یك را توضیح خواهیم داد. می توان گفت پنجره Database سكوی پرتاب شما به سوی Access است, تمامی فعالیتهای كه در اكسس انجام می شود از این محل شروع می شود, آشنایی با این پنجره می توان گفت آشنایی با خود اكسس است. بعد از یادگیری این بخش ار اكسس شما براحتی خواهید توانست دیگر خصوصیات پایگاه داده را یاد بگیرید. من به شما توصیه می كنم یكی از پایگاههای داده نمونه را باز كنید تا هنگام درس اجزای اصلی پنجره Database را مشاهده كنید.
معنی دقیق پایگاه داده ها
به احتمال بسیار قوی شما با مفهوم پایگاه داده آشنا هستید ولی ما برای ادامه كار اشاره كوچكی به آن می كنیم. شاید اساسی ترین تعریف پایگاه داده این باشد:
پایگاه داده: مجموعه ای از داده های مرتبط به هم است.
در واقع این تعریف شامل هر نوع فایل داده ای كه با آن كار می كنید می شود. مثلا نامه, گزارش و كتاب مجموعه ای از داده ها به صورت كلمات مرتبط به هم است. یا فایلهای گرافیكی داده های مرتبطی است متشكل از نقاط رنگی بسیاری (پیكسل) كه تصویر را تشكیل می دهند. با توجه به اینكه ممكن است تعریف بالا كمی پیچیده و عمومی تر باشد در زیر اشاره به تعریفی خاص در مورد پایگاه داده در اكسس می كنیم:
پایگاه داده اكسس: مجموعه ای است از داده های مرتبط و ابزارهایی كه با استفاده از آنها با داده ها كار می كند.
بنابراین پایگاه داده در اكسس از فایلهای داده مرتبط به یكدیگری تشكیل شده است كه به همراه ابزارهایی كه شی نامیده می شوند به شما امكان دسترسی, گردآوری و گزارش گیری از داده ها را می دهد. هر پایگاه داده ارتباطی برخلاف انواع دیگر فایلها مجموعه هایی از داده ها را شامل می شود كه به آنها جدول گفته می شود. در خارج پایگاه داده, هر جدول, ممكن است بعنوان یك فایل مجزا در نظر گرفته شود. مثلا یك پایگاه داده تجاری ممكن است شامل فایل مرتب شده ای از سفارشات خریداران, فایل موجودی, فایل فهرست نشانی خریداران, فایل اطلاعات كارمندان و فایل دستمزد باشد كه تك تك این فایلها در اكسس به صورت جدول هستند.
بدون ساخت پایگاه داده ها, هریك از این فایلها را باید جداگانه مدیریت كرد, اما پایگاه داده ها قادر است تا در صورت وجود مقادیر مشترك. این جدولها (فایلها) را به هم مرتبط كند, مثالی در این مورد كد مشتركی است كه در جدول مشتریان و جدول سفارشات مشتریان وجود دارد.
توجه:
اكسس پایگاه داده ارتباطی نامیده می شود زیرا می تواند جداول داده ها را براساس مقادیر مشترك به یكدیگر مرتبط كند.
جدول خریداران (فایل داده های خریداران)ممكن است شامل كد, نام و نشانی هر خریدار باشد. جدول سفارشها, ممكن است شامل اطلاعات سفارش هر خریدار در طی یكسال گذشته باشد. در اینجا باید توجه كرد كه جدول سفارشها نباید نام و نشانی خریداران را داشته باشد فقط كد آنها كافی است. اگر تمامی اطلاعات خریدار در جدول سفارش نیز موجود باشد اینكار سبب هدر رفتن وقت و وجود اطلاعات مشابه و تكراری بسیار خواهد شد و همچنین در موقعی كه مثلا نشانی خریدار عوض می شود باید تمامی سفارشها را چك كرد و همه را عوض كرد ولی در موقعی كه فقط كد در جدول سفارشها می باشد نیازی به تغییر در جدول سفارشها نیست و فقط باید جدول خریدار عوض شود.
ممكن است جدول متعدد دیگری نیز وجود داشته باشد. در هر پایگاه داده, تقریبا هر جدولی از طریق داده ها و اطلاعات مشترك به یك یا چند جدول دیگر مرتبط می شود در مثال زیر این داده مشترك در دو جدول كد خریدار است.
هر پایگاه داده, علاوه بر جداول, شی های دیگری نیز دارد. هرچند كه شاید جداول یك پایگاه داده مهمترین شی آن باشد (جداول, داده های پایگاه داده را نگهداری می كنند). اشیای دیگر در پنجره Database ما را در مدیریت, پهنگام سازی و گزارش گیری از جداول همیاری می كنند. اكثر پایگاههای داده اكسس از بجز جدولها كه در تمام پایگاهها موجود است از بیشتر عناصر پنجره Database نیز استفاده می كنند.
توجه:
هر از چند گاهی به پنجره پایگاه داده, ظرف پایگاه داده نیز گفته می شود زیرا تمامی اشیای پایگاه داده را شامل می شود.
حال هر یك از اجزا در پنجره Database را به طور مختصر توضیح می دهیم:(این اجزا در زیر ستون Objects قرار دارند و به اجزای اصلی مشهورند)
---------------------
1-جدولها(Tables):
مجموعه ای از داده ها را كه به یك موضوع مشخص مربوط هستند در خود نگهداری می كنند. مثلا اگر یك سیستم حسابداری خانگی ایجاد كنید باید جدولی برای درآمدها, جدولی برای مخارج, جدولی برای هزینه های مشخص و غیره ایجاد كنید.
2-بازجست ها(Queries):
زیرمجموعه ای از داده ها را ایجاد می كند, كه برای گزارشگیری و جستجو قابل استفاده می باشند. مثلا اگر شما بخواهید كلیه مخارجی را كه در 10 روز آتی پرداخت شده اند را بدست آورید باید از بازجست استفاده كنید.
3-فرمها(Forms):
صفحه ای گرافیكی برای ورود داده ها یا نمایش آنها را نشان می دهد كه از فرمهای كاغذی تقلید شده است. فرم, روش ساده ای است برای مشاهده تمام یا بخشی از داده ها. مثلا شما می توانید یك فرم مانند صفحه چك درست كنید و هر وقت چكی پرداخت كردید در وارد كردن صورتحساب یك چك معمولی را در صفحه پر كنید.
4-گزارشها(Reports):
فهرست شكل بندی شده ای از داده ها را چاپ می كند. یك گزارش ممكن از مواردی از یكی از جداول, فهرستی از اقلام انتخاب شده, تمامی اقلام یك جدول یا فهرستی از مقادیر گوناگون از جداول مختلف را چاپ كند. مثلا شما میتوانید در حسابداری خانه گزارشی از كلیه بدهی هایتان بگیرید.
5-صفحه ها(Pages):
عملی مشابه گزارشگیری را انجام می دهد با این تفاوت كه در این حالت گزارش به صورت یك صفحه اینترنتی به بیرون داده می شود و موارد استفاده آن در طراحی صفحات اینترنتی است.
6-ماكروها(Macros):
بسیاری از كارهای متداول اكسس را خودكار می كند. مانند مرتب كردن داده ها, ایجاد گزارشها و ایجاد سرجمع ها. مثلا سیستم پایگاه داده حسابداری خانه می تواند ماكرویی برای محاسبه گردش پولی در یك ماه داشته باشد.
7-مدولهای برنامه(Macros):
قابلیت خودكار كردن اكسس و ایجاد سیستم های آماده برای كار را فراهم می كند, بطوری كه برای افرادی كه چیزی از اكسس نمیدانند قابل استفاده باشد. زمانی كه برنامه ای برای اكسس می نویسید, در واقع آن را برای انجام كارهای پیچیده ای برنامه ریزی می كنیدكه از طریق منوها و ماكروها بخودی خود امكان انجام آن نیست. در واقع ماكروهای اكسس شكلی از مدولهای ترجمه شده هستند, بدین معنی كه ماكروها شما را در راستای تمامی اطلاعات لازم برای تكمیل یك فرمان Visual Basic for Applications هدایت می كنند. برخی افراد پس از سالها استفاده از اكسس هیچگاه به مدول نویسی نیازی نداشته اند. اگر سابقه برنامه نویسی نداشته باشید, نوشتن برنامه دشوار است. ولی به نظر من شما فقط در واقع خیلی پیچیده به مدولها نیاز خواهید داشت.
---------------------
توجه به این نكته ضروری است كه پایگاه داده ممكن است پیوسته در حال تغییر باشد. مثلا شما با توجه به نیازهایی كه پیش می آید اقدام به ساخت جدولهای جدید و ایجاد گزارشهای دیگری كنید. در شكل 42 در زیر شما شش شی پایگاه داده را كه تركیب آنها پایگاه داده مستقلی را شكل می دهد, مشاهده می كنید. شاید یكی از مشكلترین چیزهائی كه در هنگام كار با اكسس باید راجع به آن تصمیم گیری كنید این است كه چه وقت مجموعه ای از اطلاعات را در پایگاه داده جدید یا پایگاه داده موجود قرار دهیم.
پایگاه داده می تواند هدفی گسترده داشته باشد, هر پایگاه داده معمولا یك برنامه كاربردی است. در مثالهای زیر به كاربردهای پایگاه داده های خاص اشاره ای می شود:
1-اگر بخواهید حسابهای شما با یكدیگر بده-بستان یا تعامل داشته باشند, حساب دفتر كل به یك پایگاه داده مجزا احتیاج دارد. هنگامی كه از حسابی پرداختی انجام می دهید, می خواهید تا هم در جدول پرداختها و هم در جدول حسابها منعكس شود.
2-اگر بخواهیم یك سیستم مستقل پرداخت دستمزد داشته باشید, بطوری كه بخش پرداخت دستمزد منحصرا برای پرداخت چك و نگهداری سوابق پرداخت مورد استفاده قرار گیرد, سیستم دستمزد نیز یك پایگاه داده مجزا نیاز دارد.
3-نرم افزار بودجه بندی, برای بودجه بندی هریك از حسابهای خانه, از قبیل پرداختهای قبض, حساب اتومبیل و گزارش گیری از تمامی حسابها, به یك پایگاه داده مجزا نیازمند است.
4-یك سیستم كنترل موجودی به پایگاه داده ای نیازمند است تا بتواند ثبتهای موجودی مربوط به شركت را پیگری, بهنگام و نگهداری كند.
باید توجه داشت كه فهرست بالا تنها چند مورد مثال خاص می باشد كه بسیار مختصر است و فقط برای آشنایی ذكر شده اند. به طور كلی باید ذكر كرد هر یك از جداولی كه به نوعی با هم در ارتباط هستند باید در یك پایگاه داده قرار داده شوند.
استفاده از اجزا’ پنجره Database:
هنگامی كه یك پایگاه داده جدید ایجاد می كنید, اكسس یك پنجره Database خالی را نمایش می دهد كه برای هر یك از هفت شی پایگاه داده در آن شاخصی وجود دارد.اگر قصد كار كردن با هر یك از این هفت شاخص را دارید باید بر روی آن كلیك كنید مثلا اگر قصد ایجاد ماكرو را دارید باید بر روی گزینه Macros در پنجره Database كلیك كنید. بسته به انتخابی كه شما از شاخصها می كنید در بالای پنجره Database كلیدهای فرمان مختلفی نمایش داده می شود كه در زیر به طور مختصر به معرفی آنها می پردازیم:
---------------------
1-باز كردن(Open): برای باز كردن شی موجود مثلا باز كردن یك جدول یا یك فرم
2-طراحی(Design):برای ایجاد تغییر در شی كه با انتخاب این فرمان حالت نمایشی Design پدیدار می شود مثلا شما اگر بعد از ایجاد یك فرم قصد ایجاد تغییر در آن را داشتید باید بر روی Design كلیك كنید.
3-جدید(New):برای ایجاد شی جدید مثلا ایجاد جدولی جدید
4-بازنگری(Preview):
این فرمان فقط در قسمت گزارش وجود دارد و برای مشاهده گزارش قبل از چاپ می باشد.
5-اجرا(Run):یك فرمان در شاخصهای ماكرو و مدول وجود دارد و برای اجرای یك ماكرو یا مدول(برنامه) به كار می رود.
6-حذف(Delete): در تمامی شاخصها موجود است و برای حذف شی به كار می رود. این راحترین قسمت است.
7-مرتب سازی: چهار گزینه بعدی كه در همه شاخصها موجود است برای مرتب سازی اشیا به كار می رود و درست مانند مرتب سازی آیكونها در ویندوز عمل می كند.
---------------------
هنگامی كه شی جدیدی ایجاد می كنید باید آنرا نامگذاری كنید. می توانید نامهایی با حداكثر درازی 64 كاراكتر(حرف و عدد), كه در آن فاصله نیز می توان استفاده كرد اختیار كنید.با ایجاد و نامگذاری یك شی آن شی در پنجره Database نمایش داده خواهد شد.
نگاهی کلی به اجزای اصلی
نگاهی به جداول:
اگر پایگاه داده, هیچ شی دیگری نداشته باشد, همواره باید حداقل یك جدول داشته باشد. داده های پایگاه داده را جدول نگهداری می كند. همانطوری كه در درس قبل اشاره شد,جداول اغلب با مقادیر داده مشترك به یكدیگر مرتبط می شوند, به ترتیبی كه دو یا چند جدول نباید داده های زیادی یا تكراری داشته باشند. برای نمایش اسامی جداول موجود در پایگاه داده بر روی شاخص Tables در پنجره Database كلیك كنید. برای باز كردن و مشاهده محتویات هر جدول می توانید بر روی نام آن جدول دوبار كلیك كنید. كه در این حالت Access جدول را در حالت نمایش Datasheet یا كاربرگ باز می كند,كه در این حالت شما می توانید داده های موجود در جدول را مشاهده كنید.
معمولا در حالت نمایشی كاربرگ تمامی داده های یك سطر جدول در صفحه نمایش جا نمی گیرد. برای مشاهده بقیه داده های هر سطر می توانید از میله های گردش افقی پنجره در زیر آن استفاده كنید و به چپ و راست بروید.
جدول برای مشاهده و كار با آن, به حالات دیگری هم برای نمایش نیاز دارد. در حالیكه حالت نمایشی Datasheet یا كاربرگ امكان مشاهده, افزودن, حذف و اصلاح داده های جدول را می دهد, حالت نمایشی طراحی كه در اكسس با عنوان Design view شناخته می شود امكان تغییر شكل جدول و طراحی خود جدول را فراهم می كند. البته وقتی كه بیشتر راجع به ساختار جدول صحبت كردیم شما تصویر بهتری از حالت طراحی خواهید داشت. به طور كلی حالت Datasheet برای اضافه كردن و مشاهده داده ها و حالت طراحی برای طراحی و تغییر خود جدول نه داده ها به كار می رود.
برای دیدن جدول در حالت نمایشی طراحی یا Design می توانید جدول خود را انتخاب كرده و سپس بر روی دكمه design در بالای پنجره Database كه قبلا معرفی شد كلیك كنید. بعد از باز كردن پنجره در حالت Design ملاحظه خواهید كرد كه در این حالت هیچ خبری از داده های موجود در جدول نیست و فقط شكل جدول در این حالت در دسترس است.
اگر جدول را در حالت Datasheet باز كرده اید و قصد رفتن به حالت design را دارید این كار را می توانید با استفاده از منو view و انتخاب دو حالت Datasheet view و Design view انجام دهید و به راحتی بین دو حالت جدول حركت كنید.
جدول ساختاری مشخص و اكید دارد. داده های جدول در داخل جدول درون سطرها و ستونها جدول قرارگرفته و سازماندهی می شوند كه به این سطرها و ستونها به ترتیب ركورد و فیلد گفته می شود(حتما به خاطر بسپارید سطر در معنای ركورد و ستون در معنای فیلد به كار می رود.)
هر ركورد جدول بیانگر یك داده مستقل است. مثلا: در جدول اقلام موجودی در انبار هر ركورد جدول نشان دهنده یكی از انواع قطعات موجود در انبار است.هر فیلد ركورد, نشانه دهنده جزیی از داده های مربوط به هر قطعه, مانند شماره قطعه, تعداد و شرح است. اگر قطعه ای 32 عدد موجود باشد, ركورد قطعه فقط یك بار در جدول تكرار می شود اما میزان موجودی در فیلد تعداد منعكس می شود. با توجه كردن به شكل 51 زیر بیشتر مفهوم این بیان را خواهید فهمید.
این كه تمامی ركوردها, فیلدهای مشابهی دارند, به این معنی نیست كه تمامی فیلدهای هر ركورد باید پر باشد. مثلا یك جدول موجودی, ممكن است فیلدی به نام قیمت خرده فروشی داشته باشد, ولی فقط تعداد اندكی از ركوردها, مقداری را در این فیلد نگه داشته باشند. بنابراین برخی از ركوردها قیمت خرده فروشی ندارند علیرغم اینكه پاره ای از ركوردهای جدول, قیمت خرده فروشی دارند.
توجه به این نكته ضروری است كه فیلد مشترك مانند شماره قطعه یا كد مشتری, مبنای ارتباط بین دو جدول مرتبط را تشكیل می دهد و امكان خالی رد كردن این فیلدها داده نمی شود.
وجود فیلد مشتركی كه دو جدول را به یكدیگر مرتبط می كند, بدین معنی است كه امكان رهائی كامل از داده های تكراری وجود ندارد. برای دو جدول مرتبط, داده ها باید تكرار شوند زیرا هر دو جدول باید فیلدهای مشتركی برای ارتباط داشته باشند. شاید اگر برای تمامی داده ها یك جدول بزرگ ایجاد كنید, مجبور به داشتن فیلدهای تكراری نباشید, اما با اینكار زمان زیادی را در ورود داده ها هدر خواهید داد, چون در هر ركورد باید تمامی فیلدهای پایگاه داده وجود داشته باشد و از طرفی بعضی مواقع هم امكان ایجاد یك جدول بزرگ وجود ندارد پس ما مجبور به استفاده از چندین جدول هستیم كه بهترین راه برای جلوگیری از افزایش تعداد داده های مشترك استفاده از ارتباط فیلد مشترك است.
بعد از كار با جدول می توانید جدول را با استفاده از منو File و گزینه Close ببندید.
نگاهی به بازجست:
برای مشاهده بازجستهای هر پایگاه داده باید بر روی شاخص Queries در پنجره Database استفاده كنید. برای باز كردن هر بازجست می توانید بر روی نام آن دوبار كلیك كنید یا بد از انتخاب آن به وسیله ماوس بر روی دكمه Open در بالای پنجره Database كلیك كنید.
هنگامی كه بازجستی را باز می كنید, اكسس آن بازجست را در حالت نمایش Datasheet مربوط به بازجست باز می كند, كه كاملا مشابه حالت نمایشی Datasheet مربوط به جدول است. تنها تفوت در آن است كه حالت نمایشی Datasheet مربوط به بازجست معمولا به اندازه جدول, داده و اطلاعات ندارد. در واقع این حالت نمایشی میزان محدودی از داده ها را, كه مقصود اصلی از ایجاد بازجست است نمایش می دهد. بازجست, داده ها را از یك یا چند جدول انتخاب می كند و می توانید زیرمجموعه ای از داده ها را به عنوان جدول یا گزارش نمایش دهید. در بیشتر مواقع مقدار داده های پایگاه داده بیشتر از آن است كه مایل به مشاهده هستید. هدف از ایجاد بازجست, محدود كردن مقدار داده های به نمایش درآمده است. بازجست انتخابی از جمله متداولترین انواع بازجست ها است. بازجست انتخابی, داده ها را میان دو یا چند جدول انتخاب كرده و نمایش می دهد. علاوه بر حالت نمایشی Datasheet كه مانند حالت نمایشی جدول می باشد بازجست را می توان در حالت نمایشی Design نیز باز كرد كه مربوط به حالت طراحی بازجست است و برای رفتن به این حالت می توانید درست مانند جدول رفتار كنید و یا با انتخاب بازجست مورد نظر و كلیك روی دكمه Design در بالای پنجره Database این حالت را نمایان كنید.
همانطور كه مشاهده می كنید حالت طراحی Design مربوط به بازجست, ظاهر پیچیده ای دارد. اما بعد از آشنایی كامل با بازجست ایجاد و اجرای آن برای شما بسیار ساده خواهد بود. ایجاد بازجست در حالت طراحی Design و نمایش آن در حالت نمایشی Datasheet صورت می پذیرد. بعد از پایان كار خود با بازجست می توانید بوسیله منو File و گزینه Close بازجست را ببندید.
نگاهی به فرم:
برای مشاهده فرمهای یك پایگاه داده, از شاخص Form در پنجره Database استفاده می كنیم. برای مشاهده محتوای هر فرم می توانید در روی نا آن دوبار كلیك كنید و یا پس از انتخاب فرم مورد نظر بر روی دكمه Open در بالای پنجره Database كلیك كنید.
بعد از باز كردن فرم مورد نظر اكسس آنرا در حالت نمایش Form یا Form View نشان خواهد داد. حالت نمایشی Form, فرم را در شكل نهایی آن نشان می دهد و امكان ورود, اصلاح و نمایش داده ها را فراهم می سازد. كلیدهای راهبری كه در زیر اكثر حالات نمایشی وجود دارد, شماره ركورد و تعداد كل آنها را نمایش می دهد.
چهار كلید اطراف نشانگر ركورد, برای گرداندن فرم و نمایش ركوردهای مختلف به كار می رود. شما می توانید ركوردهای اول, بعدی, قبلی و آخری را مشاهده كنید. شماره بین كلیدها, شماره ركورد جاری كه فعلا مشاهده می كنید است.اگر بر روی شماره ركورد جاری, شماره ركورد جدیدی را وارد كنید اكسس در صورت وجود آن ركورد آنرا در فرم نمایش می دهد.كلیدهای راهبری كه در منتهی الیه سمت راست قرار دارد, امكان ایجاد ركورد جدیدی را با یك فرم خالی فراهم می سازد. همانطور كه مشاهده می كنید كلیدهای راهبری مشابه كلیدهای كنترلی پخش صوت طراحی شده اند. ب
حالت نمایشی Design در مورد Form نیز شكل فرم را نشان می دهد. برای دسترسی به این حالت شما می توانید درست مانند جدول رفتار كنید و یا با انتخاب فرم مورد نظر بر روی دكمه Design در بالای پنجره Database كلیك كنید. شاید برای شما در این لحظه شكل آن عجیب به نظر بیاید ولی وقتی در درسهای آتی روش ایجاد فرم را فراگرفتید, نحوه خواندن حالت نمایشی Form را نیز خواهید فهمید. با دستكاری در حالت نمایشی Design, می توانید نحوه نمایش داده های درون فرم را تغییر دهید.
در درون فرم حالت نمایشی دیگری نیز وجود دارد و آن حالت نمایشی Datasheet است. كه برای دسترسی به آن بعد از باز كردن فرم مورد نظر می توان از منو View گزینه Datasheet را انتخاب كرد.این حالت كاملا شبیه حالت نمایشی Datasheet در جداول است. مزین حالت نمایشی Datasheet به حالت نمایشی معمولی فرم در این است كه در این حالت تعداد ركورد بیشتری نمایش داده می شود در حالی كه در حالت نمایش معمولی فقط یك ركورد نمایش داده می شود. البته در درسهای آتی بیشتر در مورد این حالت نمایشی صحبت خواهد شد.
بعد از پایان كار با فرم می توانید به وسیله منوی File و گزینه Close از فرم مورد نظر خارج شوید.
نگاهی به گزارش:
برای نمایش گزارشهای هر پایگاه داده می توان از شاخص Reports در پنجره Database استفاده كرد. هرچند كه می توان گزارشها را روی صفحه نمایش بازنگری كرد ولی وقتی كه آنها را بر روی كاغذ چاپ كنیم بسیار مفیدتر خواهند بود. اگر بخواهیم قبل از چاپ محتوای گزارش را مشاهده كنیم می توانیم بر روی نام گزارش مورد نظر دوبار كلیك كنیم یا با انتخاب گزارش موردنظر بر روی دكمه Preview در بالای پنجره Database كلیك كنیم. (البته باید توجه كرد كه گزارش تنها مختص چاپ كردن نیستند و كاربردهای دیگری نیز دارند)
شما می توانید گزارشی بسازید كه تمامی داده های یك جدول, چندین جدول, بازجست را نمایش دهد.با باز كردن گزارش شما آنرا در حالت Print Preview (بازنگری چاپ) به نمایش در خواهید آورد.بازنگری چاپ گزارش را در شكل نهایی آن نشان می دهد, اما بجای چاپ گزارش, آنرا برروی صفحه مشاهده می كنید, تا قبل از چاپ گزارش از صحت آن مطمئن شوید.
در حالت Print Preview در مورد گزارش, امكان تغییر, اضافه یا حذف داده ها از پایگاه داده وجود ندارد. ولی با استفاده از آن می توانید مقادیر مختلفی از اطلاعات را مشاهده كنید. دقت داشته باشید كه در هنگام حركت ماوس بر روی پنجره Print Preview, مكان نمای ماوس به یك ذره بین تبدیل می شود. در این حالت اگر با ماوس كلیك بزنید, تصویر بزرگ شده گزارش را مشاهده می كنید, بدین تزتین می توانید گزارش را از نزدیك مرور كنید.
حالت نمایشی Design در مورد گزارش شكل آنرا نشان می دهد.برای دسترسی به این حالت می توان درست مانند اجزا دیگر عمل كرد ویا با انتخاب گزارش مورد نظر بر روی دكمه Design در بالای پنجره Database كلیك كرد.بعدا با استفاده از حالت نمایشی Design شكل گزارش را تغییر خواهیم داد.
نگاهی به صفحه ها:
برای نمایش صفحه های وب موجود در یك پایگاه داده می توانید بر روی شاخص Pages در پنجره Database كلیك كنید. صفحه ها در یك پایگاه داده اكسس برای استخراج داده ها از جدول به یك صفحه وب مورد استفاده قرار می گیرند درست مانند گزارش با این اختلاف كه این بار به جای چاپ صفحه گزارش آنرا در یك مرورگر وب مانند IE می تواند مشاهده كرد. من نمی خواهم زیاد در مورد صفحه ها در این قسمت توضیح دهم زیرا كاركرد آنها بسیار شبیه گزارشها می باشند و هر كاری كه با گزارش انجام دادیم می توانید با این صفحه ها نیز انجام دهید فقط به خاطر داشته باشید كه اینها هر كدام یك صفحه وب می باشند. در صفحه ها نیز مانند گزارش ها حالت نمایشی Design برای طراحی استفاده می شود.
می توان بزرگترین تفاوت بین گزارشها و صفحه ها را پویاتر بودن صفحات بیان كردن بدین معنی كه شما بهتر از گزارش می توانید اطلاعات موجود در پایگاه داده را مرور كنید و بین آنها حركت كنید.
نگاهی به ماكروها:
ماكروها فهرست فرامینی است كه در آنها كارهایی كه معمولا از طریق صفحه كلید انجام می دهید, تعریف می شود. مثلا می توانید ماكرویی ایجاد كنید كه هنگام وقوع شرایطی خاص مثل هنگامی كه میزا فروش چیزی از تعداد یا مقدار مشخصی كمتر شود, گزارش مشخصی را چاپ كند. البته با استفاده از منوها نیز می توانید گزارش مورد نظر را چاپ كنید ولی ماكرو مراحل كار را خودكار می كند, بدین ترتیب كی توانید با فشار كلید فرمان روی فرم, گزارش را چاپ كنید.
به این نكته توجه كنید كه ماكروها اغلب به كلیدهای فرمان وصل می شوند تا اجرای آنها برای كاربر ساده باشد چون به هرحال شما استفاده كننده هستید و مایلید تا كارها تا حد امكان ساده انجام شود.
توجه كنید كه كلید Run در بالای صفحه Database ماكرو را اجرا می كند ولی تا زمانی كه نحوه عملكرد آنرا در برنامه نمی دانید به هیچ وجه اقدام به اجرای آن نكنید.
هرگاه بخواهید محتویات ماكرو را از پنجره Database مشاهده كنید باید نام ماكرو مورد نظر را انتخاب كرده و بر روی دكمه Design در بالای پنجره Database كلیك كنید كه در این حالت حالت نمایش Design مربوط به ماكرو را مشاهده می كنید. فهرست اعمال ماكرو را در این پنجره مشاهده می كنید به احتمال قوی این اعمال مرموز به نظر می رسندولی به مرور با آنها آشنا خواهید شد.
چون ماكرو فهرست كارهای خودكار شده است و شما هنوز نمی دانید اكسس چه كارهایی می تواند انجام دهد پس در این مقطع نمی توان كار زیادی برای افزایش درك نسبت به ماكرو كرد. پس از پایان كار با ماكرو آنرا به وسیله منو File . گزینه Close ببندید.
نگاهی به مدول ها:
مدولها برنامه های كاملی هستند كه با Visual Basic for Applications نوشته می شوند, و برای خودكار كردن كارها به كار می روند.برخلاف ماكروها كه ساده هستند برنامه كاربردی را می توان به نحوی ایجاد كرد كه به هر حركت استفاده كننده پاسخ داده و عكس العمل نشان دهد. ما در درسهای آینده به چگونگی كار مدولها خواهیم پرداخت ولی به دلایل زیر به طور كامل آنرا توضیح نخواهیم داد:
----------------
برنامه نویسی با مدولها به مهارت های كامپیوتری پیشرفته ای نیاز دارد كه من فكر نمی كنم تمامی مطالعه كننده های این دروس به مهارتها آشنا باشند. اكسس محل خوبی برای یادگیری نحوه برنامه نویسی نیست. بسیاری از افراد سالیان متمادی بدون نیاز به نوشتن مدول, بصورتی موثر و كارا از اكسس استفاده می كنند. حتی اگر بخواهیم برنامه های كاربردی قوی در اكسس ایجاد كنیم می توان حتی بدون یك نیاز كوچك به مدول این كارها را انجام داد.
---------------
اگر قبلا برنامه نویسی كرده باشید, خصوصا با یكی از زبانهای مشابه Basic مانند Qbasic و BasicA یا Visual Basic در استفاده از مدولها مشكل خاصی نخواهید داشت.
البته در كلاسهای این سایت یكی از همكاران من دروس Visual Basic را برای شما عزیران تدریس می كنند كه بسیار مفید و پرمحتوا می باشد و شما تما با دنبال كردن دروس این همكار عزیز براحتی كار با مدولها را یاد خواهید گرفت و من نیز شما را در این راه یاری خواهم كرد.
پس از پایان كار با مدول می توانید از منو File و گزینه Close اقدام به بستن مدول بكنید.
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
درک بهتر مفهوم ارتباط
در دروس پیشین به طور تدریجی آشنایی نسبتا كاملی با اجزای یك پایگاه داده آشنا شدیم و محیط پنجره Database را به خوبی شناختیم. حال نوبت آن رسیده است كه شروع به طراحی كنیم و با دستان قدرتمند خود پایگاه داده زیبایی را خلق كنیم ولی قبل از اینكار باید مفهوم ارتباطات بین جداول را بهتر درك كنیم.
در این درس مفهوم ارتباط بین جدولهای یك پایگاه داده را بهتر درك خواهیم كرد و روشهای مختلف ارتباط را یاد خواهیم گرفت و بدین ترتیب برای ایجاد جداول پایگاه داده خود را آماده تر خواهیم كرد.گاهی دقیقا نمی دانیم كه چه نوع داده هایی وارد جدول خواهند شد پس برای رفع این مشكل به تدریج با نظریه طراحی پایگاه داده آشنا می شویم.
درك ارتباط بین جداول:
قبلا گفته شد كه جداول از طریق فیلدهای مشترك به یكدیگر مرتبط هستند. هرچند كه فیلدهای مشترك مرتبط شده, سبب تكرار برخی داده ها میشوند.(در هرجدولی كه به دیگری مرتبط است خود فیلد مشترك دوباره ظاهر می شود), ولی خواهید دید كه وقتی قدام به ایجاد پایگاه داده می كنید, فیلد مشترك كمك می كند تا بسیاری از داده های تكراری, كه در صورت نبود فیلد مشترك ایجاد می شود, از بین ببرید.
ممكن است واژه شناسی پایگاه داده ها گیج كننده باشد اما خوشبختانه ساده ترین زبان زبان ارتباطی است, كه چگونگی ارتباط جداول به یكدیگر را تعریف می كند. در این درس به سه روش ارتباط خواهیم پرداخت: 1-ارتباط یكی به یك 2-ارتباط یك به چند 3-ارتباط چند به چند
فیلدهای كلیدی منحصر به فرد ركوردها:
قبل از تشریح ارتباطات جداول, دقت داشته باشید كه اغلب جداول پایگاه داده, فیلدی به نام فیلد كلید دارند, كه به سایر فیلدهای جدول تقدم دارد. هرچند كه فیلد كلید لزوما مهمترین ارزش اطلاعاتی را ندارد, ولی دری هستند برای ورود به جدول كه نیاز اصلی ما در ارتباط شمرده می شود.فیلد كلید, فیلدی از جدول است كه بصورتی منحصر به فرد هر ركورد را تبیین می كند.(یعنی امكان اینكه فیلد كلید در دو ركورد مانند هم باشند وجود ندارد.)
توجه: فیلد كلید اصلی جدول باید مقداری منحصر به فرد داشته باشد. اكسس امكان تعیین چندین فیلد كلید را می دهد. اگر كلید از چندین فیلد تشكیل شده باشد, یك یا چند تا از این فیلدها ممكن است داده های تكراری داشته باشندولی وقتی تركیب شوند, فیلد ادغامی باید مقدار منحصر به فردی را ایجاد كند. توجه بیشتر به این مثال خالی از لطف نیست: جدول كارمندان معمولا شامل فیلدهایی از قبیل نام كارمند, نشانی, تاریخ تولد, میزان حقوق می شود. بعلاوه همیشه مانند كد ملی, یك شماره كارمندی دارند. كد ملی شما منحصر به فرد است یعنی تنها به یك نفر اختصاص دارد بنابراین این شماره كارمندی فیلد كلیدی خوبی برای فایل كارمندان است. به شكل 61 در زیر توجه كنید:
برای دسترسی به نام, نشانی یا حقوق هر كارمند, صرفنظر از تعداد كارمندان جدول اكسس فقط به شماره كارمند احتیاج دارد.هر كارمند شماره منحصر بفردی دارد لذا هنگامی كه اكسس یكبار شماره كارمندی را گرفت, می تواند آنرا با ركوردی از جدول پیوند دهد, یكبار برای هر ركورد. به این ترتیب اكسس می تواند به بقیه داده های ركورد در سایر فیلدها دسترسی داشته باشد.
توجه: اسامی فیلدها كلیدهای خوبی نیستند, چون افراد بسیاری نام یكسان دارندو یا بسیاری از افراد اسامی را به شكلهای گوناگون می نویسند. زمانی كه یك شركت به مشتریان, كارمندان و اجناس خود عددی را تخصیص می دهد, احتمالا آن شركت پروژه هایش را كامپیوتری كرده است. این اعداد می تواند كلید منحصر به فردی برای یافتن بقیه داده های مرتبط با آن باشند.
همچنین باید به نكته توجه داشته باشید كه فیلد كلید همواره فیلد ارتباط دوجدول مرتبط نیست ولی برای این كار بسیار مناسب است و غالبا برای همین منظور به كار می رود.
دو یا چند فیلد نیز می توانند یك كلید منحصر به فرد را تشكیل دهند. اغلب به فیلد كلید, فیلد كلید اصلی گفته می شود. اگر بخواهید كه دو یا چند فیلد همراه با یكدیگر به عنوان كلیدی منحصر به فرد عمل كنند, باید اكسس را وادارید تا فیلدهای ادغام شده را به عنوان یك فیلد منحصر به فرد در نظر گیرد. مثلا ممكن است بخواهید كه دو فیلد نام خانوادگی و كد پستی را یكدیگر ادغام كنید تا فیلد كلید نحصر به فردی ایجاد شود.
حال كه با مفهوم فیلد كلید برای ارتباط آشنا شدید به انواع ارتباط موجود در اكسس می پردازیم:
ارتباطات یك به یك(One to One):
شاید ارتباط یك به یك نادرترین ارتباط ممكن بین جداول باشد. هنگامی كه در دو جدول تعداد ركوردها یكسان باشد و هر ركورد یك جدول به ركورد دیگری در جدول دیگر مرتبط باشد, بك ارتباط یك به یك بوجود می آید. ارتباط یك به یك نادرست است چون معمولا می توانید آن دو جدول را در یك جدول ادغام كنید.
در شكل 62 در زیر مثالی از ارتباط یك به یك بین دو جدول نشان داده شده است. فیلد كد كالا كلید و فیلد ارتباط را تشكیل می دهد. نخستین ركورد در نخستین جدول به نخستین ركورد در دومین جدول مرتبط شده است.
خود شركت ماكروسافت توصیه می كند كه از ارتباط یك به یك اجتناب كنید. زیرا بهتر آن است كه دو جدول را در یك جدول بزرگتر ادغام كنید, كه این طریقه بسیار كارآتر است. در اكسس هر جدول می تواند تا 256 فیلد داشته باشد ولی اگر وجود جدولی با بیش از 256 فیلد ضرورت داشته باشد,فقط با ایجاد دو یا چند جدول و برقراری ارتباط یك به یك بین آنها, قادر به برآوردن این نیاز خواهید بود. كه برای این منظور هم ماكروسافت امكانات بسیاری را فراهم آورده است از ان جمله امكان دسترسی سریع به اطلاعات جدول دوم از طریق جدول اول بدون باز كردن آن جدول.
ارتباط یك به چند(One to Many):
ارتباط یك به چند شاید متداولترین نوع ارتباط بین جداول باشد. این ارتباط زمانی اتفاق می افتد كه یك ركورد از جدول به یك یا چند ركورد از جدول دیگر مرتبط باشد. به عنوان مثال در جدول موجودی برای هر كالایی كه فروخته می شود, یك ركورد وجود دارد. ولی در جدول سفارشات مشتریان ممكن است برای یك كالا, سفارشات متعددی وجود داشته باشد. در شكل 63 در زیر نمونه ای از ارتباط یك به چند جداول مشاهده می شود.
ارتباط یك به چند صرف جویی زیادی در فضای دیسك را سبب می شود. مثلا ارتباط یك به چندی كه در شكل 63 در بالا نشان داده شد, به شما امكان می دهد تا گزارشی تهیه كنید كه شامل مشتری همراه با شرح كالای سفارشی باشد. ولی شرح در هر ركورد سفارش نمی آید. شرح هركالا در جایی مستقل,در ركوردی منحصر بفرد در فایل موجودی قرار دارد. اكسس می تواند در هنگام نیاز, با استفاده از فیلد ارتباطی مشترك از جدول سفارش در جدول موجودی جستجو كند و شرح كالا را از آنجا بردارد. اكسس بدون فیلد كلید نمی تواند تعیین كند كه در برابر هر سفارش چه شرحی را باید قرار دهد.
توجه داشته باشید كه اكسس جدولهای مرتبط را می شناسدو در موقع لزوم اطلاعات صحیح را از آنها استخراج می كند. لذا باید هنگام ایجاد پایگاه داده اكسس این ارتباطات را به اكسس بفهمانید تا در هنگام مشاهده و چاپ داده ها از جداول مرتبط اكسس تمام كارها را انجام دهد.
همچنین قابل ذكر است كه ارتباط چند به یك و یك به چند مشابه هستند, لذا هر دو عبارت به یك معنی به كار می روند.
ارتباطات چند به چند(Many to Many):
اكسس ارتباطات چند به چند را مستقیما پشتیبانی نمی كند ولی می توانید آن را شبیه سازی كنید. ارتباط چند به چند هنگامی ایجاد می شود كه ركوردهای متعددی از یك جدول به یك یا چند ركورد از جدول دیگر مرتبط باشند. براساس تصاویر جداولی كه قبلا مشاهده كرده اید, می توان چنین تصور كرد كه خریداران متعددی, محصولات متعددی را سفارش دهند. بنابراین بین خریداران و محصولات یك ارتباط چند به چند وجود دارد.
جدول خریداران و جدول موجودی محصولات از طریق جدول سفارش به هم متصل می شوند.بنابراین برای ارتباط چند به چند بین خریداران و موجودی محصولات, جدول سفارشات بعنوان واسطه بین این دو جدول عمل می كند.جدول خریداران ارتباطی یك به چند با جدول سفارشات دارد و جدول محصولات نیز ارتباطی یك به چند با جدول سفارشات دارد.پس همانطور كه در شكل 64 در زیر می بینید جدول سفارشات بطور غیر مستقیم بین خریداران و محصولات ارتباط چند به چند ایجاد می كند.
گاهی اوقات, جدول مركزی یا واسطه در ارتباط چند به چند جدول اتصال خوانده می شود. فیلدهای كلید اصلی هر دو جدولی كه قرار است به هم مرتبط شوند, باید در این جدول وجود داشته باشد.
طراحی یک پایگاه داده های جدید
در اینجا در مورد جادوگرهای اكسس (Wizards) صحبت خواهیم كرد. این جادوگرها شما را در ایجاد برنامه های كاربردی متداول پایگاه داده ها, از قبیل مدیریت فهرست پستی یا ورود سفارشات راهنمایی می كنند.هرچند كه نیازهای شما به كار خاص موردنظر یا احتیاجات شخصیتان مربوط است, اما بیشتر پایگاه داده ها به یكی از نمونه های كلی پایگاه داده تعلق دارند. جادوهای اكسس چهارچوب پایگاه داده برنامه كاربردی را ایجاد می كنند, در مرحله بعد شما می توانید آن را اصلاح كنید تا با نیازهای خاص شما تطابق داشته باشد. اما به هرحال برای ایجاد پایگاه داده مجبور به استفاده از جادوگر نیستید. شاید جادوگرها به كنترل مورد نظر شما به عنوان یك پایگاه داده امكانات لازم را فراهم نكنند.
ایجاد پایگاه داده های جدید با استفاده از جادوگر:
برای ایجاد یك پایگاه داده با بهره گیری از جادوگر(Wizard) باید هنگام وارد شدن به اكسس از طریق پنجره اولیه قسمت Access database wizards,pages and projects را انتخاب كنید و یا اگر وارد محیط اكسس شده اید از منو File گزینه New را انتخاب كنید,تا پنجره محاوره ای New كه دارای دو سربرگ است ظاهر شود.
هنگامی كه سربرگ General (عمومی) را انتخاب می كنید, صفحه General ظاهر می شود كه با آن می توانید یك پایگاه داده خالی ایجاد كنید. در دروس بعدی نحوه ایجاد یك پایگاه داده خالی را شرح خواهم داد. اصولا زمانی پایگاه داده خالی لیجاد می كنیم كه بخواهیم تمامی جنبه های اولیه طراحی و ایجاد پایگاه داده را كنترل كنیم. زمانی كه یك پایگاه داده جدید و خالی ایجاد می كنیم اكسس كاری برای شما انجام نمی دهد و هیچ پیش فرضی راجع به پایگاه داده ای كه می خواهید ایجاد كنید,ندارد.
ولی به جای ایجاد یك پایگاه داده خالی می توانید بر روی سربرگ Databases كلیك كنید تا صفحه Databases در پنجره محاوره ای New, نمایان شود. توجه داشته باشید كه جادوگر راهنمای گام به گام اكسس است كه در انجام كارهایی از قبیل ایجاد پایگاه داده جدید به شما كمك می كند. اگر اكسس جادوگری داشته باشد كه امكان ایجاد پایگاه داده ای مشابه آنچه لازم دارید را فراهم سازد راحتتر آن است كه بجای این كه از ابتدا پایگاه داده ایجاد كنید, جادوگر را به كار اندازید. در زیر هر یك از پایگاه داده هایی كه توسط جادوگر می توان ایجاد كرد تشریح شده است, برای اجرای آن كافی است كه نماد مربوطه را انتخاب كنید و بر روی كلید Ok كلیك كنید.
حال به جادوگرهای موجود و كاری كه برای شما در اكسس انجام می دهند توجه كنید:
------------------
Asset Tracking(پیگیری اموال): پایگاه داده ای برای مدیریت, نگهداری اموال, فروشندگان و كارمندان شركت ایجاد می كند.
Contact Managment(مدیریت ملاقاتها): پایگاه داده ای برای قرارهای ملاقات و تماسهای تلفنی شخصی شما ایجاد می كند.
Event Managment(مدیریت وقایع):یك پایگاه داده برای وقایعی مانند قراردادها(موافقت نامه ها), كارمندان و قیمتها ایجاد می كند.
Expenses(مخارج و هزینه ها):یك پایگاه داده برای نگهداری گزارشهای مخارج ایجاد می كند.
Inventory Control(كنترل موجودی):پایگاه داده ای برای اطلاعات محصولات, خریداران و سفارشات ایجاد می كند.
Ledger(حساب كل): پایگاه داده ای برای حسابهای كل, شامل تبادلات و حسابها ایجاد می كند.
Order Entry(دریافت سفارش): پایگاه داده ای برای مدیریت سفارشات خریداران, پرداختها و محصولات ایجاد می كند. در این پایگاه داده سیستمی از جداول ایجاد میشود كه تاحدودی به جداولی كه در قبلا در درسهای پیش شرح دادیم تطابق دارد.
Resource Scheduling(زمانبندی منابع): پایگاه داده ای برای مدیریت منابعی از قبیل زمانبندی و اقلام خریداران ایجاد می كند.
Service Call Managment(مدیریت سرویس تلفن):
پایگاه داده ای برای نگهداری اطلاعات خریداران, كار, دستورات كار, قطعات و پرداختها ایجاد می كند. Time and billing(زمان و صورتحساب): پایگاه داده ای برای نگهداری مشتریان, پروژه ها, كارتهای زمانی, كارمندان و پرداختها ایجاد می كند.
-------------------
توجه كنید كه اگر جادوگری انتخاب كنید در همان پنجره New در طرف راست زیر قسمت Preview شكلی هدف پایگاه داده را كه چندان واضح نیست نشان می دهد یعنی شما می توانید با انتخاب پایگاه داده ابتدا از هدف ایجاد آن از طریق این شكل مطلع شوید و سپس برروی Ok كلیك كنید.
جادوگر نه تنها جداول اصلی پایگاه داده را ایجاد می كند, بلكه همچنین فرمها, گزارشها و حتی ماكروها و برنامه های اصلی را نیز در صورت لزوم ایجاد می كند. استفاده از جادوگر برای ایجاد پایگاه داده اصلی, تهیه پایگاه داده اصلی را بسیار ساده تر می كند. بطور خلاصه مراحل ایجاد یك پایگاه داده با استفاده از جادوگر را شرح می دهم:
1-جادوگر مورد نظر خود را در پنجره New انتخاب كنید و بر روی Ok كلیك كنید.
2-نامی برای ذخیره شدن پایگاه داده انتخاب كنید یا نام پیش فرض را قبول كنید و بر روی Create كلیك كنید.
3-پنجره ای ظاهر می شود كه پایگاه داده ای را كه می خواهید ایجاد كنید به شما معرفی می كند و شكل كلی آن را اعلام می كند. اگر این همان پایگاه داده مورد نظر شماست بر روی Next كلیك كنید.
4- در پنجره بعدی در مورد جداول و دیگر اجزایی كه ایجاد خواهد شد به شما اطلاعاتی می دهد شما می توانید از لیست موجود جدولهای مورد نظر خود را انتخاب یا حذف كنید و سپس بر روی Next كلیك كنید.
5-در پنجره بعدی لیستی ظاهر می شود كه شما می توانید شكل ظاهری پایگاه داده خود را از لیست انتخاب كنید شكل مورد علاقه خود را انتخاب كرده بر روی Next كلیك كنید.
6-در پنجره بعدی شكل كلی گزارشهای شما را نشان می دهد در این قسمت هم با انتخاب شكل موردنظر خود روی Next كلیك كنید.
7-در این قسمت عنوان پایگاه داده از شما سوال می شود می توانید نام پیش فرض را انتخاب كرده و بر روی Next كلیك كنید.
8- حال دیگر كار جادوگر تمام شده است می توانید بر روی Finish كلیك كنید.
9- بعدی مدتی كه اكسس تمامی جداولها و اجزا را ایجاد كرد می توانید با پایگاه داده كار كنید. توجه كنید كه در هر مرحله ای كه منصرف شدید می توانید بر روی Cancel كلیك كنید.
10-ذكر این نكته نیز ضروری به نظر می رسدبعضی از سوالها كه در هنگام ایجاد پایگاه داده با استفاده از جادوگر از شما می شود شاید برای شما گنگ به نظر برسد ولی مطمئنا بعد از یادگیری كامل این سوالات را می توانید به راحتی جواب دهید. پس حتما باید با ایجاد یك پایگاه داده خالی آشنا شوید.
طراحی یك پایگاه داده جدید:
اگر قصد دارید كه از جادوگر استفاده نكنید كه به نظر من كار معقولانه ای است باید مراحل زیر را بپیمایید:
1-هنگام وارد شدن به اكسس از پنجره اولیه باز شده گزینه Blank access database راانتخاب كنید و اگر وارد محیط اكسس شده اید می توانید از منو File گزینه New را انتخاب كنید و از پنجره New در سربرگ General شكل database را انتخاب كرده و برروی Ok كلیك كنید.
2- حال باید محل ذخیره شده پایگاه داده را انتخاب كرده و نامی برای آن انتخاب كنید كه من مطمئن هستم با اینكار آشنایی لازم را دارید پس نامی برای پایگاه داده خود انتخاب كرده و بر روی Create كلیك كنید.
3- حال اكسس پایگاه داده را ایجاد كرده و صفحه خالی در برابر شما ظاهر شده است از این قسمت به بعد باید آشنایی لازم را به كارهای پیشرفته داشته باشید.
توجه كنید كه هنگامی اصول كار اكسس را رفته رفته بهتر یاد گرفتید جادوگرها هم بهتر درك خواهید كرد.
میله ابزار پنجره Database:
هنگامی كه یك پایگاه داده جدید ایجاد كرده باشید میله ابزار به صورت شكل 71 در زیر درمی آید. این میله ابزار در حالات مختلف تغییر می كند و امكانات دیگری را به شما می رساند.
تعریف جدول
صرف نظر از اینكه ما برای ایجاد پایگاه داده از جادوگر استفاده كرده یا پایگاه داده خالی ایجاد كرده ایم آشنایی با نحوه ایجاد, جابجایی و تغییر جداول پایگاه داده امری ضروری و اجتناب ناپذیر است.همانگونه كه قبلا هم گفته شد داده های موجود در پایگاه داده در جدولها جای می گیرند و تسلط بر جداول مهمترین مهارتی است كه باید بعنوان كاربر اكسس داشته باشید. من در این درس شرح خواهم داد كه چگونه جدول جدیدی درست كنید. برای ایجاد جدول نخست باید انرا نامگذاری كنید و سپس نوع داده های درون انرا تعریف كنید. این امور كه مربوط به طراحی جدول است یكی از ساده ترین كارها در اكسس است و البته جالب پس این درس نكات قابل توجهی برای شما خواهد داشت.
ایجاد جدول جدید:
وقتی كه می خواهید یك جدول جدید ایجاد كنید, با كلیك كردن بر روی شاخص Tables در پنجره Database به صفحه جداول(Tables) می روید.(البته توجه كنید كه این صفحه هنگامی كه پایگاه داده را باز یا ایجاد می كنید به صورت پیش فرض ظاهر می شود).حال برای ایجاد جدولی جدید باید بر روی دكمه New در بالای پنجره Database كلیك كنید. هنگامی كه بر روی این دكمه كلیك می كنیداكسس پنجره محاوره ای كوچكی به نام New Table را نشان می دهد.(كلید میانبری كه شما می توانید برای دسترسی به این پنجره كوچك استفاده كنید كلید Alt+N می باشد كه به سرعت شما را به این پنجره می برد).
در این پنجره باید انتخاب كنیم كه می خواهیم ایجاد جدول را در چه محیطی ادامه دهیم كه به نظر من حالت نمایشی Design بهترین حالت نمایشی برای ایجاد و كار با جدول است,برای ایجاد جدول گزینه Design View را از پنجره محاوره ای New Table انتخاب كرده و بر روی Ok كلیك كنید. برای آشنایی شما با دیگر گزینه های این پنجره یعنی New Table آنها را در زیر به طور خلاصه شرح می دهم.
---------------
Datasheet View: جدولی كلی به شكل صفحه گسترده می سازد كه می توانید داده های جدید را در آن اضافه كنید. این جدول بسیار ساده بوده و برای ایجاد پایگاه داده پیشرفته اصلا مناسب نیست.
Design View: امكان تعیین تمامی خصوصیات جدول جدید مانند نام فیلد, نوع داده, و حتی ملاحظات امنیتی, را فراهم می كند.این گزینه برای ایجاد هر گونه جدول مناسب است.
Table Wizard: امكان انتخاب از میان فهرستی از جادوگرهای از پیش نوشته شده را فراهم می سازد كه از این جادوگرها برای ایجاد جداول خاص مانند فهرست پستی یا جدول موجودی استفاده می شود. من این گزینه را برای ایجاد جدول به هیچ وجه پیشنهاد نمی كنم.
Import Table: از یك فایل داده غیر اكسس, جدولی ایجاد می كند.
Link Table: از یك فایل داده اكسس یا غیراكسس, جدول دیگری می سازد. این جدول اتصالی را نگه می دارد كه اگر فایل داده خارجی تغییر كند جدول اكسس نیز تغییر كند.
---------------
به موضوع اصلی برمی گردیم یعنی حالت نمایشی Design. این حالت نمایشی بیشترین میزان كنترل را برروی جدولی كه قصد ایجاد آنرا دارید فراهم می سازد. هنگامی كه برحالت نمایشی Design تسلط پیدا كردید, می توانید هر جدولی را ایجاد و اصلاح كرده و یا مطابق میلتان دستكاری كنید, و این شامل جداولی كه با جادوگر ایجاد كرده این نیز می شود.بعد از انتخاب حالت Design View از پنجره New Table جدول جدیدی را خواهید دید كه اصول كار ما از اینجا شكل می گیرد.
لازم به یادآوری است كه همانطور كه قبلا گفتم برای رفتن از حالت نمایشی Design View به حالت نمایشی Datasheet View می توانید از منو View یا میله ابزار استفاده كنید. در میله ابزار اولین انتخاب كه به شكل جدول كوچكی است برای اینكار طراحی شده است.در شكل 81 در زیر شما می توانید میله ابزار را در بعد از باز شدن پنجره Design تغییر كرده است ببینید و با آن آشنا شوید و سعی كنید آنرا به خاطر بسپارید.ذكر این نكته قابل توجه است كه اكسس همواره میله ابزار را تغییر می دهد را فرامین كارایی بهتری را ایجاد كنند.
نخستین جدول خود را طراحی كنید:
در میله عنوان پنجره Design View, نام جدول همراه با كلمه Table كه معرف پنجره است, نشان داده می شود.اكسس به طور خودكار نخستین جدول را Table1 می نامد(یعنی شما در میله عنوان این عبارت را می بینید Table1:Table)اما هرگاه كه بخواهید جدول را در فایل پایگاه داده ذخیره كنید,امكان تغییر نام وجود دارد. هر سطر در پنجره Design View یك فیلد را مشخص می كندیعنی در این پنجره ما می توانیم نوع فیلدها و نام آنها را در سطرها تعریف كنیم و كار اصلی این پنجره به شمار می رود.همانگونه كه ملاحظه می شود, پنجره Design View دارای میله گردان عمودی در سمت راست است لذا در صورت تمایل تا 256 فیلد می توانید اضافه كنید و با استفاده از میله گردان قادر به حركت بین فیلدها هستند.
هنگامی كه فیلدی می خواهیم اضافه كنیم باید در سه ستون پنجره Design View آن فیلد را به طور كامل تعریف می كنیم.در زیر وظیف هر یك از ستونها كه در تعریف فیلدهای جدول كاربرد دارند تشریح شده است:
---------------
Field Name(نام فیلد):باید به هر فیلدنامی تخصیص دهید.طول نام آن تا 64 حرف می تواند باشد.نام فیلد باید عنوانی منحصر بفرد باشد.برای فیلدی كه ارقام حقوق را نگه می دارد,بهترین نام حقوق یا مبلغ حقوق است.نام فیلد می تواند فضای خالی و سایر علایم خاص بجز نقطه,علامت تعجب,علامت تكیه صدا(')یا براكت را شامل شود.توجه داشته باشید كه هنگام كار با جدول برای رجوع به فیلد از نام آن استفاده می شود.
Data Type(نوع داده):نوع داده ای را كه در فیلد جای می گیرد را تعیین می كند. اكسس داده های مختلفی را دارا است.به عنوان مثال برای فیلد حقوق باید داده ای از نوع ارز یا انتخاب كرد.(در درس آتی در این مورد به صورت مفصل توضیح خواهم داد).
Description(شرح):شرح اختیاری است و برای توضیح فیلد به كار می رود.می توانید منشا و محتوای فیلد را در آن تشرح كنید.توجه داشته باشید كه پر كردن یا نكردن این قسمت اصلا تاثیری در جدول نخواهد داشت.
---------------
توجه:ایجاد شرح برای هر فیلد عاذت خوبی است.در هنگام توسعه بعدی برنامه,این كار بسیار سودمند خواهد بود.برای فیلدها اسامی معنی دار انتخاب كنیدتا بعدا داده های داخل فیلد از طریق نامش قابل شناسایی باشند. مثلا:تاریخ تولد,نام فیلد خوبی برای تاریخ تولد كارمند است, حال آنكه نامی مانند فیلد3, محتوای فیلد را مشخص نمی كند.
مفهوم اولین و آخرین ستونهای جدول پنجره Design view یعنی ستونهای نام فیلد و شرح از نامشان مشخص است.
نام فیلد شرح كوچكی از فیلد است و برای رجوع به فیلد و محتوای آن مورد استفاده قرار می گیرد.مثلا: در یك گزارش دستمزد اگر قرار باشد مقادیر حقوق كه در فیلد حقوق ذخیره شده است چاپ شود به این فیلد رجوع می شود.فیلد شرح بعنوان مرجعی برای مستندسازی محتوای فیلد به كار می رود.اكسس از این فیلد هیچ استفاده ای نمی كند, ولی شما باید از این بخش برای شرح هر فیلد پایگاه داده استفاده كنید. اگر با سایر همكاران برروی یك پروژه پایگاه داده كار می كنید,هریك از شما باید هر فیلدی را كه به پایگاه داده اضافه می كنید را مستند كنید,تا دیگران از علت وجود فیلد كاملا آگاه باشند.
توجه:فیلدها را بیش از حد مستند نكنید.برای نمونه,یك ستون خالی شرح بهتری از شرحی است كه تاثیری نداشته باشد.مثلا نوشتن شرح "فیلد سوم" زائد بوده و در واقع توضیحی نمی دهد.بعلاوه شرحی كه مشابه نام فیلد باشدنیز غیرضروری است. هرفیلدی به شرح نیاز ندارد.مثلا فیلدی با نام نرخ مالیات, در جدول دستمزد, به فیلد شرح احتیاجی ندارد. اگر نامی كه برای فیلد انتخاب می كنید بامعنی باشد اصلا به شرح نیاز ندارد.
ستون میانی در پنجره Design View نوع داده را تعیین می كند.برای این فیلد,به اطلاعات بیشتری نیاز دارید.داده های اكسس به اشكال مختلفی ظاهر می شوند.شكل داده های فیلد مشخص كننده كاری است كه با فیلد و محتوای آن می توانید انجام دهید. ستون Data Type و كلیه موارد مربوط به آن در درس بعدی توضیح داده خواهد شد.
هرگاه فیلدی (یا فیلدهایی)را اضافه كردید كه می خواهید كلید اصلی باشد,باید موقعی كه نشانگر ماوس روی سطر موردنظر است دكمه Primary Key را از میله ابزار فشار دهید(دكمه ای كه تصویر كلید روی آن است).یا می توانید با انتخاب سطر موردنظر از منو Edit گزینه Primary Key را انتخاب كنید. همچنین یك روش دیگر برای مشخص كردن كلید اصلی كلیك راست كردن برروی سطر مورد نظر و انتخاب Primary Key از منو ظاهر شده است. پس از انتخاب فیلد كلید اصلی اكسس در سمت چپ فیلد تصویر كلید را نشان می دهد. توجه كنید كه هر جدولی كه ایجاد می كنید باید حتما یك كلید اصلی داشته باشد در درسهای پیش در مورد كلید اصلی به طور مفصل صحبت كردیم. پس باید به یاد داشته باشیم كه در هنگام ایجاد جدول یك فیلد را به عنوان كلید اصلی انتخاب كنیم.
توجه:برای اینكه بیش از یك فیلد را در كلید اصلی قرار دهید باید كلید Ctrl را پایین نگه دارید و همزمان سطرهایی را كه می خواهید به عنوان كلید اصلی باشند انتخاب كنید سپس از میله ابزار Primary Key را كلیك كنید. اكسس در سمت چپ كلیه فیلدهایی كه جز كلید اصلی هستند تصویر كلید را قرار می دهد.
توجه:اگر فیلد كلید اصلی را تعریف نكنید در هنگام بستن یا ذخیره كردن جدول طراحی شده اكسس از شما سوال می كند كه آیا می خواهید چنین فیلدی داشته باشید اگر پاسخ Yes را بدهید اكسس فیلدی از نوع Auto Number(بعدا توضیح داده خواهد شد)به جدول اضافه كرده و آن را كلید اصلی قرار می دهد. اگر مطمئن هستید كه هرگز به كلید اصلی نیاز ندارید (معمولا به یك فیلد كلید اصلی نیاز است) No را انتخای كنید.
درس تعریف جدول هم تمام شد حال شما می توانید جدول خود را ایجاد كنید ولی یك مشكل كوچك وجود دارد و آن هم نوع داده های موجود در ستون Data Type می باشد نوع داده ها خود بحث مفصلی است كه آنرا به درس بعدی موكول می كنیم.
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
دستور BETWEEN :
همانطور که کلمه IN به ما کمک میکند تا محدوده انتخاب را به یک یا چند مقدار محدود کنیم ، کلمه BETWEEN کمک میکند تا محدوده را یک بازه تعریف کنیم . در این حال تمام مقادیری که بین value1 و value2 باشند انتخاب میشوند .
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2'
مثال :فرض کنید جدولی مانند زیر داریم .رکوردهایی که تاریخ آنها بین January 6, 1999 و January 10, 1999 است را میخواهیم .
Table Store_Information
|
store_name
|
Sales |
Date |
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
SELECT * FROM Store_Information WHERE Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999'
نتیجه :
|
store_name
|
Sales |
Date |
|
San Diego
|
$250
|
Jan-07-1999
|
|
San Francisco
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
هدف این مقاله آشنایی مختصر با حملات ترزیق كد به بانكهای اطلاعاتی (Sql injection) و روشهای مقابله با این دسته از حملات در دنیای وب است.
هدف این مقاله آشنایی مختصر با حملات ترزیق كد به بانكهای اطلاعاتی (Sql injection) و روشهای مقابله با این دسته از حملات در دنیای وب است.
امروزه یكی از متداول ترین روشهای نفوذ به وب سایتها و بانكهای اطلاعاتی حملات تزریق كد است در این گونه حملات شخص نفوذگر یا برنامههای نفوذگر كدهای مخرب را از طریق ورودیهایی كه برنامههای تحت وب میگیرند، اجرا میكند كه باعث اختلال در سیستم وب سایتها میشوند اهداف نفوذگران در این گونه حملات سرقت اطلاعات یا تغییر اطلاعات بانك اطلاعاتی(database) است كه گاهی اوقات این دسترسی تا نفوذ به سرور و دسترسی به كل فایلها و اطلاعات سرور ختم میشود كه از این جنبه بسیار خطرناك است.
این روش هك شایع ترین روش در هك كردن كارتهای اعتباری و اطلاعات سایتها و بانكهای اطلاعاتی به شمار می آید.
شایع ترین پایگاههای اطلاعات كه با این مساله مواجه میشوند شامل Access, Microsoft Sql , MySql , Oracel میباشد. حال در ادامه به توضیح مختصری در مورد چگونگی وقوع این نوع حملات و راههای مقابله با آن میپردازیم.
نفوذگر در این حملات با سوء استفاده از فرمهایی كه از طریق كاربر ورودی میگیرد، كدهای مخرب خود را به ورودی برنامه تزریق میكند و بعد از پردازش بین پایگاه اطلاعات و برنامه تحت وب عملیاتی به عنوان خروجی انجام میشود یا اطلاعاتی روی صفحه نمایش داده میشود كه نفوذگر بر اساس خروجی، كار خود را پیش میبرد.
فرمهای ورود به قسمت مدیریت وب سایت، نمایش اخبار, نمایش مقالات و امثال این گونه فرمها قربانیان این حملات میباشند در ادامه یك مورد از این حملات را شرح می دهیم و در نهایت به روشهای مقابله با این نوع حملات میپردازیم.
برای مثال فرم ورود به قسمت مدیریت یك سایت در نظر بگیرید كه شامل دو ورودی نام كاربری و كلمه عبور است و دكمه ارسال كه اطلاعات را به سمت برنامه میفرستد، حال نام كاربری مهم نیست و هر چیزی میتواند باشد اگر در قسمت كلمه عبور عبارت a" or "t"="t وارد شود باعث میشود كه دستوری كه برنامه به پایگاه اطلاعات میفرستد دچار انحراف بشود و نتیجه اجرای عملیات درست نباشد و باعث ورود به قسمت مدیریت سایت بشود و شخص نفوذگر به كلیه اطلاعات به راحتی دسترسی داشته باشد البته این یكی از ساده ترین روشهای تزریق كد به بانك اطلاعاتی است كه البته هنوز هم در بسیاری از فرمها این مشكل وجود دارد و میتواند ناشی از كنترل نشدن مقادیر ورودی توسط برنامهنویس و وجود مشكل در دستوراتی كه به پایگاه داده ارسال میگردد باشد.
حال نوبت روشهای مقابله با حملات تزریق كد به پایگاه داده (Sql Injection) است قبل از شروع باید اهمیت این موضوع را درك كنیم كه سایتهای بسیار معروف و مهمی توسط این روش مورد حمله قرار گرفتند و این امر برنامهنویس را بر آن میدارد كه مقابله با حملات تزریق كد را یكی از قسمتهای مهم كار خود در نظر بگیرد و در تمام فرمهایی كه ورودی از كاربر میگیرد این مساله را كنترل نماید.
روشهای مقابله با حملات تزریق به پایگاه اطلاعات
یكی از مهمترین روشها جلوگیری از نمایش خطاهای برنامه است كه در صورت به وجود آمدن هرگونه مشكل برای برنامه یا تزریق ورودیهای مخرب به برنامه سورس برنامه یا اطلاعات پایگاه داده نمایش داده نشود چون بیشتر نفوذگران بر اساس خطاهایی كه برنامه می دهد كار خود را مرحله به مرحله پیش میبرند و به اطلاعات بیشتری دستیابی پیدا میكنند. این مساله خیلی مهم است كه امیدواریم تمام برنامهنویسان رعایت كنند كه در آینده برایشان مشكلی پیش نیاد.

مساله بعدی كنترل ورودیهای برنامه است این مهمترین قسمت مقابله با حملات تزریق كد است. ورودیهای برنامه بطور كل اطلاعاتی است كه به فرمهای برنامه پست میشود كه ما توسط روشهای مختلفی می توانیم اطلاعات ورودی را كنترل كنیم. بهترین لایه, لایه امنیتی سرور است كه كلیه مقادیر پست شده را كنترل كند و مقادیر مخرب را فیلتر كند و قبل از این كه اطلاعات به برنامه پست شود جلوی حملات را بگیرد. البته این روش مقابله به مسائل امنیتی سرور بر میگردد كه ممكن است در یك سرور رعایت شود و در یك سرور رعایت نشود كه این امر برنامهنویس را مجبور میكند كه این لایه امنیتی را در داخل برنامه پیاده سازی كند و كلیه اطلاعات ورودی و پست شده را چك كند و ورودیهای مخرب را فیلتر نماید.
بیشترین مشكلی كه موجب تزریق كدهای مخرب به پایگاه اطلاعات میشود ورودیهای متنی هستند كه از طریق url به برنامه ارسال میشود تا جای ممكن باید سعی شود برای نمایش اطلاعاتی مثل اخبار, مقالات و مطالبی كه در پایگاه داده ذخیره شده از ورودیهای عددی استفاده شود تا جلوی تزریق كد گرفته شود و اگر ورودی عددی باشد در برنامه باید كنترل شود كه ورودی مشكلی نداشته باشد و آلوده به كدهای مخرب نباشد این مهمترین مساله است كه تمام مشكلات تزریق كدهای مخرب به پایگاه اطلاعات ناشی از چك نكردن ورودیهای آلوده است كه خیلی راحت میتوان جلوی این نوع حملات را گرفت.
این مساله جای بحث بسیار زیادی دارد كه در مطلب ما نمی گنجد برای بیشتر آشنا شدن با این گونه حملات مطالب موجود در ویکی پدیا می تواند مفید باشد.
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
عرضه شدن نسخه ۲۰۰۵ پایگاه دادهای مشهور مایكروسافت یعنی SQLServer، بازار نرمافزارهای بانك اطلاعاتی را به شدت تحت تأثیر خود قرار داد. امكانات گستردهای كه در این نسخه جدید تعبیه شده، طراحی و پیادهسازی بانكهای اطلاعاتی را سرعت بخشیده و تلفیق و انطباق آن با انواع فناوریهای نو مانند XML وADO.NET، باعث افزایش قدرت و كارایی آن شده است. در این مقاله به برخی از ویژگیهای جدید این برنامه نگاهی خواهیم داشت.
Snapshot Isolation Level
یكی از روشهایی كه به انواع متدهای قفل كردن ردیفهای یك جدول بانكاطلاعاتی در نسخه جدید اضافه شده است، شیوه تصویربرداری از ركورد است. در روشهای قبلی، اگر یك یا چند ركورد بانك اطلاعاتی توسط دستور BeginTrans كه شروع یك فرآیند را مشخص میكند در شرف تغییر یا حذف قرار میگرفتند، تا مادامی كه فرآیند مذكور توسط دستور Commit Trans تأیید یا توسط RollBack منتفی نشود، از هیچ جا و برنامهای نمیتوان ركوردهای مذكور را حتی با دستور ساده SELECT خواند. اما در روش جدید قفلگذاری، در صورت بروز چنین رویدادی سایر كاربران میتوانند همواره آخرین ارزش ركوردهای مذكور را با این فرض كه هنوز هیچ تغییری در آنها ایجاد نشده است بخوانند و مورد استفاده قرار دهند.
. باز هم داتنت
با نسخه جدید SQL Server، برنامهنویسان بانكهای اطلاعاتی قادرند از امكانات و قابلیتهای موجود در پلتفرم داتنت و كلیه توابع و كلاسهای ساخته شده در آن بهرهمند شوند. یكی از ابتداییترین و در عین حال اساسیترین این قابلیتها، امكان استفاده از دو زبان مهم و كاربرپسند داتنت یعنی ویژوال بیسیك و سیشارپ در پیادهسازی اجزای مختلف یك بانكاطلاعاتی است. این عامل نهتنها باعث میشود كه برنامهنویسان برای نوشتن ماژولهایی مثل تریگرها، روالها (Stored Procedures) در توابع به جای استفاده از زبان استاندارد و در عین حال پیچیده T-SQL ، بتوانند از زبانهای محیط داتنت با تمام ساختارها، دستورات، كلاسها، آرایهها، و خلاصه تمام ویژگیهای یك زبان شی گرا استفاده كنند، بلكه این همكاری نزدیك بین موتور برنامهنویسی داتنت یعنی CLR (كه مسؤول تبدیل كدهای نوشته شده داتنت به زبان سیستمعامل است) و موتور بانك اطلاعاتی SQLServer باعث شده تا به غیر از تنوع زبانهای برنامهنویسی قابل استفاده درSQLServer، تغییر قابل توجهی نیز در كارایی ماژولهای مذكور پیش آید. در واقع موضوع از این قرار است كه اصولاً كدهای نوشته شده به زبانهای داتنت، ابتدا توسط كامپایلر به زبان (IL) ترجمه میشوند. سپس CLR این كد میانی را به كد قابل فهم سیستمعامل تبدیل و آماده اجرا مینماید. این كار سبب میشود تا كدهای نهایی به دلیل اینكه بسیار به سیستمعامل نزدیك میباشد سریعتر از كدهای TSQL (كه فقط توسط موتور بانك اطلاعاتی قابل اجرا هستند) اجرا شوند و در زمان اجرا از كارایی بیشتری برخوردار باشند. البته این مسأله بدین معنی نیست كه استفاده از زبانهای داتنت همیشه بر زبانهای SQL ارجحیت دارد، بلكه منظور آن است كه در برخی موارد ممكن است آن قدر منطق و الگوریتم یك ماژول پیچیده باشد كه برنامهنویس استفاده از زبانهای داتنت را به دلیل آسانتر بودن ساختار و دستورات آن به زبان SQL ترجیح دهد. بنابراین زمانی كه بیشترعملیات یك ماژول مربوط به خواندن و نوشتن اطلاعات باشد بهتر است از همان دستورات استاندارد SQL یعنی SELECT ،UPDATE ،DELETE وINSERT استفاده كرده و بیجهت منابع سیستم را صرف تعریف متغیرها و كلاسهای داتنت ننماید. اما در ماژولهایی كه بیشتر عملیاتشان شامل پردازش اطلاعات مثل انجام عملیاتهای ریاضی یا مقایسه اطلاعات با یكدیگر است بهتر است تا هم از امكانات برنامهنویسی و هم از سرعت و كارایی بالای داتنت در این زمینه بهره برد و ماژولهای مذكور را با زبانهای داتنت پیادهسازی كرد.
. ADO .NET وارد میشود
طبق یك سنت نهچندان قدیمی برنامهنویسی در محیط ویندوز، برنامهنویسان SQLServer، بانك اطلاعاتی موردنظرشان را برروی سرور و برنامه كاربردی نوشته شده با زبانی مثل ویژوال بیسیك را بر روی كلاینتها قرار میدهند. سپس از طریق این برنامه كاربردی و با استفاده از اشیایی از جنس ADO دادههای موردنیاز خود را از سمت سرور دریافت كرده و یا به آن ارسال میكنند. اكنون این ارتباط به لطف نسخه جدید SQLServer و همچنین محیط داتنت، با امكانات جدیدADO.NET بسیار كاملتر از قبل شده است. این ارتباط جدید با استفاده از مكانیسمی به نام اعلان (Notification) به یك ارتباط دوطرفه فعال تبدیل شده به طوری كه ADO.NET قادر است پیغامهایی را از سمت پایگاه داده به سمت كلاینت ارسال كند. به عنوان مثال فرض كنید كه شما با استفاده ازADO تعدادی از ركوردهای یك جدول بانك اطلاعاتی را انتخاب كرده و مشغول كار برروی آنها هستید. در همین هنگام كاربر دیگری از طریق كلاینت و ADO خود، ركوردی در محدوده ركوردهای مورد انتخاب شما را تغییر میدهد یا حذف میكند. در این وقت موتور پایگاه داده با ارسال پیغامی به ADO شما، این مسأله را با استفاده از فراخوانی یك رخداد (Event) شی ADO به اطلاعتان میرساند. علاوه براین قابلیت جدید، فناوری جدید دیگری هم با استفاده ازADO.NET به نسخه جدید SQLServer اضافه شده و آن امكان چند پرسوجوی همزمان توسط یك شی ADO است. در این شیوه اگر یك شی ADO با استفاده از دستور SELECT مشغول خواندن تعدادی از ركوردهای یك جدول بانك اطلاعاتی باشد، میتواند بدون اینكه منتظر به پایان رسیدن این عملیات شود، تعداد دیگری از ركوردهای یك جدول دیگر بانك اطلاعاتی را بخواند. این قابلیت جدید با نام (Multiple Active Result Set (MARS كه قبلاً فقط در كرسرهای سمت سرور (server side) و آن هم نه با كارایی بالا وجود داشت اكنون در كرسرهای سمت راست كلاینت هم وجود دارد و تفاوت عمده آن با شكل قدیمی هم علاوه بر مورد مذكور، امكان ایجاد چند كرسر در یك شی ADO به صورت همزمان است. SQLServer نسخه ۲۰۰۵ به خوبی از تمام این ویژگیها، پشتیبانی میكند.
. تكنولوژی XML
اكنون كه XML به یك استاندارد ارتباطی بین سكوهای مختلف تبدیل شده است، نسخه جدید SQLServer هم از توجه كافی به آن و ایجاد یك انقلاب در سادهتر استفاده كردن از آن طفره نرفته است. در نسخه ۲۰۰۰ كاربران قادر بودند تا با استفاده از دستور FOR XML نتیجه یك پرسوجوی SELECT از یك بانك اطلاعاتی را به درون یك فایل XML بریزند یا مثلاً با دستور OPEN XML میتوانستند یك فایل XML را باز كرده و شروع به خواندن دستورات درون آن نمایند. از آنجا كه در نسخه جدید SQLServer توجه خاصی به این استاندارد و زبان ارتباطی شده است، یك نوع داده جدید (Data type) به انواع دادههای قبلی و استاندارد SQL مثل int ، char و امثال آن اضافه شده است. این نوع داده جدید كه XML نام دارد و دارای خصوصیات یك نوع داده موجود در یك محیط شیگرا است، دارای متدهای پیشرفتهای چون ()nodes() ،Value() ،exist() ،query و ()modify بوده و قادر است انواع پردازشهای قابل انجام برروی اسناد XML را به راحتی انجام دهد. عملیات جستجو، تغییر، حذف و درج مقادیر موردنظر در داخل یك فایل XML را میتوان با استفاده از متدهای مذكور و صرفاً با چند خط برنامهنویسی انجام داد. همچنین در این نسخه برخلاف نسخه ۲۰۰۰، با استفاده از دستور FOR XML میتوان یك شیء از جنس XML را بدون ارسال آن به كلاینت، برروی سرور ساخته و از آن نگهداری كرد. با این كار میتوان جداولی را كه مرتباً مورد رجوع كاربران قرار میگیرند هراز گاهی در قالب XML به داخل حافظه آورد و كاربران مذكور به جای رجوع به جداول اصلی در هارددیسك، با استفاده از دستورات ویژه جستجو درXML ، متغیر مذكور را در حافظه سرور مورد جستجو قرار دهند و بدینوسیله یك نوع عمل Cache كردن را جهت افزایش سرعت دسترسی به اطلاعات تكراری شبیهسازی كنند. در این حالت، كاربران به جای استفاده از دستورSELECT استاندارد میتوانند از OPEN XML كه در نسخه ۲۰۰۵ قادر است متغیرهای جدید از نوع XML را بخواند استفاده كرده و به سرعت به اطلاعات موردنیاز خود دسترسی پیدا كنند. این قابلیت جدید آنقدر در سریعتر كردن جستجو در برنامههای تحت وب مهم و مؤثر است كه جای هیچ مشكلی را در استفاده از آن باقی نمیگذارد.
. سرویس اعلان (Notification)
همانطور كه گفتیم سیستم اعلان درSQLServer قادر است پیغامهایی را طی زمانهای مشخص به سمت كاربران بفرستد. مثلاً تصور كنید كه تعدادی كاربر در حال اتصال به یك بانك حاوی اطلاعات مربوط به ارزش سهام در بورس هستند. از آنجایی كه ممكن است قیمت سهام هر شركت یا مؤسسه برای تعدادی از كاربران از اهمیت زیادی برخوردار باشد، میتوان این سیستم را طوری تنظیم كرد تا هرگاه ارزش سهام خاصی كه موردنظر هر كاربر است تغییر كرد، به صورت اتوماتیك به وی اعلام شود. كاربر هم میتواند این تغییرات را برروی برنامه كاربردی خود، تلفن همراه (در قالب Windows Messenger ،(SMS و یا ایمیل بهصورت مرتب دریافت و مشاهده كند.
. سرویس گزارشگیری
سرویس جدید تولید گزارشهای متنوع در نسخه ۲۰۰۵ به یكی از جالبترین و پركاربردترین قابلیتهای این نسخه تبدیل شده است، وجود یك موتور گزارشگر قوی در سمت سرور و یك ابزار مناسب ساخت گزارش با واسط كاربر عالی، باعث شده تا برنامهنویسان بتوانند گزارشهای موردنظر خود را با كارایی و سرعت مناسب در سمت سرور بسازند به طوری كه این گزارشهای سمت سرور توسط هر برنامه كاربردی سمت كلاینت در هر پلتفرمی با همان امكانات اتصال به SQLServer قابل مشاهده است.
. بهبودهای ایجاد شده در زبان
در ۲۰۰۵ SQLServer تغییرات بسیار مثبتی در زبان SQL T ایجاد شده است. این تغییرات در زمینههای مختلف مثل مدیریت خطاها، جستجوهای بازگشتی (Recursive Query) و حتی در بدنه موتور پایگاه دادهها انجام شده و كارایی كلی ذخیره و یا خواندن اطلاعات را به نحو مطلوبی افزایش داده است. به عنوان مثال دردستورات TSQL، دو اپراتور جدید دیده میشود، كه PIVOT وUNPIVOT نام دارند. این دو اپراتور كه در قسمت FROM یك پرسوجو مورد استفاده قرار میگیرند میتوانند نتیجه یك جستجوی انجام شده توسط دستور SELECT را به جای برگرداندن در قالب ردیفها یا ركوردهای پشتسرهم، به صورت ستونهای مختلف یك یا چند ركورد برگردانند. در این روش یكی از ستونهای (فیلدهای) یك جستجو به عنوان محور معرفی شده و بقیه ستونها براساس آن به صورت افقی طبقهبندی میشوند. به یك مثال توجه كنید:
SELECT CUSTOMER ID, order No
FROM orders PIVOT CustomerID
Order No Order No Order No Order No Customer ID
- ۴۴۰۰ ۱۱۲۰ ۲۵ ۱
- - - ۳۵۰ ۲
- - ۱۷۸۰ ۴۴۳ ۳
۸۹۸۹ ۲۲۲۲ ۱۹۸۰ ۵۵۵ ۴
. نتیجه جستجوی فوق چیزی شبیه موارد بالا خواهد بود
همانطور كه مشاهده میكنید با استفاده از اپراتور مذكور، نتیجه پرسوجوی انجام شده به این صورت كه هر ردیف به یك شماره مشتری و چندین شماره سفارش مربوطه به آن مشتری در قالب ستونهای مختلف است، در میآید. این همان چیزی است كه سالها درSQLServer وجود نداشت و ابزارهای مختلف گزارشسازی مثل CrystalReport آن را با نام Cross Tab به كاربران خود ارایه میدادند. در همین رابطه اپراتورUNPIVOT هم عمل عكس اپراتور مذكور را انجام میدهد.اپراتور دیگری كه میتواند نقش مهمی را در دستورات SQL بازی كند APPLY نام دارد كه در قسمت FROM یك دستور SQL به كار میرود. با استفاده از این دستور میتوان خروجی یك تابع (Function) را با یك یا چند جدول دیگر تركیب (Join) كرد همانطور كه میدانید در ۲۰۰۵ SQLServer توابع میتوانند یك یا چند ردیف یك جدول اطلاعاتی را برگردانند كه این خروجی میتواند با یك جدول دیگر با استفاده از اپراتور مذكور تركیب شود.
. مدیریت خطا
در نسخههای قدیمی SQLServer برای كشف و مدیریت خطا از سیستم Error Handling استفاده میشد. این شیوه كشف خطا كه در زبانی مثل ویژوال بیسیك ۶ هم مورد استفاده قرار میگرفت با استفاده از دستور GOTO میتوانست كنترل و خط اجرای روال را از یك محل به محل دیگر و در واقع از محل بروز خطا به محل مدیریت و آشكار كردن (Raise) آن ببرد و بدینوسیله پیغام خطایی را به كار نشان دهد. نسخه جدید SQLServer با تأثیر از پلتفرم داتنت، از دستورات ویژه كشف و مدیریت خطا با عنوان Exception Handling استفاده میكند. این روش با استفاده از دستورات جدید TRY/CATCH شیوه بهتری از مدیریت خطا را به اجرا میگذارد. در این روش برخلاف روش قبل، تمام خطاهای اتفاقافتادنی مثل خطاهای مربوط به تبدیل دادهها به یكدیگر (DataConversion) به خوبی مدیریت شده و از بروز خطاهایی كه منجر به اتمام ناقص عملیات یك روال یا تریگر میشود جلوگیری به عمل میآید.
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
ابزارهایی ارایه شدهاند که با بکارگیری آنها می توان یک SQL Server امن داشت. ضمناً ابزارهای حمله بسیاری نیز وجود دارند که آشنائی با آنها میتواند دید خوبی در رابطه با امنیت SQL Server و جلوگیری از آسیبهای آن بوجود آورد.
۱. مقدمه
در دو بخش زیر خلاصهای درباره ی بعضی از ابزارهای حمله و نیز دفاع، ارایه خواهد شد.
۲. ابزارهای حمله
ForceSQL نسخه ۲.۰
این ابزار برای بدست آوردن رمز عبور یک SQL Server استفاده می¬شود. ForceSQL دارای ویژگی¬های زیر است:
▪ کنترل و راهبری آسان آن در خط فرمان
▪ اجرای حمله دیکشنری ۱
▪ اجرای حمله فراگیر ۲
▪ بکارگیری درگاهی به غیر از درگاه ۱۴۳۳
● SQLDict
این ابزار که در سطر فرمان تمامی ویندوزها قابل اجرا است، تدارک یک حمله دیکشنری علیهSQL Server را می دهد. جهت بکارگیری آن باید IP ماشین هدف، شناسهی کاربری که میخواهید رمز او را به دست آورید و فایلی که حاوی رمزهای عبور برای چک کردن می باشد را مشخص کنید.
● CPMdeamon
این برنامه که در محیط لینوکس نوشته شده است، یک کد CGI را اجرا میکند و اجازه¬ی عوض کردن رمز عبور را از راه دور می دهد.
● SQLScanner.exe
این ابزار که در سطر فرمان ویندوز اجرا می شود، یک محدوده آدرس IPاز نوع کلاس B(XXX.XXX) و نام یک فایل خروجی را به عنوان پارامتر می گیرد، و سپس محدوده را جستجو کرده و IP¬هایی را که دارای Sql Server هستند مشخص می نماید و در فایل خروجی لیست می کند. این ابزار قادر به شناسایی SQL Serverهایی که از درگاه استاندارد ۱۴۳۳ استفاده نمی کنند نیز می باشد.
● SqlPing.exe
این برنامه ی سطر فرمان ویندوز، اطلاعات مفیدی (نظیر نام سِرور، شماره ی نسخه ، شماره ی درگاه و ....) در مورد یک SQL Server نصب شده بر روی یک IP خاص ارائه می دهد.
● NGSSQLCrack
NGSSQLCrack ابزاری است که جهت شکستن رمز عبور در SQL Server ۷ و ۲۰۰۰ بکار گرفته می شود.
۳. ابزارهای دفاع
● SQL Critical Update
SQL Critical Update بستهای نرمافزاری است که توسط شرکت مایکروسافت ارائه شده و شامل اجزای زیر است:
▪ SQL Critical Update: که در آن یک وصله ی امنیتی برای نسخههایی از SQL Server ۲۰۰۰ و MSDE ۲۰۰۰ که در برابر کرم Slammer آسیبپذیرند قرار داده شده است.
▪ SQL Scan: با استفاده از این ابزار می توان یک کامپیوتر، یک دامنه و یا محدودهای از آدرس ها را برای یافتن یک نسخه ی نصب شده از SQL Server ۲۰۰۰ یا MSDE ۲۰۰۰ که در برابر کرم Slammer آسیبپذیر است، کنترل نمود.
▪ SQL Check: با استفاده از این ابزار می توان یک کامپیوتر را برای یافتن نسخه های آسیبپذیرSQL Server ۲۰۰۰ یا MSDE ۲۰۰۰ در برابر کرم Slammer، چک کرد.
● (Microsoft Baseline Security Analyzer (MBSA
یک ابزار مجانی ارائه شده از سوی مایکروسافت میباشد که قادر است یک کامپیوتر دارای ویندوز را در برابر وجود پیکربندیهای اشتباه و یا به روز نبودن نرمافزارها بر اساس آخرین بهنگام سازی های امنیتی ارایه شده، چک کند.
● SQLLiteSpeed
SQL LiteSpeed یک نرمافزار پیشرفته برای تهیه ی پشتیبان از بانک های اطلاعاتی SQL Server، در قالب فایل های رمزنگاری شده است.
● EnforcePass
بسیاری از حملات بر اساس کشف کلمات عبور ضعیف و قابل حدس انجام می گیرند. این ابزار که در واقع یک تابع است، با توجه به معیارهای زیر، از بکارگیری کلمات عبور ضعیف توسط راهبر SQL Server و کاربران جلوگیری می کند.
کلمه عبور نباید شامل کلمه شناسه ی عبور باشد.
طول کلمه ی عبور باید بیش از شش باشد.
کلمه ی عبور باید شامل حداقل یک حرف، یک رقم و یک کاراکتر از علایم باشد.
این تابع باید درون رویههای ذخیرهشده sp_password و sp_addlogin موجود در SQL Server قرار گیرد.
● AppDetective. for Microsoft SQL Server
این نرمافزار یک ابزار برای برآورد کردن میزان امنیت برنامههای کاربردی موجود در شبکه ی شماست.
● NGSSQuirreL
NGSSQuirreL یک ابزار بررسی امنیت برنامه است که مخصوص Microsoft SQL Server طراحی شده است.
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
انتشار اخبار روزانه از حملات ثبت شده علیه محصولات و سرویس های مایکروسافت، منجر به این باور عمومی گشته که آسیب پذیری محصولات مایکروسافت نسبت به محصولات سایر شرکت ها بیشتر بوده و در مجموع امنیت دغدغه اصلی این شرکت در ارائه محصولات خود محسوب نمی شود.
محصولات مایکروسافت همواره روی لبه حملات امنیتی از جانب نفوذگران قرار داشته اند. انتشار اخبار روزانه از حملات ثبت شده علیه محصولات و سرویس های مایکروسافت، منجر به این باور عمومی گشته که آسیب پذیری محصولات مایکروسافت نسبت به محصولات سایر شرکت ها بیشتر بوده و در مجموع امنیت دغدغه اصلی این شرکت در ارائه محصولات خود محسوب نمی شود. با وجود این، توجه به امنیت یکی از شعارهای اصلی مایکروسافت در انتشار آخرین نسخه SQL Server خود، که Yukon نامیده می شود، بوده است. در این قسمت اهم بهبودهای امنیتی Yukon نسبت به نسخه های قبلی آن را بررسی خواهیم کرد:
سرویس های پیش فرض: نصب پیش فرض Yukon حداقل تعداد سرویس ها و ویژگی های مورد نیاز را فعال نگه می دارد. تعدادی از سرویس ها که بصورت پیش فرض غیرفعال باقی می مانند، عبارتند از:
Microsoft .Net Framework
SQL Server Broker Network Connectivity
HTTP Connectivity in Analysis Services
تفکیک مفهوم مدل و کاربر: در استاندارد ANSI SQL ۹۲ مدل۱ یا Schema بصورت مجموعه ای از اشیای پایگاه داده که به یک کاربر تعلق دارند، تعریف شده است. در نسخه های قبلی SQL Server یک رابطه ضمنی و خیلی نزدیک بین کاربران و schema وجود دارد که در بسیاری از موارد به تمایز مفهوم آنها توجه نمی شود. در SQL ۲۰۰۰ هر کاربر در واقع مالک یک schema است که دارای نامی مشابه نام کاربر است. به همین دلیل به هنگام حذف یک کاربر از پایگاه داده، مجبور به بازنویسی کد در همه ارجاعات مربوط به اشیاءیی که تحت تملک آن کاربر بوده اند، هستیم. ولی در Yukon، با متمایز نمودن صریح مفهوم schema و کاربران، هر کاربر بجای اینکه بصورت مستقیم مالک اشیاء باشد، مالک schema است که در واقع دربرگیرنده اشیاء می باشد. این تمایز علاوه بر تسهیل مدیریت کاربران در Yukon، اعمال کنترل دسترسی کاربران به اشیاء را بصورت دقیقتر امکان پذیر می سازد.
کنترل دسترسی: مکانیزم های کنترل دسترسی و سطح ریزدانگی آن در نسخه جدید SQL Server بهبود یافته است.
تفکیک مفهوم کاربران و مدل که اولین بار در Yukon معرفی شده است، کنترل حقوق را آسان ساخته و پایبندی به اصل "دسترسی به حداقل حقوق" را امکان پذیر می سازد.
با معرفی مفهوم زمینه ۲ برای عباراتی که در یک ماجول اجرا میشوند، ریزدانگی۳ کنترل حقوق افزایش یافته است.
با امکان جدید تعریف سیاستهای بکارگرفته شده در سطح سیستم عامل ویندوز برای ورود به سیستم پایگاه داده، میتوان از اعمال یکنواخت این سیاست ها برای همه کاربران یک دامنه اطمینان حاصل کرد.
کنترل دسترسی در چهار سطح کارگزار، پایگاه داده، مدل و شی قابل تنظیم است.
رمزگذاری داده ها: در Yukon عملیات رمزگذاری داده ها به عنوان یک امکان در داخل پایگاه داده نهاده شده و سرویس زیرساخت مدیریت کلید همراه با پایگاه داده ارائه می شود.
امکان اعمال عملیات بازرسی ۴ روی DDL ها: در نسخه جدید SQL Server اعمال موجود در DDL با تعریف triggerها قابل انجام است.
اعمال محدودیت در IIS از طریق پایگاه داده: به هنگام استقرار Yukon در محیط های سیستم عامل کارگزار ۲۰۰۰ یا ۲۰۰۳ می توان با استفاده از ابزار IIS Lockdown ویژگیهای بلااستفاده و غیرضروری از IIS را که امکان سوء استفاده نفوذگران را فراهم می آورند، غیرفعال نمود.
ایجاد نقش ۵ جدید برای استفاده از SQL Profiler: در Yukon با استفاده از تعریف یک نقش جدید، کاربرانی که از حقوق administrator برخوردار نیستند، می توانند SQL Profiler را اجرا کنند. این ویژگی بهره¬وری تولیدکنندگان نرم افزار را افزایش می دهد.
مستندات راهنمای کاربران: علاوه بر امکانات فوق، Yukon با فراهم آوردن مستندات راهنما، نحوه نصب، اسقرار و مدیریت امن پایگاه داده را بصورت مرحله به مرحله در اختیار کاربران قرار داده است. در این مستندات همچنین روش های آنالیز و ارزیابی پیکربندی موجود از جنبه امنیتی و نیز نمونه پیکربندی های امن به عنوان پیشنهاد ارائه شده است.
|
امتیاز مطلب : 21
|
تعداد امتیازدهندگان : 9
|
مجموع امتیاز : 9
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
مركز داده یك انباره مركزی است كه (چه به صورت فیزیكی و چه به صورت مجازی) برای ذخیره سازی،مدیریت،توزیع داده ها و اطلاعات طبقه بندی شده حول انواع دانش یا وابسته به یك تجارت خاص به كار می رود. برای مثال NCDC یك مركز داده ی عمومی است كه بزرگترین آرشیو جهانی اطلاعات آب و هوای دنیا به شمار می رود. یك مركز داده ی خصوصی ممكن است درون یك سازمان قرار گرفته باشد یا به صورت یك عضو مجزا در خارج از آن قرار بگیرد.
به گفته خانم Carrie Higbie مدیر بازاریابی بخش كاربردهای شبكه ی جهانی در شركت سایمون،هر سازمانی یك مركز داده دارد،اگر چه شاید به آن اتاق سرور گفته شود یا حتی تنها یك كامپیوتر باشد كه در جایی از سازمان مخفی است. در برخی مواقع نیز مركز داده ممكن است مترادف با یك مركز عملیات شبكه (NOC ) در نظر گرفته شود. مكانی محافظت شده شامل یك سیستم خود مختار كه دائما” در حال مراقبت و ثبت رفتار سرور ،ترافیك وب و كارایی شبكه است.
شركت سایمون در مقاله ای آورده است: اسم مركز داده معانی مختلفی را در اذهان افراد مختلف تداعی می كند. بعضی افراد فكر می كنند مركز داده مكانی برای قرارگیری سرورها است در حالی كه برخی افراد تصوری كاملا” متفاوت تر از یك مركز داده دارند. شاید در زمانی این یك تصور صحیح بود اما اكنون مراكز داده چیزی بیش از یك مكان امن برای سرویس دهنده هستند. امروزه با پیشرفت تكنولوژی و نحوه تعاملات جدید مبتنی بر اطلاعات و تجمع اطلاعات،این مفهوم تغییر كرده و به مكانی برای ذخیره سازی اطلاعات یك سازمان تبدیل شده است كه برای عملكرد صحیح یك سازمان ضروری هستند و عدم وجود این اطلاعات حیاتی به معنای نابودی سازمان است. برطبق آخرین تحقیقات موسسه Infonetics روی بازار مراكز داده ی آمریكایی شمالی،انتظار می رود خدمات و محصولات مراكز داده با افزایش 47 درصدی از مبلغ 6/10 میلیارد دلار در سال 2003 به مبلغ 6/15 میلیارد دلار در سال 2007 برسند.
مركز داده می تواند تا 50 در صد هزینه های فناوری اطلاعات یك سازمان را در بر بگیرد. كاربردهایی چون ERP ، e-commerce ، SCM ، CADCAM ، rich media ، B2B ، B2C و ... جزو اهم فعالیت های یك سازمان با زیر ساخت IT است. مراكز داده به طور ساده به دو مقوله تفكیك می شوند : - مراكز داده ی سازمانی CDC – مراكز داده ی اینترنتی IDC ، CDC ها اطلاعاتی را كه مربوط به شركت ها است نگهداری و راهبری می كنند در حالی كه IDC ها توسط ISP6 ها به عنوان محلی برای قرارگیری وب سایت ها یا سرویس های اینترنتی مانند e-mail ، FTP و ... مورد استفاده قرار می گیرند.
برای تعریف كمیته ی علمی همایش نقش مركز داده در توسعه ی فناوری ارتباطات و اطلاعات كشور مركز داده مكانی است:
با امنیت فیزیكی و الكترونیكی بالا،برخوردار از پهنای باند ارتباطی وسیع،متصل به شبكه های رایانه ای ملی یا جهانی ،با خدمات تمام وقت و در دسترس.
كه شامل انواع تجهیزات سخت افزاری (رایانه ها ،سوئیچ ها،مودم ها و ... ) و نرم افزاری ( پایگاه های داده،سرورها ،سیستم عامل و ...) پیشرفته بوده و از پشتیبانی و نگهداری حرفه ای و تمام وقت برخوردار است
و به پشتیبانی و ارایه خدمات مرتبط با اطلاعات و داده از قبیل خدمات ذخیره، نگهداری و بازیابی داده،خدمات ERP ،میزبانی خدمات اینترنتی ،میزبانی ارایه ی خدمات كاربردی (ASP ) ،میزبانی برون سپاری خدمات (Out-sourcing ) ، خدمات شبكه ی اختصاصی مجازی (VPN ) و غیره برای شركت های خصوصی یا دولتی می پردازد.
رویكرد مركز داده سه دوره ی تاریخی راپشت سر گذاشته است،مرحله ی مراكز داده ی متمركز كه با پیدایش رایانه های بزرگ اولیه آغاز شد،مرحله ی مراكز داده ی توزیع شده كه در دهه 80 میلادی و با پیدایش رایانه های شخصی شروع شد و مرحله ی تمركز مجدد كه اواخر دهه ی 90 و با توسعه ی شبكه های رایانه ای و اینترنت آغاز گردید . برخی از تعاریف زیر مربوط به دوران اول یا دوم هستند. تعریف جمعبندی فوق،مركز داده را در شرایط جاری و در دوره ی سوم توصیف می كند .
تعاریف مختلف مركز داده
به مراكزی مانند مركز پردازش كارت اعتباری بانك كه مكانی برای پردازش داده های الكترونیكی است مركز داده اطلاق می شود .
مركز داده انباره ی متمركزی برای ذخیره،مدیریت و توزیع داده و اطلاعاتی است كه این داده ها به حیطه ی مشخصی از دانش یا كاربرد تعلق دارند. مركز داده ممكن است دارای یك مركز عملیات شبكه ( NOC ) باشد كه دسترسی محدود و كنترل شده ای دارد و شامل سیستم های خودكار مراقبت از فعالیت های سرور،ترافیك وب و عملكرد شبكه بوده و كوچكترین اختلال را به مهندسین گزارش می كند و آن ها مشكلات احتمالی را قبل از وقوع مهار می كنند .
مجموعه ای از تجهیزات متمركز شده
محلی برای نگهداری یك یا چند محیط تولید و فرآوری (از قبیل كامپیوترهای سرور،تجهیزات اتصال شبكه،پایگاه های داده و كاربردها) كه توسط یك سازمان برای انجام پردازش های داده های كاربران آن سازمان به كار می رود .
مركز داده مجتمعی برای نگهداری سیستم های كامپیوتری حیاتی (ماموریت گرا) و اجزای مرتبط آن است. این مراكز معمولا” دارای كنترل های محیطی (تنظیم هوا،جلوگیری از آتش سوزی و غیره) ، تداركات برق پشتیبان و امنیت بالا می باشند. خدمات اینترنتی و میزبانی وب معمولا” محل حضور و ارایه ی خدمات وب خود را در مراكز داده قرار می دهند .
مجموعه ای از ابزارهای فوق امن و مقاوم در برابر خرابی كه تجهیزات مشتری در آن قرار میگیرد و به شبكه های ارتباطی متصل است. این ابزارها شامل سرورهای وب،سوئیچ ها،مسیریاب ها و مودم ها است. مركز داده از سایت های وب شركت ها پشتیبانی می كند و محلی برای ISP ها، ASP ها، شركت های میزبانی وب و ارایه كنندگان خدمات DSL است .
محل فیزیكی سیستم های رایانه ای بزرگ و پایگاه های داده
مركز خدمات اینترنت كه معمولا”توسط شخص ثالث ارایه می شود،شامل تجهیزات مرتبط با اینترنت برای استفاده ی سازمان ها و تشكیلات اقتصادی ،ISP ها ،ASP ها ، شركت های تجارت الكترونیك و سایر شركت ها است. مركز خدمات اینترنت معمولا” مكان برون سپاری،سرورها،میزبانی خدمات ، شبكه ی اختصاصی مجازی و سایر شبكه ها بوده و انواع خدمات انتقال اطلاعات را ارایه می كند .
مركز داده بخشی از سازمان یا شركت است كه شامل سیستم های رایانه ای و تجهیزات مرتبط می باشد. ورود داده ها و برنامه نویسی سازمان هم ممكن است در این محل انجام شود. همچنین یك مركز كنترل ، بر كارها نظارت می كند .
یا ساختمان امن و محافظت شده كه شامل انواع رایانه ها،سرورها،مسیریاب ها،شبكه،سوئیچ ها و تجهیزات و تخصص های لازم برای پشتیبانی از انبوه اطلاعات معتبر كه قابل دسترسی توسط كاربران گوناگون در اقصی نقاط جهان باشد .
مركز داده به عنوان انباره ی داده
امروزه ابزارهایی كه به كار می بریم مقادیر زیادی اطلاعات و داده تولید می كنند. پراكندگی این داده ها باعث می شود كه شركت هایی كه این داده ها را تولید كرده اند به سختی بتوانند آن ها را مدیریت كرده و از منافع آن بهره مند شوند. یك انباره داده جمع آوری و مركزیت دادن به این داده ها را چه از یك منبع یا چندین منبع در یك مكان واحد برعهده دارد . تجمع این داده ها در یك مكان متمركز امكان تحلیل و بررسی آن ها را برای یك كمپانی ساده تر كرده و شرایط مناسبی جهت یك تصمیم گیری هوشمندانه برای یك تجارت بزرگ فراهم می كند. تعداد زیادی از شركت ها از منافع انباره داده برای جمع آوری اطلاعاتی كه توسط پایگاههای داده ای مبتنی بر سیستم های پردازش لحظه ای تراكنش ها (OLTP ) یا دیگر برنامه ها تولید شده اند،استفاده می كنند. مقیاس پذیری كه از كنار هم قرار دادن این انباره های اطلاعات در یك مركز داده به وجود می آید بسیار قابل توجه و جذاب است. نیاز مبرم انباره های داده به فضای ذخیره سازی و قدرت پردازشی بالا،دقیقا ” مقوله هایی هستند كه یك مركز داده می تواند در اختیار شركت ها و با هزینه پایین تر قرار دهد .
مركز داده به عنوان LOB سازمان ها در هر اندازه ای و در هر زمینه ای در یك مقوله اشتراك دارند: همه آنها نیاز دارند كه پروسه های تجاری روزمره و معمول را به صورت خودكار در آورند. كارهایی مثل ورود درخواست ها، پرداخت ها، بدهی ها، تولید و پردازش ها اطلاعات،خروج درخواست ها،كارها و... . LOB8 ها در دو مقوله قابل تفكیك هستند یا عمودی و یا افقی هستند. LOB های عمودی آن هایی هستند كه در مقوله تجارت،ERP9 ،CRM10 ،انبار داده ها و مدیریت دانش می گنجند . توضیح هر كدام از این لغات نیاز به مقاله ای بسیار مفصل تر دارد. اما افقی ها آن هایی هستند كه در بخش سرویس دهی مانند سرویس های اقتصادی، خرید و فروش ،پزشكی و ... فعالند. بدیهی است كه ماهیت حیاتی اطلاعاتی كه دراین زمینه روی مركز داده ذخیره می شود نیا زمبرمی به فعالیت بی وفقه و تمام وقت وجود دارد،اتخاذ راه حل امنیتی بالا برای اطمینان از محافظت داده ها در مقابل حوادث ناخواسته و همچنین استفاده از پرسنل و متخصصین كاملا” مجرب را الزامی می سازد .
مركز داده به عنوان مركز گواهی هویت
در دنیای امروز امنیت به عنوان یكی از مهمترین مسائل خصوصا” در بحث تجارت الكترونیك مطرح است. در این میان مقبول ترین روش یعنی امضای دیجیتالی بهعنوان راه حلی عمومیت یافته و مطمئن،نیاز به مراكز صدور گواهینامه های دیجیتالی را ضروری می سازد. احراز هویت در تجارت الكترونیكی و یا سایز تعاولات الكترونیكی در سراسر دنیا توسط امضای دیجیتالی انجام می شود. یكی از مهمترین مراكز نگهداری گواهینامه های دیجیتالی،شركت Verisign در آمریكا است. از آن جایی كه ایران جزو لیست سیاه قرار دارد،امكان گرفتن مجوز و نمایندگی گواهینامه های دیجیتالی غیر ممكن است. از سوی دیگر وجود چنین مركزی به عنوان پایه و اساس تجارت الكتونیك برای نگهداری گواهینامه های دیجیتالی در كشور امری مهم است. خصوصا” به دلیل آنكه مركز داده ماهیتا” امن طراحی می شود،این مركز یك گزینه مثبت برای كاندید شدن به عنوان یك مركز نگهداری گواهینامه های دیجیتالی است .
مراكز طلاعات در آمریكا
دولت آمریكا به منظور ارتقای ضریب ایمنی مراكز اطلاعاتی ،بانك های اطلاعاتی و كارگزاران شبكه (Servers ) خود را در مكان های با امنیت بالا نگهداری می كند. بعضی از این اماكن محوطه های وسیعی در اعماق كوه ها ی راكی،در نقاط پنهانی از اعماق صحراهای نوادا و آریزونا،در زیر یخچال های آلاسكا و در اعماق اقیانوس ها می باشند. این نقاط با شدیدترین تدابیر امنیتی حفاظت می شوند از طرف دیگر پیش بینی های ایمنی تهدیدات فیزیكی ،از جمله آتش سوزی و بلایای طبیعی را به حداقل رسانده است. تجهیزات حفاظتی ،امكان دستبرد و یا آسیب هوشمندانه فیزیكی را كاهش داده است. در این اماكن خطوط متعدد فیبر نوری با پهنای باند بالا بالاترین سرعت انتقال داده و اطلاعات را تامین می كنند.
تجهیزات پرسرعت مانند سوپر كامپیوترها ( Main Frame ) و پردازنده های بسیار سریع و موازی بالاترین سرعت دسترسی را در اختیار می گذارند. سیستم های پیشرفته تنظیم دما و حرارت تنظیم رطوبت و كنترل تركیبات هوای محیط بهینه ترین شرایط را برای كار تجهیزات مهیا می سازند و تجهیزات مانیتورینگ دقیق، لحظه به لحظه وضعیت های مختلف را كنترل و بازنگری می كنند. بناهای مستحكم در اعماق زمین نه تنها توان تحمل شدید ترین زلزله ها را دارند، بلكه در مقابل قویترین بمب های هسته ای موجود آسیبی نمی بینند. سیستم های پشتیبان،از اطلاعات در فواصل زمانی مشخص بر طبق آخرین تكنیك های موجود نسخه های پشتیبان تهیه می كنند. ژنراتورها و مولدهای قوی برق (UPS ) ،آماده تامین نیروی برق لازم در صورت بروز اختلال می باشندو پوشش های مخصوص،تجهیزات را از تهدید امواج مختلف از قبیل امواج ماكروویو و یا میدان های الكترومغناطیسی خارجی یا تولید شده از خود تجهیزات محافظت می كنند. به هر یك از این مراكز،مركز داده ای (Data Center) گفته می شود. در كنار هر مركز داده ای دو مركز دیگر آماده ی انجام عملیات می باشند. یكی مركز بازیافت اطلاعات آسیب دیده ( Disaster Recovery Center ) است كه فعالیت های آن در قالب كلی بازیافت داده (Data Recovery) می گنجد كه خود مقوله ی بسیار مهمی است كه از ضروری ترین نیازهای هر ارگان و تشكل مرتبط با اطلاعات می باشد. مركز دوم مركز كنترل و فرمان است كه مدیریت انسانی مركز داده ای را به عهده دارد ،در این مركز افرادی با تخصص بالا و با دستمزدهای بسیار بالا كار می كنند. بانك های اطلاعاتی و سرورهای مربوط به زیر ساخت های این كشور از قبیل شبكه ی برق،آب و نیز اطلاعات شركت های دولتی یا خصوصی حساس مثل شركت های اسلحه سازی و یا اطلاعات بانك ها در این مراكز نگهداری می شود. ایده ی مركز داده (Data Center ) در سطوح پایین تر و با درجه حساسیت كمتر نیز پیاده شده است. به طوری كه امروزه شركت هایی وجود دارند كه با فراهم آوردن اماكنی كه بعضی از امتیازات فوق را دارند در ازای دریافت اجاره بها اطلاعات فردی یا سازمان ها را میزبانی می كنند و خدمات مورد نظر آن ها را با كیفیتی بسیار بهتر در اختیار مشتریان قرار می دهند. سایت های خارجی در چنین محیط هایی قرار داده شده اند.
به صورت خلاصه مزایای استفاده از مراكز داده عبارتند از :
امنیت فیزیكی بالا
امنیت الكترونیكی بالا
مقابله با افزونگی و تكرار اطلاعات
ارایه بالاترین سرعت پردازش در یك مكان
ارایه بالاترین سرعت انتقال اطلاعات
خرید تنها یك نسخه از نرم افزارها
پشتیبانی متمركز
اگر از مراكز داده استفاده نشود و هر سازمانی بانك اطلاعاتی خود را در شبكه داشته باشد،به تعداد سازمان ها نیاز به تیم پشتیبانی جداگانه،نرم افزار جداگانه،سخت افزار جداگانه،پهنای باند جداگانه،امنیت جداگانه و ... خواهیم داشت كه سرباز هزینه ای بالایی دارد. به نظر می رسد ایده ی Data Center به دلیل تامین كارایی و امنیت بالا و جلوگیری از افزونگی ،سهولت نگهداری و مدیریت و بسیاری جنبه های فنی دیگر،در تحقق اهدافی همچون دولت الكترونیكی ،ایده ای كارساز باشد .
برون سپاری و مراكز داده
یكی از مفاهیمی كه امروزه بسیار در صنعت IT شنیده می شود مفهومی به نام برون سپاری است. شاید با اندكی اهمال برون سپاری را بتوان به معنای تكثیر مركزیت یا سپردن كار به كاردان در نظر گرفت. امروزه با افزایش نگرانی در رابطه با افزایش هزینه ها در صنعت IT و فشار بازار رقابتی، تصمیم گیری در رابطه با برون سپاری به عنوان یك راه حل منطقی،برای شركت ها آسان تر شده است. آنچه باقی می ماند سوالاتی از قبیل مدیریت ارتباطات برون سپاری،افزایش كارایی در كنار كاهش هزینه ها و هر گونه تغییری است كه یك شركت باید در سازه و كار خود بدهد. مهمترین قسمت یك سازمان در صنعت IT همانا اطلاعات آن است. مركزیت این اطلاعات در مركز داده داخلی به عنوان قلب تپنده سازمان یا شركت و حجیم تر شدن روزمره این اطلاعات نیاز به مراكزی با كارایی و امنیت بالا و هزینه پایین برای ادامه حیات یك شركت،رابیش از پیش نمایان می سازد. حال سوال این است كه كجا برای این امر مناسب تر است؟ مراكز داده به صورت استراتژیك در موقعیت های مشخصی پخش شده و در مقابل نبود برق و بلایای طبیعی محافظت می شوند. همچنین دارای منابع اضافی برای تولید برق و پهنای باند بلا استفاده در شرایط اضطراری می باشند. به این ترتیب سازمان ها در اطراف جهان می توانند با خیال راحت برون سپاری خود را از طریق مراكز داده انجام دهند و از خدمات آن ها بدون نیاز به نگرانی از بابت مسائل جنبی مركز داده ی محلی خود نهایت استفاده را ببرند. همچنین آن ها می توانند با حدف این نگرانی ها توجه خود را هر چه بیشتر به مسائل تجارتی معطوف كنند و با افزایش كیفی خدمات خود سعی در نزدیكی هر چه بیشتر به نظرات مشتری و گام برداشتن در جهت ایجاد یك جو مشتری مدار داشته باشند. اما با تمام این تعاریف چرا هنوز مدیران حركت به سمت برون سپاری را آغاز نكرده اند یا به آن به دیده شك و دودلی می نگرند؟برخی از مدیران IT معتقدند مشكلات برون سپاری بیشتر از منافع آن است. مثلا” اگر به هر نحوی مشكلی در مركز داه ی اجاره ای یا خریداری شده آن ها در یك كشور دیگر به وجود بیاید،آن ها چگونه باید در این رابطه اقدام كنند؟یا اگر مشكلی در روابط كشورها به وجود بیاید چه اتفاقی می افتد؟ به طور كلی یك مجموعه مجتمع راحت تر مدیریت می شود. اما اگر قسمت مركزی آن به جای دیگری كه ارزان تر است منتقل شود،آیا هزینه های جانبی آن قابل پیش بینی خواهد بود؟نگهداری رابطه بین مركز اصلی و خارجی نیازمند یك برنامه اصولی است،آیا این هزینه و دیگر هزینه های پنهان ناشی از این مقوله باز هم اجرای آن را مقرون به صرفه نگه می دارد؟ آیا در نهادهای دولتی كه نیاز بسیار مبرمی به مقوله امنیت و به خصوص بحث امنیت ملی دارند اعتماد به یك طرف بیگانه امری عقلانی محسوب می شود؟این ها مقولاتی هستند كه تصمیم گیری نهایی در آن ها به عهده مدیران IT سازمان ها است. جایی كه آن ها معمولا ” باید پاسخگو باشند. برون سپاری در امر تولید سخت افزار كامپیوتر یا به خدمت گرفتن طراحان نرم افزار تا كنون منجر به نتایج خوبی برای كشورهای غربی شده است،اكنون به دلیل نیروی كارگران قیمت در آمریكا و دیگر كشورهای اروپایی،استفاده از نیروی كار ارزان و خبره كشورهایی مثل هند،پاكستان،مالزی و حتی در برخی مواقع ایران و صرفه جویی قابل توجه در پروسه تولید،توجه بسیاری از مدیران كشورهای غربی و به خصوص آمریكا را به خود جلب كرده است . نكته ی قابل توجه این است كه اگر چه برون سپاری به مراكز داده ی خارج كشور با مشكلات عدیده ای روبرو است،اما می توان با ایجاد مراكز داده ی ملی در داخل كشور بر این مشكلات فائق آمد .
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri
در دههٔ ۱۹۷۰ كه پایگاههای اطلاعاتی درون خطی رواج یافتند پیشبینی میشد كه به زودی جایگزین منابع چاپی شوند. با ظهور دیسكهای نوری این تصور پیش آمد كه آنها نیز به نوبهٔ خود هم جای منابع چاپی و هم پایگاههای اطلاعاتی درون خطی را بگیرند. با وجود این, در حال حاضر هر سه رسانه در كنار هم به موجودیت خود ادامه میدهند. مهمترین استفادهكنندگان از دیسكهای نوری, كتابخانههای دانشگاهی هستند. در حالی كه كتابخانههای تخصصی استفاده از پایگاههای اطلاعاتی درون خطی را ترجیح میدهند.

در دههٔ ۱۹۷۰ كه پایگاههای اطلاعاتی درون خطی رواج یافتند پیشبینی میشد كه به زودی جایگزین منابع چاپی شوند. با ظهور دیسكهای نوری این تصور پیش آمد كه آنها نیز به نوبهٔ خود هم جای منابع چاپی و هم پایگاههای اطلاعاتی درون خطی را بگیرند. با وجود این, در حال حاضر هر سه رسانه در كنار هم به موجودیت خود ادامه میدهند. مهمترین استفادهكنندگان از دیسكهای نوری, كتابخانههای دانشگاهی هستند. در حالی كه كتابخانهها%D
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 25 مرداد 1391
نویسنده : hamidrezakhouri

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

فعالیتهایی که برای تحلیل و سازماندهی مدارک و منابع صورت میگیرد ذخیره اطلاعات، و تلاشهایی که برای یافتن یک یا چند مدرک از میان انبوه مدارک ذخیره شده انجام میشود بازیابی اطلاعات نام دارد.
فعالیتهایی که برای تحلیل و سازماندهی مدارک و منابع صورت میگیرد ذخیره اطلاعات، و تلاشهایی که برای یافتن یک یا چند مدرک از میان انبوه مدارک ذخیره شده انجام میشود بازیابی اطلاعات نام دارد. نظامهایی که این جریانها در آنها روی میدهد نظامهای ذخیره و بازیابی اطلاعات خوانده میشود (۶۶۱:۵). نظامهای ذخیره و بازیابی اطلاعات معمولاً به منظور دسترسپذیر کردن مجموعهای از منابع اطلاعاتی برای استفادهکنندهای که مایل به کسب این اطلاعات است طراحی میگردد. اطلاعاتی که در نظامهای ذخیره و بازیابی اطلاعات ذخیره میشود یا صرفاً شامل دادههای کتابشناختی است، مانند مشخصات کتابها، اسناد و مدارک، و مقالههای مجلات؛ یا اصل مدرک است که همراه مشخصات آن عرضه میشود. حالت اخیر پایگاه دادههای تمام متن نام دارد. نظامهای بازیابی اطلاعات را در معنای وسیع میتوان برای دستیابی به مجموعههای تصویری، فیلم، پروانههای ثبت اختراع، و جز آن نیز مورد استفاده قرار داد. در هر حال، هدف هر نظام ذخیره و بازیابی اطلاعات آن است که در اسرع وقت بیشترین اطلاعات مرتبط با نیاز استفادهکننده را ـ آنطور که در درخواست وی ذکر شده ـ در اختیار بگذارد.
● تاریخچه
تاریخچه ایجاد و گسترش نظامهای بازیابی اطلاعات را میتوان به چندین دوره نسبتاً روشن تقسیم کرد. قبل از سالهای ۱۹۴۰ تهیه میشد، نظامهای بازیابی اطلاعات تنها از نوع دستی محض بود، یعنی نمایهها و فهرستها به شکل چاپی و کارتی تهیه میشد. این وسایل بازیابی، پیشهمارا و غیرقابل دستکاری است و متکی بر سازماندهی خطی (تک بعدی) بوده و قابلیتهای بسیار محدودی برای جستوجو و بازیابی دارند. در سالهای ۱۹۴۰، مهمترین پیشرفت در تاریخچه بازیابی اطلاعات یعنی ابداع نظامهای بازیابی که پسهمارا و قابل دستکاری هستند روی داد. این نظامها که هنوز عمدتاً دستی بودند توسط باتن و کوردونیر[۱] (پیکابو، یا تطابق نوری)، موئرز[۲] (برگههای منگنهای)، و نیز توسط مورتیمر تاب[۳] (نظام تک واژهای) عرضه شد. این نظامهای پسهمارای اولیه مزایای قابل توجهی نسبت به پیشینیان خود عرضه کردند. آنها نیای مسلّم نظامهای رایانهای نوین به حساب میآیند.
در سالهای ۱۹۵۰ اشکال اولیه خودکارسازی نمایهسازی پسهمارا توسط نظامهای دادهپردازی برگه منگنه پدید آمد. نظامهای برگه منگنه در دهه ۱۹۵۰، در واقع، اسلاف بلافصل نظامهای رایانهای سالهای ۱۹۶۰ بودند. سالهای ۱۹۶۰ دوران بازیابی رایانهای به شیوه گسسته، پردازش دستهای و نواری را تشکیل میداد. در سالهای ۱۹۷۰، با توسعه سختافزارها و نرمافزارهای رایانهای، امکان انجام جستوجوهای پیوسته یا تعاملی فراهم آمد. نظامهای پیوسته بازیابی، علاوه بر افزایش سرعت، امکان دریافت بازخورد جستوجو در روند جستوجو و، در صورت لزوم، تغییر و اصلاح آن را به استفاده کننده میدادند. مهمترین مزیت بازیابی پیوسته امکان دسترسی از راه دور بود. در این مورد شرکتهای بزرگی چون دیالوگ و بی.آر.اس. در بخش خصوصی و کتابخانه ملی پزشکی در بخش دولتی، با عرضه نظام بازیابی مدلاین، فعالیتهای فراوانی داشتهاند. از ابتدای سالهای ۱۹۸۰، توسعه و گسترش ذخیره و بازیابی اطلاعات به شکل متن کامل از جمله تحولات و رویدادهای مهمی است که شکل گرفته است. هر چند اندیشهها و تلاشهای مربوط به این شکل از ذخیره و بازیابی به سالهای ،۱۹۷۰ زمان اولین تلاشها برای واردکردن متون حقوقی در رایانه و جستوجوی آزاد بر روی آن متون، باز میگردد با ازدیاد رایانههای شخصی و پیدایش رسانههای ذخیرهسازی نوری مانند دیسک فشرده و نیز رواج نشر رومیزی (دی.تی.پی.) بود که ایجاد پایگاههای تمام متن و نیز فنون بازیابی از متن عمومیت بیشتری یافت و در دسترس استفادهکنندگان قرار گرفت. بازیابی در این نوع نظامها که عمدتاً مبتنی بر استفاده از زبان طبیعی است و از این لحاظ در مقابل نظامهای مبتنی بر واژگان مهار شده قرار میگیرند دارای جذابیتهای زیادی برای استفادهکنندگان از آنهاست، لکن برای بازدهی بیشتر از مزایای هر دو نظام به طور همزمان استفاده میشود.
در سالهای اخیر، استفاده از فنون بصری جایگاه خاصی یافته و چالشهای جدید و بحثهای گستردهای را به دنبال داشته است. استفاده از این فنون، به ویژه برای طراحی واسطهای کاربر، باعث سهولت بیشتر در استفاده از نظامهای بازیابی و فراگیرتر شدن دامنه استفاده از این نظامها گردیده است.
● تحلیل و جستوجوی اطلاعات
بازیابی اطلاعات ممکن است به دلایل زیر باشد:
۱) حجم زیاد اطلاعاتی که میبایست دسترسپذیر گردد؛
۲) مشکلات فراهم آوردن ذخایر عظیم مواد و منابع به صورتی که بتوان به راحتی به آنها دست یافت؛
۳) افزایش مشکلات فنی ناشی از اشاعه گزینشی حجم زیاد منابع برای استفادهکنندگان ناهمگن (۶۶۱:۵).
در روند ذخیره و بازیابی اطلاعات دو مرحله متمایز تحلیل اطلاعات و جستوجوی اطلاعات را میتوان مشخص ساخت.
● تحلیل اطلاعات
فرایند تعیین محتوای موضوعی مدارک و تبدیل آن به زبان نظام (یا مجموعهای از اصطلاحات نمایهای) را تحلیل اطلاعات گویند. در این مرحله، نمایهساز یا کسی که کار تحلیل اطلاعات را انجام میدهد ابتدا باید، پس از پویش و تحلیل مفهومی مدرک، مشخص کند که مدرک درباره چیست و چه جنبههایی را دربرمیگیرد. در نظر گرفتن نیازهای استفادهکننده نظام در این مرحله مسئلهای اساسی است. به عبارت دیگر، نمایهساز نه تنها باید در مورد موضوع مدرک تصمیمگیری کند، بلکه باید متوجه باشد که چه جنبههایی از مدرک میتواند برای استفادهکنندهای خاص حائز اهمیت باشد. گام بعدی، تبدیل نتیجه تحلیل مفهومی مدرک به مجموعهای از اصطلاحات نمایهای است. اصطلاحات نمایهای ممکن است برگرفته از سیاههای مجاز از واژهها (واژگان مهار شده) یا از متن مدرک و واژههای مؤلف باشد. شیوه دوم نمایهسازی با استفاده از زبان طبیعی است. در هر حال، حاصل کار، تعدادی اصطلاح است که، در مجموع، تصویری از موضوع مدرک را به دست میدهند و با نامهای کلید واژه، سرعنوان موضوعی، توصیفگر، و نیز خوانده میشوند. تلاشها و فعالیتهای زیادی صورت گرفته تا کار تخصیص اصطلاحات نمایهای به صورت ماشینی و بدون دخالت انسان انجام گیرد. بحث نمایهسازی خودکار برخاسته از این تلاش است. اصطلاحات نمایهای یا توصیفگرهای هر مدرک به اضافه مشخصات کتابشناختی آن مدرک (نویسنده، عنوان، منبع، و چکیده)، مجموعاً یک رکورد کتابشناختی را تشکیل میدهند. اتخاذ روشی مناسب برای سازماندادن این رکوردها در کنار یکدیگر باعث خواهد شد تا نظام بازیابی، عملکرد بهتری داشته باشد.
● واژگان مهار شده
به منظور ایجاد یکدستی و هماهنگی و نیز سهولت در بازیابی مدارک، معمولاً واژهها یا اصطلاحاتی را که مبیّن موضوع مدرک هستند از سیاههای مستند به نام واژگان مهار شده انتخاب میکنند. فهرستهای سرعنوان موضوعی، طرحهای ردهبندی، و اصطلاحنامهها سه نوع واژگان مهار شده مهم هستند. زیرا در این منابع تلاش شده است تا اصطلاحات به صورت الفبایی و نیز به شکل نظام یافته ارائه شود (۱۴:۲).
نقطه مقابل استفاده از واژگان مهار شده، نمایهسازی با استفاده از زبان طبیعی است. منظور از زبان طبیعی واژهها و کلماتی است که در متن به کار رفته و بنابراین اصطلاح "متن آزاد" را میتوان مترادف آن در نظر گرفت. متن آزاد میتواند شامل عنوان، چکیده، برگزیده، یا متن کامل مدرک باشد. هنگام تحلیل اطلاعات میتوان به جای انتخاب اصطلاحات نمایهای از واژگان مهار شده، هر کدام از عناصر بالا را ذخیره کرد و در مرحله جستوجو مستقیماً مورد استفاده قرار داد. این روش که تاریخچه آن به کار مورتیمر تاب و نظام تکواژهای او باز میگردد نخست به طور گستردهای برای ذخیره و بازیابی متون رشته حقوق مورد استفاده قرار گرفت و با رواج و گسترش رایانه نضج گرفت. اما استفاده از زبان طبیعی دارای مزایا و معایب خاص خویش است.
● سازماندهی فایلها
در نظامهای رایانهای ذخیره و بازیابی اطلاعات، دادهها معمولاً در قالب رکورد ذخیره میشوند و مجموعهای از رکوردها یک فایل را تشکیل میدهند. شیوه ذخیره رکوردها در داخل فایل و شیوه ارتباط آنها با یکدیگر مطلبی است که تحت عنوان ساختار فایل یا سازماندهی فایل مورد بحث قرار میگیرد. برای سازماندهی فایل به طور معمول چندین روش وجود دارد که سادهترین آنها فایل ترتیبی است. در این نوع فایل هیچگونه راهنما یا اشارهگر ربط دهندهای ایجاد نمیشود و معمولاً رکوردها بدون نظم خاصی در کنار یکدیگر قرار میگیرند. یافتن رکوردهای خاص در این گونه فایلها منوط به آن است که یکایک رکوردها از ابتدای فایل بررسی شود. چنانچه با حجم زیادی از اطلاعات روبهرو باشیم استفاده از این نوع فایل بسیار وقتگیر است. در عوض، این ساختار حداقل فضای ذخیرهسازی را به خود اختصاص میدهد و اجرای آن نیز نسبتاً آسان است. نوع دیگر، فایل شاخصدار یا فایل مقلوب است. در این نوع ساختار، که در نظامهای معروف ذخیره و بازیابی اطلاعات به وفور مورد استفاده قرار گرفته، به ازای فیلدهای شاخص یا فیلدهایی که در نظر است بر روی آنها جستوجو صورت گیرد، فایل یا فایلهای جداگانهای به نام فایل شاخص یا فایل مقلوب ایجاد میشود. محتوای این فایل را مقادیر فیلد شاخص و نشانی متناظر به آن در فایل اصلی تشکیل میدهد. هنگام بازیابی، ابتدا عبارت مورد نظر در فایل مقلوب جستوجو میشود و سپس براساس شماره مدرک یا نشانی که در مقابل آن عبارت وجود دارد، رکورد کامل از فایل اصلی بازیابی میگردد. در این ساختار، به جهت آنکه حداقل دو فایل ایجاد میشود فضای بیشتری اشغال میگردد، ولی در مقابل، سرعت جستوجو و بازیابی به خصوص در پایگاههای حجیم تا حد زیادی بالا میرود. سومین نوع را فایل با دستیابی مستقیم مینامند دارد. در این ساختار، امکان نوشتن یا خواندن رکورد بدون در نظر گرفتن محل آن وجود دارد.
در این فایلها لازم است که فیلدی به عنوان فیلد کلید مشخص گردد. در این نوع ساختار برای یافتن محل آزاد در حافظه جهت درج رکورد یا پیدا کردن رکوردی خاص، از فن آدرسدهیِ درهم استفاده میشود. مهمترین ویژگی و مزیّت این ساختار، صرفهجویی در فضای حافظه و نیز سرعت زیاد در دستیابی به رکوردهاست. متقابلاً نقطه ضعف آن در سختی پیادهسازی و اجرای آن است. ساختار دیگر، ساختار زنجیرهای است و ویژگی آن در این است که همه اقلامی که نشاندهنده شناساگر فرضی مشترکی هستند با رابطها یا اشارهگرهایی مناسب، به هم زنجیر میشوند. طبیعتاً یک راهنما دسترسی به اولین فقره را در هر زنجیره فراهم میآورد و فایل را میتوان با تعقیب اشارهگرهای درونی هر زنجیره جستوجو کرد. فایلهای زنجیرهای نسبت به فایلهای ترتیبی سرعت بیشتری را فراهم میآورند، اما به فضای ذخیرهسازی قابل توجهی برای ذخیره اشارهگرها و راهنماها نیاز دارند (۶۲۲:۵).
● جستوجوی اطلاعات
در این مرحله، وظیفه نظام ذخیره و بازیابی، بررسی و شناخت درخواست استفادهکننده، پویش یا جستوجو در بانک اطلاعاتی، و یافتن و نمایش رکوردهایی است که با درخواست ارائه شده انطباق دارد. دستیابی به این هدف، یعنی یافتن اطلاعاتی که نیاز استفادهکننده را به طور قطع برطرف کند عملاً کار آسانی نیست، زیرا از یک سو استفادهکننده به طور دقیق نیاز اطلاعاتی خود را نمیداند و در برخی اوقات نیز علیرغم آگاهی به نیاز اطلاعاتی خود، ممکن است نتواند آن را با عبارتهای مناسب بیان کند. از سوی دیگر، ممکن است اصطلاحات یا عباراتی که به عنوان موضوع مدارک در نظر گرفته شده چندان دقیق نباشند و نتوانند تصویر کاملی از محتوای مدرک بدست دهند. بدین سبب گفته میشود که وجه خروجی نظام بازیابی اطلاعات (پاسخگویی به درخواست استفاده کننده) همواره پیچیدهتر از وجه ورودی آن است و بدین لحاظ باید بخش خروجی مورد توجه بیشتری قرار گیرد (۱۴:۳).
شیوههای بازیابی اطلاعات را میتوان در نگاه کلی به دو دسته:
ـ نظامهای مبتنی بر انطباق مطلق و
ـ نظامهای مبتنی بر انطباق نسبی، تقسیم کرد (۱۵۳:۳).
فنون انطباق مطلق در حال حاضر در بسیاری از نظامهای سنتی بازیابی اطلاعات مورد استفاده قرار میگیرد. پرسوجوها در این روش معمولاً با استفاده از عملگرهای بولی تدوین میشوند و، برای بازیابی، تنها انطباق واژههای پرسش با عبارتهای موجود در مدرک کفایت میکند.
در انطباق نسبی یا انطباق برتر[۴] این امکان وجود دارد که نظام بازیابی را بتوان با ورود رشتهای از اصطلاحات که بیانگر نیاز اطلاعاتی هستند، بدون استفاده از عملگرهای بولی، جستوجو کرد. در این نوع، نظام دنبال قطعاتی از متن میگردد که بهترین انطباق را با رشته ورودی داشته باشد. بنابراین، اگر رشته اصلی شامل پنج کلمه باشد و مدرکی در بانک اطلاعاتی نیز کلّ پنج واژه را دربرگیرد این مدرک حداکثر وزن ممکن را گرفته و در رأس سیاهه موارد بازیابی رشته قرار میگیرد (۱۵۳:۳). بر این اساس، الگوها و فنون مختلفی برای بازیابی شکل گرفته است که به عنوان مدلهای کلاسیک و مدلهای پیشرفته از آنها یاد میشود. مدلهای کلاسیک بازیابی شامل مدل بولی، فضای برداری[۵] ، و مدلهای احتمالی[۶] است. مدلهای پیشرفته، علاوه بر مدلهای فوق، شامل بازیابی براساس منطق مشکک (فازی)[۷] ، نمایهسازی معنایی نهفته[۸] ، شبکههای استنتاجی[۹] ، و نیز الگوهای مبتنی بر مرور شامل نظامهای بازیابی فرامتن است (۱: ۲۴-۶۰).
● مدل بولی
اولین روش بازیابی که در نظامهای اطلاعاتی اجرا شد مدل بولی بود که در آن اصطلاحات پرسوجو با عملگرهای بولی بیان شده و با نمایه مقلوب مقایسه میگردید. توانایی عملگرهای بولی برای ترکیب مفاهیم اجزا (AND) و مترادف (OR) و نیز زمان پاسخ سریع، این مدل را مدلی عام برای نظامهای بازیابی ساخت.
با فراگیرتر شدن نظامهای بازیابی بولی، تدوین پرسوجوهای مؤثر برای عموم افرادی که با منطق آشنا نبودند دشوار گردید. علاوه بر آن، نظام بولی اغلب تعداد مدارک را با توجه به ماهیت حساس منطق خود که پاسخی انعطافناپذیر در برابر بود یا نبود اصطلاحی واحد نشان میداد بازیابی میکرد.
برای غلبه بر مسئله بازیابی مدارک زیاد بدون توجه به میزان اهمیت کاربردی بالقوه آنها ـ اصلاحاتی در نظام صورت گرفت تا با اختصاص وزنهایی به اصطلاحات، براساس اهمیت "متصوّر" آنها، خروجیهای ترتیبی تولید شود. روشهای اصلاحی دیگر مانند کنترل فرایند تدوین پرسش برای کاهش مشکل ساخت پرسوجوهای بولی پیچیده نیز مورد تحقیق قرار گرفته است.
● مدل فضای بُرداری
در حالی که برخی تلاش کردند تا با انجام اصلاحاتی در مدل بولی بر نقاط ضعف آن غلبه کنند، دیگران با راهبرد متفاوتی به نام مدل فضای برداری به بازیابی اطلاعات پرداختند. در این مدل، مدارک و پرسوجوها به صورت بردارهایی در فضایی سه بعدی در نظر گرفته میشود که هر بعد با مدخلی در نمایه مقلوب متناظر است. مثلاً مدرک D و پرس و جوی Q در شکل برداری به صورت D= (d۱, d۲, d۳, .... dn)و Q= (q۱, q۲, q۳, .... qn) بیان میشود که n مجموع اصطلاحات نمایهای و هر کدام از مقادیر داخل پرانتز وزن هر اصطلاح بوده که بیانگر اهمیت اصطلاح است.
شناخته شدهترین وزن اصطلاحی، بسامد مقلوب مدرک نامیده میشود که با بسامد مجموعه (تعداد مدارک مجموعهای که در آن یک اصطلاح خاص وجود دارد) تغییر میکند. بسامد مقلوب مدرک نوعاً از طریقdkN Log محاسبه میشود که در آن N تعداد مدارک مجموعه و dk تعداد مدارکی است که اصطلاح k در آن ظاهر میشود. فرمولهای مختلفی برای محاسبه اوزان اصطلاح وجود دارد که برخی از آنها گونههایی از وزن IDFبوده و از بسامد مدرک (تعداد دفعاتی که اصطلاحی در مدرکی ظاهر میشود) و عادیسازی بهره میگیرند. مثلاً میتوان IDF را در بسامد مدرک ضرب کرد (تا اصطلاحاتی که مکرراً در مدرکی ظاهر میشوند اهمیت بیشتری پیدا کنند) و بر عامل عادیسازی طول بردارها تقسیم کرد تا طول متغیر بردارهای مدرک مجموعه تنظیم شود. این عمل تابع فرمول زیر است:
Wki = idfk×tfk i Svector i (tfi×idf)۲
که در آن Wki وزن اصطلاح K موجود در مدرک d، tfki بسامد اصطلاح k در مدرک d، idfk بسامد مقلوب مدرک، و مخرج کسر عامل عادیسازی، و idfk بسامد مقلوب مدرک است.
مدلبرداری، سیاههای ترتیبی از مدارک براساس مشابهت آنها با پرسش، با در نظر گرفتن زاویه میان بردار مدرک و بردار پرسش، به عنوان مقیاس مشابهت ارائه میدهد. علاوه بر فرمولهای توزین اصطلاح، فرمولهای دیگری نیز برای محاسبه مشابهت "پرسش ـ مدرک" پیشنهاد شده است. آزمایشها نشان داده است که انتخاب مقیاس جدید مشابهت میتواند بر عملکرد بازیابی تأثیر قابل ملاحظهای داشته باشد. یکی از مقیاسهای مشابهت که به طور گسترده مورد استفاده قرار گرفته مشابهت کسینوسی است که حاصل ضرب درونی میان عناصر عادی سازی شده بردار در طول بردارهاست.
گونه دیگری از مدلبرداری مدل خوشهای است که در آن با محاسبه مشابهت برداری مدرک به مدرک و با استفاده از معیارهای خوشهبندی گروهی از مدارک شکل میگیرد. معیارهای خوشهبندی مشخص میکند چه چیز خوشهای از مدارک را تشکیل میدهد. برخلاف مدل فضای برداری که در آن بردار هر پرسش با بردار هر مدرک مقایسه میشود، در اینجا، بردار هر پرسش با بردار مرکز خوشه، یعنی برداری که خوشه را به صورت کلی ارائه میکند، مقایسه میگردد.
مزیت رویکرد خوشهای زمانی جلوهگر میشود که با مجموعه مدارکی به کار رود که بتواند خوشههای فشرده تشکیل دهد. همچنین، این مدل در محیطی مؤثر شناخته میشود که خوشهها تمایل به ارائه مشترک مدارک مرتبط داشته باشند. با این حال، هیچ تضمینی وجود ندارد که مجموعه مدارک مفروض ضرورتاً به ساختار خوشهبندی مفیدی بینجامد، و حتی در موارد مفید، هزینه محاسبه ساخت، نگهداشت، و جستوجو در خوشههای کوچک و همبسته ممکن است به طور سرسام آوری بالا باشد.
مدل احتمالی. این مدل نخستین بار توسط استیو رابرتسن و کارن اسپارک جونز در سالهای ۱۹۷۰ معرفی شد. این مدل به لحاظ اینکه مدارک و پرسشها را به صورت بردار عرضه میکند شبیه مدلبرداری است، اما به جای بازیابی مدارک براساس میزان مشابهت با پرسش، مدارک را براساس احتمال ارتباطشان با پرسش بازیابی میکند. احتمال ربط مدرکی خاص به پرسش را میتوان با جمع اوزان ربط اصطلاحات آن مدرک، یعنی برآورد احتمال ظهور اصطلاحات موجود در پرسش و در مدرک مرتبط، و نه در مدرک غیرمرتبط، محاسبه کرد.
در مدل بازیابی کلاسیک احتمالی، این احتمالات اصطلاح از طریق مجموعهای نمونه از مدارک و پرسشها همراه با قضاوت مرتبط مربوط به آن تخمین زده میشود. با وجود این، اجرای فرایند تخمین به صورت عملیاتی مشکل است، زیرا جمعآوری دادههای ربط لازم قبل از جستوجوی واقعی عملاً غیرممکن است. در نتیجه، برای تخمین احتمال اصطلاح، معمولاً، در این مدل از بازخورد ربط استفاده میکنند (۳:۷-۵).
● فرامتن
شکل دیگری که برای جستوجو و بازیابی اطلاعات ارائه شده، و به خصوص در سالهای اخیر با رشد شبکه وب گسترش یافته است، بازیابی فرامتنی است. روشهایی که تاکنون ذکر شد عمدتاً بر این محور استوار است که کاربر پرسش خود را در قالب واژهها و عباراتی به نظام ارائه کند تا نظام، پس از جستوجو، تعدادی مدرک را به عنوان نتیجه جستوجو بازگرداند. در مقابل این نظامها که میتوان آنها را نظامهای پرسش مدار نامید، نظامهای فرامتن تلاش میکنند با ایجاد پیوندهای مفهومی میان مدارک و فراهمآوردن امکان مرور و راهبری، کاربر را در رسیدن به مدرک مورد نظر یاری دهند. از این دو نوع رویکرد، به ترتیب، به حرکت از کجا به چه (کاربر میداند در کجای بانک اطلاعاتی است و میخواهد بداند در آنجا چه چیز وجود دارد) و حرکت از چه به کجا (کاربر میداند چه چیزی میخواهد و میخواهد بداند آن چیز را در کجا میتواند بیابد) تعبیر شده است (۳۰۰:۴). در نظامهای فرامتن، هر کدام از مدارک یا الام اطلاعاتی، یک گره و رابطه میان گرهها، پیوند نامیده میشود. در هر گره یک یا چند واژه یا عبارت برجسته وجود دارد که آن را لنگر[۱۰] مینامند و زمانی که از سوی کاربر انتخاب یا فعال میشوند، با استفاده از پیوندها، کاربر را به گره مرتبط دیگری هدایت میکنند. گرهها علاوه بر متن میتوانند شامل قطعات صوتی و تصویری مانند موسیقی، فیلم، عکس، و جز آن نیز باشند.
● ارزیابی نظام بازیابی
در بحث از ارزیابی نظام باید به سه پرسش پاسخ گفت:
۱) دلیل ارزیابی نظام چیست؟
۲) چه عنصری از نظام ارزیابی میشود؟
۳) ارزیابی نظام چگونه یا به چه شیوهای صورت میگیرد؟
ارزیابی نظام به منظور سنجش منافع یا زیانهایی که از نظام بازیابی حاصل میشود و نیز برای سنجش هزینه و سودمندی نظام صورت میگیرد. در ارزیابی معمولاً عناصر زیر که گویای توانایی نظام در رفع نیاز استفادهکننده است مورد توجه قرار میگیرد:
۱) پوشش مجموعه، یا تعداد مدرک مرتبطی که در هر مجموعه وجود دارد؛
۲) زمان پاسخگویی، یعنی فاصله متوسط میان زمان درخواست جستوجو و بهدستآوردن پاسخ؛
۳) شکل خروجی، یعنی شکل مدارک بازیابی شده، شماره مدرک، مآخذ کتابشناختی، مآخذ همراه با چکیدهها، متن کامل، و جز آن؛
۴) تلاش استفاده کننده، یعنی کوششی که استفادهکننده در مرحله خروجی (جدا کردن مدارک مرتبط از نامرتبط)، در مرحله درخواست (بیان هر چه دقیقتر پرسش یا نیاز اطلاعاتی)، و در مرحله تدوین راهبرد جستوجو (بررسی راهبرد تدوین شده و اصلاح آن) انجام میدهد؛
۵) جامعیت، یعنی توانایی نظام در بازیابی متون مرتبط؛ و
۶) مانعیت، یعنی توانایی نظام در بازیابی نکردن متون نامرتبط.
گفته میشود که موارد ۱ تا ۴ به راحتی قابل ارزیابی است لیکن این جامعیت و مانعیت است که در کنار یکدیگر سودمندی نظام را نشان میدهند. در واقع این دو معیار در کنار هم توانایی فیلتری نظام را بیان میکنند و استفاده از هر کدام از آنها به تنهایی چندان کارساز نیست (۵۵:۳-۶۱؛ ۲۰۴:۶). در هر نظام بازیابی، مطلوب آن است که نسبت جامعیت و مانعیت هر دو ۱۰۰ درصد باشند، یعنی نظام بتواند کلیه مدارک مرتبط موجود را بازیابی کند و در عین حال هیچ یک از مدارک غیرمرتبط را را نیز ارائه ندهد. اما رسیدن به چنین آرمانی عملاً غیرممکن است، و در واقع این مسئله یکی از مهمترین تفاوتهای میان نظامهای ذخیره و بازیابی اطلاعات و نظامهای مدیریت پایگاه دادهها را تشکیل میدهد. جامعیت و مانعیت با یکدیگر رابطهای معکوس دارند، یعنی هر گونه تلاشی برای افزایش مانعیت منجر به کاهش جامعیت و هرگونه کوششی برای افزودن جامعیت باعث کاهش مانعیت میشود. بنابراین، در عمل باید به نسبتی معقول میان این دو رسید. نیاز استفادهکننده یکی از عوامل مؤثر در تعیین این نسبت است.
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
|
|