انواع سیستم های مدیریت پایگاه داده ها (DBMS: بخش اول)- نگارش: مریم اسدی
1. مقدمه
از دیرباز مهمترین عامل در صنعت نرم افزار داده ها (دیتا) بوده است، لذا همیشه انتخاب بستری مناسب جهت ذخیره اطلاعات از اهمیت بالایی برخوردار بوده است. اولین تکنولوژی که در این خصوص شکل گرفت سیستمهای مدیریت فایل بود که هنوز هم توسط تعدادی از شرکتها و موسسات مورداستفاده قرار می گیرد. اینگونه سیستمها دارای ضعفهایی بوده و هست که در ذیل به برخی از آنها می پردازیم :
1- عدم کنترل صحت اطلاعات توسط خود سیستم .
2- ضریب ایمنی پایین داده ها: به طور مثال با خاموش کردن ناگهانی کامپیوتر و یا قطع و وصل برق در هنگام نوشتن ویا خواندن اطلاعات توسط سیستم اطلاعات از بین رفته یا خراب و بهم ریخته می شود.
3- ضریب ایمنی پایین سیستم: به طور مثال کاربران خبره تر می توانند خارج از محیط نرم افزار به تغییر اطلاعات پرداخته و سوء استفاده نمایند.
4- سرعت پایین در دسترسی به اطلاعات با افزایش داده ها.
5- عدم توانایی در نگهداری حجم زیاد اطلاعات
6-عدم توانایی در سرویس دهی به تعداد کاربر زیاد (این سیستمها معمولاً برای یک تا چهارکاربر بیشتر طراحی نشده است).
7- عدم توانایی در کنترل همزمانی سیستم هنگام استفاده در شبکه.
برخی از اینگونه سسیتم ها عبارتند از FoxPro ،dbase ،Paradox دارای ضعفهای ذکر شده بوده اند. از این رو، سیستمهای دیگری با نام سیستم مدیریت پایگاه داده[1] مطرح گردید. اینگونه سیستمها علاوه بر اینکه ضعفهای ذکرشده در بالا را رفع، بلکه امکاناتی را نیز به آن اضافه نموده اند. معروف ترین پایگاههای داده دردنیا عبارتند از Microsoft Access ، DB2، MySQL، Microsoft SQL Server، PostgreSQL، Oracle، Sybase است.
در این میان نرم افزار Microsoft Access یک سیستم مدیریت پایگاه داده مبتنی بر فایل و از نظر امنیتی و پردازش داده ها در حدپایین است و MYSQL و PostgreSQL از سیستم مدیریت پایگاه متن باز[2] هستند.
سیستم مدیریت پایگاه داده نرم افزار سیستمی است که برای مدیریت، سازماندهی، ذخیره، دسترسی، امنیت و یکپارچگی داده ها در یک پایگاه داده ساخت یافته مورد استفاده قرار می گیرد. به عبارتی سیستم مدیریت پایگاه داده ها یکی از انواع نرم افزارهای واسط بین محیط فیزیکی ذخیره و بازیابی اطلاعات و محیط منطقی برنامه سازی است (روحانی رانکوهی، 1380: 173). این نرم افزار به کاربر برنامه نویس امکان می دهد تا پایگاه داده های خود را تعریف و ایجاد کند، در پایگاه داده های خود عملیات انجام دهد و روی پایگاه داده های خود تا حدی کنترل داشته باشد
ماهیت سیستم های مدیریت پایگاه داده به طورچشمگیری از 1960 به عنوان مقتضیات برای ذخیره داده ها افزایش یافته است و فناوری که داده ها را ذخیره می نماید سرازیر شده اند. پایگاه داده می تواند مجموعه ای از فایل های یکنواختی که در یک کامپیوتر ذخیره شده است، باشد یا آن می تواند شامل جداول پایگاه داده باشد که بوسیله یک سیستم مدیریت پایگاه داده مدیریت می شود (اوپل[3]، 2009). انواع مختلفی از محصولات سیستم مدیریت پایگاه داده از قبیل رابطه ای، شبکه ای و سلسله مراتبی، شی گرا وجود دارد. گسترده ترین و متداول ترین نوع سیستم مدیریت پایگاه داده که امروزه مورد استفاده قرار می گیرد، سیستم های مدیریت پایگاه داده رابطه ای[4] است. برخی از سیستم های مدیریت پایگاه داده می توانند مستقیما با استفاده از زبان های برنامه نویسی مانند کوبول[5] ، C (لازم به ذکر است دو زبان ذکر شده از زبان های برنامه نویسی نسل سوم هستند)، و SQL در دسترس قرار گیرند. درحالیکه برخی دیگر زبان برنامه نویسی خودشان را برای ارتباط با پایگاه داده تهیه می کنند. امروزه اکثر سیستم های مدیریت پایگاه داده رابطه ای از زبان SQL برای ارتباط با پایگاه داده و کاربر استفاده می نمایند.
مقاله حاضر درنظر دارد در بخش اول به بیان ویژگی های عمومی و شاخص های بررسی عملکرد سیستم های مدیریت پایگاه داده پرداخته، و سپس به دلیل آنکه در حال حاضر در مدیریت پایگاه داده از زبان SQL برای ساختاربندی، کنترل داده های ذخیره شده، دسترسی داده ها و ... استفاده می شود، زبان مذکور را معرفی می کند. در بخش دوم با توجه به ویژگی های عمومی بیان شده سیستم های مدیریت پایگاه داده، برخی از پراستفاده ترین سیستم های مدیریت پایگاه داده را معرفی می نماید. در پایان قابلیت های انواع سیستم های مدیریت پایگاه داده ها به عنوان نتیجه گیری با یکدیگر مقایسه خواهد شد.
2. شاخص های بررسی عملکرد سیستم های مدیریت پایگاه داده
امروزه مرتبا شاهد عرضه سیستم های با نام های گوناگون تحت عنوان سیستم مدیریت پایگاه داده به مصرف هستیم. عدم اطلاع کافی خریداران و استفاده کنندگان چنین سیستمی از پارامترهای انتخاب سبب می شود تا اولا انتخاب سیستم مناسب برای یک محیط عملیاتی (سازمان) گاه براساس ملاحظات غیرعلمی و فنی صورت پذیرد و گاه نوعی سردرگمی در انتخاب بروز کند. ثانیا، نرم افزار خریداری شده منطبق با نیازهای محیط عملیاتی و پاسخگوی احتیاجات اطلاعاتی محیط نباشد، ثالثا از نرم افزار به هر حال انتخاب شده بطور بهینه بهره برداری نشود و پیامدهای نامطلبوبی بروز کند (رانکوهی، 1380: 198).
در معرفی شاخص ها، نوع مدل داده ای (رابطه ای- شبکه ای- سلسله مراتبی) را دخالت داده نمی شود، هر چند به خاطر رایج تر بودن سیستم های رابطه ای، بیشتر همین نوع سیستم موردنظر است. در بخش دوم مقاله نرم افزارهای سیستم مدیریت پایگاه داده معرفی شده و در پایان براساس شاخص های بیان شده مورد ارزیابی قرار خواهند گرفت. محورهای اصلی که برای مقایسه سیستم مدیریت پایگاه داده ها مهم می باشد در زیر اشاره می گردند. البته لازم به ذکر است که شاخص ها و پارامترهای دیگری نیز مطرح می باشد، اما شاخص های بیان شده عمومی تر و بیشتر در ارزیابی نرم افزارهای سیستم مدیریت پایگاه داده ها مورد توجه قرار می گیرد.
1. امکانات تعریف داده ها
2. انواع داده ای مورد پذیرش سیستم
3. امکانات عملیات در داده ها
4. نوع تراکنش ها و طرز مدیریت آنها
5. امکانات پردازش پرسش ها، بهینه سازی و زمان بهینه سازی آنها
6. امکانات دیکشنری داده ها
7. وضعیت سطح داخلی- فیزیکی پایگاه داده ها از نظر ساختار فایل ها، شیوه های دستیابی
8. معماری سیستم پایگاهی قابل ایجاد و مدیریت
9. محیط سخت افزاری و حداقل امکانات لازم
10. حداکثر تعداد کاربران همزمان
11. محیط سیستم عامل
12. تکنیک های کنترل همروندی
13. امکانات مدیریت پایگاه داده ها: کنترل جامعیت، ترمیم، ایمنی و حفاظت
14. تسهیلات طراحی پایگاه داده ها (طراحی منطقی و طراحی فیزیکی)
15. مکانیسم ادغام داده ای فرعی در زبان میزبان
16. مکانیسم مجازشماری کاربران
17. امکانات مورد نیاز مدیر پایگاه داده
18. امکانات نهان نگاری داده ها
19. طرز انجام عمل بهنگام سازی
20. امکانات تعامل با سیستم های دیگر
21. طرز نمایش نمایش نتایج عملیات (گرافیک، گزارش)
22. پذیرش زبان های نسل چهارم و پنجم
23. امکانات تولید برنامه های کاربردی
24. امکانات پشتیبانی تصمیم
25. امکانات تولید نسخه های پشتیبان و میزان سهولت تولید آن
26. امکانات پشتیبانی از XML
27. امکانات پردازش تحلیلی پیوسته(OLAP)
28. امکانات لازم برای تولید واسطهای کاربری
29. واسط های محیط برنامه سازی (مثل ODBC)
30. تسهیلات نرم افزاری دیگر
31. پشتیبانی تولید کننده
32. هزینه خرید
33. موقعیت در بازار تجاری (رانکوهی، 1380).
3. زبان SQL
محبوبیت رو به رشد SQL یکی از مباحث مهم در صنعت امروزی رایانه است. در عرض چند سال گذشته، SQL زبان استاندارد در پایگاه های داده کامپیوتری گردیده است. اکنون بیش از 100 محصول مدیریت پایگاه داده بر روی سیستم های کامپیوتری از کامپیوترهای شخصی تا کامپیوترهای بزرگ، SQL را پشتبانی می کنند و به عنوان زبان استاندارد برای پایگاه های داده رابطه ای شناخته شده است. بسیاری از مجلات، در عنوان های خود پیدایش SQL را به عنوان یک زبان تبریک می گویند.
1.3. تاریخچه زبان SQL
نظریات کاد[6] غوغایی درزمینه تحقیق در باب پایگاه داده رابطه ای ایجاد نمود، که از آن جمله پروژه تحقیقاتی درIBM بود. هدف پروژه که به نامSystem/R نامیده می شد، این بود که ثابت کند مفهوم رابطه ای قابل اجرا بوده و نیز ارائه تجربیاتی عملی در زمینه ایجاد یک سیستم مدیریت پایگاه داده رابطه ای بوده است. کاربر رویSystem/R در نیمه دهه 1970 در لابراتوارهای S’Santa Tersa IBM در San Jose کالیفرنیا آغاز گرديد.
در 1974 و 1975 فاز اول پروژه System/R نمونه کوچکی از یک سیستم مدیریت پایگاه داده رابطه ای راتولید نمود. علاوه بر خود سیستم مدیریت پایگاه داده پروژه System/R شامل کار برروی زبان های پرسشی پایگاه داده نیز بود. یکی از این زبانها بنام SEQUEL یا Structured English Query Language بود. درسال های 1976و1977 پروژه تحقیقاتیSystem/R بازنویسی گردید. در ساختار جدید پرسشهای چند جدولی نیز پیشتیبانی می شد و چندین کاربر می توانستند به طور اشتراکی از داده ها استفاده نمایند.
سیستم System/R بین چندین مشتریIBM توزیع شد تا درسال های 1978 و 1979 مورد ارزیابی قرار گیرد. این مشتریان مقداری تجربه عملی با System/R و زبان پایگاه داده آن کسب نمودند. که بهSQL [7] تغییر نام داده بود. علیرغم تغییر نام، تلفظ SEQUEL باقی ماند، و تا امروز نیز ادامه دارد. در 1979 پروژه تحقیقاتی System/R به پایان رسید، و IBM نتیجه گرفت که پياده سازی پایگاه داده رابطه ای نه تنها عملی است، بلکه می تواند پایه ای باشد برای یک محصول تجاری مفید. پروژه System/R و زبان پایگاه داده SQL آن، در مطبوعات فنی در دهه 1970 مورد توجه زیادی قرار گرفت.
سمینارهایی در زمینه تکنولوژی پایگاه داده و مباحثاتی در مورد مزایای مدل رابطه ای جدید برگزار گردید. تا سال 1976 آشکار بود که IBM طرفدار جدی تکنولوژی پایگاه داده رابطه ای بوده، توجه زیادی نسبت به زبانSQL دارد. تبلیغات در زمینه System/R باعث جذب گروهی از مهندسین در Menlo Park در کالیفرنیا گردید، و این گروه به این نتیجه رسیدند که تحقیقات IBM منجر به یک بازار تجاری برای پایگاه های داده رابطه ای خواهد گردید.
در سال 1977 این گروه شرکتی بنام شرکت نرم افزار رابطه ای [8]تاسیس نمودند تا یک سیستم مدیریت پایگاه داده رابطه ای براساسSQL بسازند. محصولی بنام Oracle در1979 عرضه گردید، و اولین سیستم مدیریت پایگاه داده رابطه ای بوجود آمد. به این ترتیب محصول Oracle باعث گردید اولین محصول IBM برای مدت دو سال در بازار دچار رکود باشد. این محصول بر روی مینی کامپیوترهایVAx Digital’s اجرا می شد که خیلی از کامپیوتر های بزرگ IBM ارزان تر بودند. امروزه این شرکت با نام شرکت اوراکل اولین فروشنده سیستم های مدیریت پایگاه داده رابطه ای است. استادان آزمایشگاه های کامپیوتر در دانشگاه برکلی کالیفرنیا نیز در نیمه دهه 1970 مشغول تحقیق در زمینه پایگاه های داده رابطه ای بودند. (مانند تیم تحقیق IBM)، گروه فوق نیز یک نمونه از سیستم مدیریت پایگاه داده رابطه ای ایجاد نمودند و سیستم خود را Ingres نام نهادند. پروژه Ingres شامل یک زبان پرسش یا به نام QUEL[9] بود، اگر چه از SQL خیلی ساخت یافته تر بود، اما شباهت آن به زبان انگلیسی کمتر بود.
در حالیکه Oracle وIngres برای ارائه محصولات تجاری در رقابت بودند، پروژه System/R شرکت IBM در تلاش بوده است که یک محصول تجاری با نام SQL/DS [10] عرضه نماید. موجودیت SQL/DS را در سال 1981 اعلام، و در 1982 شروع به عرضه محصول خود نمود. در سال ،1983 IBM یک نسخه SQL/DS را برای VM/CMS سیستم عاملی که در کامپیوتر بزرگ IBM غالبا استفاده شده بود اعلام نمود.
همچنین در سال 1983 شرکتIBM ، محصولDatabase2 یاDB2 را معرفی نمود که یک سیستم مدیریت پایگاه داده رابطه ای بود. اولین نسخه DB2در 1985 عرضه گردید، و مسئولین IBM اعلام نمو دند که این محصول یک برنامه استراتژیک برای تکنولوژی نرم افزاری IBM می باشد.DB2 از آن تاریخ تاکنون سیستم مدیریت پایگاه داده رابطه ای شاخص بوده و IBM از آن حمایت نموده و زبان DB2’s SQL استاندارد عملی زبان پایگاه داده بوده است (ویکی پدیا زیر مدخل SQL،2010).
2.3 . تعریف و ویژگی های SQL
SQL يک زبان ساخت يافته برای بازيابی و بهنگام سازی داده از يک پايگاه داده رابطه ای است. دستوراتی برای ايجاد، حذف و تغيير اشيای مختلف در پايگاه داده دارد. یا یک زبان جستجويي ساخت يافته است و به کاربر امکان اتصال و دسترسی به اطلاعات موجود در يک پايگاه داده را می دهد، قادر است تا برای يک پايگاه داده عمل جستجو و گزينش اطلاعات را انجام دهد و همچنين اطلاعات ذخيره شده در يک پايگاه داده را بازيابی، حذف، ذخيره، اضافه و يا به روز کند و در مجموع یک استاندارد بین المللی از موسسه استاندارد ملی آمریکا[11] است (کراف و وینبرگ[12]، 1374).
به بیان دیگر، SQL وسیله ای است برای سازماندهی، مدیریت و بازیابی داده های که توسط پایگاه داده در کامپیوتر ذخیره شده اند. نام SQL از عبارت زبان پرسش ساختاریافته[13] گرفته شده است. SQL به شکل سی کوال (Sequel ) و نیز به شکل S. Q. L. تلفظ می شود. همانطورکه از نام آن برمی آید، SQL یک زبان رایانه ای است که برای کار با یک پایگاه داده از آن استفاده می شود. در حقیقت SQL با یک نوع پایگاه داده به نام پایگاه داده رابطه ای[14] کار می کند. شکل 1 کاربرد SQL را نشان می دهد. در این شکل سیستم کامپیوتری دارای یک پایگاه داده است که اطلاعات مهمی را ذخیره می کند. اگر سیستم کامپیوتری مربوط به یک کار تجاری باشد، پایگاه داده داده های مربوط به انبارداری، تولید، فروش و یا حقوق و دستمزد را نگهداری می کند. برنامه کامپیوتری که پایگاه داده را کنترل می کند، سیستم مدیریت پایگاه داده[15] و یا اختصارا DBMS نامیده می شود.
Database |
Database Management System (Computer System) |
SQL Request |
Data |
شکل1. کاربرد زبان SQL
وقتی می خواهید داده هایی را از پایگاه داده بازیابی کنید، برای اجرای کار نیاز به SQL دارید. سیستم مدیریت پایگاه داده پرسش SQL را مورد پردازش قرار داده، داده های موردنظر را بازیابی نموده، و نتیجه را به شما برمی گرداند. این نوع پردازش داده های درخواستی از یک پایگاه داده و دریافت نتایج، یک پرسش از پایگاه داده[16] است، به همین دلیل زبان پرسش ساختاریافته نامیده می شود.
از SQL برای کنترل تمام عملیاتی استفاده می شود که یک سیستم مدیریت پایگاه داده برای کاربران خود فراهم می کند، از آن جمله:
1. تعریف داده ها[17]: کاربر توسط SQL می تواند ساختار و سازمان داده های ذخیره شده را تعریف نموده و روابط بین آنها داده ها را تعیین کند.
2. بازیابی داده ها[18]: توسط SQL یک کاربر و با یک برنامه کاربردی می تواند داده های ذخیره شده در یک پایگاه داده را بازیابی نموده و از آنها استفاده کند.
3. دستکاری روی داده ها[19]: یک کاربر با یک برنامه کاربردی می تواند با ساتفاده از SQL با افزودن داده های جدید، حذف داده های قبلی و اصلاح داده های ذخیره شده یک پایگاه داده را تغییر دهد.
4. کنترل دستیابی کاربران به داده ها[20]: با استفاده از SQL می توان توانایی کاربر را برای بازیابی و تغییر داده ها محدود نموده و مانع دستیابی افراد غیرمجاز به داده های ذخیره شده گردید.
5. استفاده اشتراکی از داده ها[21]: با استفاده از SQL می توان داده ها را بطور هم زمان برای استفاده کاربران مختلف، در اختیار آنها قرار داد، با اطمینان از اینکه کاربران با یکدیگر برخوردی نداشته باشند.
6. حفظ امنیت و انسجام داده ها[22]: SQL باعث می شود که در صورت قطع برق یا تغییرات غیرمترقبه، داده های پایگاه داده آسیبی نبینند. لذا SQL زبانی است برای کنترل و تاثیرگذاری متقابل با یک سیتم مدیریت پایگاه داده (کراف و وینبرگ، 1374).
3.3. نقش SQL
SQL خود یک سیستم مدیریت پایگاه داده نیست، درضمن محصولی هم نیست که به تنهایی قابل استفاده باشد. یعنی اینکه نمی توانید SQL را از جایی خریداری کنید، بلکه SQL جزءلاینفک یک سیستم مدیریت پایگاه داده است و نیز زبان و ابزاری است برای ارتباط با سیستم مدیریت پایگاه داده.
موتور پایگاه داده[23] قلب سیستم مدیریت پایگاه داده بوده و مسئولیت عملی برای سازماندهی، ذخیره سازی، و بازیابی داده ها را بر روی دیسک دارد. این موتور درخواست های SQL را از اجزاء دیگر سیستم مدیریت پایگاه داده مانند برنامه تهیه کننده گزارش، یا ابزار سازنده پرسش، از برنامه های مربوط به برنامه های کاربردی که کاربر نوشته، و حتی از سیستم های کامپیوتری دیگر، دریافت می کند. SQL نقش های متعددی بازی می کند:
1. SQL یک زبان پرسشی محاوره ای می باشد. بدین ترتیب که کاربران، دستورات SQL را در یک برنامه محاوره ای می نویسند تا داده ها را بازیابی نموده و آنها را روی صفحه نمایش، نشان داده، و در واقع SQL ابزار ساده ای برای اجرای پرسش های پایگاه داده می باشد.
2. SQL یک زبان برنامه نویسی پایگاه داده است. برنامه نویسان با قراردادن دستورات SQL در برنامه های کاربردی می توانند به داده های یک پایگاه داده دسترسی داشته باشند. از این تکنیک هم در برنامه هایی که کاربران می نویسند و هم در برنامه های مربوط به پایگاه داده برا یدستیابی به پایگاه داده می توان استفاده نمود.
3. SQL یک زبان مدیریت پایگاه داده است. برای مدیریت پایگاه داده مینی کامپیوتر یا پایگاه داده کامپیوتر کامپیوتر بزرگ، از SQL استفاده می شود تا ساختار پایگاه داده و کنترل داده های ذخیره شده تعیین شود.
4. SQL یک زبان سرویس گیرنده/سرویس دهنده[24] می باشد. در برنامه های کامپیوترهای شخصی از SQL استفاده می شود تا در شبکه محلی با سرورهای پایگاه داده که داده های مشترک را ذخیره می کنند، ارتباط برقرار شود. بسیاری از برنامه های جدید کاربردی از این ویژگی استفاده می کنند تا ترافیک شبکه را کاهش داده و باعث شوند که کامپیوترها و سرورها وظایف خود را بخوبی انجام دهند.
5. SQL یک زبان پایگاه داده شبکه ای است. سیستم های مدیریت پایگاه داده شبکه ای برا یکمک به امر توزیع داده ها در سیستم های کامپیوتری متعدد از SQL استفاده می کنند. نرم افزار سیستم مدیریت پایگاه داده سیستم مدیریت پایگاه داده موجود در سیستم ها برای ارتباط با سیستم های دیگر و جهت دستیابی به داده ها از SQL استفاده می کنند.
6. SQL یک زبان برای هماهنگی بین محصولات مختلف: در یک شبکه کامپیوتری که از محصولات مختلف سیستم مدیریت پایگاه داده استفاده می کنند، غالبا از SQL در یک بزرگراه اطلاعاتی[25] استفاده می شود تا یک نوع سیستم مدیریت پایگاه داده بتواند با نوع دیگر ارتباط برقرار نماید. SQL به این ترتیب به عنوان ابزار قوی و مفید برای مرتبط برای مرتبط نمودن افراد، برنامه های کامپیوتری، و سیستم کامپیوتری به داده های ذخیره شده در پایگاه داده رابطه ای شناخته شده است (کراف و وینبرگ، 1374).
4.3. ساختار و اجزاي مهم مورد استفاده در زبان SQL
1. جدول[26] : جداول مهمترين عناصر سيستم های پايگاه داده هستند، که برای ذخيره و نگهداری سازمان يافته اطلاعات مورد استفاده ها قرار می گيرند. جداول دارای سطر و ستون هستند و توسط يک نام منحصر به فرد در سطح برنامه شناسايي می شوند. که هر جدول دارای فیلد و رکورد مربوط به یک موجودیت خاص است. به طور مثال در محيط پايگاه داده دانشگاه، انواع موجوديت ها عبارتند از : دانشجو ، درس ، استاد ، دانشکده و ...است.
2. درخواست (کوئری)[27] : از درخواست برای ايجاد يک پرسش و جستجو در جدول و استخراج اطلاعات مورد نظر استفاده می شود. نتايج حاصل از یک درخواست (کوئری) در يک جدول موقت که دارای فيلد ها و سطر های واجد شرايط جستجو است، نمايش داده می شود. برای مثال مشخصات دانشجویانی که درس مدیریت پایگاه داده را گذارانده اند که برای این منظور از یک درخواست (کوئری) استفاده می شود. عمده دستورات SQL برای ایجاد و مدیریت درخواست (کوئری) استفاده می شوند.
3. دستورات در زبان SQL: این زبان در حدود 30 دستور دارد. هر دستور عمل خاصی را در سیستم پایگاه داده درخواست می کند، مانند ایجاد یک جدول، بازیابی داده ها و ... تمام دستورات دارای یک شکل اولیه و با یک فعل یا کلمه کلیدی شروع می شود که این فعل آنچه را دستور انجام می دهد بیان می کند (آموزش زبان SQL، 1389). این دستورات به قرار زیر می باشد:
زبان دستکاری اطلاعات[28]: این بخش از دستورات SQL، شامل دستوراتی برای به روزکردن، ورود اطلاعات و یا حذف رکوردها در محیط پایگاه داده است. عمده دستورات این بخش عبارتند از :
Ø Select: برای استخراج اطلاعات از یک جدول پایگاه داده مورد استفاده قرار می گیرد.
Ø Update: برای به روزکردن اطلاعات یک جدول پایگاه داده مورد استفاده قرار می گیرد.
Ø Delete: برای حذف اطلاعات از یک جدول پایگاه داده مورد استفاده قرار می گیرد.
Ø Insert: برای ورود اطلاعات به یک جدول پایگاه داده مورد استفاده قرار می گیرد.
زبان تعریف اطلاعات [29] : این قسمت شامل دستورات زبان SQL برای ایجاد یا حذف جداول از پایگاه داده مورد استفاده قرار می گیرد. از این قسمت همچنین می توان برای تعریف ایندکس ها، ایجاد ارتباط و پیوند بین جدول ها و یا ایجاد محدودیت محدودیت های دسترسی استفاده می شود. دارای 11 دستور است که عمده دستورات این بخش عبارتند از:
Ø Creat Table: برای ایجاد جدول جدید به کار می رود.
Ø Alter Table: برای تغییر اطلاعات موجود در یک جدول به کار می رود.
Ø Drop Table: برای حذف یک یا چند جدول از پایاگاه داده به کار می رود.
Ø Index Create: برای ایجاد اندکس یا کلیدواژه در یک جدول به کار می رود.
Ø Drop Index: برای حذف ایندکس یا کلیدواژه در یک جدول به کار می رود و ....
زبان کنترل داده ها[30]: این قسمت شامل دستوراتی است که جنبههای اجازه دسترسی به دادهها را مشخص میکند و تعیین میکند کدام کاربر میتواند روی پایگاه داده عملیات انجام دهد یا کدام کاربر تنها میتواند قابلیت خواندن آنها را داشته باشد. عمده دستورات این بخش عبارتند از:
Ø GRANT: اجازه دادن به یک یاچند کاربر برای اجرا کردن یک یا مجموعهای ازدستورات بر روی یک شی.
Ø REVOKE: حذف یا محدود کردن قدرت اجرای کاربران.
کنترل مبادله داده ها[31]:
Ø Commtt: تراکنش فعلی را خاتمه می دهد
Ø Rollback: تراکنش فعلی را رها می سازد.
SQL برنامه نویسی: که دارای 8 دستور برنامه نویسی است (کراف و وینبرگ، 1374)..
5.3. قابلیت ها و مزایای SQL
1. سازگاری با اکثر پایگاههای داده مثل SQL Server,Oracle و حتی MS ACCESS
2. قابلیت استفاده در انواع سیستم های کامپیوتری: فروشندگان سیستم مدیریت پایگاه داده که براساس SQL می باشند، تولید خود را بر روی انواع سیستم های کامپیوتری از کامپیوترهای شخصی و ایستگاه های کاری تا شبکه ها بزرگ و کوچک عرضه می کنند.
3. استانداردهای SQL: یکی از موارد مهم برای پذیرش SQL در بازار، استانداردهای SQL می باشد. و آن بدین معناست که استاندارد رسمی توسط موسسه استانداردهای ملی آمریکا (ANSI) و سازمان استانداردهای بین المللی ISO، پذیرفته شده است. اما استانداردهای دیگری برای SQL وجود دارد که از آن جمله SQL توسط SSA [32] و استاندارد X/OPEN برای SQL تحت یونیکس[33] تعریف گردید.
4. پایه و اساس رابطه ای: SQL زبانی است برای پایگاه های داده رابطه ای و به عنوان یک مدل در این پایگاه ها مشهور شده است. ساختار جدولی یا سط و ستونی آن برای کاربران قابل درک بوده و باعث می شود که این زبان ساده و قابل درک باشد.
5. ساختار سطح بالا و شباهت به زبان انگلیسی: دستورات این زبان شبیه جملات ساده انگلیسی می باشد و به همین دلیل یادگیری و درک آن آسان گردیده است.
6. درخواست های تعاملی (محاوره ای)و موردی: SQL زبانی است محاوره ای و پرسشی که کاربران توسط آن می توانند به داده های ذخیره شده دسترسی موردی داشته باشند. با استفاده از آن یک کاربر می تواند در عرض چندثانیه پاسخ سوالات پیچیده ای را تهیه کند که برنامه نویسان برای نوشتن برنامه روزها وقت صرف کردند.
7. زبان کامل یک پایگاه داده: SQL ابتدا به عنوان یک زبان پرسشی موردی ساخته شد اما قابلیت های فعلی آن فراتر از کار بازیابی داده ها است. آن یک زبان کامل برای ایجاد پایگاه داده، مدیریت صحیح آن، تغییر محتوای آن، و در شبکه قرار دادن داده ها در بین کاربران مختلف است. مفاهیم آن یک قسمت از این زبان را شامل می شود، قابل تعمیم به دیگر دستورات آن نیز می باشد.
8. ساختار سرویس دهنده/سرویس گیرنده: در این حالت نقش SQL ارتباط سیستم های کامپیوتری جلو صحنه[34] است که جهت کار کاربر طراحی شده، با سیستم های پشت صحنه[35] که مخصوص مدیریت پایگاه داده است، بطوری که هر سیستم کار خود را به نحواحسن انجام می دهد. بوسیله SQL کامپیوترهای شخصی می توانند به عنوان جلوصحنه برای مینی کامپیوترها و کامپیوترهای بزرگ پایگاه داده عمل کرده، از داده های موجود در کامپیوترهای شخصی بطور اشتراکی استفاده نمایند (کراف و وینبرگ، 1374).
5.3. معایب زبان SQL:
در کاربرد عملی از SQL معایب زیر بر آن وارد است:
Ø دستورات نحوی[36] آن تا حدی مشکل است به نحوی که گاهی آنرا با کوبول مقایسه میکنند،
Ø شیوه استانداردی را برای دستورات چند تکه بزرگ ندارد،
Ø نمونههای مختلف آنها که توسط فروشندگان مختلف ارائه میشود گاهی با هم سازگاری ندارد،
Ø وجود برخی دستورات بلند،
Ø اشتباه گرفتن وظیفههای دستوراتی مثل UPDATE وINSERT . (کراف و وینبرگ، 1374).