بخش اول) آشنايي با نرم افزار مورد استفاده
نرم افزار از دبيرخانه تحت بانك اطلاعاتيAccess 2005 تهيه و تدوين گرديده فلذا برآن شديم به دليل توضيح كامل در خصوص نرم افزار استفاده شده جهت اين برنامه را از فصل اول كتاب خودآموز جامع مايكروسافتAccess 2003 استفاده نماييم.
اگر با كامپيوترهاي شخصي زياد كار مي كنيد، بي ترديد از واژه پردازها يا برنامه هاي كاربردي صفحه گسترده در كارهاي خود استفاده مي نماييد و احتمالاً استفاده از واژه پردازها را از زماني كه محصولات مبتني بر كاراكتر تحتMS-DOS به كار برده مي‌شوند شروع كرده و به تدريج آنها را به واژه پردازهايي كه تحت سيستم عامل ويندوز اجرا مي‌شوند ارتقاء داده ايد. و نيز احتمال مي رود كه اكنون از مزيت داشتن بعضي نرم افزارهاي بانك اطلاعاتي، يا به منزله جزئي از بسته هاي مجتمع سازي نشده مانند Microsoft Works يا به صورت يك برنامه جداگانه برخوردار هستيد.
اكنون مدت هاي طلواني است كه برنامه هاي بانك اطلاعاتي براي استفاده كليه كاربران كامپيوترهاي شخصي به بازار ارائه شده اند، ولي متأسفانه بيشتر اين برنامه ها يا برنامه‌هاي مديريت ذخيره سازي ساده داده ها مي باشند كه براي ساخت برنامه هاي كاربردي مناسب نمي باشد. امروزه، حتي افرادي كه با كامپيوتر به خوبي آشنا هستند نيز از سيستم هاي بانك هاي اطلاعاتي پيچيده دوري مي كنند، مگر اينكه مجبور به استفاده از يك بانك اطلاعاتي اختصاصي تكميل شده باشند. اكنون، با ارائهAccess مايكروسافت، يك سيستم بانك اطلاعاتي ساده در اختيار همگان مي باشد و كاربران بسياري براي ساخت بانك هاي اطلاعاتي ساده و كاملاً پيشرفته از آن استفاده مي كنند.
اكنون كه هفتمين نسخهAccess ارائه شده است، اين نرم افزار به مراتب از پنجمين نسخه خود كه براي نسخه هاي۳۲ بيتي ويندوز طراحي شده بود قدرتمندتر گشته و نياز به بررسي نحوه استفاده از كامپيوتر براي انجام كار تحتAccess دارد. اگر تاكنون به علت نياز به مهارت هاي برنامه نويسي يا به علت نياز به صرف وقت زياد جهت يادگيري كار با بانك هاي اطلاعاتي، از نرم افزارهاي بانك هاي اطلاعاتي دوري گزيده‌ايد، اكنون مي توانيد بدون واهمه از علل فوق كار با برنامه ساده و آسانAccess را شروع كنيد. ولي چگونه مي توان مطمئن شد كه به كاربردن Accessبراي انجام كارهاي شما يك برنامه مناسب و انتخاب درست مي باشد براي اين منظور در زير نگاهي به مزاياي استفاده اي يك نرم افزار توسعه بانك اطلاعاتي بيندازيد.
بانك اطلاعاتي چيست؟
به يك زبان ساده، يكDataBase (بانك اطلاعاتي) به مجموعه ركوردها و پرونده هايي اطلاق مي شود كه به منظور خاصي سازماندهي شده اند. براي مثال، مي توانيد اسامي و نشاني كليه دوستان يا مشتريان را بر روي كامپيوتر خود نگه داريد. و يا كليه نامه هايي را كه مي نويسيد نگهداري كرده و انها را به ترتيب اسامي گيرندگان آنها مرتب سازيد. و يا مجموعه اي از پرونده هاي حاوي، اطلاعات مالي- پول هاي پرداختي و حساب هاي دريافتي و موازنه حساب هاي خود را روي كامپيوتر ذخيره كنيد. اسناد واژه پرداز كه برحسب عنوان سازماندهي مي شوند نيز به نوعي يك بانك اطلاعاتي را تشكيل مي‌دهند. پرونده هاي صفحه گسترده اي كه بر حسب كاربران آنها سازماندهي شده اند نيز نوع ديگري از يك بانك اطلاعاتي مي باشند، ميانبرها به كليه برنامه ها در روي منويStart ويندوز نيز نوعي بانك اطلاعاتي محسوب مي شوند و ميانبرهاي اينترنت به پوشهFavorite شما هم يك بانك اطلاعاتي است.
اگر كار شما كاملاً سازماندهي شده باشد، مي توانيد صدها كاربرگ يا ميانبر را با استفاده از پوشه ها و زيرپوشه ها اداره كنيد. هنگام انجام اين كار، «شما» مدير بانك اطلاعاتي محسوب مي شويد. ولي اگر به اشكال بزرگي برخورديد چه بايد كرد؟
چگونه مي توان اطلاعات مربوط به مشتريان متعدد را كه در اسناد و پرونده هاي كاربرگ هاي گوناگون درج شده اند جمع آوري كرد و به آنها دسترسي داشت؟ چگونه مي توان با وارد كردن اطلاعات جديد همين اطلاعات رابطه برقرار نمود؟ چگونه مي‌توان مطمئن شد كه اطلاعات وارد شده صحيح مي باشند؟ چگونه مي توان اطلاعات را با ديگرانبه اشتراك گذاشت، ولي به آنان اجازه تغيير آنها را نداد؟ براي انجام اين كارها، به يك سيستم مديريت اطلاعات يا DataBase Management System (DBMS) نياز داريد.
بانك هاي اطلاعاتي رابطه اي
تقريباً كليه سيستم هاي جديد مديريت بانك اطلاعاتي، اطلاعات را با استفاده از الگوي مديريت رابطه اي بانك اطلاعاتي، ذخيره و اداره مي كنند. در يك سيستم مديريت رابطه‌‌اي بانك اطلاعاتي كه به RDBMS معروف مي باشد، سيستم كليه اطلاعات را از طريق جدول كنترل مي كند. در جدول هايي (Tables) كه حتي يك عنوان مثل نام مشتري يا محصول ذخيره مي شوند، هر جدول داراي ستون ها(Columns) يا فيلدها(Filds) مي باشد كه هر ستون حاوي اطلاعات مختلفي درباره موضوع (مثل نشاني مشتري يا شماره هاي تلفن) مي باشد. و نيز يك جدول داراي رديف ها(Rows) (يا ركوردها(Crecords) است كه كليه مشخصه هاي يك نمونه از موضوع (مثل اطلاعات درباره يك محصول يا يك مشتري خاص) در آنها ثبت مي شوند. ولي هنگامي كه از يك بانك اطلاعاتي پرس و جويي(Query) مي كنيد (آوردن اطلاعات از يك يا چند جدول) هميشه نتيجه شبيه جدول ديگري به نظر خواهد رسيد.
اصطلاح رابطه اي (Relational) از اين واقعيت ناشي مي شود كه هر جدول در يك بانك اطلاعاتي حاوي اطلاعات مربوط به يك موضوع و فقط يك موضوع مي شود. اگر الگوي مديريت رابطه بانك اطلاعاتي را مرور كنيد متوجه خواهيد شد كه رابطه (Relation) براي مجموعه اي از رديف ها (يك جدول) درباره يك موضوع به كار مي‌رود، و نيز اطلاعات مربوط به دو دسته از اطلاعات (مانند مشتري ها و سفارشات) مي توانند بر اساس مقدارهاي مرتبط داده هاي به عنوان يك ورودي منظور شوند. براي مثال، ذخيره اسم و نشاني ممشتري براي هر سفارشي كه مشتري مي دهد كار زائدي است. در يك سيستم رابطه اي بانك اطلاعاتي، اطلاعات مربوط به هر سفارش داراي فيلدي است كه اطلاعاتي مانند شماره مشتري را ذخيره مي كند و از اين فيلد مي توان براي برقراري ارتباط و اخذ هر نوع اطلاعات مربوط به اين مشتري استفاده كرد.
در عين حال مي توانيد اطلاعات مقدارهاي مرتبط به هم در چند جدول يا پرس و جو را با هم يكي سازيد. براي مثال مي توان از اطلاعات شركت كه شامل اطلاعات تماس است براي يافتن نشاني هاي تماس با يك شركت خاص استفاده كرد و يا از اطلاعات مربوط به كاركنان همراه با اطلاعات هر دپارتماني براي پيدا كردن بخشي كه كارمند خاصي در آن كار مي كند استفاده نمود.
چند اصطلاح مربوط به بانك اطلاعاتي/ پايگاه داده هاي رابطه اي
:Relation اطلاعات درباره فقط يك موضوع مانند مشتريان، سفارش ها، كاركنان، توليدات يا شركت ها. اين اطلاعات معمولاً در سيستم مديريت رابطه اي بانك اطلاعاتي  در يك جدول (Table) نگهداري مي شوند.
:Attribute اطلاعات ويژه درباره يك موضوع، مثل نشاني مشتري يا ارزش يك سفارش. مشخصه هاي فوق معمولاً در ستون (فيلد) يك جدول قرار داده مي شوند.
:Instance يك عضو مخصوص در يك رابطه- مثل يك مشتري يا محصول منفرد. اين جزء معمولاً در جدول به صورت يك ركورد يا در رديف نگهدراي مي شود.
:Relationship روشي كه در آن اطلاعات در يك رابطه مربوط به اطلاعات در رابطه ديگري مي شود. براي مثال، هر مشتري داراي «يك- به- چند» رابطه با سفارش ها مي‌باشد، زيرا يك مشتري مي تواند چند سفارش داشته باشد، ولي هر سفارش مختص به يك مشتري مي باشد. رابطه شركت ها با افراد مورد تماس يك رابطه «چند- به- چند» مي باشد، زيرا هر مشتري مي تواند چند نشاني تماس داشته باشد و يك مشتري نيز مي تواند با چند شركت تماس داشته باشد.
:Join پروسه به هم پيوستگي جدول ها يا پرس و جوها در جدول ها از طريق مقدارهاي داده هاي مربوط به هم. براي مثال، مشتريان را مي توان با تطابق شماره شناسايي مشتري(Customer ID) در يك جدول مشتري به سفارش ها در جدول سفارشات به هم مربوط ساخت.
قابليت هاي يك بانك اطلاعاتي
يك RDBMS كنترل كامل براي چگونگي تعريف داده ها، كار با آنها و اشتراك گذاري داده ها با ديگران ار ممكن مي سازد. اين سيستم ويژگي هاي پيشرفته براي كاتالوگ و مديريت داده هاي بسيار در جدول هاي گوناگون را نيز ارائه مي دهد. يك RDBMS از سه قابليت عمده تعريف داده ها، دستكاري داده ها و كنترل داده برخوردار است.
تعريف داده ها: در RDBMS مي توانيد داده هاي ذخيره شده در بانك اطلاعاتي خود را از نظر نوع داده (مثلاً داده عددي يا داده حرفي) و چگونگي ارتباط داده ها مشخص سازيد. در بعضي موارد شما مي توانيد نحوه قالب بندي داده و چگونگي تعيين صحت آن را نيز مشخص سازيد.
دستكاري داده ها: به روش هاي گوناگون مي توان با داده ها كار كرد. شما مي توانيد فيلدهايي از داده را كه لازم داريد مشخص سازيد، داده ها را از فيلتر بگذرانيد و آنها را مرتب سازيد. شما مي توانيد داده ها را با اطلاعات مربوطه مرتبط ساخته و خلاصه اي از داده ها را تهيه نماييد و يا مي توانيد مجموعه اي از داده ها را انتخاب كرده و از RDBMS بخواهيد تا اين داده ها را به روز رسانده، حذف نموده و بر روي جدول ديگر كپي نماييد يا جدول جديدي براي اين داده ها بسازيد.
كنترل داده ها: شما مي توانيد تعيين كنيد كه چه افرادي مجاز هستند تا داده هاي شما را خوانده، به روز رسانده يا داده هاي جديد را در پرونده هاي شما وارد كنند. در بسياري از موارد مي توانيد در عين حال مشخص كنيد كه داده هايتان چگونه به اشتراك گذاشته شوند، و توسط چه كاربراني به روز رساني شوند.
كليه اين عمليات به كمك ويژگي قدرتمندAccess مايكروسافت انجام مي شوند. در زير به بررسي چگونه انجام اين عمليات مي پردازيم و نحوه انجام آنها را با روش هاي مورد استفاده در برنامه هاي واژه پردز و صفحه گسترده مقايسه مي كنيم.
Access مايكرو سافت به منزله يك RDBMS
يك بانك اطلاعاتي ميزكارACCESS ساخت شركت مايكروسافت (كه درآن از پرونده‌‌ها با پسوندmdb استفاده مي شود) يكRDBMS با قابليت كامل عملياتي مي باشد. در اين برنامه كليه عمليات تعريف داده ها، دستكاري داده ها و كنترل داده براي داده هاي حجيم را مي توان به خوبي انجام داد.
يك بانك اطلاعاتي ميزكار(mdb)Access را مي توان يا به صورت يك RDBMSمستقل در روي يك ايستگاه كاري و يا در حالت اشتراكي خدمات گيرنده/ خدمات دهنده در يك شبكه به كار برد. يك بانك اطلاعاتي ميزكار يك منبع داده ها براي داده هاي نمايش داده شده در صفحه هاي Web روي اينترنت شركت شما نيز مي باشد. هنگامي كه يك برنامه كاربردي را با بانك اطلاعاتي ميزكارAccess مي سازيد، Access يك RDBMSاست. ازAccess مي توانيد در عين حال براي ساخت برنامه هاي كاربردي در يك پرونده پروژه (با پسوند.adp) مرتبط بهSQL Server مايكروسافت نيز استفاده كنيد، و مي توانيد داده هاي سرور را با ديگر برنامه هاي كاربردي يا با ساير كاربرانWeb به اشتراك بگذاريد.
هنگامي كه يك پرونده پروژهAccess (با پسوند.adp) را مي سازيد، SQL Server (يا SQL Server Desktop Engine- MDSE Microsoft) يك RDBMS مي باشد.
تعريف داده ها و ذخيره سازي
در ضمن كار با يك سند يا يك كاربرگ، معمولاً به آزادي مي توانيد محتويات سند يا خانه كاربرگ را تعريف كنيد. در يك صفحه مشخص از يك سند، مي توانيد پاراگراف، جدول، نمودار يا چند ستون از داده ها با قلم هاي مختلف را به متن اضافه كنيد. در يك ستون داده شده بر روي يك كاربرگ، مي توانيد در بالاي ستون يك عنوان با داده هاي متني براي چاپ يا نمايش بر روي صفحه مانيتور قرار دهيد. و نيز مي توانيد از قالب‌هاي متعدد عددي، بسته به عمليات هر رديف در يك ستون استفاده كنيد. شما به اين انعطاف پذيري نياز داريد، زيرا سند واژه پرداز شما بايد قادر به انتقال پيام بر روي يك صفحه چاپي باشد و كاربرگ بايد داده هايي را كه تحليل مي كند بتواند ذخيره كند و محاسبات مربوطه را انجام داده و نتيجه را نمايش دهد.
اين انعطاف پذيري به خصوص براي حل مشكلات كارهاي به نسبت كوچك ولي به خوبي تعريف شده بسيار سومند است. در صورتي كه تعداد صفحه هاي اسناد به چند دوجين برسند، سندها دست و پاگير شده و انجام كار مشكل خواهد شد. در كاربرگ ها نيز هنگامي كه تعداد خانه ها به چند صد رديف اطلاعات برسد، نيز كار سخت مي شود. با افزايش مقدار داده ها، فضاي ذخيره سازي داده ها، فراتر از حد در نظر گرفته شده براي واژه پرداز يا صفحه گسترده در كامپيوترتان خواهد رفت. اگر هدف شما اشتراك گذاري سند يا كاربرگ باشد، كنترل چگونگي استفاده ديگران از اين اسناد و وارد كردن داده ها به اين اسناد مشكل (البته نه غيرممكن) مي گردد. براي مثال، در يك كاربرگ، حتي اگر فقط به دو خانه براي درج تاريخ و يك مقدار پولي نياز داشته باشد، باز اين احتمال وجود دارد كه كاربري به اشتباه يك مقدار حرفي را در اين دو فيلد وارد كند.
در بعضي برنامه هاي صفحه گسترده به شما اجازه داده مي شود تا يك ناحيه، بانك اطلاعاتي را در يك كاربرگ براي مديريت اطلاعات مورد نياز جهت ارائه نتايج مورد نظر در نظر بگيريد. ولي به هر حال بايد محدوديت فضاي ذخيره سازي در يك برنامه صفحه گسترده را منظور داريد و در هر صورت كنترل كاملي بر روي آنچه كه در رديف‌ها و ستون هاي ناحيه بانك اطلاعاتي وارد مي شود نخواهيد داشت. و نيز، اگر بايد داده هايي به جز داده هاي عددي و حرفي را كنترل نماييد، بايد مطمئن شويد كه برنامه صفحه گسترده شما اين اطلاعات را به منزله يك پرونده صوتي يا تصويري تلقي ننمايند.
يك سيستم RDBMS به شما اجازه تعريف نوع داده هايتان و تعيين نحوه ذخيره سازي آنها را مي دهد. و نيز مي توانيد قواعدي را كه RDBMS مي تواند براي كسب اطمينان از يكپارچگي داده هايتان به كار بررد، مشخص سازيد. در ساده ترين شكل آن، يك قاعده تعيين صحت داده ها (Validilation Rule) مي تواند اين اطمينان را ايجاد كند كه كاربران به طور تصادفي كاراكترهاي الفبايي را به جاي عدد در فيلدي وارد نكنند. در قواعد ديگر، مي توان مقدارهاي مورد قبول يا دامنه مقدار براي داده ها را مشخص ساخت. در بيشتر سيستم هاي پيشرفته مي توانيد رابطه بين مجموعه اي از داده ها (معمولاً جدول ها و پرونده ها) را مشخص ساخته و از RDBMSبخواهيد تا يكپارچگي داده ها را كنترل كند. براي مثال، مي توانيد از سيستم بخواهيد به طور خودكار كار بازبيني ترتيب ورودي ها براي مشتريان معتبر را انجام دهد.
در يك بانك اطلاعاتي ميزكار(.mdp) Access شما از انعطاف پذيري كاملي براي تعريف داده هاي خود (به صورت متن، عدد تاريخ، زمان، پول، فراپيوندهاي اينترنتي، تصوير، صوت، مستندات و صفحه هاي گسترده) و تعيين نحوه ذخيره داده هايتان (طول رشته، دقت عدد، و دقت تاريخ/ زمان) و تعيين نحوه نمايش داده ها در روي صفحه مانيتور يا در چاپ برخوردار هستيد. شما مي توانيد قواعد ساده يا پيچيده اي براي تأييد صحت داده ها را نيز برقرار سازيد. شما مي توانيد ازAccess بخواهيد كه رابطه بين پرونده ها يا جدول ها در بانك اطلاعاتي شما را بررسي و صحت آنها را بازبين نمايد. هنگامي كه پروژه(.adp)Access به بانك اطلاعاتيSQL Server وصل مي شود،SQL Server نيز كليه قابليت هاي فوق را ارائه مي دهد.
از آنجايي كه Access يك برنامه كاربردي با فن آوري هاي جديد براي ويندوز مايكروسافت است شما مي توانيد از كليه تسهيلات اشياءActiveX و كنترل هاي سفارشي ActiveX نيز استفاده كنيد. ActiveX يك فن آوري پيشرفته ويندوز است كه به نوبه خود اجازه پيوند اشياء به اشياء تعبيه شده در ميزكار بانك اطلاعاتيAccess يا SQL Server را مي دهد. اين اشياء شامل تصاوير، صفحه هاي گسترده و مستندات برنامه هاي كاربردي ديگر مبتني بر ويندوز است كه درآنها نيز از ActiveX پشتيباني مي‌شود. شكل۱-۱ فرمي را نشان مي دهد كه داراي شيء داده اي از پيش تعبيه شده از بانك اطلاعاتي نمونه Northwind Traders مي باشد كه همراه باAccess ارائه شده است. در اين شكل يك ركورد طبقه بندي محصول رؤيت مي شود كه نه تنها داراي يك نام نوعي و اطلاعات توصيفي مي باشد، بلكه داراي تصويري محصول رؤيت مي شود كه نه تنها داراي يك
نام نوعي و اطلاعات توصيفي مي باشد، بلكه داراي تصويري است كه مشاهده هر طبقه بندي را ممكن مي سازد. Access2003 مايكروسافت را مي توان به منزله يك سرورActieX نيز به كار برد و اجازه داد تا بتوانيد از برنامه هاي ديگر مبتني بر ويندوز، بانك اطلاعاتيAccess را باز كرده و اشياء آن (مانند جدول ها، پرس وجوها، و فرم ها) را دستكاري كنيد.