* مقدمه
دانش بشر در گستره علوم و فنون ، طی پنجاه سال گذشته از رشدی بیسابقه برخوردار بوده است و این رشد و تکامل سریع و بیمانند را باید متأثر از تماسک علوم مختلف و استفاده پژوهشگران از نتایج دستاوردهای یکدیگر دانست . امروز دیگر کمتر کشف و اختراعی است که اتفاقی و تصادفی باشد و تقریبا کلیه نوآوریها در یافتن ارتباط صحیح بین اطلاعات موجود بشر در عرصههای گوناگون خلاصه شود . از اینروست که در نیمه دوم قرن بیستم شاهد هستیم که کشورهای توسعه یافته بیش از هر زمان به اطلاعات و سازماندهی و مدیریت آنها بها دادهاند . مبالغ هزینه شده در مراکز تحقیقاتی و دانشگاهی ، خود گواه بر این ادعاست و این توجه ، پاسخی است به پدیده " انفجار اطلاعات " در چند دهه اخیر .
در طی سالهای اخیر ، شاهد تحولات عمیق در نحوه مدیریت سازمانها بر اساس نظریه نوین مدیریت سیستماتیک بوده و همگام با آن بطور پیوسته ناظر بر افزایش نیاز مدیران به اطلاعات و منابع اطلاعاتی هستیم .گفته شود نود درصد از احتیاجات لازم برای اخذ یک تصمیم را اطلاعات تشکیل دهد و ده درصد باقی مانده تابع انگیزه و سلیقه باشد و در این راستا پیشرفت بشر در زمینه تکنولوژی اطلاعاتی را بطور قطع باید مرهون کامپیوتر و علوم انفورماتیک دانست .
این مقاله حاصل مطالعه تجربیات در امر تجزیه و تحلیل سیستمهای گردش اطلاعات و برنامهنویسی کاربردی باشد و حاوی مطالبی اجمالی پیرامون شناخت و نحوه طراحی " سیستمهای اطلاعاتی " و در نهایت مروری بر بانکهای اطلاعاتی توسعه یافته در 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 از این نوع ، قابل ذکر هستند .
* هوش مصنوعی ( Artificial Intelligence - AI )
هوش مصنوعی عبارتست از ایدههای مطرح در علم کامپیوتر که هدف آن طراحی سیستمهای کامپیوتری باهوش است . هدف نهایی آن است که این سیستمها خصوصیت ذاتی انسان مانند ایجاد ارتباط از طریق تجربه و هنر حل مسائل و غیره را دارا شوند . به عبارت دیگر ، هوش مصنوعی عبارتست از مجموعه ایدههایی که به کامپیوتر کمک کند که باهوش یا ذکاوت شود . اما هوش یا ذکاوت چیست ؟ آیا توانایی طرح دلیل است ؟ توانایی کسب و بکارگیری دانش است ؟ و یا توانایی درک ، جابجایی و بکارگیری هر آنچه که در دنیای فیزیکی است باشد ؟ بدون شک تمامی اینها ، بخشی از هوش و ذکاوت بوده ولی تمامی آن چیزی که بتوان هوش و ذکاوت نامید نیست .
باهوش کردن کامپیوترها ، به ما امکان درک بهتر پدیده هوش و ذکاوت را دهد . انسان به دلایل زیادی نیازمند باهوش کردن کامپیوترهاست . سادهترین دلیل پیچیدهتر شدن زندگی بشر در کره زمین و گسترش ارتباطات و پارامترها و متغیرهایی است که زندگی او را تحت تأثیر قرار دهد . اتخاذ تصمیمات به موقع و با بهترین و کاملترین اطلاعات ، مستلزم داشتن توان دسترسی نه تنها به حجم وسیع اطلاعات ، بلکه در نظر گرفتن تأثیرات متقابل آنهاست . مدیریت انرژی جهان ، تغذیه و منابع انسانی از جمله مواردی است که بدون بکارگیری توان پردازش کامپیوترها و همچنین کمک از ذکاوتی که در استنتاجات و تصمیمگیریها به انسان کمک کند امکانپذیر نیست .
کامپیوتر نه تنها باید در محاسبات ساده و مهندسی کمک کند ، بلکه باید در محاسباتی که نشانگر نوعی هوش و ذکاوت است به عنوان ابزاری قابل اعتماد در کنار انسان باشد . به عنوان مثال در :
** تجارت :
پیشنهاد استراتژی مالی ، ارائه راهنمائیها یا توصیههای بازاریابی ، ارجاع مسائل خاص به گروههای تخصصی مربوطه ، خلاصه کردن اخبار ، تصحیح املائی ، انشایی و تدوین نهایی گزارشات .
** مهندسی طراحی :
چک کردن روشهای طراحی ، فراخوانی و بازیابی طراحیهای انجام شده ، ارائه توصیههایی در جهت بهینهسازی با استفاده از تجارب گذشته بمنظور افزایش قابلیت اعتماد و کیفیت محصول همچنین ، کاهش زمان طراحی و کمک در ایجاد محصول و یا محصولات جدید .
** مهندسی تولید :
تدوین فرآیندهای ساخت ، مطالعه روش مونتاژ و کنترل کیفیت و سایر فعالیتهای پشتیبانی تولید .
** مهندسی کشاورزی :
تدوین برنامه و زمان ضهزنی و سمپاشی ، کوددهی ، در تمامی فعالیتهای کشت ، داشت و برداشت ، مخصوصا برداشت محصولات مختلط و متنوع از یک مزرعه خاص .
** آموزش و تدریس :
بعنوان بهترین ابزار قابل انعطاف آموزشی و کتابی بزرگ در تمامی رشتههای علوم و مهندسی ، ابزاری مطمئن و جایگزین انواع میزها ، تابلوها و آزمایشگاههای برزگ در صنایع .
** بهداشت و درمان :
کمک در تشخیص بیماری و نوع درمان ، انتخاب بهترین آلترناتیو درمان ، مراقبتهای ویژه از بیماران و سایر فعالیتهای درمانی خصوصا تدوین روش در جراحیهای پیچیده مانند جراحی انواع تومورها ، جراحی در قاعده جمجمه و یا جراحی روی سلسله عصبی .
* سیستمهای خبره ( Expert or Knowledge Base System )
خبره کیست ؟ خبره ، کسی است که قادر است یک نوع مسئله خاص را حل کند . حلی مطمئن و قابل اعتماد . منشاء خبرهگی و مهارت آنها ، نتیجه تجربه سالیان ، کسب دقیق یک دانش خاص با جزئیات گسترده باشد . نمونه این گونه افراد پزشکان عمومی با سابقه ، جراحان حاذق ، طراحان ماشین مجرب ، و تحلیلگران نتایج آزمایشات در اکتشافات معادن تعمیرکاران تجهیزات تکنولوژیک و ... باشند .
متخصصیــن علوم کامپیوتر تعاریف متفاوتی را برای سیستمهای خبره ارائه نمودهاند . به زبان ساده ، میتوان گفت یک سیستم خبره عبارتست از سیستمی که :
1ـ بتواند یک مسئله واقعی دنیای امروز در زمینه مهندسی ، علوم ، سیاسی ، مالی و ... را که حل آن مستلــزم بکارگیـری و مشــاوره با افــراد خبره است ، تجزیــه و تحلیل نماید .
2ـ بتواند مسئلهای با خصوصیات فوق را با بکارگیری یک برنامه کامپیوتری که حاوی تجربه ، روش تجزیه و تحلیل و استدلالات یک خبره در آن زمینه خاص است ، به همان نتیجه برسد که یک فرد خبره رسد ، ( اگر مسئله به او ارجاع شد ) .
در حقیقت در طراحی و ایجاد یک سیستم خبره تلاش بر این است که ، برنامهای کامپیوتری تهیه شود ، که بتواند جزئیات تجربیات یک فرد خبره یا در حالت ایدهآل ، تجربه بشری در یک زمینه خاص را جمعآوری نموده و طبق یک نظام قانونمند به همان طریقی که در حافظه یک انسان خبره قرار دارد ، آنها را دستهبندی نموده ، و مجددا به همان روش استدلالی که فرد خبره آن تجربیات و دانش را بکار گرفت تا به یک راه حل خاص برای یک مسئله تخصصی معین برسد ، استدلال نموده و با خبرهگی و مهارت ارائه طریق نماید .
در بیست سال گذشته گروههای تحقیقاتی زیادی در زمینه هوش مصنوعی ، سیستمهای خبره متعددی که نیازمند تخصص و تجربه افراد خبره برای حل مسائل خاص باشند ، طراحی و توسعه دادهاند . از جمله ، در زمینههای تشخیص بیماری و تعیین روش درمان ( Medical Diagnosis & Treatment ) ، آنالیز ترکیبات و ساختارهای شیمیائـــــی ( Chemical Structure Analysis ) ، اکتشافــــات زمیـنشناســــی ( Geological Exploration ) ، انتخــاب نوع پیکربنــدی و ساختـــاری کامپیوتــــر ( Computer Configuration Seclection ) ، تشخیـص و تعمیر نوع عیوب کامپیوتــــر ( Computer Fault Diagnosis & Repair ) .
انتخاب موارد کاربردی برای طراحی و توسعه سیستمهای خبره بسیار زیاد است . در حقیقت هر زمان که تخصص یا دانش در یک زمینه یا زمینههای خاص مورد نیاز شدید بوده ولی تعداد مورد نیاز متخصص در دسترس نباشد ، سیستمهای خبره کامپیوتری توانند با ارائه مشاوره و راه حل ، دانش و تخصص مورد نیاز را در اختیار طیف بسیار گستردهتری قرار داده و رفع کمبود نمایند .
از جمله سیستمهای خبرهای که به میزان قابل توجهی مورد استفاده قرار گرفتهاند موارد ذیل قابل ذکرند :
1ـ سیستــــم PUFF ، با کاربـــرد در زمینه تستهـــای عملکــرد ریـــوی ( Pulmonary FunctionTests ) تهیه شده در مرکز درمانی پاسفیک دانشگــاه استنفورد ( Stanford / Pacific Medical Center ) .
2ـ سیستـــم MYCIN ، در زمینـــه معالجــــه بیماریهــای میکروبــــی ( Antimicrobial Therapy ) تهیه شده در استنفورد .
3ـ سیستم RI ، برای انتخاب پیکربندی یا ساختار کامپیوترهای VAX که توسط شرکت DEC و دانشگاه کارنیگـــی ( CMU ) تهیه شده است .
4ـ سیستم ACE ، برای کمک در زمینه
تعمیرات کابلهای تلفن که توسط آزمایشگاههای بل تهیه شده ( Bell Labs )
است .
*
نتیجـــه :
توسعه صنایع ، همراه با گسترش سازمانهای مختلف دیگری که برای تأمین نیازمندیهای روزافزون اجتماع پا به عرصه وجود نهادهاند ، مسائل سازمانی و مدیریت متعددی را ایجاد کرده است که حل و فصل آنها با دید علمی جامع و جهانی مدیریــــت" ارتباط مستقیم دارد . با توجه به کمبود نیروی انسانی و منابع انسانی و منابع مادی و توسعه مراکز خدماتی و تولیدی و به اقتضای پیشرفت تکنولوژی و تکامل ارزشهای فرهنگی ، استفاده از کامپیوتر بیش از هر زمان دیگر مورد توجه قرار گرفته است .
نرمافزار 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 بطور اجمالی معرفی و
موارد کاربردی آن همراه با مثالهای متعدد در اختیار قرار گیرد .
مأخذ: مدیریت بانکهای اطلاعاتی در ORACLE