مقاله مروری بر سیستمهای بانک اطلاعاتی و مزایای Oracle در pdf دارای 27 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد مقاله مروری بر سیستمهای بانک اطلاعاتی و مزایای Oracle در pdf کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است
توجه : در صورت مشاهده بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی مقاله مروری بر سیستمهای بانک اطلاعاتی و مزایای Oracle در pdf ،به هیچ وجه بهم ریختگی وجود ندارد
بخشی از متن مقاله مروری بر سیستمهای بانک اطلاعاتی و مزایای Oracle در pdf :
مروری بر سیستمهای بانک اطلاعاتی و مزایای 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 از این نوع ، قابل ذکر هستند .
* هوش مصنوعی ( 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
http://www.docs.hbi.ir/docs/db/rport/doc/database-report-v01.DOC
2) معــرفـی POSGRESQL :
معــرفـی POSGRESQL با سوالاتی که اغلب در مورد PostgreSQL پرسیده می شوند:
نگهدارنده اصلی فایل (زبان انگلیسی)در حال حاضر : Bruce Momjian pgman@candle.pha.pa.us
نگهدارنده فایل به زبان فارسی: m.taghizadeh@imenafzar.net محمود تقیزاده مهرجردی
آخرین نسخه این فایل را میتوانید از این آدرس بگیرید http://www.PostgreSQL.org/docs/faqs/FAQ.html
سوالاتی که در مورد یک سکوی(پلتفرم) خاص است در این آدرس جواب داده شده اند http://www.PostgreSQL.org/docs/index.html
——————————————————————————–
سوالات عمومی
11) PostgreSQL چیست و چگونه باید آن را تلفظ کرد؟
12) قانون کپی رایت (حقوق معنوی) در مورد PostgreSQL به چه صورت است؟
13) PostgreSQL روی چه نوع یونیکسهایی اجرا میشود؟
14) روی چه محیطهای غیر یونیکسی میتوان آن را اجرا کرد؟
15) PostgreSQL را از کجا میتوانم بگیرم؟
16) از کجا خدمات پشتیبانی بگیرم؟
17) آخرین نسخه اعلام شده چیست؟
18) چه مستندات و راهنمائیهایی وجود دارند؟
19) چگونه میتوانم ازاشکالات شناخته شده و یا امکاناتی که در این پایگاه داده وجود ندارد مطلع شوم؟
110) چگونه میتوانم زبان SQL را یاد بگیرم؟
111) آیا PostgreSQL مشکل Y2K دارد یا خیر؟
112) چگونه میتوانم به تیم برنامه نویس PostgreSQL ملحق شوم؟
113) چگونه میتوانم یک اشکال را به گروه برنامه نویس اعلام کنم؟
114) وضعیت PostgreSQL در مقایسه با سایر DBMSها به چه صورت است؟
115) من چگونه میتوانم از نظر مالی به PostgreSQL کمک کنم؟
سوالات مربوط به استفاده از پایگاه داده
21) آیا هیچ درایور ODBC برای PostgreSQL وجود دارد؟
22) چه ابزارهایی برای استفاده از PostgreSQL با صفحات وب وجود دارد؟
23) آیا PostgreSQL یک واسط کاربری گرافیکی دارد؟
24) با چه زبانهای برنامهنویسی میتوان با PostgreSQL ارتباط برقرار کرد؟
سوالات مربوط به راهبری
31) چگونه میتوانم PostgreSQL را در شاخهای غیر از /usr/local/pgsql/ نصب کنم؟
32) چرا موقعی که من برنامه postmaster را اجرا می کنم پیام Bad system call و یا core dump میگیرم؟
33) چرا موقعی که من سعی میکنم برنامه postmaster را اجرا کنم خطای IpcMemoryCreate میگیرم؟
34) چرا موقعی که من سعی میکنم برنامه postmaster را اجرا کنم خطای IpcSemaphoreCreate میگیرم؟
35) چگونه میتوانم اتصالات سایر ماشینها را کنترل کنم؟
36) برای کارایی بالاتر و بهتر پایگاه داده من چه تنظیماتی را باید انجام دهم؟
37) چه امکاناتی برای پیدا کردن اشکال وجود دارد؟
38) چرا موقعی که من میخواهم به پایگاه داده وصل شوم پیام “Sorry, too many clients” میگیرم؟
39) در شاخه pgsql_tmp چه چیزی قرار دارد؟
310) چرا برای به روز کردن نسخه پایگاه داده من باید کل داده ها را dump و مجدداً restore کنم؟
311) از چه سخت افزاری باید استفاده کنم؟
سوالات عملیاتی
41) تفاوت بین binary cursors و Normal cursors چیست؟
42) من چگونه میتوانم فقط روی چند ردیف اول یا یک ردیف تصادفی درخواست SELECT بزنم؟
43) من چگونه میتوانم لیستی از جداول یا سایر چیزهایی که در psql وجود دارد را ببینم؟
44) چگونه یک ستون جدول را حذف میکنید؟ چگونه نوع داده آن را عوض کنیم؟
45) حداکثر اندازه یک ردیف، جدول و خود پایگاه داده چقدر است؟
46) چقدر فضای دیسک سخت برای ذخیره کردن دادههای یک فایل متنی مورد نیاز است؟
47) چگونه میتوانم بفهمم که چه کاربران، پایگاه داده، نمایه و جداولی در سیستم تعریف شده است؟
48) چرا درخواستهای من کند اجرا میشوند یا چرا از نمایه ها استفاده نمیکنند؟
49) چگونه میتوانم نحوه بررسی درخواست را توسط بهینهساز درخواستها مشاهده کنم؟
410) نمایه R-tree چیست؟
411) بهینه ساز تکوینی درخواست چیست؟ (Genetic Query Optimizer)
4.12) چگونه از عبارات منظم برای جستجو استفاده کنم؟ چگونه جستجویی انجام دهم که حساس به متن نباشد؟ چگونه برای یک جستجوی غیر حساس به متن از نمایه استفاده کنم؟
413) چگونه میتوانم در یک درخواست تشخیص دهم که یک فیلد NULL است؟
414) تفاوت بین گونههای مختلف character چیست؟
4151) چگونه میتوانم یک فیلد سریال یا افزایشی ایجاد کنم؟
4152) چگونه میتوانم مقدار یک درج سریالی را بدانم؟
4153) آیا توابع ()nextval و ()currval منجر به ایجاد شرایط race برای سایر کاربران می شوند؟
4154) چرا اعداد سریالی مربوط به تراکنشهای abort شده مجدداً استفاده نمی شود؟ چرا بین اعداد سریالی یک فاصله خالی ایجاد می شود؟
416) OID و TID چه هستند؟
417) معنی بعضی از ترمها و کلماتی که در PostgreSQL استفاده میشود چیست؟
418) چرا من خطای “ERROR: Memory exhausted in AllocSetAlloc” میگیرم؟
419) از کجا تشخیص دهم که ویرایش یا نسخه PostgreSQLیی که من استفاده میکنم چیست؟
420) چرا در حین اجرای عملیات روی large-objectها خطای “invalid large obj descriptor”به وجود می آید؟
421) چگونه یک ستون ایجاد کنم که مقدار زمان جاری را به عنوان مقدار پیشفرض داشته باشد؟
422) چرا زیر درخواستهایی که از IN استفاده میکنند کند هستند؟
423) چگونه میتوانم یک الحاق خارجی (outer join) انجام دهم؟
424) چگونه میتوان درخواستهایی از چند پایگاه داده تولید کرد؟
425) چگونه خروجی یک تابع میتواند چند ردیف یا ستون باشد؟
426) در توابع PL/PgSQL چرا نمیتوان با اطمینان جداول موقت را ایجاد یا حذف کرد؟
427) چه گزینههایی برای تکرار (replication) وجود دارد؟
428) چه گزینههایی برای رمزنگاری وجود دارد؟
توسعه PostgreSQL
5.1) من یک تابع نوشتهام. چگونه آن را در psql اجرا کنم؟ چرا با اجرای آن core dump میگیرم؟
52) چگونه میتوانم در تولید نوعها و توابع جدید و جالب برای PostgreSQL همکاری و مشارکت داشته باشم.
53) چگونه میتوانم یک تابع به زبان C بنویسم که خروجی آن یک tuple (چند تایی) باشد؟
54) من یک فایل منبع را عوض کرده ام چرا در عملیات کامپیل مجدد آن تغییر دیده نمیشود؟
——————————————————————————–
سوالات عمومی
11) PostgreSQL چیست و چگونه آن را باید تلفظ کرد؟
PostgreSQL به صورت Post-Gres-Q-L تلفظ میشود. یک فایل صوتی در آدرس http://www.postfresql.org/postgresql.mp3 برای کسانی که مایلند تلفظ صحیح را بشنوند وجود دارد.
PostgreSQL از روی سیستم مدیریت پایگاه داده POSTGRES توسعه داده شده است (هنوز هم بعضی مواقع برای سادگی به آن Postgres گفته میشود) که یک نمونه تحقیقاتی از پایگاه دادههای نسل بعد است. PostgreSQL همان الگوی داده قوی و انواع داده را حفظ کرده است ولی زبان PostQuel را با یک زیرمجموعه پیشرفته از SQL جایگزین کرده است. PostgreSQL متن باز بوده و متن کامل آن در دسترس است.
PostgreSQL توسط یک تیم برنامهنویس که همگی در گروه پست الکترونیک برنامهنویسان PostgreSQL عضو هستند، انجام میشود. هماهنگ کننده اصلی در حال حاضر Marc G. Fournier به آدرس scrappy@PostgreSQL.org میباشد. (برای دیدن نحوه ملحق شدن به این تیم قسمت 16 را ببینید). این تیم در حاضر مسئولیت تمام مسائل مربوط به برنامهنویسی PostgreSQL را بر عهده دارد. این یک پروژه گروهی است و تحت کنترل هیچ شرکتی نیست. برای اطلاعات بیشتر در مورد این تیم به آدرس http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html مراجعه کنید.
اولین نسخه PostgreSQL توسط Andrew Yu and Jolly Chen به وجود آمد. افراد بسیاری در توسعه و رفع اشکال و انتقال آن شرکت کردهاند. متن اصلی Postgres که PostgreSQL از روی آن نوشته شده است، توسط تعداد زیادی دانشجوی کارشناسی ارشدو دانشجوی کارشناسی و تیم برنامهنویسی که تحت نظر پروفسور Michael Stonebrake در دانشگاه برکلی،کالیفرنیا کار میکردهاند نوشته شده است.
نام اصلی نرم افزار در دانشگاه برکلی Postgres بود. در سال 1995 بعد از اضافه شدن SQL نام آن به Postgres95 تغییر داده شد. در سال 1996 نام آن به PostgreSQL تغییر داده شد.
12) قوانین کپی رایت در مورد PostgreSQL به چه صورت است؟
PostgreSQL تحت قانون کپی رایت زیر قرار دارد:
PostgreSQL Data Base Management System
Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN “AS IS” BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
قانون بالا لیسانس BSD که یک لیسانس کلاسیک برای متنهای باز است میباشد. هیچ محدودیتی در مورد نحوه استفاده از متن در آن دیده نمیشود. ما آن را دوست داریم و هیچ قصدی برای تغییر آن نداریم.
13) PostgreSQL روی چه نوع یونیکسهایی اجرا میشود؟
در حالت کلی PostgreSQL روی هر پلتفرم (سکوی) سازگار با یونیکس اجرا میشود. لیست پلتفرمهایی که تاکنون PostgreSQL روی آنها نصب و تست شده است درقسمت دستورالعملهای نصب آمده است.
14) روی چه محیطهای غیر یونیکسی میتوان آن را اجرا کرد؟
Client
میتوان psql, کتابخانه libpq و سایر واسطها و برنامههای کاربردی را طوری کامپیل کرد که روی محیطهای ویندوز نیز اجرا شوند. در این حالت Client روی ویندوز اجرا میشود و از طربق شبکه و پروتکل TCP/IP با یک سرور که روی یک پلتفرم لینوکس در حال اجراست ارتباط برقرار میکند.یک فایل win32.mak همراه با کدهای PostgreSQL وجود دارد که برای کامپیل کردن کتابخانه libpq و برنامه psql میباشد. PostgreSQL همچنین امکان ارتباط به صورت ODBC را نیز دارد.
کلمات کلیدی :