-1- مقدمه:
اطلاعات گوهر قرنی است که در آن زندگی می کنیم. از دیرباز اطلاعات نقش مهمی در زندگی بشری ایفا می نموده است. طوری که انسانهای نخستین دانستههای خود را بر دیواره غارها ترسیم می نمودند. کتیبههای سنگی که در اکتشافات باستان شناسان یافت می شوند و بسیاری از شیوههایی که گذشتگان در جمع آوری و نگهداری دانستههایشان به کار می برند، گواه بر اهمیت این موضوع دارد. اکنون که ما به این اطلاعات بازمانده از پیشینیان مراجعه می کنیم، مطالب بسیاری پیرامون زندگی پیشینیان فرا می گیریم.
با توجه به نقش اطلاعات در گذشته و حال آنچه در قرن کنونی حائز اهمیت است حجم اطلاعات نگهداری شده و سرعت انتقال میباشد. در عصر الکترونیک بسیاری از فعالیتهای انسان زیر سلطه کامپیوترها و ارتباطات از راه دور قرار میگیرد. آثار تکنولوژی کامپیوتری هم اکنون در زندگی جوامع بشر مشهود است. بهره گیری از کامپیوتر و ارتباطات از راه دور، سرانجام ارتباط الکترونیکی را جایگزین بهره برداری از چاپ بر کاغذ میکند. در فرآیندهای اطلاعاتی نقش کتابخانه فراهم آوری و سازماندهی و نظارت بر منابع و تدارک انواع خدمات بر اساس مآخذ است. در واقع کتابخانه میانجی دنیای اطلاعات و جامعه است. به دلیل پیشرفت روز افزون علم و تکنولوژی و منسوخ شدن روشهای قدیمی و حجم کاری بالا، میتوانیم سیستم کتابخانه را از یک سیستم دستی و وقت گیر به یک سیستم کامپیوتری با سرعت بالا تبدیل کنیم. این کار موجب افزایش سرعت و راحتی کار در ارائه خدمات به افراد میگردد. موضوعهای مهم دراین جا سرعت و سادگی و کارآیی بالاست.
2-1- اهداف:
پیشرفت و توسعه سریع تکنولوژی ارتباطات و به ویژه علوم رایانه، بشر را به اجتناب از فعالیتهای اداری و روشهای قدیمی و به استفاده از روشهای نوین در انجام هر یک از آن فعالیتها مصمم می کند. از مزایای روشهای نوین، سرعت در تسهیل در انجام فعالیتها و نیز قابلیت اطمینان بالای آنها میباشد. هدف اصلی، ایجاد سیستمهایی کارا، قدرتمند و سرویس دهنده برای کاربران آن میباشد. صرفه جویی در هزینه، نیروی انسانی و زمان از جمله اهداف این سیستمهای رایانه ای مکانیزه میباشد. در پایان نامه حاضر، با مدد گرفتن از این روشهای جدید و استفاده از زبان برنامه نویسی Visual basic6 چنین عملی صورت گرفته است.
1-3-معرفی سیستم عامل مورد استفاده:
برای طراحی این سیستم کتابخانه، از سیستم عامل Microsoft windows 2000, xp استفاده شده است.
1-4- معرفی نرم افزار بانک اطلاعاتی:
بانک اطلاعاتی استفاده شده در این سیستم در Access 2000 طراحی شده است و بانک اطلاعاتی ما شامل 13 جدول میباشد.
1-5- معرفی زبان برنامه نویسی مورد استفاده:
زبان برنامه نویسی مورد استفاده Visual bascic6 (ویژوال بیسیک6) میباشد و از روش ado بهره جسته ایم. با این روش می توانیم مدیریت کاملی بر بانک اطلاعاتی داشته باشیم. این زبان بسیار ساده بوده و از واژهها و عبارات متداول انگلیسی، در بیشتر قسمتهای خود بهره گرفته است.
نکته: برای استفاده از روش ado در Vb باید کنترل Microsoft active data control 6.0 را به جعبه ابزار Vb اضافه کنیم. اولین قدم در عملیاتی کردن یک کنترل ado تعیین منبع داده آن است، برای تعیین منبع داده ado دو راه وجود دارد:
1- ست کردن خاصیت Connection string
2- استفاده از کد نویسی برای تعیین منبع داده
-1- تعریف کلی از کتابخانه دستی:
سیستم کتابخانه (دستی) شامل: 1- عضویت افراد در کتابخانه 2- استفاده از امکانات که شامل امانت دادن کتاب، امانت دادن پایان نامه است، در ضمن تمام کتابها و پایان نامههای امانت رفته به همراه کد ثبت کتاب و کد عضویت در دفتر امانت ثبت میشود. 3- ارایه مجلات روز، یکی دیگر از امکانات میباشد که قابل استفاده فقط در سالن میباشد و عمل ثبت در دفتری به نام (فقط در سالن) ثبت میشود. 4- امکان بعدی رزور کتابهای امانت رفته که در پوشههای مخصوص خود نوشته میشود. 5- امکان بعدی درخواست خرید کتابهایی که در کتابخانه موجود نیست. 6- پرداخت جریمه در صورتی که دیر کرد داشته باشد. 7- در ضمن در تمام کتابخانهها کتابهای مرجعی وجود دارد که قابل استفاده فقط در سالن کتابخانه میباشد که آنها نیز در دفتر (فقط در سالن) ثبت میشود.
2-2- تحلیل سیستم مکانیزه:
برای سیستم مکانیزه ای که می خواهیم طراحی کنیم از Visual basic6, Access2000 استفاده می کنیم.
این سیستم شامل امکانات زیر میباشد:
1) امانت دادن کتاب و پایان نامه
2) ارائه مجلات روز و کتابهای مرجع در سالن
3) امکان جستجو روی تمام موجودیتها
4) وارد کردن اطلاعات جدید در مورد اعضا، ناشران و موضوعات
5) امکان گزارش گیری از متاخرین امانت کتاب و پایان نامه و جریمههای دریافتی
6) استفاده از یک سری وسایل جانبی (Excel, Word, …)
2-3- طراحی بانک اطلاعاتی:
قبل از هر گونه تصمیم گیری پیرامون نوشتن برنامه درAccess ابتدا باید سیستم مورد نظر را بررسی و تحلیل کنیم. در یک تعریف ساده از بانک اطلاعاتی باید بگوییم که بانک اطلاعاتی محیطی است که اطلاعات را در خود نگهداری می کند تا بتواند اعمالی نظیر اضافه نمودن، درج، بازیابی، حذف و پردازش را بر روی اطلاعات انجام دهد. مثل بانک اطلاعاتی db1 که در این سیستم در Access 2000 طراحی شده است. گویی یک بانک اطلاعاتی شامل قفسهها و فایل الکترونیکی میباشد که جایگزین پوشهها و قفسههای بایگانی شده است.
2-4-مزایای بانک اطلاعاتی:
یک بانک اطلاعاتی شامل مزایای زیر میباشد:
1) کاهش هزینهها 2) اجتناب از ناسازگاری در دادهها 3) اشتراک در دادهها 4) امکان استاندارد سازی (این استاندارد سازی بانکها را به ابزاری مناسب برای مبادله دادهها تبدیل میکند) 5) امکان ایجاد امنیت و محرمانگی در دادهها
2-5- داده (DATA):
آنچه در محیط بانک اطلاعاتی ذخیره می گردد و نمایشی از واقعیات، دانستهها، کاراکترها، و کمیتها که میتواند به صورت خام یا پردازش شده توسط انسان یا ماشین در محیط نگهداری شود، داده میباشد. دادهها که به تنهایی دارای معانی و مفاهیم و نتایج خاصی نمیباشند، میتوانند نمایشی از کاراکترها، اعداد، ارقام و ... را شامل شوند.
2-6- اطلاع (Information):
محصولی از داده است که توسط انسان به واسطه معانی که به داده منتسب شده و هم چنین قراردادهای معینی در به نمایش درآوردن دادهها جهت بیان مفاهیم به کار میرود.
اطلاع بر خلاف داده دارای قدرت برقراری ارتباط میباشد چرا که دارای مفاهیم است و در ذهن به خوبی نقش میبندد. و در محیط بانک اطلاعاتی آنچه برای یک کاربر شناخته شده است اطلاع میباشد نه داده.
2-7- موجودیت (Entity):
اشیا، موجودات، پدیدهها و هر آنچه را که اطلاعی بتوان از آن جمع آوری و ثبت کرد، میتواند یک موجودیت باشد. به عنوان مثال خود ما دارای یک سری مشخصات هستیم پس میتوانیم به عنوان یک موجودیت ظاهر شویم، چرا که این مجموعه خصوصیات و مشخصات ما را تعریف و از دیگر موجودات و اشیا متمایز میکند. مثلاً در این سیستم موجودیتهای ما شامل: کتاب، پایان نامه، اعضا کارکنان، امانت کتاب، امانت پایان نامه، رزرو کتاب، درخواست خرید کتاب، و جریمه میباشد.
2-8- صفت خاصه:
هر موجودیت دارای مجموعه ای از صفات خاصه میباشد، این صفات خاصه، خصوصیات و ویژگیهای تفکیک کننده یک موجودیت از موجودیت دیگر میباشد. مثلاً در مورد کتاب، صفات خاصه آن عبارتند از: کد کتاب، نام کتاب، کد موضوع، کد ناشر، تاریخ ثبت، مکان استفاده میباشد و یا خدمات خاصه جدول کارکنان شامل کد کارمند، نام، شهرت، شماره پرسنلی میباشد.
2-9-روابط موجود بین موجودیتها:
در هر بانک یا سیستم موجود که قسمت بررسی قرار می گیرد قطعاً موجودیتهایی وجود دارد و این موجودیتها نیز به نحوی با هم در ارتباط هستند چرا که اگر جز این بود در مجموعه جای نمی گرفتند. این ارتباطها خود بیان گر بخشی از خصوصیات موجودیتهای مرتبط میباشد. روابط بین موجودیتها می تواند چندین نوع باشد. به طور مثال در یک انبار یک قطعه خود میتواند از قطعاتی دیگر تشکیل شده باشد. انواع روابط بین موجودیتها عبارتند از:
1) رابطه 1Ý1 2) رابطه nÝ1 3) رابطه 1Ýn 4)رابطه mÝn
در این سیستم به طور مثال بین جداول honesty book, book یک رابطه، یک به چند وجود دارد یعنی یک کتاب چند بار امانت داده میشود. ولی در هر بار امانت، یک کتاب امانت داده میشود و یا بین دو جدول object, book یک رابطه چند به یک وجود دارد یعنی یک کتاب یک موضوع دارد ولی یک موضوع را چند کتاب میتواند داشته باشند.
2-10- میدان (Domain):
به مجموعه مقادیر که به هر صفت خاصه دارای دامنه یا مقداری است و در تمام مدت زمان که صفت خاصه وجود دارد نمیتواند مقداری جز، مقداری میدان تعریف شده به آن نسبت داد. مثال: میدان فیلد موضوع در جدول objected است.
2-11- عنوان:
یک مجموعه ثابت از صفات خاصه میباشد به گونه ای که هر صفت خاصه متناظر با میدانش باشد. به این معنی که به ازای هر Ai از صفت خاصه Di میدان متناظر با آن صفت باشد مثل جدول Librariens:
Librarians (Code, Fname, L name, Charge, No)
2-12- بدنه:
شامل مجموعه ای از تاپلها (Tuple) میباشد. اما تاپل، خود مجموعه ای از مقدارهای Vi است و این Vi مقدار صفت خاصه Ai و از میدان Di گرفته شده است. از دید کاربر در بانک رابطه ای این ساختار داده ای، مجموعه ای از عنوان، بدنه، تاپلها، صفات خاصه و میدان جدول خوانده میشود.
تاپل:
ردیف
نام
شهرت
سال تولد
1
2
2-13-افرونگی جداول:
یک بانک اطلاعاتی مجموعه ای از دادههای ثبت شده پیرامون موجودیتهای مربوط و واقع در آن بانک اطلاعاتی است در بانکها در پی این هستیم که دادههایی با حداقل افزونگی و تحت کنترل و قابل اشتراک و همزمان بین یک یا چندین کاربر و ... را داشته باشیم. همه این امکانات تنها با یک مدیریت مناسب امکان پذیر میباشد، که این مدیریتها را بخش مدیریت هر بانک اطلاعاتی (DBMS) پاسخگو میباشد. این مدیر در بطن خود سه سطح یا دید دارد که شامل: 1) سطح بیرونی 2) دید درونی 3) دید ادراکی میباشد. هر بانک از یک ساختار داده ای باید بهره جوید. ساختارهایی از قبیل ساختار رابطه ای، سلسله مراتبی، شبکه ای و ... که ما دراین جا از ساختار رابطه ای که یکی از رایج ترین ساختارها میباشد استفاده می کنیم. در این ساختار موجودیت به صورت جدول نمایش داده میشود و رابطه بین جداول نیز خود در قالب یک جدول مطرح میگردد.
2-14- خواص رابطه:
رابطه دارای خصوصیاتی نیز میباشد از جمله عدم تکرار تاپل در رابطه، چرا که رابطه طبق تعریف یک مجموعه است و مجموعهها عضو تکراری نمی پذیرند. تاپلها هم در رابطه نظم ندارند. صفات خاصه نیز نظم ندارند، خصوصیت دیگر این که مقادیر صفت خاصه تجربه ناپذیرند. به عنوان مثال در جدول بالا صفت خاصه تاریخ تجربه پذیر است چرا که تاریخ میتواند به سال، ماه و روز تجزیه گردد. به طوری که هر یک از آنها میتواند به عنوان یک صفت خاصه قرار گیرد و برای آن میدان تعریف گردد هر رابطه ای که دارای چنین خصوصیاتی باشد یک رابطه نرمال شده (Nor Malized) است. هر رابطه ای که دارای خصوصیات عدم تکرار تاپل در رابطه، عدم نظم تاپلها در رابطه، عدم نظم صفات خاصه در رابطه، و عدم تجزیه پذیری صفت خاصه باشد. یک رابطه نرمال شده خواهد بود. در نرمال سازی باید از تکرار دادهها یا همان افزونگی جلوگیری به عمل آورد که دراین حالت بانک در بهینه ترین حالت ممکن قرار می گیرد.
2-15-کلید منتخب (Candidate key) :
به مجموعه ای از صفات خاصه گویند که دارای دو خصیصه است اول منحصر به فرد بودن یا یکتایی مقدار تاپلها در هر لحظه ازحیات رابطه و دیگری حداقل بودن اجزا.
2-16-کلید اصلی (Primary key):
کلیدی است از بین کلیدهایی که توسط طراح، با توجه به اهمیت آن نسبت به سایر کلیدهای کاندید و هم چنین کوتاهتر بودن طول آن از نظر رشته بر حسب بایت، انتخاب میشود.
مثال: در جدول Member کلید اصلی، کد عضو می باشد.
2-17-کلید فرعی (Alternate key):
هر کلید کاندیدی به غیر از کلید اصلی کلید فرعی خواهد بود مثال: شماره شناسنامه در جدول Member
2-18-کلید خارجی (Foreign key):
صفت خاصه که در رابطه ای کلید اصلی باشد و همان صفت با تکرار در رابطه ای دیگر، مرتبط با آن، در حکم کلید خارجی خواهد بود.
مثال: کد ناشر در جدول Book یک کلید خارجی است در حالی که در جدول Objectid یک کلید اصلی است.
مراجع:
1)آموزش ویژوال بیسیک (زارع پور)
2) آموزش ویژوال بیسیک (جعفر نژاد قمی)
3) مفاهیم پایگاه داده (روحانی زانکوهی)
4) Visual basic گریگ پری
5) برنامه نویسی پایگاه داده با VB اسمیت اموندس
www.ostadonline.com
www.ganjafzar.com
www.amundsen.com/book