فرمت فایل : WORD , DataBase
تعداد صفحات:182
فهرست مطالب:
فصل اول
1. بانک اطلاعات ........................................................................... 8
1.1. بانک اطلاعات چیست ؟ ....................................................... 8
1.1.1. مقدمه .................................................................. 10
1.2. معماری بانک اطلاعات ...................................................... 12
1.2.1. مدل های بانک اطلاعات ............................................ 15
1.2.1.1. مدل های قدیمی ............................................. 15
1.2.1.2. مدل سنتی (مدل رابطه ای) ................................ 15
1.2.1.3. مدل های جدید (معنایی – فرارابطه ای) ................. 16
1.2.2. دادگان (Meta data) .............................................. 16
1.2.2.1. لغتنامه داده ها (data dictionary) .................... 16
1.2.2.2. کاتالوگ سیستم (system catalog) ................... 17
1.2.3. امنیت و جامعیت ..................................................... 17
1.2.3.1. امنیت (security) ......................................... 18
1.2.3.2. جامعیت (integrity) ...................................... 18
1.2.4. تراکنش (transaction) ........................................... 18
1.2.4.1. یکپارچگی (atomicity) ................................. 19
1.2.4.2. همخوانی (consistency) ............................... 19
1.2.4.3. انزوا (isolation) ......................................... 20
1.2.4.4. پایائی (durability) ....................................... 20
1.2.5. مفاهیمی دیگر ........................................................ 21
1.2.5.1. تصویر ادراکی بانک اطلاعات ( database schema) ...................................................... 21
1.2.5.2. استقلال داده ها .............................................. 22
1.2.5.3. زبان های برنامه سازی بانک اطلاعات .................. 22
1.2.5.4. طراحی بانک اطلاعات .................................... 23
1.2.5.5. مزایا و ویژگی های بانک اطلاعات ...................... 25
فصل دوم
2. SQL ...................................................................................... 27
2.1. مقدمه ای بر SQL .......................................................... 27
2.2. تاریخچه ی مختصر SQL .................................................. 27
2.3. تاریخچه ی مختصر پایگاه های داده ها ..................................... 28
2.4. قواعد دوازده گانه ی دکتر کد (Codd) برای مدل پایگاه های داده های رابطه ای ......................................................................... 29
2.5. طراحی ساختار پایگاه داده ها ................................................ 35
2.6. وضعیت امروزی پایگاه های داده ها ........................................ 35
2.7. زبان مشترک .................................................................. 37
2.8. پیاده سازی های اولیه ......................................................... 37
2.9. SQL و برنامه نویسی خادم – مخدوم ..................................... 38
2.10. نگاهی به SQL ..................................................... 38
2.11. پیاده سازی های رایج SQL ..................................... 39
2.12. اکسس ................................................................. 40
2.13. اوراکل شخصی 8 .................................................. 40
2.14. پرس و جو (Query) .............................................. 41
2.15. اتصال پایگاه داده های باز (ODBC) ............................ 42
2.16. SQL در برنامه های کاربردی ................................... 43
فصل سوم
3. دلفی ........................................................................................ 46
3.1. دلفی چیست ؟ .................................................................. 46
3.2. نگاهی به محیط مجتمع دلفی ................................................. 47
3.3. پنجره اصلی IDE ............................................................48
3.4. پنجره ی Object Inspector ............................................ 51
3.5. فضای کاری دلفی ............................................................. 53
3.5.1. Object Pascal چیست ؟ ....................................... 54
3.5.2. یونیت های پاسکال ................................................... 56
3.5.2.1. انواع یونیت ................................................. 56
3.5.2.2. تشریح یونیت ها در دلفی .................................. 58
3.5.2.3. کلمات کلیدی یونیت ها ..................................... 60
3.5.2.3.1. لیست Uses ............................ 61
3.5.2.3.2. بخش Interface ....................... 62
3.5.2.3.3. بخش Implementation ............ 63
3.5.2.3.4. بخش های Initialization و Finalization ..................................... 64
3.5.3. توضیحات درون کد .................................................. 64
3.5.4. انواع مختلف اعداد در Object Pascal ....................... 65
3.5.5. انواع عملگر ها در Object Pascal ......................... 66
3.5.6. آرایه های پویا ........................................................ 67
3.5.7. استفاده از کاراکترها و رشته ها .................................... 69
3.5.7.1. نوع های کاراکتری ......................................... 69
3.5.7.2. نوع های رشته ای .......................................... 70
3.5.7.2.1. رشته های کوتاه (Short String ) ... 71
3.5.7.2.2. رشته های بلند (Long String) ...... 71
3.5.7.2.3. رشته های گسترش یافته (Wide String) ............................................. 72
3.5.7.2.4. رشته های مختوم به تهی (Null – Terminated String) ......................... 73
3.5.7.3. مقایسات رشته ای ........................................... 75
3.5.7.4. روتین های دستکاری رشته ها ............................ 75
3.5.8. فایل های Include ................................................ 76
3.5.9. پارامترهای پیش فرض .............................................. 78
3.6. محیط مجتمع دلفی ............................................................. 78
3.7. شیوه ی برنامه نویسی در دلفی .............................................. 79
3.8. پروژه ها در دلفی ............................................................. 80
3.8.1. فایل های مورد استفاده در پروژه های دلفی ....................... 80
3.8.2. یونیت های کد مبدا ................................................... 83
3.9. منوی اصلی و نوار ابزار دلفی .............................................. 84
3.10. استفاده از پلت اجزا .................................................. 86
3.10.1. قرار دادن چندین کپی از یک جزء ................................. 86
3.10.2. قرار دادن یک جزء در مرکز فرم ................................. 87
3.10.3. منوی زمینه ی پلت اجزاء ........................................... 88
3.10.4. راهبری پلت اجزاء .................................................. 88
3.11. افزودن یونیت ها ..................................................... 89
3.12. مراحل کامپایل ........................................................ 89
3.13. کامپایل و ایجاد دیگر برنامه های Object Pascal .......... 91
3.14. اطلاعات بیشتر در رابطه با فرم های دلفی ....................... 93
3.14.1. فرم های پنجره ی اصلی ............................................ 93
3.14.2. فرم های کادر محاوره ای ........................................... 93
3.14.3. ایجاد کادر محاوره ای با دلفی ...................................... 94
3.14.4. مدل رابط کاربر چندی سندی (MDI) ............................ 96
3.14.5. خواص کلیدی فرم ها ................................................ 97
3.14.6. متدهای فرم ......................................................... 102
3.14.7. رویدادهای فرم ..................................................... 103
3.15. پنجره ی Object Inspector ................................ 105
3.15.1. Component Srlector ...................................... 106
3.15.2. صفحه ی Properties ......................................... 107
3.15.3. صفحه ی Events ............................................... 110
فصل چهارم
4. آشنایی با کار آژانس هواپیمایی ............................................... 114
4.1. نام آژانس های هواپیمایی در ایران ........................................ 117
فصل پنجم
5. پروژه ی آژانس هواپیمایی ..................................................... 119
5.1. اطلاعات پرواز ............................................................. 119
5.2. رزرو بلیط .................................................................. 119
5.3. انواع بلیط .................................................................... 120
5.4. ملغا کردن بلیط .............................................................. 120
5.5. تهیه ویزا ..................................................................... 120
5.6. تورهای داخلی و خارجی ................................................... 121
5.7. استخدام ....................................................................... 124
5.7.1. بلیط .................................................................. 124
5.7.2. تورهای داخلی و خارجی .......................................... 124
5.7.3. سفرهای زیارتی .................................................... 125
5.8. عضویت ...................................................................... 125
5.9. ترمیم سیستم ها .............................................................. 125
5.10. تائید کردن بلیط ..................................................... 125
فصل ششم
6. جداول پروژه .......................................................................... 127
6.1. جدول بلیط .................................................................... 128
6.2. جدول اشتراک ............................................................... 130
6.3. جدول استخدام ................................................................ 131
6.4. جدول اطلاعات آژانس ...................................................... 132
6.5. جدول اطلاعات پرواز ...................................................... 133
6.6. جدول اطلاعات شرکت هواپیمایی ......................................... 134
6.7. جدول اطلاعات تور ......................................................... 135
6.8. جدول کارمند ................................................................. 136
6.9. جدول مدرک تحصیلی ...................................................... 137
6.10. جدول مسافر ........................................................ 138
6.11. جدول واحد مشغول به کار ........................................ 139
فصل هفتم
7. طرز کار برنامه هنگام اجرا .................................................... 141
7.1. فرم روابط عمومی .......................................................... 144
7.2. فرم اطلاعات پرواز ......................................................... 151
7.3. فرم رزرو بلیط .............................................................. 152
7.4. فرم اطلاعات آژانس ........................................................ 154
7.5. فرم اطلاعات مسافر ......................................................... 155
7.6. فرم مدرک تحصیلی ......................................................... 156
7.7. فرم اطلاعات شرکت هواپیمایی ............................................ 157
7.8. فرم اطلاعات تور ........................................................... 158
7.9. فرم واحد مشغول به کار .................................................... 159
فصل هشتم
8. گزارشات ................................................................................ 161
8.1. تهیه گزارش ................................................................. 161
8.2. گزارش از فرم اطلاعات تور .............................................. 162
8.3. گزارش از فرم رزرو بلیط ................................................. 165
8.4. گزارش از فرم اطلاعات پرواز ............................................ 169
8.5. گزارش از فرم اطلاعات کارمندان ........................................ 173
8.6. گزارش از فرم اشتراک در آژانس ......................................... 174
8.7. گزارش از پرواز مسافران ................................................. 175
فصل نهم
9. نتیجه ..................................................................................... 180
منابع .......................................................................................... 182
فصل اول
بانک اطلاعات
1. بانک اطلاعات
1.1. بانک اطلاعات چیست ؟
بانک اطلاعات از دیرباز به عنوان درس یا دروسی تخصصی و ارزشمند در دوره¬های مختلف مهندسی و علوم کامپیوتر مطرح بوده است. در سالهای اخیر اهمیت این مقوله تا جایی مورد توجه قرار گرفته که در برخی از کشورها، دوره کارشناسی مستقلی برای این موضوع یا موضوع¬های مشابه در نظر گرفته شده است (کارشناسی بانک اطلاعات، کارشناسی سیستم¬های اطلاع¬رسانی و ...). در چنین دوره¬هایی، چندین درس در زمینه¬های شناخت، تئوری، طراحی، مدیریت، پیاده¬سازی و ... بانک اطلاعات تدریس می¬شود. همچنین در دوره¬های کارشناسی ارشد و دکتری و نیز در شرکت¬ها و گروه¬های نرم¬افزاری، تحقیقات دامنه¬داری در جنبه¬های مختلف بانک اطلاعات صورت می¬گیرد، کتابها و مقالات بی¬شماری به رشته تحریز درآمده و می¬آید، و کنفرانس¬های متعددی ویژه این موضوع برگزار می¬شود. از سوی دیگر، یکی از مهمترین پدیده¬ها در زمینه نرم¬افزار در زمان حاضر را می¬توان ادغام «بانک اطلاعات» و «برنامه¬¬سازی کامپیوتر»، یا به عبارت دیگر قلمداد شدن بانک اطلاعات به عنوان جزء لاینفک برنامه¬سازی و پدید آمدن زیان¬هایی پرطرفدار از قبیل SQL:2003, Visual Basic, Delphi و Java دانست. این زبان¬های برنامه¬سازی، روشهای مدرن را با توانایی دستیابی به بانکهای اطلاعات گوناگون یکجا ارائه می¬دهند و قدرت برنامه¬سازی فوق¬العاده¬ای به کاربر می¬بخشند.
در کشور ما نیز در سال¬های اخیر استقبال چشمگیری از مقوله بانک اطلاعات به عمل آمده است. بسیاری از کاربردهای کامپیوتر از حالت برنامه¬سازی عادی خارج شده و به شکل بانک اطلاعات درآمده و استفاده از زبان¬های برنامه¬سازی با توانایی دستیابی به بانک اطلاعات همچنان حالت سنتی خود را حفظ کرده و در اطراف مفاهیم مدلهای قدیمی و نیز مدل رابطه¬ای و زبان SQL دور می¬زند. این در حالی است که کتاب¬های جدید بانک اطلاعات و نیز چاپ¬های جدید کتاب¬های سنتی، مطالب کهنه را دور ریخته¬اند، مطالب سنتی را در حاشیه و ضمیمه مطرح می¬کنند، و به مطالب جدید می¬پردازند. به عنوان نمونه می¬توان به چاپ جدید کتاب معروف و ارزشمند شخصی اشاره کرد. ایشان در مقدمه چاپ جدید کتاب خود بعضی از حرف¬های گذشته¬اش در مورد مدل¬های جدید بانک اطلاعات را پس می¬گیرد و ضمن آوردن جملاتی از فیلسوف، معروف، برتراندراسل، تغییر عقیده و پذیرفتن نتایج تحقیقات جدید را یک ضرورت معرفی می¬کند. قابل توجه است که چند فصل از چاپ جدید این کتاب به مدلی اختصاص یافته که قبلاً با آن مخالفت می¬شده است.
پژوهش¬های جدید در مقوله بانک اطلاعات، هم در مدل رابطه¬ای به نتایج ارزشمندی رسیده و هم روی مدل¬های مختلف فرارابطه¬ای کار کرده و به کشفیات ارزشمندی دست یافته است. در بین مدل¬های فرارابطه¬ای، مدل¬های شیءگرا (object- orinted) و شیء- رابطه¬ای (object-relational) گوی سبقت را ربوده و حرف اول را می¬زنند. باید تأکید نمود که مدل رابطه¬ای با پشتوانه تئوریک بسیار قوی و مقبولیت عام بی¬نظیر، همچنان اهمیت خود را حفظ کرده و در کاربردهای سنتی، یکه¬تاز باقی مانده است. صاحبنظران بانک اطلاعات به دو گروه فکری تقسیم می¬شوند. گروه اول بر این عقیده¬اند که مدل شیءگرا در آیندهای نه چندان دور جایگزین مدل رابطه¬ای خواهد شد، همچنانکه در دو دهه گذشته مدل رابطه¬ای همین بلا را سر مدل¬های سلسله مراتبی و شبکه¬ای آورد. گروه دوم معتقدند که مدل رابطه-ای همچنان گره¬گشای کاربردهای سنتی باقی خواهد ماند و گره کور کاربردهای جدید بانک اطلاعات به دست توانای مدل شیءگرا گشوده خواهد گردید. برخی از صاحبنظران گروه دوم از این هم فراتر رفته واعتقاد دارند که می¬توان مفاهیم شیءگرا را به مدل رابطه¬ای افزود و آن را همگام با نیازهای زمان پیش برد. اینگونه افراد نظریات خود را پیاده¬سازی نیز نموده و محصولات تجاری ارزشمند و موفقی ارائه کرده¬اند .
نگارنده پیرو نظریه گروه دوم است. مدل رابطه¬ای از چنان قدرت و سهولتی برخوردار است که در ظرف کمتر از یک دهه تقریباً همه رقیبان را از صحنه رانده و در سطحی باورنکردنی، علاقمندان و استفاده¬کنندگان بانک اطلاعات را مسحور خود ساخته است. هرچند در آینده¬های دورتر ممکن است مدل شیءگرا و یا مدل و تفکر جدیدتری همه چیز را عوض کند، اما مدل رابطه¬ای حداقل تا مدتی پاسخگوی نیازهای سنتی که حجم وسیعی از بانک¬های اطلاعات جهان را به خود اختصاص داده¬اند خواهند بود. آنچه در حال حاضر قابل انکار نیست این است که مدل شیءگرا، پابه¬پای مدل رابطه¬ای، جای خود را در محافل علمی و کاربردی و نیز کتابهای درسی در دانشگاه¬های معتبر جهان باز کرده است (برای نمونه به مراجعه فرمایید). براین اساس کتاب حاضر به هر دو مدل رابطه¬ای و شیءگرا و نیز ترکیب آنها یعنی مدل شیء- رابطه¬ای می¬پردازد. همچنین مفاهیمی از قبیل مدیریت تراکنش (transaction)، کنترل همروندی، مدیریت بازگرد، بانک اطلاعات نامتمرکز، سیستم¬های جدید بانک اطلاعات و امنیت در بانک اطلاعات بیان می¬گردند.
1.1.1. مقدمه
پردازش داده¬ها از دهه 1950 تاکنون فراز و نشیب بسیاری داشته است. در اوایل کار، کاربران مستقیماً با محیط فیزیکی یا سخت¬افزار کامپیوتر تماس داشتند و داده¬ها را روی آنها ذخیره و بازیابی می¬کردند. با گذشت زمان نرم¬افزارهایی به نام شیوه دستیابی (access method) و نام¬های مشابه به وجود آمد که رابطه بین کاربر و کامپیوتر بود.
کاربران با استفاده از این نرم¬افزارها می¬توانستند داده¬ها را با فرم¬های متفاوتی که در طول زمان پیشرفت کرده بود روی رسانه¬ها ذخیره کنند. این نرم¬افزارها، مدیریت ذخیره و بازیابی را نیز به عهده داشتند. کاربر، شکل قرار گرفتن داده¬ها در کنار یکدیگر و نیازهای دستیابی به آنها را بیان می¬کرد و نرم¬افزار آن را انجام می¬داد.
هرچند به وجود آمدن این نرم¬افزارها کار را آسان می¬نمود و پیشرفت قابل توجهی به حساب می¬آمد، با اینهمه مشکلات زیادی هنوز خودنمایی می¬کرد. مثلاً برای هر کاربرد می¬بایست داده¬های مربوطه را جداگانه آماده کرد و اشتراک داده¬ها درسطح قابل قبولی ممکن نبود. همچنین تأمین امنیت داده¬ها و حفاظت از آنها مشکل بود. کافی بود شخصی بتواند به نسخه-ای از داده¬ها دسترسی پیدا کند محافظ نرم¬افزاری قابل اعتمادی وجود نداشت که دستیابی چنین افرادی به محتوای داده¬ها را غیرممکن سازد.
اینگونه مشکلات باعث بروز پدیده¬ای به نام «انقلاب بانک اطلاعات» در اوایل دهه 1970 گردید. اصیلترین تفاوت این روش با روشهای قبلی، وجود حصاری نفوذناپذیر به نام «نظام مدیریت بانک اطلاعات» (DataBase Management System یا به اختصار DBMS) بود که هرگونه دستیابی به داده¬ها می¬بایست از طریق آن انجام شود.
در روشهای سابق، کاربر پرونده¬ای را در اختیار می¬گرفت و عملیات مورد نظر خود را روی آن انجام می¬داد. در بانک اطلاعات، تمامی پرونده¬ها فقط و فقط در اختیار این نرم-افزار قدرتمند (DBMS) است و کاربران درخواستهای خود را به این نرم¬افزار تسلیم می-کنند تا در صورت صلاحدید آن را انجام دهد. مثلاً اگر کسی بخواهد از حساب بانکی خود پولی برداشت کند، درخواست او توسط یک برنامه تسلیم DBMS می¬شود. این نرم¬افزار پس از کنترل¬های لازم و اطمینان از صحت کار، پول را از حساب کسر می¬کند و در اختیار کاربر قرار می¬دهد. برای راهبری این نرم¬افزار، دادن اطلاعات به آن (مثل اطلاعات امنیتی درباره اجازه استفاده کاربران از پرونده¬های مختلف)، انجام تغییرات وامور مشابه به دو نوع نیروی انسانی نیاز می¬باشد :
الف- مدیر بانک اطلاعات (Data Base Administrator یا به اختصار DBA) که مسئولیت تصمیم¬گیری و طراحی اینگونه موارد را به عهده دارد. این مسئولیت ممکن است به یک شخص و یا در بانکهای اطلاعات بزرگ به یک تیم محول شود.
ب- برنامه¬ساز بانک اطلاعات (Data Base Programmer یا به اختصار DBP) که تصمیمات مدیر را پیاده¬سازی می¬کند. برنامه¬ساز را نباید با اپراتور اشتباه گرفت. اپراتورها مسئول اجرای برنامه¬ها و راهبری بانک اطلاعات هستند در صورتیکه برنامه¬سازان تصمیمات مدیر را به صورت برنامه پیاده¬سازی می¬کنند تا توسط اپراتورها اجرا شود.
شکل زیر نظام بانک اطلاعات را نشان می¬دهد. تنها کسانی که می¬توانند دور از چشم نظام مدیریت بانک اطلاعات (DBMS) به داده¬ها دسترسی داشته باشند مدیر و برنامه¬سازان مجاز بانک اطلاعات هستند. طبیعی است که نرم¬افزار نظام مدیریت بانک اطلاعات نمی-تواند همه نوع کاری انجام دهد زیرا این نظام برای سرویس¬دهی به کاربران به وجود آمده است. مدیر وبرنامه¬سازان مجاز می¬توانند از طریق نرم¬افزارهای کمکی (utility) نیز به بانک دسترسی داشته باشند. مثلاً اگر بانک اطلاعات نیاز به سازماندهی مجدد (reorganization) داشته باشد، این عمل با دستور مدیر، توسط برنامه¬ساز مجاز و با کمک نرم¬افزار کمکی ویژه¬ای انجام می¬شود.