طراحی سیستم کتابخانه

زندگي … تنها نعمت الهي است كه فقط يك بار براي هميشه به ما ارزاني مي‌شود. «تنها يك بار و بدون تكرار «سعي كنيم با دانش و تجربه‌هاي كسب شده زيبا، شاد و خوشبخت زندگي كنيم.
در مسير موفقيت‌هاي معنوي آموخته‌ام، آنهايي كه راه‌هاي رفتن و راه‌هاي نرفتن را به من نشان دادند، توانايي و مهرباني آنها مشعل روشني را در برابرم نگرداشت و به ما اشاره كرد كه در پرتو آن

راهم را دنبال كنم. آنهايي كه به من نشان دادند چگونه زندگي كنم و چگونه زندگي نكنم…. به همة آنها از صميم قلب مي‌گويم: «بركت بر شما و سپاس از شما «چون من از طريق آموخته‌هاي شما چه بد و چه نيك و از راه فداكاري و ايثار شما به موفقيت‌هاي معنوي بزرگ دست يافته‌ام.
و اين ناقابل تقديم به معلمان و روشنفكران راه زندگيم؛ به پدرم و به مادرم، و آنهايي كه هميشه بر ياد دارند: «دانستن، عميق‌ترين نوع عشق است، دانش دربارة خود را به كسي هديه كردن… » و در پايان:
تقديم به استاد گرامي:‌جناب آقاي مهندس مير فردوس كه راهنمايي‌هاي بي‌دريغشان همچون مشعلي روشنگر راهم بود.

فهرست مطالب
عنوان صفحه
فصل اول: معرفی سیستم
۱-۱- مقدمه ۲
۲-۲- اهداف ۳
۱-۳- معرفي سيستم عامل مورد استفاده ۳
۱-۴- معرفي نرم افزار بانك اطلاعاتي ۴
۱-۵- معرفي زبان برنامه‌نويسي مورد استفاده ۴

فصل دوم: بررسی کل سیستم و مفاهیم:
۲-۱-تعریف کلی از سیستم کتابخانه ۶
۲-۲- تحلیل سیستم مکانیزه ۶
۲-۳- طراحی بانک اطلاعاتی ۷
۲-۴-مزایای بانک اطلاعاتی ۷
۲-۵-داده ۸

۲-۶-اطلاع ۸
۲-۷-موجودیت ۹
۲-۸-صفت خاصه ۹
عنوان صفحه
۲-۹-روابط موجود بین موجودیت‌ها ۹
۲-۱۰-میدان ۱۰
۲-۱۱-عنوان ۱۰
۲-۱۲-بدنه ۱۱
۲-۱۳-افرونگی جداول ۱۱
۲-۱۴-خواص رابطه ۱۲
۲-۱۵-کلید منتخب ۱۳
۲-۱۶-کلید اصلی ۱۳
۲-۱۷-کلید فرعی ۱۳
۲-۱۸-کلید خارجی ۱۳
فصل سوم: تحلیل سیستم کتابخانه
۳-۱-اطلاعات اولیه ۱۶
۲-۳-موجودیت‌های اصلی ۱۷
فصل چهارم : ایجاد بانک و ارتباط‌ها
۴-۱-تحلیل موجودیت کتاب ۲۰
۴-۲-تحلیل موجودیت پایان نامه ۲۲
عنوان صفحه
۴-۳-تحلیل موجودیت نشریه ۲۲
۴-۴- تحلیل موجودیت اعضای کتابخانه ۲۳
۴-۵- تحلیل موجودیت کارکنان ۲۵

۴-۶- تحلیل موجودیت امانت کتاب ۲۵
۴-۷- تحلیل موجودیت امانت پایان نامه ۲۵
۴-۸-تحلیل موجودیت رزرو ۲۶
۴-۹-تحلیل موجودیت درخواست کتاب ۲۷
۴-۱۰-تحلیل موجودیت جریمه ۲۸
۴-۱۱- طراحی و ایجاد جداول ۲۸
فصل پنجم: طراحی (UI) User interface
5-1-فرم اولیه ۳۱
۵-۲-ماژول Main 31
5-4-search frm 33
5-5-insifo form 35
5-6-reportfrm 38
عنوان صفحه
۵-۷-service frm 41
5-8-طراحی نمودار‌ها ۴۲
فصل ششم:ضمایم
۶-۱-ضمیمه ۱: نتيجه‌گيري و پيشنهادات ۴۶
۶-۲-ضمیمه ۲: مراجع ۴۸
۶-۳-ضمیمه ۳: کد برنامه ۴۹

فصل اول:
معرفی سیستم

۱-۱- مقدمه:
اطلاعات گوهر قرنی است که در آن زندگی می کنیم. از دیرباز اطلاعات نقش مهمی در زندگی بشری ایفا می نموده است. طوری که انسان‌های نخستین دانسته‌های خود را بر دیواره غارها ترسیم می نمودند. کتیبه‌های سنگی که در اکتشافات باستان شناسان یافت می شوند و بسیاری از شیوه‌هایی که گذشتگان در جمع آوری و نگهداری دانسته‌هایشان به کار می برند، گواه بر اهمیت این موضوع دارد. اکنون که ما به این اطلاعات بازمانده از پیشینیان مراجعه می کنیم، مطالب بسیاری پیرامون زندگی پیشینیان فرا می گیریم.
با توجه به نقش اطلاعات در گذشته و حال آنچه در قرن کنونی حائز اهمیت است حجم اطلاعات نگهداری شده و سرعت انتقال میباشد. در عصر الکترونیک بسیاری از فعالیت‌های انسان زیر سلطه کامپیوتر‌ها و ارتباطات از راه دور قرار میگیرد. آثار تکنولوژی کامپیوتری هم اکنون در زندگی جوامع بشر مشهود است. بهره گیری از کامپیوتر و ارتباطات از راه دور، سرانجام ارتباط الکترونیکی را جایگزین بهره برداری از چاپ بر کاغذ میکند. در فرآیند‌های اطلاعاتی نقش کتابخانه فراهم آوری و سازماندهی و نظارت بر منابع و تدارک انواع خدمات بر اساس مآخذ است. در واقع کتابخانه میانجی دنیای اطلاعات و جامعه است. به دلیل پیشرفت روز افزون علم و تکنولوژی و منسوخ شدن روش‌های قدیمی و حجم کاری بالا، میتوانیم سیستم کتابخانه را از یک سیستم دستی و وقت گیر به یک سیستم کامپیوتری با سرعت بالا تبدیل کنیم. این کار موجب افزایش سرعت و راحتی کار در ارائه خدمات به افراد میگردد. موضوع‌های مهم دراین جا
۲-۱- اهداف:
پیشرفت و توسعه سریع تکنولوژی ارتباطات و به ویژه علوم رایانه، بشر را به اجتناب از فعالیت‌های اداری و روش‌های قدیمی و به استفاده از روش‌های نوین در انجام هر یک از آن فعالیت‌ها مصمم می کند. از مزایای روش‌های نوین، سرعت در تسهیل در انجام فعالیت‌ها و نیز قابلیت اطمینان بالای آنها میباشد. هدف اصلی، ایجاد سیستم‌هایی کارا، قدرتمند و سرویس دهنده برای کاربران آن میباشد. صرفه جویی در هزینه، نیروی انسانی و زمان از جمله اهداف این سیستم‌های رایانه ای مکانیزه میباشد. در پایان نامه حاضر، با مدد گرفتن از این روش‌های جدید و استفاده از زبان برنامه نویسی Visual basic6 چنین عملی صورت گرفته است.
۱-۳-معرفی سیستم عامل مورد استفاده:
برای طراحی این سیستم کتابخانه، از سیستم عامل Microsoft windows 2000, xp استفاده شده است.

۱-۴- معرفی نرم افزار بانک اطلاعاتی:
بانک اطلاعاتی استفاده شده در این سیستم در Access 2000 طراحی شده است و بانک اطلاعاتی ما شامل ۱۳ جدول میباشد.
۱-۵- معرفی زبان برنامه نویسی مورد استفاده:
زبان برنامه نویسی مورد استفاده Visual bascic6 (ویژوال بیسیک۶) میباشد و از روش ado بهره جسته ایم. با این روش می توانیم مدیریت کاملی بر بانک اطلاعاتی داشته باشیم. این زبان بسیار ساده بوده و از واژه‌ها و عبارات متداول انگلیسی، در بیشتر قسمت‌های خود بهره گرفته است.
نکته: برای استفاده از روش ado در Vb باید کنترل Microsoft active data control 6.0 را به جعبه ابزار Vb اضافه کنیم. اولین قدم در عملیاتی کردن یک کنترل ado تعیین منبع داده آن است، برای تعیین منبع داده ado دو راه وجود دارد:
۱- ست کردن خاصیت Connection string
2- استفاده از کد نویسی برای تعیین منبع داده

فصل دوم:
بررسی کل سیستم و مفاهیم

۲-۱- تعریف کلی از کتابخانه دستی:
سیستم کتابخانه (دستی) شامل: ۱- عضویت افراد در کتابخانه ۲- استفاده از امکانات که شامل امانت دادن کتاب، امانت دادن پایان نامه است، در ضمن تمام کتاب‌ها و پایان نامه‌های امانت رفته به همراه كد ثبت كتاب و کد عضویت در دفتر امانت ثبت میشود. ۳- ارایه مجلات روز، یکی دیگر از امکانات میباشد که قابل استفاده فقط در سالن میباشد و عمل ثبت در دفتری به نام (فقط در سالن) ثبت میشود. ۴- امکان بعدی رزور کتابهای امانت رفته که در پوشه‌های مخصوص خود نوشته میشود. ۵- امکان بعدی درخواست خرید کتابهایی که در کتابخانه موجود نیست. ۶- پرداخت جریمه در صورتی که دیر کرد داشته باشد. ۷- در ضمن در تمام کتابخانه‌ها کتاب‌های مرجعی وجود دارد که قابل استفاده فقط در سالن کتابخانه میباشد که آنها نیز در دفتر (فقط در سالن) ثبت میشود.
۲-۲- تحلیل سیستم مکانیزه:
برای سیستم مکانیزه ای که می خواهیم طراحی کنیم از Visual basic6, Access2000 استفاده می کنیم.
این سیستم شامل امکانات زیر میباشد:
۱) امانت دادن کتاب و پایان نامه
۲) ارائه مجلات روز و کتابهای مرجع در سالن
۳) امکان جستجو روی تمام موجودیت‌ها
۴) وارد کردن اطلاعات جدید در مورد اعضا، ناشران و موضوعات
۵) امکان گزارش گیری از متاخرین امانت کتاب و پایان نامه و جریمه‌های دریافتی
۶) استفاده از یک سری وسایل جانبی (Excel, Word, …)
۲-۳- طراحی بانک اطلاعاتی:

قبل از هر گونه تصمیم گیری پیرامون نوشتن برنامه درAccess ابتدا باید سیستم مورد نظر را بررسی و تحلیل کنیم. در یک تعریف ساده از بانک اطلاعاتی باید بگوییم که بانک اطلاعاتی محیطی است که اطلاعات را در خود نگهداری می کند تا بتواند اعمالی نظیر اضافه نمودن، درج، بازیابی، حذف و پردازش را بر روی اطلاعات انجام دهد. مثل بانک اطلاعاتی db1 که در این سیستم در Access 2000 طراحی شده است. گویی یک بانک اطلاعاتی شامل قفسه‌ها و فایل الکترونیکی میباشد که جایگزین پوشه‌ها و قفسه‌های بایگانی شده است.
۲-۴-مزایای بانک اطلاعاتی:
یک بانک اطلاعاتی شامل مزایای زیر میباشد:
۱) کاهش هزینه‌ها ۲) اجتناب از ناسازگاری در داده‌ها ۳) اشتراک در داده‌ها ۴) امکان استاندارد سازی (این استاندارد سازی بانک‌ها را به ابزاری مناسب برای مبادله داده‌ها تبدیل میکند) ۵) امکان ایجاد امنیت و محرمانگی در داده‌ها
۲-۵- داده (DATA):
آنچه در محیط بانک اطلاعاتی ذخیره می گردد و نمایشی از واقعیات، دانسته‌ها، کاراکترها، و کمیت‌ها که میتواند به صورت خام یا پردازش شده توسط انسان یا ماشین در محیط نگهداری شود، داده میباشد. داده‌ها که به تنهایی دارای معانی و مفاهیم و نتایج خاصی نمیباشند، میتوانند نمایشی از کاراکتر‌ها، اعداد، ارقام و … را شامل شوند.
۲-۶- اطلاع (Information):
محصولی از داده است که توسط انسان به واسطه معانی که به داده منتسب شده و هم چنین قرارداد‌های معینی در به نمایش درآوردن داده‌ها جهت بیان مفاهیم به کار میرود.
اطلاع بر خلاف داده دارای قدرت برقراری ارتباط میباشد چرا که دارای مفاهیم است و در ذهن به خوبی نقش میبندد. و در محیط بانک اطلاعاتی آنچه برای یک کاربر شناخته شده است اطلاع میباشد نه داده.

۲-۷- موجودیت (Entity):
اشیا، موجودات، پدیده‌ها و هر آنچه را که اطلاعی بتوان از آن جمع آوری و ثبت کرد، میتواند یک موجودیت باشد. به عنوان مثال خود ما دارای یک س

ری مشخصات هستیم پس میتوانیم به عنوان یک موجودیت ظاهر شویم، چرا که این مجموعه خصوصیات و مشخصات ما را تعریف و از دیگر موجودات و اشیا متمایز میکند. مثلاً در این سیستم موجودیت‌های ما شامل: کتاب، پایان نامه، اعضا کارکنان، امانت کتاب، امانت پایان نامه، رزرو کتاب، درخواست خرید کتاب، و جریمه میباشد.
۲-۸- صفت خاصه:
هر موجودیت دارای مجموعه ای از صفات خاصه میباشد، این صفات خاصه، خصوصیات و ویژگی‌های تفکیک کننده یک موجودیت از موجودیت دیگر میباشد. مثلاً در مورد کتاب، صفات خاصه آن عبارتند از: کد کتاب، نام کتاب، کد موضوع، کد ناشر، تاریخ ثبت، مکان استفاده میباشد و یا خدمات خاصه جدول کارکنان شامل کد کارمند، نام، شهرت، شماره پرسنلی میباشد.
۲-۹-روابط موجود بین موجودیت‌ها:
در هر بانک یا سیستم موجود که قسمت بررسی قرار می گیرد قطعاً موجودیت‌هایی وجود دارد و این موجودیت‌ها نیز به نحوی با هم در ارتباط هستند چرا که اگر جز این بود در مجموعه جای نمی گرفتند. این ارتباط‌ها خود بیان گر بخشی از خصوصیات موجودیت‌های مرتبط میباشد. روابط بین موجودیت‌ها می تواند چندین نوع باشد. به طور مثال در یک انبار یک قطعه خود میتواند از قطعاتی دیگر تشکیل شده باشد. انواع روابط بین موجودیت‌ها عبارتند از:
۱) رابطه ۱۱ ۲) رابطه n۱ ۳) رابطه ۱n 4)رابطه mn
در این سیستم به طور مثال بین جداول honesty book, book یک رابطه، یک به چند وجود دارد یعنی یک کتاب چند بار امانت داده میشود. ولی در هر بار امانت، یک کتاب امانت داده میشود و یا بین دو جدول object, book یک رابطه چند به یک وجود دارد یعنی یک کتاب یک موضوع دارد ولی یک موضوع را چند کتاب میتواند داشته باشند.
۲-۱۰- میدان (Domain):
به مجموعه مقادیر که به هر صفت خاصه دارای دامنه یا مقداری است و در تمام مدت زمان که صفت خاصه وجود دارد نمیتواند مقداری جز، مقداری میدان تعریف شده به آن نسبت داد. مثال: میدان فیلد موضوع در جدول objected است.
۲-۱۱- عنوان:

یک مجموعه ثابت از صفات خاصه میباشد به گونه ای که هر صفت خاصه متناظر با میدانش باشد. به این معنی که به ازای هر Ai از صفت خاصه Di میدان متناظر با آن صفت باشد مثل جدول Librariens:
Librarians (Code, Fname, L name, Charge, No)
2-12- بدنه:
شامل مجموعه ای از تاپل‌ها (Tuple) میباشد. اما تاپل، خود مجموعه ای از مقدار‌های Vi است و این Vi مقدار صفت خاصه Ai و از میدان Di گرفته شده است. از دید کاربر در بانک رابطه ای این ساختار داده ای، مجموعه ای از عنوان، بدنه، تاپل‌ها، صفات خاصه و میدان جدول خوانده میشود.
تاپل:
ردیف نام شهرت سال تولد
۱
۲
۲-۱۳-افرونگی جداول:
یک بانک اطلاعاتی مجموعه ای از داده‌های ثبت شده پیرامون موجودیت‌های مربوط و واقع در آن بانک اطلاعاتی است در بانک‌ها در پی این هستیم که داده‌هایی با حداقل افزونگی و تحت کنترل و قابل اشتراک و همزمان بین یک یا چندین کاربر و … را داشته باشیم. همه این امکانات تنها با یک مدیریت مناسب امکان پذیر میباشد، که این مدیریت‌ها را بخش مدیریت هر بانک اطلاعاتی (DBMS) پاسخگو میباشد. این مدیر در بطن خود سه سطح یا دید دارد که شامل: ۱) سطح بیرونی ۲) دید درونی ۳) دید ادراکی میباشد. هر بانک از یک ساختار داده ای باید بهره جوید. ساختارهایی از قبیل ساختار رابطه ای، سلسله مراتبی، شبکه ای و … که ما دراین جا از ساختار رابطه ای که یکی از رایج ترین ساختارها میباشد استفاده م

 

ی کنیم. در این ساختار موجودیت به صورت جدول نمایش داده میشود و رابطه بین جداول نیز خود در قالب یک جدول مطرح میگردد.
۲-۱۴- خواص رابطه:
رابطه دارای خصوصیاتی نیز میباشد از جمله عدم تکرار تاپل‌ در رابطه، چرا که رابطه طبق تعریف یک مجموعه است و مجموعه‌ها عضو تکراری نمی پذیرند. تاپل‌‌ها هم در رابطه نظم ندارند. صفات خاصه نیز نظم ندارند، خصوصیت دیگر این که مقادیر صفت خاصه تجربه ناپذیرند. به عنوان مثال در جدول بالا صفت خاصه تاریخ تجربه پذیر است چرا که تاریخ میتواند به سال، ماه و روز تجزیه گردد. به طوری که هر یک از آنها میتواند به عنوان یک صفت خاصه قرار گیرد و برای آن میدان تعریف گردد هر رابطه ای که دارای چنین خصوصیاتی باشد یک رابطه نرمال شده (Nor Malized) است. هر رابطه ای که دارای خصوصیات عدم تکرار تاپل‌ در رابطه، عدم نظم تاپل‌‌ها در رابطه، عدم نظم صفات خاصه در رابطه، و عدم تجزیه پذیری صفت خاصه باشد. یک رابطه نرمال شده خواهد بود. در نرمال سازی باید از تکرار داده‌ها یا همان افزونگی جلوگیری به عمل آورد که دراین حالت بانک در بهینه ترین حالت ممکن قرار می گیرد.
۲-۱۵-کلید منتخب (Candidate key) :
به مجموعه ای از صفات خاصه گویند که دارای دو خصیصه است اول منحصر به فرد بودن یا یکتایی مقدار تاپل‌‌ها در هر لحظه ازحیات رابطه و دیگری حداقل بودن اجزا.
۲-۱۶-کلید اصلی (Primary key):
کلیدی است از بین کلید‌هایی که توسط طراح، با توجه به اهمیت آن نسبت به سایر کلید‌های کاندید و هم چنین کوتاهتر بودن طول آن از نظر رشته بر حسب بایت، انتخاب میشود.
مثال: در جدول Member کلید اصلی، کد عضو می باشد.
۲-۱۷-کلید فرعی (Alternate key):
هر کلید کاندیدی به غیر از کلید اصلی کلید فرعی خواهد بود مثال: شماره شناسنامه در جدول Member
2-18-کلید خارجی (Foreign key):
صفت خاصه که در رابطه ای کلید اصلی باشد و

همان صفت با تکرار در رابطه ای دیگر، مرتبط با آن، در حکم کلید خارجی خواهد بود.
مثال: کد ناشر در جدول Book یک کلید خارجی است در حالی که در جدول Objectid یک کلید اصلی است.

فصل سوم:
تحلیل سیستم کتابخانه

در این قسمت به تحلیل سیستم کتابخانه می پردازیم:
۳-۱- اطلاعات اولیه:
در نگاه ابتدایی بدون هر گونه پرس و جویی آنچه که نظر ما را به خود جلب کرده است وجود قفسه‌های مجزای کتاب، نشریه و پایان نامه‌ها است، که میتواند به عنوان یک موجودیت مشابه اما مستقل از هم عمل کند، نیازهای اولیه عبارتند از:
۱- نگهداری و نمایش اطلاعات کتابهای موجود در کتابخانه
۲- نگهداری و نمایش پایان نامه‌های موجود در کتابخانه
۳- نگهداری و نمایش نشریه‌های ارسالی و موجود در کتابخانه
۴-نگهداری و نمایش افراد عضو شده در کتابخانه
۵- وارد کردن مشخصات کتابهای امانت رفته
۶- وارد کردن مشخصات پایان نامه‌های امانت رفته
۷-وارد کردن مشخصات اعضا امانت برنده کتاب
۸- وارد کردن مشخصات اعضا امانت برنده پایان نامه
۹- دسترسی به اطلاعات کتابها و پایان نامه‌های امانت رفته
۱۰- رزرو کتابهای امانت رفته
۱۱- جستجو برای یافتن کتابها و پایان نامه‌ها و نشریه‌ها
۱۲- درخواست خرید کتب جدید
۳-۲- موجودیت‌های اصلی:
به سادگی میتوانیم از میان این نیازهای اولیه داده‌هایی را به تفکیک جدا کنیم که از این داده‌ها نیز خواهیم توانست به موجودیت‌های اصلی سیستم پی ببریم. این موجودیت‌ها عبارتند از:
۱- موجودیت کتاب.
۲- موجودیت پایان نامه
۳-موجودیت نشریه
۴- موجودیت مشخصات اعضا
۵- موجودیت امانت
۶- موجودیت رزرو
۷- موجودیت خرید کتب
در بررسی دقیق تر در هر یک از این موجودیت‌ها به زیر مجموعه ای از صفات خاصه موجود در آنها دست یافتیم. این صفات که بیشتر در بانک از آنها به عنوان فیلد یاد خواهیم کرد شامل موارد زیر میباشد:
الف) کتاب: ۱) نام کتاب یا عنوان ۲) موضوع کتاب ۳) ناشر کتاب ۴) نوع دریافت کتاب ۵) تاریخ ثبت کتاب در کتابخانه ۶) محل استفاده کتاب یا

قابلیت امانت رفتن
ب) نشریه: ۱) نام یا عنوان نشریه ۲) موضوع نشریه ۳) سری انتشار۴) مکان استفاده ۵) شماره مسلسل ۶)تاریخ چاپ ۷) تاریخ شروع اشتراک ۸) تاریخ پایان اشتراک ۹) توضیحات
ج) مشخصات اعضا: ۱) نام ۲) شهرت ۳) تا

ریخ تولید ۴) نام پدر ۵) شماره شناسنامه ۶) شماره شناسایی ۷) آدرس منزل ۸) آدرس محل کار ۹) تلفن منزل ۱۰) تلفن محل کار ۱۱) تلفن ضروری ۱۲) نوع عضویت ۱۳)تاریخ شروع عضویت ۱۴) تاریخ پایان عضویت.
د) امانت: ۱) کتاب یا پایان نامه امانت رفته ۲) عضو امانت برنده ۳) تاریخ امانت دادن ۴) تاریخ بازگشت از امانت ۵) تاریخ تمدید امانت ۶) بازگشت
ح)رزرو: ۱) کتاب یا پایان نامه درخواست رزرو ۲) عضو سفارش دهنده رزرو ۳) نام ۴) موضوع ۵) اولویت درخواست ۶) رزرو
خ) خرید کتب جدید ۱) فرد در خواست کننده ۲) کتاب ۳) تاریخ درخواست

فصل چهارم:
ایجاد بانک و ارتباط‌ها

در این فصل برای ایجاد بانک هر موجودیت را در قالب یک جدول بیان می داریم. اين جدول که یکی از خصوصیات ساختاری در بانک‌های رابطه ای میباشند بیشتر خود را به صورت Table در نرم افزار Access نمایان خواهند یافت.