نرم افزار از دبیرخانه تحت بانک اطلاعاتیAccess 2005 تهیه و تدوین گردیده فلذا برآن شدیم به دلیل توضیح کامل در خصوص نرم افزار استفاده شده جهت این برنامه را از فصل اول کتاب خودآموز جامع مایکروسافتAccess 2003 استفاده نماییم.
اگر با کامپیوترهای شخصی زیاد کار می کنید، بی تردید از واژه پردازها یا برنامه های کاربردی صفحه گسترده در کارهای خود استفاده می نمایید و احتمالاً استفاده از واژه پردازها را از زمانی که محصولات مبتنی بر کاراکتر تحتMS-DOS به کار برده میشوند شروع کرده و به تدریج آنها را به واژه پردازهایی که تحت سیستم عامل ویندوز اجرا میشوند ارتقاء داده اید. و نیز احتمال می رود که اکنون از مزیت داشتن بعضی نرم افزارهای بانک اطلاعاتی، یا به منزله جزئی از بسته های مجتمع سازی نشده مانند Microsoft Works یا به صورت یک برنامه جداگانه برخوردار هستید.
اکنون مدت های طلوانی است که برنامه های بانک اطلاعاتی برای استفاده کلیه کاربران کامپیوترهای شخصی به بازار ارائه شده اند، ولی متأسفانه بیشتر این برنامه ها یا برنامههای مدیریت ذخیره سازی ساده داده ها می باشند که برای ساخت برنامه های کاربردی مناسب نمی باشد. امروزه، حتی افرادی که با کامپیوتر به خوبی آشنا هستند نیز از سیستم های بانک های اطلاعاتی پیچیده دوری می کنند، مگر اینکه مجبور به استفاده از یک بانک اطلاعاتی اختصاصی تکمیل شده باشند. اکنون، با ارائهAccess مایکروسافت، یک سیستم بانک اطلاعاتی ساده در اختیار همگان می باشد و کاربران بسیاری برای ساخت بانک های اطلاعاتی ساده و کاملاً پیشرفته از آن استفاده می کنند.
اکنون که هفتمین نسخه Access ارائه شده است، این نرم افزار به مراتب از پنجمین نسخه خود که برای نسخه های32 بیتی ویندوز طراحی شده بود قدرتمندتر گشته و نیاز به بررسی نحوه استفاده از کامپیوتر برای انجام کار تحت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 پشتیبانی میشود. شکل1-1 فرمی را نشان می دهد که دارای شیء داده ای از پیش تعبیه شده از بانک اطلاعاتی نمونه Northwind Traders می باشد که همراه باAccess ارائه شده است. در این شکل یک رکورد طبقه بندی محصول رؤیت می شود که نه تنها دارای یک نام نوعی و اطلاعات توصیفی می باشد، بلکه دارای تصویری محصول رؤیت می شود که نه تنها دارای یک نام نوعی و اطلاعات توصیفی می باشد، بلکه دارای تصویری است که مشاهده هر طبقه بندی را ممکن می سازد. Access2003 مایکروسافت را می توان به منزله یک سرورActieX نیز به کار برد و اجازه داد تا بتوانید از برنامه های دیگر مبتنی بر ویندوز، بانک اطلاعاتیAccess را باز کرده و اشیاء آن (مانند جدول ها، پرس وجوها، و فرم ها) را دستکاری کنید.
(نمودار و تصاویر در فایل اصلی موجود است)