فصل اول : آشنایی با Access تاریخچه Access : در سال 1992 ، Microsoft Access به عنوان یک DBMS عرضه شد و در طی سالهای متمادی ، در رده خود به صدر رسید . Access به عنوان بخشی از مجموعه برنامه های معروف Microsoft Access روزانه توسط میلیون ها نفر استفاده می شود. از همان ابتدا Access به تدریج توسعه یافت و به برنامه ای کارآمد با کاربردی آسان مبدل شد. نگارش های اخیر آن در حالی که هم چنان جایگاه خود را در دنیا به عنوان مشهورترین DBMS دسک تاپ حفظ کردند . امکان ساخت برنامه هایی را برای برنامه نویسان فراهم می کنند که این برنامه ها بر مبنای DBMS کلاینت / سرور SQL Server مقیاس جهانی مایکروسافت می توانند به اطلاعات پایگاه های داده کلاینت / سرور شبکه های بزرگ دسترسی پیدا کنند. هرچند اکثر افراد از Access برای انجام وظایف نسبتاً ساده مدیریت داده که نیازی به هیچ گونه برنامه نویسی ندارد ، استفاده می کنند ولی زبان VBA امکان میزبانی سیستم هایی را برای Access فراهم می کند که می توان آنها را برای رفع نیازهای بسیاری از سازمان ها سفارشی کرد بدون توجه به اندازه آنها یا انواع وظایفی که باید انجام دهند. نگارش های Access در سال 1922 Access 1.0 کمی پس از پیدایش ویندوز مایکروسافت عرضه شد. در سال 1993 Access 1.1 و در سال 1994 Access 2.0 ، هر نگارش جدید نمایانگر بهبود روزافزودن نگارش های قبلی است.به همین ترتیب Access 95 در سال 1995 ،Access 97 درسال 1997 ، Access 2000 در سال 1999 و Aceess 2002 در سال 2001 عرضه شدند. ویژگی های ایجاد شده در نگارشهای 1.0 و 1.1 و 2.0 از Access فناوری OLE در Table Designer: به کاربران امکان می دهد تا پایگاه های داده حاوی تصاویر گرافیکی و فایل هایی ویدیویی و صوتی را علاوه بر متن و اعداد ایجاد کنند. OLE مخفف Object Linking and Embbedding است که توصیفی است از آن چه OLE انجام می دهد. کاربران حتی می توانند اسناد Word و صفحات گسترده Excel را در یک پایگاه داده Access یکجا جمع کنند. Forms Package : به کاربران امکان می دهد تا با کشیدن عناصر فرم به روی یک صفحه خالی ، فرم های سفارشی ایجاد کنند. این مرحله استفاده از آن را آسان می سازد. Report Wizard: ایجاد گزارش را نیز آسان می کند. Query Designer:کشیدن و انداختن از فناوری QBE استفاده شده است تا کاربران بتوانند پرس و جوها را بدون نوشتن کد برنامه ایجاد کنند. Graph Wizard : در طی یک فرآیند گام به گام شهودی ، نموداری را نشان می دهد. Access 1.0 علاوه بر فایل های طبیعی خود می تواند روی فایل های DBASE ، PARADOX و BTRIEVE یا درایورهای طبیعی نظیر SYBASE AQL SERVER ، DEC Rdb و FOXPRO از طریق رابط ODBC عمل کند. ODBC مخفف Object DataBase Connectivity است و یک API مشترک برای پایگاه های داده ناسازگار مختلف فراهم می کند. در نگارش Access 1.1 پشتیبانی پیشرفته Btrieve , ODBC اتصال به foxpro صدور آسان داده به برنامه word برای برنامه های ادغام پست الکترونیکی اندازه های پایگاه داده حداکثر تا 1 گیگا بایت (حدود هشت بار بزرگ تر از 1.0 را می توان مدیریت کرد) زمان اجرای Access قابل دسترسی است . برنامه نویسان می توانند برنامه هایی ایجاد کنند که بدون نصب Access روی سیستم عمل می کنند. 2.0Access دارای قابلیت های بیشتری است : ویزاردها که وظایفی را خودکار کرده اند که قبلاً مستلزم کد نویسی در بخشی از برنامه بودند. مدیریت رویداد پیچیده تر یک اشکال زدا در ابزارهای برنامه نویسی به علاوه یک مستند ساز خودکار و Add – in Manager بهبودهایی در موتور JET پایگاه داده و به دنبال آن پایگاه های داده پیچیده تر برای ساخت اجرای پرس و جوها با دوبرابر سرعت 95Access 95 Access اولین نگارشی بود که رسماً به عنوان بخشی از Microsoft Office مطرح شد. کنترل های آن با سایر اعضای مجموعه برنامه های Office به خوبی کار می کنند. VBA یکی از ابزارهای برنامه نویسی است که Access با سایر برنامه های Office نظیر Word و Excel به اشتراک گذاشته است. Import Wizard و pivotTable Wizard اضافه شده اند. ویزاردهای form و report بهبود یافته اند. 97 Access 97 Access بیشتر مبتنی بر وب است. فرق پیوندها را به عنوان یک نوع داده طبیعی ذخیره کرده و امکان ذخیره سازی در HTML را فراهم می کند. کاربران می توانند اشیای پایگاه داده را در وب منتشر کنند. داده را از یک سند HTML که حاوی جدولی است استخراج کرده و سپس داده را در جدول پایگاه داده قراردهند. ماژول های کلاس می توانند حاوی تعریف شئ را نگه دارند. کامپایل شرطی به برنامه نویسان امکان می دهد تا هر دو کامپایل تولید و اشکال زدایی برنامه های خود را با تنظیم پرچم ها در کد ایجاد کنند. برنامه نویسان قادر به حذف کد منبع از برنامه هستند، بنابر این از سرعت اجرا کاسته شده و افراد نمی توانند آن را مشاهده و کپی کنند. کنترل های Activex جدیدی عرضه شده اند و سازگاری با سیستم های کنترل کد به ویرایش Developer از Office 97 اضافه شده است. 2000 Access Access در این نگارش از بسیاری از جهات بهتر شده است. یعنی کارآیی بهبود یافته و توانایی آن افزایش یافته است. این نگارش Access دارای ویژگی های زیر است: ADO عملاً جایگزین تمام عملکردهای دستیابی داده شده است که قبلاً با DAO انجام می شد. همان طور که قایل های mdb با موتور jet کار می کنند. فایل های Access Project(.adp) نیز به راحتی با فایل های Microsoft Data Engine و SQL Server کار می کنند. DAP ها عرضه شده اند که به شما امکان می دهد تا چیزهایی همانند گزارش ها و فرم های Access را در وب قرار دهید. 2002 Access این ویژگی ها به نسخه Access قبلی اضافه شده است: انجام مجدد و لغو چند سطحی گروه بندی بهتر با ورودی داده چند جدولی پشتیبانی پیشرفته برای SQL Server Desktop Engine را علاوه بر حذف ها و بهنگام رسانی های آبشاری شامل می شود. Upsizing Wizard برنامه های نوشته شده را طوری تبدیل کرده تا موتور jet فعال شود و آنها بتوانند با SQL Server Desktop Engine کار کنند. پشتیبانی XML اضافه شده است. 2003 Access ویژگی های جدید 2003 Access عبارتند از : کاربرد آسان توانایی بسیار در وارد ، صادر و کارکردن با فایل های داده XML پرچم گذاری خطاهای مشترک شناسایی وابستگی به شیء Access یک محیط برنامه نویسی محسوب می شود. شامل : کمی موانع سر راه ورودی – می توانید حتی با کمی مطالعه با آموزش مختصر ، برنامه های سودمندی را برنامه نویسی کنید. شهودی بودن آن – هرچه بیشتر از Access استفاده کنید و به مهارت خود بیفزایید . با استفاده از قدرت هر چه بیشتر Access بهتر می توانید از پس کارهای پیچیده تر برآیید. بخشی از مجموعه Office محسوب می شود. Access از قابلیت های سایر اعضای Microsoft Office نظیر word , excel برخوردار است. با Sql Server مایکروسافت کاملاً یکپارچه شده است. به همین علت Access برای انجام بسیاری از وظایف برنامه نویسی از کوچک ترین برنامه پایگاه داده شخصی گرفته تا برنامه های گسترده جهانی برای شرکت های چند ملیتی بزرگ مناسب است. معمولاً سایر محصولات DBMS برای یک یا چند منظور در نظر گرفته می شوند. تفاوت بین پایگاه های داده و برنامه های پایگاه داده گاهی اوقات افراد در تشخیص بین پایگاه های داده و برنامه های پایگاه داده دچار اشتباه می شوند. این امر در مورد افرادی صدق می کند که به طور تجربی کار کردن با Access را یاد گرفته اند نه کسانی که دوره آموزشی را طی کرده اند. Access برنامه نویسی پایگاه داده و برنامه پایگاه داده را با هم و بدون هیچ گونه وجه تمایزی شامل می شود. پایگاه داده مجموعه خود توضیحی از رکوردهای یکپارچه شده است. خود توضیح است . زیرا اطلاعاتی که ساختار پایگاه داده را شرح می دهند در پایگاه داده قرار دارند. رکوردها یکپارچه شده اند زیرا روابط بین آیتم های داده صراحتاً نگهداری می شوند. این دو مشخصه پایگاه داده را از مجموعه آیتم های داده متمایز می سازد. پایگاه داده مجموعه ساخت یافته داده هاست ، بنابر این مشکلی را بر طرف نمی کند و کاری انجام نمی دهد. برنامه پایگاه داده از داده موجود در پایگاه داده برای رفع مشکلات با انجام کاری استفاده می کند. برنامه پایگاه داده برنامه ای است که با یک پایگاه داده برای نگهداری و تحویل اطلاعات مورد نظر کار می کند. ممکن است برنامه نویس برنامه پایگاه داده ، برنامه پایگاه داده را بنویسد یا توسط DBMS برنامه ای نیمه خودکار نظیر Access را تولید کند. در پایگاه داده رابطه ای ، داده در جداول ذخیره می شود که بدین ترتیب ، داده ساختار پیدا می کند. ممکن است برنامه پایگاه داده شامل فرم ها و گزارش هایی باشد که امکان برقراری ارتباط با داده را در پایگاه داده به منظور انجام کارها برای کاربران فراهم می کند. اصول برنامه نویسی پایگاه داده : Systems Development Life Cycle : برنامه نویسی نرم افزاری را به چند مرحله مجزا تقسیم بندی می کند که یکی پس از دیگری اجرا می شوند. هر مرحله باید قبل از شروع مرحله بعدی خاتمه یابد. مدل SDLC هفت مرحله ای زیر را توصیه می کند. تعریف الزامات ارزیابی طراحی پیاده سازی آزمون و مستند سازی نهایی نگهداری اهمیت متدولوژی منظم : پس از اعلام مشتری به شما ، برای فعال کردن Access ، ساخت کد اول پایگاه داده ، ایجاد فرم های صفحه نمایش ، پر کردن جداول با داده و سپس برنامه نویسی گزارش هایی که درخواست های مشتری را بازیابی می کنند، وسوسه می شوید . متاسفانه این رویکرد ساده هرگز عملی نخواهد شد چرا که مشکلات آن ناشی می شود از : کافی نبودن آگاهی مشتری از آن چه لازم دارد. عدم توافق تمام افراد در سازمان دهی مشتری که سیستم جدید را تحت تاثیر قرار می دهند. فاصله ارتباطی بین مشتری و برنامه نویس زمان ناکافی مستندات نامناسب برای نگهداری سیستم آزمون نامناسب سیستم در طی برنامه نویسی که در صورت رعایت از طریق SDLC باعث رفع مشکلات می باشد. مرحله تعریف : همانند هر پروژه برنامه نویسی دیگری ، پروژه برنامه نویسی پایگاه داده نیز باید به سرعت تعریف شود تا هر دو مشتری و برنامه نویس به نتیجه رضایت بخشی برسند. غالباً ممکن است مشتری راجع به سیستم و عملکرد آن تصور مبهمی داشته باشد. اگر برنامه نویس مشخصات کمی از سیستم را بداند و برحسب آن چه تصور می کند سیستمی بسازد. متوجه خواهد شد سیستمی ساخته که جوابگوی نیازهای مشتری نیست. برای رفع مشکلات آنها را تعریف کنید. در این مرحله تعریف مشکل به طور دقیق و موافقت در مورد راه حل آن لازم الاجرا ست . ارتباط خوب مشتری و برنامه نویس ، در این مرحله برنامه نویس را از تجدید نظر روی کدی که بر مبنای تصورات نادرستی ایجاد شده خلاص می کند. ارتباط خود در جلوگیری از ضعیف شدن روابط مشتری و برنامه نویس کمک می کند..در این مرحله ، برنامه نویس دقیقاً می فهمد که مشتری چه می خواهد و مشتری هم متوجه می شود که با توجه به محدودیت های زمانی و بودجه انجام چه کارهایی ممکن و چه کارهایی غیر ممکن خواهد بود. تعیین برد پروژه. پس از پی بردن به این که برنامه برای جلب رضایت مشتری باید چه کاری انجام دهد، می تواند دشواری پروژه را تعیین کنید. بر حسب تجربه خود در پروژهای مشابه ، می توانید حدس بزنید که پروژه مستلزم ابزارهای نرم افزاری ، دستیابی به امکانات مشتری ، دستیابی به امور شخصی مهم مشتری ، هزینه انتقال وزمان کافی است . به طور کلی ، ترکیب این آیتم ها، برد پروژه نامیده می شود. اساساً تعیین برد پروژه به طور دقیق حایز اهمیت است بدین وسیله می فهمید هزینه کاری که ا نجام می دهید چقدر است. تعیین احتمالات آیا منابعی در اختیار دارید یا می توانید منابعی را به دست آورید که پروژه با زمان و بودجه موجود به نحو شایسته ای کامل شود ؟ آیا در این پروژه خاص، منابع بهترین و بیشترین کاربرد را داشته اند یا درجای دیگری بهتر مورد استفاده قرار گرفته اند؟ وقتی از منابع صحبت می کنیم ، منظور علاوه بر فرصت و مهارت همکارانی که در این پروژه به شما ملحق شده اند، فرصت زمانی و میزان مهارت شما هم هست. یک پروژه خوب باید توجیه اقتصادی و حرفه ای داشته باشد. قبل از ارایه یک سیستم کامل ، زمان ، بودجه یا هر دو را بسنجید . اگر نگرانی های خود را صادقانه به مشتری بیان کنید ، مشتری الزامات مربوطه را فراهم می کند یا حتی ممکن است زمان یا پول بیشتری را به این پروژه اختصاص دهد. در این صورت با مشکلی مواجه نخواهید شد. تقسیم بندی پروژه به بلوک های کارآمد اگر پروژه ای آنقدر بزرگ باشدکه برنامه نویس مجبور باشد بیش از حد خود تلاش کند ، به احتمال زیاد کارها بین برنامه نویسان تقسیم می شود.، بنابر این مشتری به نتیجه بهتری دست پیدا می کند. انتخاب تیم ، پروژه اعضای تیم برنامه نویسی را از بین افرادی که دانش ، آموزش و مهارت کافی برای انجام کار در هر بخش را دارند انتخاب کنید. در حال حاضر ، افرادی را در اختیار دارید که از مهارت های لازم در این زمینه برخوردارند و برای کار روی پروژه جدید آمادگی دارند.