بخشی از مقاله
مقدمه
سیستم مدیریت پایگاه دادهها، مجموعهای پیچیده از برنامههای نرمافزاری است كه ذخیره سازی و بازیابی دادههای سازمان از قبیل فیلدها، ركوردها و فایلها را در پایگاه دادهها، كنترل میكند. این سیستم، كنترل امنیت و صحت پایگاه دادهها را نیز بر عهده دارد. سیستم مدیریت پایگاه دادهها، درخواستهای داده را از برنامه میپذیرد و به سیستم عامل دستور میدهد تا دادهها ی مناسب
را انتقال دهد. هنگامی كه چنین سیستمی مورد استفاده قرار میگیرد، اگر نیازمندی ای اطلاعاتی سازمانی تغییر یابد، سیستمهای اطلاعاتی نیز آسانتر تغییر خواهند یافت. سیستم مذكور از صحت پایگاه دادهها پشتیبانی میكند. بدین ترتیب كه اجازه نمیدهد بیش از يك كاربر در هر لحظه، يك ركورد را به روز رسانی كند. این سیستم ركوردهای تكراری را در خارج پایگاه دادهها نگاه میدارد. این سیستم روشی برای ورود و به روز رسانی تعاملی پایگاه دادهها فراهم میآورد.طراحی پایگا
ه دادهها، فرایند تصمیم گیری درباره نحوه سازماندهی این دادهها در انواع ركوردها و برقراری ارتباط بین ركوردهاست.سیستم مدیریت پایگاه دادهها میتواند ساختار دادهها و ارتباط آنها را در سازمان به طور اثر بخش نشان دهد.
امروزه استفاده از رایانه و نرم افزارهای کاربردی ، یکی از ضروریات زندگی بشر بوده و حذف آن از زندگی تا حدود زیادی غیر قابل تصور می باشد .در این میان برنامه نویسی و تهیه نرم افزار های کاربردی ، از اهمیت و جایگاه ویژه ای برخوردار بوده و رفته رفته ، باید برنامه ها و نرم افزارهای کابردی قوی تر،با رابط کاربری بهتر و تولید آسان و سریعتر، تهیه کرد. نرم افزارهایی که توسط زبان های برنامه سازی تحت سیستم عامل داس تهیه می گردید، تا حدود زیادی شامل این سه مقوله نمی شدند و خود سیستم عامل داس ،از لحاظ رابط کاربری ضعیف بوده و مناسب نبود. با بوجود آمدن سیستم عامل ویندوز، زبان های برنامه سازی تحت این سیستم نیز ایجاد شد که قادرند نرم افزارهایی با سرعت بالاتر و رابط گرافیکی بهتر تولید کنند. از جمله این زبانهای برنامه سازی می توان به زبان برنامه نویسی VISUAL BASIC اشاره کرد .
1-1) معرفی بانک اطلاعاتی
در بین سالهای 1992 و1993 شرکت مایکروسافت سه محیط جدید پایگاه داده ها را تحت ویندوز عرضه کرد که شامل فاکسپرو برای ویندوز و ویژوال بیسیک 3 ، و اکسس1 بود.این شرکت اعلام کرد که اکسس پایگاه داده مورد استفاده هر فرد میباشد. و در مدت 95 روز ، هفتصدوپنجاه هزار نسخه به فروش رفت. فاکسپرو برای ویندوز با هدف توسعه کار پایگاه داده های شرکت بین المللی بورلند برای ویندوز به وجود آمد هم اکسس و هم فاکسپرو در بازار از پاراداکس محصول شرکت بورلند پیشی گرفتند که این برنامه مدتی پس از اکسس1، به بازار عرضه شد. تا سال 1996 شرکت مایکروسافت بیش از 4 میلیون نسخه از اکسس، ویرایش های 1 و 1.1 و2 را فرو
خت و تعداد استفاده کنندگان ویژوال بیسیک ویرایشهای یک،دو، سه را تا 2 میلیون نفر بالابرد.
1-2) بانک اطلاعاتی چیست ؟
از بانک اطلاعاتی تعاریف گوناگونی شده است که تعریف زیراز همه جامعتر به نظر می رسد : بانک اطلاعاتی مجموعه ای سازمان یافته از اطلاعات و داده های مرتبط به هم است. داده ها عبارتند از : حقایق و ارقام یک موضوع خاص و اطلاعات عبارتنداز : نتایجی که از ترکیب داده ها حاصل می گردند. موسسات و سازمانها معمولا به دو صورت سیستم های اطلاعاتی خود را تشکیل داده از آنها استفاده می کنند.
1-2-1) استفاده از سیستمهای اطلاعاتی ساده
در این روش ،داده ها در فایل های جدا گانه قرار می گیرند وبرای استفاده از داد ه های موجود در آن فایل ها ،سیستمهای جداگانه ای طرا حی می شوند. به این نوع سیستمهای اطلا عاتی سیستم پردازش فایل ها می گویند.
1-2-2) استفاده از بانکهای اطلاعاتی
در این روش داد های موجود، به صورت مجتمع یا بانک مورد استفاده قرار می گیرند. در چنین سیستمی کاربر می تواند بدون سر درگمی و یا صرف وقت اندکی،اطلاعات مورد نیاز خود را از داده های موجود مجتمع اخذ کند.امروزه اکثر موسسات و سازمانها سعی می کنند از این سیستم
اطلاعاتی استفاده کنند. برای پی بردن به تفاوت دو روش ذکر شده ، موسسه ای را در نظر بگیرید که داده های مربوط به حقوق کارمندان ، بیمه ،تنبیه و تشویق را در چهار فایل جدا گانه قرار داده برای اخذ خرو جیهای مورد نیاز ، سیستم های جدا گانه ای برای آنها نوشته است شکل(2-1).
1-2-3) مزایای استفاده از بانک اطلاعاتی
با یک نگاه ساده به شکل(1-1)مشخص می شود که داده های زیادی از قبیل نام کارمندان ،شمار کارمندی،تاریخ استخدام در فایلهای مختلف مشترک می باشند.این امر موجب استف
اده بیهوده از حافظه می گردد. اگر در وضیعت کارمندان موسسه تغییراتی ایجاد شود،این تغییرات باید در تمام فایها اعمال شود،اگر این تغییرات در یک یا چند فایل اعمال نشود،منجر به اخذ گزارشهای متناقضی می گردد که در این صورت به گزارش های حاصل از سیستم اطمینانی نیست.
شکل(1-1) سیستم پردازش فایل
1-2-4) معایب استفاده از سیستم بانک اطلاعاتی
بانک اطلاعاتی با همه مزایایش معایبی نیز دارد که این معایب در مقایل مزایای بانک اطلاعاتی ناچیز می باشد.از جمله:
1. چون طراحی بانکهای اطلاعاتی ساده نیست جهت ایجاد آن به متخصصان ماهری نیاز است.
2. به دلیل متمرکز بودن سیستم اطلاعاتی امکان آسیب پذیری سیستم زیاد است . یعنی اگر یک قسمت از سیستم از کار بیفتد،ممکن است در کار بقیه قسمتها خلل ایجاد شود.
1-3) بانک اطلاعاتی و ویژوال بیسیک
در ویژوال بیسیک می توان برنامه هایی نوشت که بانک اطلاتی را ایجاد و ویرایش کنند سه نوع با نک اطلاعاتی در ویژوال بیسیک قابل استفاده اند.
1. بانکهای اطلاعاتی اکسس . این نوع بانکهای اطلاعاتی را می توان از طریق اکسس ما یکروسافت یا ویژوال بیسیک ایجاد ومدیریت نمود.
2. بانکهای اطلاعا تی خارجی . این نوع بانکهای اطلاعاتی شامل بانکهای اطلاعاتی پارادوکس ، dBase III، dBase IV و FAXPRO اس
ت.این نوع بانکهای اطلاعاتی را می توانید در ویژوال بیسیک ایجاد ومدیریت کنید
3. بانکهای اطلاعاتی خارجی .ODBC پیکربندی این نوع بانکهای اطلاعاتی،مشتری/کارگزار است وشامل اوراکل وServer SQL است.
1-4) ساختار بانک اطلاعاتی
رکورد: به اطلاعات به هر فرد ،شیء یا هر چیز دیگری که به بانک اطلاعاتی وارد شود،رکورد گویند.به عنوان مثال اگر یک بانک اطلاعاتی از دانشجویان را در نظر بگیریم،به کل اطلا عات هر دانشجو که در فایل ذخیره می شود یک رکورد گفته می شود. به همین دلیل،می گویند که بانک اطلاعاتی مجموعه ای از رکورد هاست.
فیلد: به هر یک از اجزای رکورد ،فیلد گفته می شود . به عنوان مثال،در بانک اطلاعاتی دانشجویان نام دانشجو یک فیلد است وشماره دانشجویی فیلد دیگری است.
نام فیلد: هر فیلد دارای نامی است که با استفاده از آن مراجعه می شود نام فیلد طوری انتخاب می شود که بیانگر محتویات آن فیلد باشد. مثلا بهتر است نام فیلد شماره دانشجویی با STNO یا ID مشخص گردد.نام فیلد با ترکیبی از حروف الفبا ،ارقام و خط ربط ساخته می شود.
نوع فیلد: هر فیلد دارای نوعی است . مثلا نام دانشجو از نوع متن(Text )،شماره دانشجویی از نوع عدد صحیح ،معدل دانشجو از نوع عدد اعشاری و تاریخ قبولی دانشجو از نوع تاریخ است انواعی که فیلدها در بانک اطلاعاتی اکسس می توانند داشته باشند در شکل(1-1) آمده است
اندازه فیلد: اندازه فیلد مشخص می کند که فیلد چند بایت از فضای حافظه را بایت اشغال کند.در مورد فیلدهای کاراکتری حداکثر تعداد کاراکترها ودر مورد فیلد های عددی ، میزان حافظه بر حسب بایت مشخص می شود.
1-5) جدول در بانک اطلاعاتی
اطلاعات موجود در بانک اطلاعاتی به صورت جدول ذخیره می شوند و هر جدول دارای تعدادی سطر و ستون است. نمونه ای از جدول را در شکل(1-4) می بینید . در این جدول ، می خواهیم اطلاعات دانشجویان را وارد کنیم.بانک اطلاعاتی ممکن است شامل یک یا چند جدول باشد.
نوع فیلد توضیح
Text برای فیلدهایی که محتویات آنها متنی است.مثل نام دانشجو،به کارمی رود .چون کار برد آن زیاداست.نوعی انتخابی پیش فرض است در صورت انتخاب این نوع ،حداکثر طول آن نیز باید مشخص گردد.
Numeric برای فیلدهایی که نوع آنها عددی است به کار می رود وبه چند دسته تقسیم می شود که در جدول(2-2) مشاهده می شوند .
Memo برای فیلدهایی به کار می رود که به عنوان توضیحات مورد استفاده قرار می گیرند. فیلدهایی که حاوی مقدار زیادی از متن باشند از این نوع انتخاب خواهند شد.
Boolean برای فیلدهایی که دارای ارزش منطقی درستی یا نا درستی اند به کار می رود.
Currency برای فیلدهایی از نوع پولی به کار می رود و دارای 4 رقم اعشار است جدول(2-2).
Date/Time برای فیلدهایی از نوع زمان و تاریخ مثل سا عت ورود کارمند و تاریخ استخدام کارمند به کار می رود.
جدول(1-1) انواع فیلدها در بانک اطلاعاتی اکسس
نوع داده عددی ارقام اعشار حافظه مورد نیاز (بایت) بازه قابل قبو
ل
Integer - 2 32768- تا 32767
Long - 4 2147483648- تا 2147483648
Byte - 1 0 تا 255
Single 7 4 38E*4/3- تا E38*4/3
Double 15 8 308E10*797/1- تا 308E10*797/1
Currency 4 4 5808/922337203685477- تا 5808/922337203685477
جدول(1-2) انواع فیلدهای عددی در بانک اطلاعاتی اکسس
شکل(1-2) نمونه ای از جدول اطلاعاتی در بانک اطلاعاتی
1-6) سیستم مدیریت پایگاه دادهها
سیستم مدیریت پایگاه دادهها (DBMS )، يك یا مجموعهای از چند برنامه كامپیوتری است كه برای مدیریت پایگاه دادهها، مجموعه عظیمی از دادههای ساخت یافته و عملیات اجرایی بر روی دادههای درخواستی كاربران، طراحی شده است. سیستمهای حسابداری، منابع انسانی و پشتیبان مشترك، نمونههایی از كاربرد سیستم مدیریت پایگاه دادهها هستند. این سیستمها كه پیشتر فقط در شركتهای بزرگ مطرح بودند، اخیرا بخش مهمی در شركت محسوب میشوند. تفاوت سیستمهای مدیریت پایگاه دادهها با برنامههای پایگاه دادهها در این است كه سیستمهای مذكور به عنوان موتور سیستم چندكاربره طراحی شدهاند. این سیستمها برای ایفای چنین نقشی، در كرنل مالتی تسكينگ خصوصی با پشتیبان شبكهای از پیش ساخته شده، قرار گرفتهاند. يك برنامه پایگاه داده نمونه، این گونهها را در درون خود ندارد، اما شاید بتواند با كمك سیستم عامل از عملكرد چنین گونههایی پشتیبانی كند.
1-7) پایگاه دادههای پیمایشی
رشد كاربری كامپیوتر، پیدایش سیستمهای پایگاه دادههای همه منظوره را موجب گردید. و در اواسط 1960 چنین سیستمهایی در بخش تجاری به كار گرفته شد. چارلزبچ من، نویسنده يكی از چنین محصولاتی با نام IDS، گروه Database Task Group را بنیان نهاد كه این گروه مسوول ایجاد و استاندارد سازی COBOL شد. آنها در سال 1971 استاندارد خود را عرضه نمودند. این استاندارد Codasyle approach نام داشت. این شیوه مبتنی بر پیمایش دستی مجموعه دادهها بود. هنگامی كه پایگاه دادهها برای اولین بار برنامه را باز میكرد، به اولین ركورد در پایگاه دادهها و به همین
ترتیب نیز به سایر بخشهای داده نیز اشاره میشد. برنامه نویس برای دسترسی به يك ركورد خاص مجبور بود تا این اشارهگرها رابه ترتیب دنبال كند تا به ركورد موردنظر برسد. در query های ساده مانند " یافتن تمام افرادی كه در سوئد زندگی میكنند " باید برای جستجو در كل مجموعه دادهها برنامه نویسی میشد و دستوری به نام find وجود نداشت. شركت IBM سیستم مدیریت پایگاه دادههایی به نام IMS داشت. این سیستم از نظر مفهوم مشابه codasyle بود، اما برخلاف آن كه از مدل شبكهای استفاده مینمود، IMS مدل سلسله مراتبی را به كار میبرد.
1-8) پایگاه دادههای رابطهای
ادگار كاد كه در شركت آیبیام كار میكرد در سال 1970 مقالاتی در زمینه شیوه جدیدی برای ساخت پایگاه دادهها نوشت. يكی از مقالات وی كه Relational Model of Data for Shared Data Bank نام داشت، به بررسی سیستم جدیدی برای ذخیره سازی و كار با پایگاه دادههای بزرگ پرداخته بود. در این شیوه به جای اينكه ركورد به صورت ركوردهای free-form همانگونه كه در روش codasyle آمده بود، ذخیره شوند، از جدولی با ركوردهایی با طول ثابت استفاده میشد.چنین سیستمی برای ذخیره سازی پایگاه دادههای پراكنده و در جاييكه بعضی از دادههای ركورد خالی هستند، كارآیی ندارد. مدل رابطهای این مشكل را حل كرده است. بدین صورت كه دادهها به يكسری جدول تقسیم میشوند و عناصر اختیاری از جدول اصلی خارج میگردند و در صورت نیاز در جدول قرار میگیرند. چنین سیستمی برای ردیابی اطلاعات كاربران، اسامی و نشانی آنان و غیره به كار میرود. دادهها در روش پیمایشی در يك ركورد جای میگیرند و آیتمهایی كه مورد استفاده قرار نگیرند، در پایگاه دادهها نیز نخواهند بود. دادهها در شیوه رابطهای در جداول جداگانهای، مث
لا جدول اسامی، جدول نشانیها و غیره جای میگیرند. برقراری ارتباط بین اطلاعات نكته مهم در این سیستم است. درمدل رابطهای بعضی از بیتهای اطلاعات به عنوان كليد معرفی میشوند و منحصرا بیانگر ركورد خاصی هستند. هنگامی كه اطلاعات كاربر جمع آوری میشود، میتوان این اطلاعات را كه در جداول اختیاری ذخیره میشوند، با جستجوی كليد مربوطه یافت.
1-9) پایگاه دادههای چند بعدی
پایگاه دادههای رابطهای توانست به سرعت بازار را تسخیر كند، هرچند كارهایی نیز وجود داشت كه این پایگاه دادهها نمیتوانست به خوبی انجام دهد. به ویژه به كارگیری كليدها در چند ركورد مرتبط به هم و در چند پایگاه داده مشترك، كندی سیستم را موجب میشد. برای نمونه برای یافتن نشانی كاربری با نام دیوید، سیستم رابطهای باید نام وی را در جدول كاربر جستجو كند و كليد اصلی (primary key ) را بیابد و سپس در جدول نشانیها، دنبال آن كليد بگردد. اگر چه این وضعیت از نظر كاربر، فقط يك عملیات محسوب، اما به جستجو درجداول نیازمند است كه این كار پیچیده و زمان بر خواهد بود. راه كار این مشكل این است كه پایگاه دادهها اطلاعات صریح درباره
ارتباط بین دادهها را ذخیره نماید. میتوان به جای یافتن نشانی دیوید با جستجو ی كليد در جدول نشانی، اشارهگر به دادهها را ذخیره نمود. در واقع، اگر ركورد اصلی، مالك داده باشد، در همان مكان فیزيكی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت. چنین
سیستمی را پایگاه دادههای چند بعدی مینامند. این سیستم در هنگامی كه از مجموعه دادههای بزرگ استفاده میشود، بسیار سودمند خواهد بود. از آنجاييكه این سیستم برای مجموعه دادههای بزرگ به كار میرود، هیچگاه در بازار به طور مستقیم عمومیت نخواهد یافت.
1-10) پایگاه دادههای شیء
اگر چه سیستمهای چند بعدی نتوانستند بازار را تسخیر نمایند، اما به توسعه سیستمهای شیء منجر شدند. این سیستمها كه مبتنی بر ساختار و مفاهیم سیستمهای چند بعدی هستند، به كاربر امكان میدهند تا اشیاء را به طور مستقیم در پایگاه دادهها ذخیره نماید. بدین ترتیب ساختار برنامه نویسی شیء گرا (object oriented ) را میتوان به طور مستقیم و بدون تبدیل نمودن به سایر فرمتها، در پایگاه دادهها مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالكيت (ownership) در سیستم چند بعدی، رخ میدهد. در برنامه شیء گرا (OO)، يك شیء خاص "مالك " سایر اشیاء در حافظه است، مثلا دیوید مالك نشانی خود میباشد. در صورتی كه مفهوم مالكيت در پایگاه دادههای رابطهای وجود ندارد.
1-11) ویژگیهای سیستم مدیریت پایگاه دادهها
پس از این مقدمه به توصیف سیستم مدیریت پایگاه دادهها میپردازیم. سیستم مدیریت پایگاه دادهها، مجموعهای پیچیده از برنامههای نرمافزاری است كه ذخیره سازی و بازیابی دادههای (فیلدها، ركوردها و فایلها) سازمان را در پایگاه دادهها، كنترل میكند. این سیستم، كنترل امنیت و صحت پایگاه دادهها را نیز بر عهده دارد. سیستم مدیریت پایگاه دادهها، درخواستهای داده را از برنامه میپذیرد و به سیستم عامل دستور میدهد تا دادهها ی مناسب را انتقال دهد. هنگامی
كه چنین سیستمی مورد استفاده قرار میگیرد، اگر نیازمندیهای اطلاعاتی سازمانی تغییر یابد، سیستمهای اطلاعاتی نیز آسانتر تغییر خواهند یافت. سیستم مذكور از صحت پایگاه دادهها پشتیبانی میكند. بدین ترتیب كه اجازه نمیدهد بیش از يك كاربر در هر لحظه، يك ركورد را به روز رسانی كند. این سیستم ركوردهای تكراری را در خارج پایگاه دادهها نگاه میدارد. برای مثال، هیچ دو مشترك با يك شماره مشتری، نمیتوانند در پایگاه دادهها وارد شوند. این سیستم روشی برای ورود و به روز رسانی تعاملی پایگاه دادهها فراهم میآورد. يك سیستم اطلاعات كسب و كار از موضوعاتی نظیر (مشتریان، كارمندان، فروشندگان و غیره) و فعالیتهایی چون (سفارشات، پرداختها، خریدها و غیره) تشكيل شده است. طراحی پایگاه دادهها، فرایند تصمیم گیری درباره نحوه سازماندهی این دادهها در انواع ركوردها و برقراری ارتباط بین ركوردهاست.سیستم مدیری
ت پایگاه دادهها میتواند ساختار دادهها و ارتباط آنها را در سازمان به طور اثر بخش نشان دهد.
سه نوع مدل متداول سازمانی عبارتند از: سلسله مراتبی، شبكهای و رابطهای. يك سیستم مدیریت پایگاه دادهها ممكن است يك، دو یا هر سه روش را فراهم آورد. سرورهای پایگاه دادهها، كامپیوترهایی هستند كه پایگاه دادههای واقعی را نگاه میدارند و فقط سیستم مدیریت پایگاه دادهها و نرمافزار مربوطه را اجرا میكنند. معمولا این سرورها كامپیوترهای چند پردازندهای با آرایههای ديسك RAID برای ذخیره سازی میباشند.
1-12) سیستمهای متداول مدیریت پایگاه دادهها
Closed source :
• IBM (DB2)
• FileMaker, Inc (FileMaker Pro)
• IBM (IMS)
• Informix
• Computer Associates (Ingres)
• Borland (InterBase)
• Micosoft (Microsoft SQL Server)
• Microsoft (Microsoft Access)
• Mimer AB (Mimer SQL)
• Oracle
• Sybase
• NCR Corporation (Teradata)
Open Source :
• Sleepycat software (Berkeley DB )
• IBPhoenix (Firebird)
• My SQL AB (My SQL)
• PostgreSQL
• MaxDB
• SQLite
1-13) تعريف كلي از اكسسAccess
اكسس ابزاري براي توليد بانكهاي اطلاعاتي رابطه اي است. بانكهاي اطلاعاتي امكان گردآوري انواع اطلاعات را براي ذخيره سازي ،جستجو و بازيابي فراهم ميكند.
1-13-1) اجزاء بانك اطلاعاتي اكسس
1. Table
2. Query
3. Form
4. Report
5. Macros
6. Modules
• Table : (جدول ) هر جدول براي نگهداري دادههاي خام بانك اطلاعاتي است.دادهها را شما در جدول وارد ميكنيد.جداول سپس اين دادهها را به شكل سطرها و ستونهايي سازماندهي مي كند.
• Query : هر پرس و جو براي استخراج اطلاعات مورد نظر از يك بانك اطلاعاتي مورد استفاده قرار ميگيردهر پرس و جو ميتواند گروهي از ركوردها را كه شرايط خاص دارا هستند انتخاب كند.پرس و جوها را ميتوان بر اساس جداول يا پرس و جوهاي ديگر آماده نمود. با استفاده از پرسوجوها ميتوان ركوردهاي بانك اطلاعاتي را انتخاب كرد، تغيير داد و يا حذف نمود.
• Form : متداول ترين روش استفاده از فرمها،براي ورود و نمايش دادهها است.
• Report : گزارش ها ميتوانند بر اساس جدول ،پرسوجوها باشند ،قابليت گزارش چاپ دادهها ميباشدگزارشها را ميتوان بر اساس چند جدول و پرسوجو تهيه نمود تا رابطه بين دادهها را نشان داد.
• Macro : ماكروها به خودكار كردن كارهاي تكراري ،بدون نوشتن برنامههاي پيچيده يا فراگيري يك زبان برنامه نويسي ، ياري ميكند، در واقع ماكروها يكسري قابليتهايي هستند كه امكان سريع سازي را فراهم ميسازند.
• Modules : محيط بسيار قوي و با كيفيت براي برنامهنويسي محاسبات و عمليات پيچيده روي سيستم بانك اطلاعاتي.
• Data : هرگونه اطلاعات لازم و كاربردي درباره يك موجوديت را يك داده ميگويند.
• Fild : به هر ستون يك جدول كه در بر گيرنده كليه اطلاعات مربوط به آن ستون ميباشد و بخشي از يك موجوديت را تشکيل مي دهد فيلد گفته ميشود.
• Record : به هر سطر يك جدول كه اطلاعات مربوط به يك موجوديت را نشان ميدهد ، ركورد گويند.
• پايگاه دادهی ارتباطي: پايگاه دادههاي ارتباطي، مجموعهاي از جدولهاي داده است كه يك فيلد مشترك در هر يك از جدولهاي موجود دارد و از طريق آن ميتوان دادهها را بهم ربط داد.به اين مدل از پايگاه دادهها ، پايگاه دادههاي ارتباطي RelationShip ميگويند.
1-14) نمودار گردش داده (DFD )
نمودار گردش داده یا DFD (data flow diagram) را ترسیم کنید ، این نمودار می تواند به ما نشان دهد که داده های خروجی و ورودی هر یک از اجزا چیست ، وضعیت گردش آنها به چه ترتیب است .
در مورد ترسیم این نمودارمی بایستی تمام گردش کاربه دقت رسم شود چرا که به عنوان یک نمودار عملیاتی مورد استفاده قرارمی گیرد .
شکل ( 1 - 3 ) DFD سیستم دفترچه تلفن و یادداشتهای روزانه
1-15) فرآیندها
فرآیندها نشان می دهند که سیستمها چه کاری انجام می دهند. هر فرآیند دارای یک یا چند داده ورودی است و یک یا چند داده خروجی را تولید می کند. فرآیند ها در DFD با دایره مشخص می شوند. هر فرآیند دارای یک نام و شماره منحصر بفرد است که در دایره نشان دهنده فرآیند قرار می گیرد.
1-16) فایلها یا انبار داده
فایل یک انبار داده است که داده ها را ذخیره می کند . فرآیندها می توانند داده ها را وارد انبار داده ها کنند. یا از آنها بازیابی نمایند هر انبار داده در DFD با یک خط پهن نمایش داده می شود و دارای نام منحصر بفرد است.
1-17) نهادهای خارجی
نهادهای خارجی در خارج از سیستم قرار دارند،اما یا داده ها را وارد سیستم می کنند یا از خروجی سیستم استفاده می کنند. طراحان بر روی این نهادها کنترلی نداند.آنها ممکن است مشتریان سازمان یا افراد دیگری باشند که سازمان با آنها تعامل دارد. اگر در حال مدل سازی یک بخس در سازمان باشیم بخش ها ی دیگر به عنوان نهادهای خارجی منظور می شوند. نهادهای خارجی با مربع یا مستطیل نمایش داده می شوند. نهادهای خارجی که داده هایی را وارد سیستم می کنند، منبع نامیده می شوند و نهادهای خارجی که از داده های سیستم استفاده می کنند حفره نامیده می شوند.
1-18) جریان های داده
جریان های داده حرکت داده ها را در سیستم مدل سازی می کنند و یا خطوطی مشخص می شوند که مولفه های سیستم را به وصل می کند. جهت جریان توسط فلش مشخص می شود و نام جریان داده در کنار خط جریان ذکر می شود. جریان های داده در سیستم می تواند در موارد زیر قرار گیرند:
• بین دو فرآیند
• از انبار داده به فرآیند
• از فرآیند به انبار داده
• از منبع به فرآیند
• از فرآیند به حفره
بر روی جریان های بین نهادهای خارجی کنترلی نداریم و در نتیجه نمی توانیم آنها را مدل سازی کنیم. به طور مشابه ، انبار داده ها غیر فعال هستند و جریان داده ای از یک انبار داده به انبار دیگر وجود ندارد. برای انتقال داده ها بین دو انبار داده نیاز به یک فرآیند است.
1-19) توصیف سیستم ها با نمودارهای جریان داده
اکنون سیستمهای را توصیف می کنیم که با استفاده از این نمادها مدل سازی می شود. متداولترین روش شروع کار این است که مدل سازی سیستم را با یک فرآیند شروع کنیم.DFD که این کار را انجام می دهد نمودار بستر را نام دارد. این نمودار تمام نهادهای خارجی را که با سیستم تعامل دارند و جریان های داده بین این نهادهای خارجی و سیستم را نشان می دهد.
1-20) ویژگیهای DFD خوب
DFDها ویژگیهای زیادی دارند که استفاده از آنها می توان تعیین کرد که آیا DFD خود توصیف کامل و بدون ابهام است یا خیر. این ویژگیها عبارتند از:
• عدم وجود ساختارهای فلو چارت
• حفاظت از داده ها
• قواعد نامگذاری خوب
1-20-1) تفاوت های بین فلو چارت ها و نمودارهای جریان داده
احتمالا با فلو چارت های برنامه آشنایی دارید. فلو چارت ها چارگوشهایی هستند که نشان دهنده محاسبات، تصمیم گیریها، تکرارها و حلقه ها هستند. دقت کنید که DFDها فلو چارت های برنامه نیستند و نباید حاوی دستورات کنترلی باشند.
2 – 1 ) طراحی پایگاه داده دفترچه تلفن و یادداشتهای روزانه
برای درست کردن پایگاه داده ابتدا باید به نکات زیر توجه کرد
1- اطلاعات شماره تلفن مانند نام ، نام خانوادگی و تلفن که در این فیلد ها ، فیلد تلفن از نوع کلید است
2- اطلاعات مربوط به یادداشتهای روزانه که شامل فیلد های تاریخ و یادداشت می باشد
بنا به اطلاعات بالا ما نیاز به دو جدول در پایگاه داده هایمون داریم که عبارتند از
1- جدول اطلاعات تلفن
2- جدول یادداشتهای روزانه
2-1-1 ) جدول اطلاعات تلفن
این جدول از فیلدهای نام ، نام خانوادگی و تلفن تشکیل شده
است مانند شکل ( 2 – 1 ) .که تلفن از نوع کلید اصلی می باشد .
کلید اصلی نام فیلد نوع فیلد اندازه فیلد ( بایت ) پیش فرض
* name Text 50
* Family Text 50
Tel Text 50
جدول ( 2 – 1 ) جدول اطلاعات تلفن
2-1-2 ) جدول یادداشتهای روزانه
این جدول از فیلد های تاریخ و یادداشت تشکیل شده است که هیچ یک از فیلد ها کلید نمی باشد زیرا فیلدی که از نوع کلید باشد نمی تواند تکراری باشد و ما در این جدول تاریخ را از نوع کلید قرار ندادیم چون ممکن است در یک روز بیشتر از یک یادداشت داشته باشیم . که اطلاعات این جدول را در شکل ( 2 – 2 ) نمایش داده شده است .
کلید اصلی نام فیلد نوع فیلد اندازه فیلد ( بایت ) پیش فرض
* Date Text 50
* Yadasht Text 50
جدول ( 2 – 2 ) جدول یادداشتهای روزانه
مقدمه
ویژوال بیسیک یکی از زبانهای نسل جدید است که در محیط ویندوز کار میکند و امکانات فوق العاده ای دارد .ویژگی شی گرایی درآن موجب شده است تا در اغلب کاربرد ها به عنوان یک زبان قدرتمند ظاهر شود.
بیسیک زبانی است که دوران تحول زیادی را پشت سر گذاشته است. اولین نسخه از زبان بیسیک طوری بود که برنامه نویسی در آن دشواری خاصی داشت.امروزه با جدیدترین نسخه بیسیک به نام ویژوال بیسیک سر و کار داریم. این زبان در محیط ویندوز قدرت فوق العاده ای دارد. به طوری که از سبک برنامه نویسی شی گرایی پیروی می کند.تولید برنامه ها در این زبان بسیار ساده است، چرا که بخش زیادی از برنامه را کامپایلر زبان تولید می کند.
3-1) سبک های برنامه نویسی
به طور کلی سه سبک برنامه نویسی تاکنون مورد استفاده قرار گرفته اند،سبک سنتی، سبک برنامه نویسی ساخت یافته و سبک برنامه نویسی شیءگرا.
3-1-1) سبک برنامه نویسی سنتی
در سبک برنامه نویسی سنتی،نوشتن برنامه ها ورد یابی اجرای آنها بسیار دشوار بود، زیرا با استفاده از دستور GOTO کنترل اجرای برنامه از هر نقطه ای به نقطه دیگر منتقل می شد.نگهداری این برنامه ها و انجام تغییرات در آنها برای پاسخگویی به وضعیت و نیاز های جدید بسیار دشوار بود.
3-1-2) برنامه نویسی ساخت یا فته
در دهه 1960 میلادی، تولید بسیاری از نرم افزار ها با مشکل مواجه شد. زمان بندی تولید نرم افزار به تاخیر می افتاد،هزینه ها بالا بود و در نتیجه بودجه تولید نرم افزار افزایش می یافت و نرم افزار تولیدی نیز از قابلیت اعتماد بالایی بر خورد دار نبوده است.تولید کنند گان نرم افزار به این نتیجه رسیدند که تولید نرم افزار مشکل تر از آن چیزی است که در مورد آن تصور می شود.تحقیقاتی برای برطرف کردن مشکلات به عمل آمد، منجر به برنامه نویسی ساخت یا فته شد. برنامه نویسی ساخت یا فته، روش منظمی برای نوشتن برنامه هاست و منجر به نوشتن برنامه هایی می شود که خوانایی آنها بالاست،تست و اشکال زدایی آنها راحت تر و اصلاح آنها ساده تر است.
در برنامه نویسی ساخت یافته،برنامه به صورت مجمو عه ای از فعالیت ها تصور می شود که باید بر روی داده ها انجام شوند.دراین روش ، هر کار پیچیده ای، به مجموعه ای ازکارهای کوچکتر تجزیه می شود تا اینکه کار های ایجاد شده قابل درک باشند.به عبارت دیگر،برنامه نویس سعی می کندتوابعی بنویسید که نیازمندیهای سیستم را برآورده کنند.
برنامه نویسی ساخت یا فته،روش موفقی برای حل مسایل پیچیده است، اما مشکلات خاص خودش را دارد . در این روش ، داده ها از فعالیتها (توابعی)که آنها را پردازش می کنند جداست. وقتی حجم داده ها زیاد می شود، نگهداری آنها مشکل می شود. هر چه بیشتر با داده ها کار می کنید، با مشکلات بیشتری مواجه می شوید.
بعضی از زبانهای برنامه سازی که برای برنامه نویسی ساخت یافته طراحی شدند ، عبارتند از: زبان پاسکال ، زبان ادا ((ADA و زبانc . زبان پاسکال،زبان مناسبی برای آموزش برنامه نویسی در دانشگاههاست . زبان ادا برای امور صنعتی، تجاری و نوشتن برنامه های بزرگ بسیار مفید است. زبان c ، به دلیل ویژگیهای خاص خودش، محبوبیت زیادی در دانشگاهها و خارج از دانشگاهها پیدا کرده است. ویژوال بیسیک زبان جدیدی است که با سرعت در حال رشد است.
3-1-3) برنامه نویسی شیءگرا
برنامه نویسی شیءگرا شیوه نوینی است که در آن می توان قطعاتی را ایجاد کرد و در برنامه های مختلف مورد استفاده قرار داد . قابلیت خوانایی برنامه هایی که در این روش نوشته می شوند بالا بوده ، تست ، عیب یابی و اصلاح آنها آسان است . شیء گرایی ،
بر اشیاء تاکید دارد.
تعدادی از زبان هابرای برنامه نویسی شیء گرا طراحی شده اند. زبان اسمالتالک یک زبان برنامه نویسی کاملاشیءگرا است. زبانC++ که تکامل یافته زبان C است، دارای ویژگیهایی است که برنامه نویسی شیءگرادرآن امکان امکان پذیر است. در این زبان، برنامه نویسی ساخت یافته نیز امکان پذیر است. ویژوال بیسیک زبانی کاملا شیءگرا است.
برنامه نویسی شیءگرا داده ها(صفات) ، توابع(رفتارها) را دربسته های به نام اشیاء، بسته بندی می کند . داده ها و توابع هر شیء شدیدا به هم گره خورده اند . اشیا
ء دارای ویژگی پنهان سازی اطلاعات اند. یعنی گرچه اشیاء ممکن است طریقه ارتباط با اشیای دیگر را از طریق رابط بدانند ، ولی اجازه ندارند که از چگونگی پیاده سازی اشیای دیگر آگاه باشند. به عبارت دیگر، جزییات پیاده سازی ، در داخل اشیاء مخفی شده است . برای آشنایی با این مفهوم ، راننده ای را در نظر بگیرید که بدون آشنایی با جزییات عملکرد موتور اتومبیل ، سیستم تخلیه و جابجایی ، می تواند به خوبی رانندگی کند.
3-2) فرمهای برنامه
فرم اساس کار تمام برنامه های ویژوال بیسیک است . طراحی برنامه در فرم انجام می شود و عناصر برنامه در این فرم قرار می یرند. هر وقت ویژوال بیسیک راه اندازی می شود. فرمی در اختیار برنامه نویس قرار می گیرد تا برنامه خود را در آن فرم طراحی کند. فرم همانند پنجره ای در ویندوز است و نمونه ای از آن در شکل (3-1)آمده است.
شکل(3-1) نمونه ای از فرم
3-3) انواع داده ای
یکی از جنبه های مهم هر زبان برنامه سازی که باید مورد بررسی قرار گیرد،انواع داده ای آن است.روزمره با داده هایی مثل میزان خرید روزانه و اسامی افراد سروکار داریم. خرید روزانه را به صورت اعدادی مثل 1500، 5/143و اسامی افراد را با کلماتی مثل محمد ، حسن و سجاد،بیان میکنیم. انواع داده ها در ویژوال بیسیک علارتند از داده های عددی،رشته ای ، تاریخ و بولین.
3-3-1) داده های عددی
در ویژوال بیسیک از 7 نوع داده عددی استفاده می شود که در جدول( 3-1) آمده است. در استفاده از نوع عددی دقت داشته باشید که از نوع مناسبی برای اعداد استفاده کنید.به عنوان مثال،اگر با عدد کوچکی سروکارداریدکه حداکثر تا 255 است از نوع Byte استفاده کنید و چنانچه نوع صحیح پاسخ گویی نیازشماست از نوع اعشاری استفاده نکنید.
نوع میزان حافظه(بایت) بازه قابل قبول
Byte 1 0 تا 255
Integer 2 32768- تا 32767
Long 4 2147483648- تا 2147483647
Single 4 منفی از 38+E402823/3- تا 45-E401298/1-
مثبت از 45-E401298/1 تا 38+E402823/3
Double 8 منفی از -1/79769313486232+E308 تا
324-E94065645841247/4-
مثبت از 324- E94065645841247/4 تا
1/79769313486232+E308
Currency 8 از 5808/ 922337203685477 تا 5807/ 922337203685477
Decimal اگر از اعشار استفاده شود در بازه
9228162514264337593543950335/7+-
و اگر از اعشار استفاده نشود در بازه
79228162514264337593543950335 +/-
جدول(3-1) مربوط به انواع داده های عددی
3-3-2) انواع غیر عددی
در ویژوال بیسیک علاوه بر نوع عددی،از انواع دیگری نیز استفاده می گرددکه در جدول (3-2) آمده اند.
نوع میزان حافظه(بایت) بازه قابل قبول
String(طول ثابت) طول رشته از یک تا 65400 کاراکتر
String (طول متغییر) 10 بایت + طول رشته از 0 تا 2 میلیارد کاراکتر
Date 8 تاریخ قابل قبول
Boolean 2 True یا False
Variant (عددی) 16 به اندازه نوع عددی Double
Variant (رشته ای) 22 + طول مانند رشته طول متغیر
جدول(3-2) مربوط به انواع غیر عددی
نوع رشته ای : رشته دنبا له ای از کاراکترها است، مثل "Mohammad" نوع رشته ای معمولا برای ذخیره سازی اسامی افراد و سایر متنها به کار می رود و به صورت طول متغیر و طول ثابت استفاده می شود.
نوع بولین : این نوع که نوع منطقی نیز نامیده می شود،داده هایی را نشان می دهد که می تواند دو مقدار درستی یا نادرستی را بپذیرند که به ترتیب با Trueو False
نمایش داده می شوند.
نوع تاریخ : تاریخ و زمانرا می توان در ویژوال بیسیک به عنوان یک نوع مورد استفاده قرار داد،برای این منظور باید در دو طرف آنها علامت # قرارگیرد.
نوع Variant : از این نوع معمولا در مواردی استفاده می شود که از یک محل حافظه برای ذخیره چندین نوع استفاده می گردد.یعنی یک محل Variantبرای ذخیره موقت هرنوع داده هابه کارمی رودکه این داده هابعدادرمحل دیگری با نوع مشخص ذخیره می شوند.این نوع ،تمام انواع داده ها به جزء رشته ای با طول ثابت را نگه داری می کند.
3-4) راه اندازی ویژوال بیسیک
برنامه ویژوال بیسیک بر روی سی دی ذخیره شده است که برای استفاده از آن باید آن را در دیسک سخت نصب کنید.در محیط ویندوز،برنامه Setup را از روی سی دی اجرا کنید تا ویژوال بیسیک در منوی Programs ویندوز ظاهر شود .برای اجرای آن بر روی گزینه مربوط کلیک کنید تا صفحه اول ویژوال بیسیک مانند شکل(3-2) ظاهر شود.در این شکل می توانید کارهای مورد نظرتان را شروع کنید سیستم به طور خودکار بر روی Standard.exe قرار دارد که برای ایجاد پروژه های ویژوال بیسیک به کار می رود.برای ادامه کار،کلید Enter را فشار دهید یا دکمه Open را در این شکل کلیک کنید.اکنون شکل (3-3)را خواهید دید که درآن ،پنجره ای به نام Form1 ظاهر شده است این Form را در شکل (3-3) نیز مشاهده کردید.Form محیطی است که در آن می توانید برنامه خود را طراحی کنید یعنی عناصر تشکیل دهنده برنامه در این فرم قرار می گیرد.
در شکل(3-3)پنجره های Project ،Properties وForm Layout قرار دارند.هر یک از این پنجره ها را به طور مختصر توضیح می دهیم.
شکل (3-2) صفحه اول ویژوال بیسیک
شکل(3-3) صفحه ای از ویژوال بیسیک که حاوی فرم است
3- 5) پنجره Project
این پنجره در شکل(4-4) آمده است. این پنجره را Project Explorer نیز می نامند و فایل های پروژه درآن قرار می گیرند. در نوار ابزار این پنجره سه دکمه به نام های View Code،View Object،Toggle Folders قرار دارند. اگر بر روی View Code کلیک کنید پنجره ای ظاهر می شود که می توانید دستورات ویژوال بیسیک را درآن بنویسید.دکمهView Object فرم را در صفه نمایش ظاهر می کند.دکمه های View CodeوView Object زمانی فعال هستند که در پنجره Project،در پوشه Forms گزینه Form(form1)را انتخاب کرده باشید.با هر بار کلیک کردن بر روی دکمه Toggle Folder پوشه فرم در پنجره Project مخفی یا آشکار می شود.یعنی اگر اجزای این پوشه مخفی باشند با کلیک کردن این دکمه آشکار می شوند و اگر آشکار باشند با کلیک کردن این دکمه مخفی می شوند. همانطور که در شکل(4-4)می بینید،نام پروژه جدید Project1 و نام فرم جدیدForm1 انتخاب شده است.
شکل(3-4)پنجره Project
3-6) پنجره Properties
این پنجره خواص مربوط به فرم یا عنصر فرم را نمایش می دهد.شکل(3-5). دقت داشته باشید که هر عنصر از جمله فرم دارای خواص Properties و رویداد(Event)
است.خواص عناصرمی توانند به دو صورت نمایش داده شوند:که یکی به صورت الفبایی(Alphabetic)شکل(3-5) ودیگری به صورت دسته بندی شده بر حسب موضوع (Categorized) شکل (3-6).
شکل(3-5) پنجره خواص براساس الفبا شکل(3-6) پنجره خواص براساس دسته بندی
3-7) پنجره Form Layout
این پنجره مشخص می کند که فرم برنامه در زمان اجرا در کجای صفحه نمایش قرار گیرد شکل(3-7). در پنجره تصویری قرار دارد که همانند صفحه نمایش است.وقتی ماوس را به روی آن منتقل می کنید ، علامت آن به صورت دو فلش دو سر متقاطع در می آید شکل(3-8).
شکل(3-7) پنجره Form Layout شکل(3-8) پنجره Form Layout با نشان گر ماوس
3-8) جعبه ابزار
بخش دیگری از شکل(3-9)جعبه ابزار است که در سمت چپ صفحه نمایش وتحت عنوان General قرار دارد. این جعبه ابزار ،در واقع عناصری هستند که می توانید از آنها برای طراحی برنامه خود استفاده کنید. اسامی این عناصر در شکل(3-9) آمده اند.
شکل(3-9) معرفی عناصر موجود در جعبه ابزار
Pointer : این عنصر می تواند بر روی عناصر موجود در فرم اثر کندوآنها راانتخاب نماید.
Label : غنصر برچسب را به فرم اضافه می کند که برای نمایش منتهی غیر قابل ویرایش مفید است.
Frame :گروهی از عناصر را ایجاد می کند.
Check Box : کادر کنترلی را به فرم اضافه می کند که برای انتخاب گزینه ها به کار می رود.
HscrollBar : نوار جابجایی را افقی را به فرم اضافه می کند.
Timer: عنصری را ایجاد می کند که در فواصل زمانی مختلف وظایفی را انجام می دهد.
DirlistBox : عنصری برای دستیابی به درایو های سیستم.
Shape: عنصری برای رسم دایره ، مستطیل،مربع و بیضی.
Image: عنصری برای نمایش تصویر.
راهنمای استفاده از برنامه
4- 1 ) وارد کردن رمز عبور
برای وارد شدن به سیستم دفترچه تلفن و بالا بردن امنیت در برنامه نیاز به وارد کردن یک کلمه عبور می باشیم که من به طور پیش فرض آنرا davood قرار داده ام که همینطور که در شکل ( 4 – 1 ) مشاهده می کنید صفحه ای برای وارد کردن کلمه عبور ظاهر می شود
.
شکل (4-1) وارد کردن رمز عبور
4 – 2) صفحه اصلی برنامه
همانگونه که در شکل ( 4 – 2 ) مشاهده می کنید این شکل ، صفحه اصلی برنامه می باشد که از منو های زیر تشکیل شده است
1- ثبت دفترچه تلفن
2- ویرایش دفترچه تلفن
3- حذف دفترچه تلفن
4- جستجو در دفترچه تلفن
5- چاپ لیست دفترچه تلفن
6- یاداشتهای روزانه
7- جستجو در یاداشتهای روزانه
8- راهنما
9- خروج
شکل (4–2) صفحه اصلی برنامه
4 – 3 ) ثبت دفترچه تلفن
برای ثبت کردن لیست افراد به همراه شماره تلفن آنها کافی است که از منوی اصلی بر روی کلید ثبت دفترچه تلفن کلیک کنید تا شکل ( 4 – 3 ) ظاهر شود و مطابق شکل برای ثبت کردن لیست افراد کافی است تا فیلد ها را پر کنید و سپس کلید ثبت را بزنید .
شکل (4–3) ثبت در دفترچه تلفن
4 – 4 ) ویرایش دفترچه تلفن
برای ویرایش اطلاعات دفترچه مانند ویرایش کردن اطلاعات شخصی مانند نام و نام خانوادگی و تلفن کافی است از منوی اصلی برنامه گزینه ویرایش دفترچه تلفن را کلیک کنید تا شکل ( 4 – 4 ) ظاهر شود
شکل (4–4) ویرایش دفترچه تلفن
4 – 5 ) حذف از دفترچه تلفن
برای حذف اطلاعات باید بر روی حذف دفترچه تلفن از منوی اصلی کلیک کنید تا شکل ( 4 – 5 ) ظاهر شود و برای حذف بر روی نام مورد نظر دو بار کلیک کرده و سپس کلید حذف را می زنیم و نام مورد نظر پاک می شود .
شکل (4–5) حذف از لیست اطلاعات
4 – 6 ) جستجو در دفترچه تلفن
برای جستجو کردن در اطلاعات می توان از این قسمت استفاده کرد ، که برای اجرای این قسمت کافی است که از منوی اصلی کزینه جستجو در دفترچه تلفن را انتخاب کنیم که همانگونه که در شکل ( 4 – 6 ) مشاهده می کنید از امکانات این قسمت انواع جستجو ها در نام ، نام خانوادگی و تلفن آنها می باشد و در هنگام جستجو اگر اطلاعات را پیدا کرد بر روی آن می ایستد و پیغامی حاوی اینکه یافت شد ظاهر می شود و در غیر این صورت هیچ اتفاقی رخ نمی دهد .