مروري بر سيستمهاي بانك اطلاعاتي و مزاياي Oracle
* مقدمه
دانش بشر در گستره علوم و فنون ، طي پنجاه سال گذشته از رشدي بي سابقه برخوردار بوده است و اين رشد و تكامل سريع و بيمانند را بايد متأثر از تماسك علوم مختلف و استفاده پژوهشگران از نتايج دستاوردهاي يكديگر دانست . امروز ديگر كمتر كشف و اختراعي است كه اتفاقي و تصادفي باشد و تقريبا كليه نوآوريها در يافتن ارتباط صحيح بين اطلاعات موجود بشر در عرصههاي گوناگون خلاصه شود . از اينروست كه در نيمه دوم قرن بيستم شاهد هستيم كه كشورهاي توسعه يافته بيش از هر زمان به اطلاعات و سازماندهي و مديريت آنها بها دادهاند . مبالغ هزينه شده در مراكز تحقيقاتي و دانشگاهي ، خود گواه بر اين ادعاست و اين توجه ، پاسخي است به پديده " انفجار اطلاعات " در چند دهه اخير .
* در طي سالهاي اخير ، شاهد تحولات عميق در نحوه مديريت سازمانها بر اساس نظريه نوين مديريت سيستماتيك بوده و همگام با آن بطور پيوسته ناظر بر افزايش نياز مديران به اطلاعات و منابع اطلاعاتي هستيم .گفته شود نود درصد از احتياجات لازم براي اخذ يك تصميم را اطلاعات تشكيل دهد و ده درصد باقي مانده تابع انگيزه و سليقه باشد و در اين راستا پيشرفت بشر در زمينه تكنولوژي اطلاعاتي را بطور قطع بايد مرهون كامپيوتر و علوم انفورماتيك دانست .
* اين مقاله حاصل مطالعه تجربيات در امر تجزيه و تحليل سيستمهاي گردش اطلاعات و برنامهنويسي كاربردي باشد و حاوي مطالبي اجمالي پيرامون شناخت و نحوه طراحي " سيستمهاي اطلاعاتي " و در نهايت مروري بر بانكهاي اطلاعاتي توسعه يافته در ORACLE باشد .
* با گسترش تكنولوژي كامپيوتر ، افزايش سرعت پردازش آنها و كاهش قيمت ، در حقيقت بهتر و بهتر شدن نسبت عملكرد به قيمت ( Price / Performance ) ، تمامي فعاليتهاي علمي ، تكنولوژي ، مالي ، تجاري ، مديريتي و حتي توان تفكر و مرزهاي ذكاوت و انديشه انسان ، افق جديدي يافته است . از همان ابتداي تولد تكنولوژي كامپيوتر ، دانشمندان و محققين زيادي در نقاط مختلف جهان درصدد رسيدن به يك هدف متعالي بودهاند و آن هدف عبارت بوده است از ساخت كامپيوترهايي كه خروجي آن داراي خصوصيتي باشد كه نتوان آنرا با نتيجه تلاش فكري يك انسان متخصص و متفكر فرق نهاد .
* بدون شك ، نتيجه چنين خصوصيت و توانايي وراي تصور باشد . فقط توان گفت ، تأثر آن در تراوشات فكري بشر ، توسعه علوم و تكنولوژي فوقالعاده خواهد بود . مگر نه اين است كه انقلاب اول صنعتي فقط توان بازوان انسان را افزايش داد و نه تفكر .
* از دنياي كامپيوتر ، بخشهاي سنتي نرمافزاري و سختافزاري آن براي جامعه علمي و صنعتي كشورمان آشناست . اما ، جاي خالي بخشهاي حيــاتي ، توانمنــد و مهمي چـون هـوش مصنوعـي ( Artifical Intelligence - AI ) ، سيستمهـــاي خبــــــره ( Expert or Knowledge Base Systems ) ، تكنـــولــــوژي اطــــلاعـــــــات ( Information Technology - IT ) ، پردازش مـــوازي ( Parallel Prrocessing ) ، مديريت بانكهاي اطلاعاتـي (Database Computer Aided Instruction , Multimedia , Management Systems - DBMS ) Virtual Reality - VR ,، . . . ، و از بين زبانهاي برنامهنويسي ، جاي اكثر زبانهاي هوش مصنوعي و بالاخره زبان Ada ، خاليست .
* مديريت بانكهاي اطلاعاتي:
تعاريف متعددي براي بانك اطلاعاتي ( Database ) وجود دارد. يك تعريف نوعي تواند به صورت ذيل باشد :
" يك بانك اطلاعاتي عبارتست از ، مجموعهاي مرتبط از اطلاعات با اضافاتي قابل كنترل ( Controlled Redundancy ) بمنظور بكارگيري در يك يا چند كاربرد بصورت انتخابي و اختياري ، اين اطلاعات طوري جمعآوري شده و تشكيل مجموعه دهند كه مستقل از برنامههايي كه آنها را مورد استفاده قرار خواهند داد باشند. روش افزايش اطلاعات به بانك اطلاعاتي و فراخواني اطلاعات موجود طبق يك روش تعريف شده صورت گيرد . "
* مديريت اطلاعات موجود در بانك اطلاعاتي توسط نرمافزار جانبي ديگري صورت گيرد ( Database Management System - DBMS ) . يك نرمافزار مديريت بانكهاي اطلاعاتي اصولا بايد خصوصيات ذيل را داشته باشد :
* ـ مستقــــل از نـــوع اطلاعـــات موجـــود در بانك اطلاعاتـي باشــــد ( Data Independence ) . يعنــي نرمافــزار بايد خصوصيت يا تـوان پردازش اطلاعات ( Data Processing ) را از خــود اطلاعــــات ( Data ) تميز دهد .
* ـ توان انجام تستهاي لازم بمنظور حصول اطمينان از همگوني اطلاعات ، بايد در بيان آنها منظور شده باشد . به بيان ديگر ، نرمافزار مديريت بانك اطلاعاتي ، تضمين لازم در اين رابطه را ايجاد نموده و در نهايت انسجام اطلاعات ( Data Integrity ) ، در بانك اطلاعاتي حفظ شود .
* ـ همزماني و همگوني اطلاعات ( Data Concurrency & Consistency ) ـ از آنجائيكه بانكهاي اطلاعاتي منابعي هستند كه چند كاربر مختلف نياز به دسترسي به اطلاعات موجود در آنها دارند ، نرمافزار مديريت بانك اطلاعاتي بايد همزماني و همگوني اطلاعات در اختيار قرار گرفته شده را ميسر سازد . به عبارت ديگر كاربران مختلف قادر باشند به يك اطلاعات خاص ، بطور همزمان و همگون دسترسي داشته باشند .
* ـ قابليت احيا و بازبافت ( Data Recovery ) ـ يك نرمافزار مديريت بانك اطلاعاتي كليه تغييرات اعمال شده روي بانك اطلاعاتي توسط استفاده كنندگان مختلف را پيگيري و ثبت كند ، و پس از پايان كار هر استفاده كننده ، بايد كليه تغييرات اعمال شده بطور اتوماتيك به حالت اول برگردانده شود . از طرفي ، نرمافزار مديريت بانك اطلاعاتي بايد در فواصل زماني معين كليه اطلاعات موجود در بانك را كپي و حفظ نمايـد ( Copy & Back - Up ) .
* ـ كنترل دسترسي ( Access Control ) ـ نرمافزار مديريت بانك اطلاعاتي بايد دسترسي افراد مختلف به بخشهاي بانك را كنترل نموده و تشخيص لازم را در رابطه با مجوزهاي مربوطه براي هر كاربر يعني اجازه خواندن ( Read ) و تغيير دادن ( Modify ) اطلاعات را بدهد .
* ـ كنترل متمركز ( Centralised Control ) ـ نرمافزار DBMS بايد اطلاعات موجود در بانك اطلاعاتي را يك سرمايه گرانبها و اصلي شركت به حساب آورد . از طرف ديگر ، بايد توان اعمال استاندارهايي از قبيل قفل كردن ركوردها ، جداول و سطوح تنظيم شده اطلاعات را هنگام اعمال چكهاي لازم بمنظور به روز كردن اطلاعات ( Up - dating ) و يافتن اشتباهات ، داشته باشد .
* ـ نگهداري ، تعمير و تعميم اطلاعات DBMS - ( Data Maintenance ) بايد قابليت سوار و پياده كردن اطلاعات و سازماندهي مجدد آنها را داشته باشد .
*- وقتي كه تعداد و نوع اطلاعات چه ساده و يا پيچيده در يك سيستم ، محدود باشد ، امكانات چنداني از طرف نرمافزار مديريت بانك اطلاعاتي براي ثبت و حفظ اطلاعات مورد نياز نيست . اما ، با افزايش گستردگي ، پيچيدگي و تنوع اطلاعات و تعداد كاربران بانك اطلاعاتي ، وجود خصوصيات فوق ضروريست .
* انواع سيستمهاي مديريت بانكهاي اطلاعاتي :
اساسا به 5 نوع سيستم مديريت بانك اطلاعاتي توان اشاره كرد :
1 ـ ترتيبي Hierarchic
2 ـ شبكهاي Network
3 ـ مرتبطي Relational
4 ـ متن آزاد Free Text
5 ـ موضوعي Oriented Object
* ـ سيستم مديريت ترتيبي بانك اطلاعاتي ( Hierarchic ) ، داراي واحدهاي مختلف اطلاعات ( Data Units ) بصورت ركورد يا ليست است كه در يك ساختار شجرهاي يا شاخهاي مربوط به يك ساختار خاص سازمان يافتهاند . هر واحد اطلاعات فقط و فقط به يـــك شاخــــه قبـــل از خود وابسته باشد ( يك مالك يا صاحب دارد) .امــــا ، ممكــن است داراي چند واحد عضـو باشد . سيستـــم مديريت اطلاعـــات ( Information Management System ) شــــــركــت ( IMS ) , IBM و يــــــا ( Virtual Storage ) , VM ، از اين نوع سيستم مديريت بانك اطلاعاتي است .
* ـ سيستم شبكهاي ( Network DBMS ) مديريت اطلاعات تصويري شبكهاي از اطلاعات را در يك شبكه كامپيوتري ارائه دهد . ركورد و يا ليستهاي اطلاعات ممكن است از نظر داخلي بهم مربوط و مرتبط بوده و يا حتي داراي روابط ترتيبي باشند . كه در اينصورت ، از يك ساختار قابل انعطافتري برخوردار خواهند بود . با اين حال ، وقتي كه يك ساختار شبكهاي بصورت بانك اطلاعاتي ، پياده شود ، اعمال تغييرات بعدي روي آن بسيار مشكــل خواهــد بود . سيستــم مديــريت بانــك اطلاعاتــي منســجم ( Integrated Database Management System - IDMS ) ، كه روي ماشينهاي ICL و تحت سيستم عامل VME قابل اجراست ، يك سيتم مديريت بانك اطلاعاتي شبكهاي است كه اكثرا توسط سازمانهاي دولتي بكار گرفته شود .
* ـ سيستمهــــــــاي مديـــريت مرتبطـــي بانكهـــــاي اطلاعــاتـــي ( Relational DBMS ) ، طوري در نظر گرفته شدهاند كه اطلاعات را بصورت ركـــــورد ( ليستهاي ) يا جداول دو بعدي در خود نگهدارند . طوري كه هر جدول قابل تصوير روي يك ليست كه شامل چندين ستون و رديف اطلاعات است باشد . ارتباط بين اطلاعات موجود در ستونها و رديف هر ليست توسط نشانگرهاي خاصي حفظ شود . ايجاد جداول جديد ، با انتخاب رديف و ستونهايي از جداول پيشين امكانپذير است . سيستم مديريت بانكهاي اطلاعاتي مرتبطي ، داراي قابليت انعطاف بسيار زياد از نظر توان دسترسي و همچنين سهولت تغيير ساختاري است . البته به علت ضعف ناشي از قابليت انعطاف زياد ، توان عملكرد ( Performance ) تقريبا پائين است . ولي بايد توجه داشت كه اين مشكل روز به روز با ارائه نسخههاي جديدتر حل خواهد شد و نمونههاي زيادي از قبيل سيستمهاي مديريت بانكهاي اطلاعاتي وجود دارند كه Oracle و Ingres از همه شاخصتر باشند .
* ـ بانك اطلاعاتي با متن آزاد ( Free Text Database ) ، همانطوري كه از نامش پيداست ، امكان حفظ ، بازنگري و جستجوي اطلاعات متني را كه به زبان انگليسي بوده و يا از يــك ساختار آزاد ( Free Format ) برخوردار باشند را ، ممكن سازد . در حقيقت هر ركورد يا ليست ، شامل خطوط و مجموعه جملاتي است كه متن را تشكيل دهند . اكثر بانكهاي اطلاعات متني ، داراي ساختاري ترتيبي هستند . مانند ، كتابها ، كاتالوگها ، نامهها روزنامهها كه هر يك به نوبه خود از بخشها ، پاراگرافها ، جملات و نهايتا كلمات تشكيل يافتهاند . ساختار هر يك از بانكهاي اطلاعات متني ، بسته به نوع محصول ، متفاوت است . اما ، عليالاصول داراي فايلهاي متن و ايندكس كه به نوبه خود شامل كلمات كليدي و نشانگرهاي خاص است ، ميباشند . اين گونه بانكهاي اطلاعاتي بيشتر براي بازيافت و فراخواني اطلاعات ( Retrieval ) بكار روند ، مانند بانكهاي اطلاعاتي بـــراي فراخوانـــي اطلاعـــات كمكـــي در يك كتابخانه . بانكهاي اطلاعاتي CAIRS , STATUS و BASIS از اين نوع ، قابل ذكر هستند . .
نرمافزار ORACLE از جمله ابزارهايي است كه بمنظور استفاده هر چه بيشتر از امكانات كامپيوتري اين مراكز ، مورد توجه تحليلگران سيستم و برنامهنويسان كاربردي قرار گرفته است .
ORACLE برنامهاي است كه توسط شركت ORACLE كه سازنده نرمافزارهاي پايگاه دادههاي رابطهاي كامپيوترهاي بزرگ و كوچك باشد ، تهيه گرديده است و كاربران كامپيوترهاي APPLE و يا IBM و سازگار با آن را قادر سازد به دادههاي پايگاههاي اطلاعاتي بسيار بزرگ بطور مشترك دسترسي يابند .
اغلب برنامهنويسان در دنياي كامپيوترهاي بزرگ و كوچك ، ORACLE را بعنوان يكي از سيستمهاي مديريت پايگاه دادههاي رابطهاي و پيشرو DBMSميشناسند . با استفاده از نسخههاي متعدد ORACLEبراي كامپيوترهاي شخصي ، كساني كه با لوتوس Dimension , Super Card , Hyper Card , ( 123 ) و يا dBASE III PIUS كار كنند ، ميتوانند به پايگاههاي دادههاي كامپيوترهاي بزرگ مانند SQL / DS , DB2 , ORACLE دسترســـــي پيــــدا نماينـــد . نرمافــــزار ORACLE با توجه به امكانات SQL ( Structured Query Language ) ، و تمامي فرامين آن را پشتيباني كند و قبل از هر مقدمهاي ، بايد با مفاهيم جديد در SQL * PLUS و ابزارهــاي جانبي آن مانند SQL * Forms و ... آشنا گرديد .
SQL در سيستمهاي مديريت پايگاه داده يك زبان پرسوجوي IBM است كه بطور گسترده در كامپيوترهاي بزرگ و كوچك بكار رود . اين زبان بطور روزافزونــي در شبكههاي Client / Server بعنوان راهي براي ايجاد امكان در كامپيوترهاي شخصي بمنظور دسترسي به منابع مشترك پايگاه داده ، استفاده شود .
SQL كه اصلا توسط ر.د چمبرلين ( D.D . Chamberlin ) و ديگر پژوهشگران مركز تحقيقات IBM تهيه شده است ، ميتواند با انواع مختلف نرمافزارهاي پايگاه دادهاي ، مورد استفاده قرار گيرد .
در اين مقاله تلاش شد كه نرمافزار ORACLE بطور اجمالي معرفي و موارد كاربردي آن همراه با مثالهاي متعدد در اختيار قرار گيرد .
{ مأخذ: مديريت بانكهاي اطلاعاتي در