Sql:1999

SQL:1999 (که SQL 3 نیز نام دارد) چهارمین ویرایش زبان پرس و جو(query) پایگاه داده SQL است. خیلی از ویژگی های جدید را معرفی کرد که بسیاری از آنها نیاز به توضیح در SQL:2003 داشتند. در این لحظه،[نیازمند شفاف‌سازی] SQL:1999 منسوخ شده است

خلاصه

[ویرایش]

اسناد استاندارد ISO بین سالهای 1999 و 2002 در چندین قسمت منتشر شد که اولین قسمت خود شامل چندین بخش بود. بر خلاف نسخه های قبلی، برای سازگاری با نام سایر استانداردهای ISO،نام استاندارد ان به جای خط فاصله (-)از دو نقطه استفاده می کند. اولین قسمت SQL:1999 دارای پنج بخش بود:


سه بخش دیگر که همچنین بخشی از SQL:1999 در نظر گرفته می شوند بعد از ان منتشر شدند:

ویژگی های جدید

[ویرایش]

انواع داده ها

[ویرایش]

داده های Boolean

[ویرایش]

استاندارد SQL:1999 نوع داده Boolean را استفاده می‌کند [۱]، اما بسیاری از سرورهای تجاری اس کیو ال (Oracle Database, IBM Db2) آن را به‌عنوان نوع داده برای یک ستون یا نوع متغیر پشتیبانی نمی‌کنند یا آن را در مجموعه نتایج مجاز نمی‌دانند. Microsoft SQL Server یکی از معدود سیستم های پایگاه داده است که با استفاده از داده "BIT" خود از مقادیر BOOLEAN به درستی پشتیبانی می کند . هر فیلد 1 تا 8 بیت، یک بایت کامل از فضای دیسک را اشغال می کند. MySQL بولین(Boolean) را مترادف TINYINT (اعداد علامت دار 8 بیتی) در نظر میگیرد[۲]. PostgreSQL نوع Boolean را مطابق با استاندارد ارائه می دهد.[۳]

انواع متمایز قدرت تعریف شده توسط کاربر

[ویرایش]

گاهی اوقات آنها را فقط انواع متمایز(distinct types) می نامند، اینها به عنوان یک ویژگی اختیاری (S011) معرفی شدند تا به انواع اتمی موجود اجازه گسترش با معنای متمایز بدهند تا یک نوع داده جدید ایجاد شود و در نتیجه مکانیزم بررسی نوع داده قادر می سازد تا برخی از خطاهای منطقی را شناسایی کند، به عنوان مثال. اضافه کردن تصادفی سن به حقوق مثلا:

;create type age as integer FINAL
;create type salary as integer FINAL


دو نوع داده متفاوت و ناسازگار ایجاد می کند. انواع متمایز SQL از معادل اسمی استفاده می کنند نه معادل ساختاری مانند typedefs در زبان C. هنوز هم می توان عملیات سازگار بر روی (ستون ها یا داده ها) انواع متمایز (distinct types)با استفاده از یک نوع صریح CAST انجام داد.

تعداد کمی از سیستم های SQL از این موارد پشتیبانی می کنند. IBM Db2یکی از سیستم هایی است که از آن پشتیبانی می کند. [۴]پایگاه داده Oracle از سال 2012 از آن دیگر پشتیبانی نمی کند و در عوض توصیه می کند که آنها را با یک داده ساختاری تقلید کنید[۵].

انواع ساختاری تعریف شده توسط کاربر

[ویرایش]

اینها ستون اصلی افزونه پایگاه داده شی-رابطه ای در SQL:1999 هستند. اینها مشابه کلاس ها در زبان های برنامه نویسی شی گرا هستند. در SQL:1999 تنها اجازه ارث بردن تکی(single inheritance.)را داریم.

عبارات رایج جدول و پرس و جوهای (queries) بازگشتی

[ویرایش]

SQL:1999 یک ساختار WITH [RECURSIVE] اضافه کرد که به پرس و جوهای بازگشتی، مانند بسته شدن غیر مستقیم، اجازه می دهد در خود query مشخص شوند.عبارات رایج جدول. را ببینید.

برخی از قابلیت های OLAP

[ویرایش]

GROUP BY با ROLLUP، CUBE و GROUPING SETS گسترش یافت.

کلید واژه ها

[ویرایش]

SQL:1999 کلمه کلیدی UNNEST را معرفی کرد[۶].

منابع

[ویرایش]
  1. ISO/IEC 9075-2:1999 بایگانی‌شده در ۲۰۱۶-۱۲-۲۴ توسط Wayback Machine section 4.6 Boolean types
  2. "MySQL :: MySQL 5.0 Reference Manual :: 11.4 Using Data Types from Other Database Engines". Dev.mysql.com. 2010-01-09. Archived from the original on 2014-02-07. Retrieved 2014-01-30.
  3. "PostgreSQL documentation about Boolean Type". Archived from the original on 2018-03-09. Retrieved 2023-12-06.
  4. "IBM Information Management Software for z/OS Solutions Information Center". Publib.boulder.ibm.com. Retrieved 2014-01-30.
  5. "Oracle Compliance To Core SQL:2003". Docs.oracle.com. Archived from the original on 2013-12-02. Retrieved 2014-01-30.
  6. Jones, Arie; Stephens, Ryan K.; Plew, Ronald R.; Garrett, Robert F.; Kriegel, Alex (2005). "Appendix B ANSI and Vendor Keywords". SQL Functions Programmer's Reference. John Wiley & Sons. p. 680. ISBN 9780764598074. Retrieved 2016-05-16.

مطالعه بیشتر

[ویرایش]
  1. ISO/IEC 9075-2:1999 بایگانی‌شده در ۲۰۱۶-۱۲-۲۴ توسط Wayback Machine section 4.6 Boolean types
  2. "MySQL :: MySQL 5.0 Reference Manual :: 11.4 Using Data Types from Other Database Engines". Dev.mysql.com. 2010-01-09. Archived from the original on 2014-02-07. Retrieved 2014-01-30.
  3. "PostgreSQL documentation about Boolean Type". Archived from the original on 2018-03-09. Retrieved 2023-12-06.
  4. "IBM Information Management Software for z/OS Solutions Information Center". Publib.boulder.ibm.com. Retrieved 2014-01-30.
  5. "Oracle Compliance To Core SQL:2003". Docs.oracle.com. Archived from the original on 2013-12-02. Retrieved 2014-01-30.
  6. Jones, Arie; Stephens, Ryan K.; Plew, Ronald R.; Garrett, Robert F.; Kriegel, Alex (2005). "Appendix B ANSI and Vendor Keywords". SQL Functions Programmer's Reference. John Wiley & Sons. p. 680. ISBN 9780764598074. Retrieved 2016-05-16.