نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اخبار
  • هدف زبان SQL. اپراتورهای دستکاری داده ها

هدف زبان SQL. اپراتورهای دستکاری داده ها

زبان پرس و جوهای ساخت یافتهزبان پرس و جو ساختار (SQL) در نتیجه توسعه مدل داده های رابطه ای ایجاد شد و در حال حاضر زبان استاندارد بالفعل برای DBMS های رابطه ای است. زبان SQL امروز پشتیبانی می شود یک عالمه DBMS انواع مختلف.

نام زبان SQLمعمولاً "es-qu-el" تلفظ می شود. گاهی اوقات از نام یادگاری "See-Quel" استفاده می شود.

زبان SQL در اختیار کاربر قرار می دهد (با کمترین تلاش از طرف او) احتمالات زیر:

ایجاد پایگاه داده و جداول با توضیحات کاملساختارهای آنها

انجام عملیات دستکاری داده های اولیه: درج، تغییر، حذف داده ها

پرس و جوهای ساده و پیچیده را اجرا کنید.

زبان SQL از نظر رابطه کامل است.

ساختار و نحو دستورات آن بسیار ساده است و زبان خود جهانی است، یعنی نحو و ساختار دستورات آن هنگام انتقال از یک DBMS به DBMS دیگر تغییر نمی کند.

زبان SQL دو جزء اصلی دارد:

DDL (زبان تعریف داده ها) برای تعریف ساختارهای پایگاه داده و کنترل دسترسی به داده ها

زبان DML (زبان دستکاری داده ها) که برای بازیابی و به روز رسانی داده ها طراحی شده است.

SQL یک زبان غیر رویه ای است، به این معنی که هنگام استفاده از آن، باید مشخص کنید که چه اطلاعاتی باید به دست آید، نه اینکه چگونه می توان آن را به دست آورد. دستورات SQL کلمات معمولی انگلیسی (SELECT، INSERT و غیره) هستند. بیایید ابتدا به عبارات SQL DML نگاه کنیم:

SELECT - انتخاب داده ها از پایگاه داده

INSERT - درج داده ها در جدول

به روز رسانی - به روز رسانی داده ها در یک جدول

DELETE - حذف داده ها از جدول

عبارت SELECT

عملگر SELECT اقداماتی معادل عملیات جبر رابطه ای زیر انجام می دهد: انتخاب، طرح ریزی و پیوستن.

ساده ترین پرس و جوی SQL با استفاده از آن به صورت زیر است:

col_name را از TBL انتخاب کنید

پس از کلمه کلیدی select، فهرستی از ستون‌هایی که با کاما از هم جدا شده‌اند، وجود دارد که داده‌های آن‌ها توسط پرس و جو برگردانده می‌شود. کلمه کلیدی from مشخص می کند که داده ها از کدام جدول (یا نمای) بازیابی شوند.

نتیجه یک کوئری انتخابی همیشه جدولی به نام جدول نتیجه است. علاوه بر این، نتایج یک پرس و جو اجرا شده با استفاده از دستور select می تواند برای ایجاد استفاده شود میز جدید. اگر نتایج دو پرس و جو به جداول مختلففرمت یکسانی دارند، می توان آنها را در یک جدول ترکیب کرد. همچنین جدول به دست آمده در نتیجه یک پرس و جو می تواند موضوع پرس و جوهای بعدی باشد.

برای انتخاب تمام ستون ها و تمام ردیف های یک جدول، به سادگی یک SELECT * FROM tbl صادر کنید.

جدول Product را در نظر بگیرید که حاوی اطلاعاتی در مورد قیمت است انواع مختلفمحصولات:

درخواست نتیجه

انتخاب * از محصول؛

کل جدول محصول خواهد بود.

شما می توانید ستون های جدول خاصی را با استفاده از یک پرس و جو انتخاب کنید

SELECT col1, col2, … , coln FROM tbl;

بنابراین، نتیجه درخواست

نوع انتخاب، قیمت از محصول؛

یک میز وجود خواهد داشت

در صورت نیاز به تغییر ترتیب ستون‌ها در جدول حاصل، از لیست ستون‌ها در دستور select نیز استفاده می‌شود:

برای انتخاب تنها ردیف‌های جدولی که محدودیت‌های خاصی را برآورده می‌کنند، از کلمه کلیدی ویژه Where استفاده می‌شود و به دنبال آن از شرط منطقی. اگر رکوردی این شرط را برآورده کند، در نتیجه لحاظ می شود. در غیر این صورت، ورودی حذف می شود.

به عنوان مثال، انتخاب آن دسته از محصولات از جدول Product که قیمت آنها شرط Price را برآورده می کند<3200, можно осуществить, используя запрос

انتخاب * از محصول که در آن قیمت<3200;

نتیجه او:

شرط را می توان با استفاده از عملگرهای منطقی NOT , AND, OR, XOR ترکیب و ترکیب کرد، به عنوان مثال: که در آن id_ Price>500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1+1) و ثابت های رشته ای: Where name= "autoweights".

استفاده از ساختار BETWEEN var1 AND var2 به شما امکان می دهد بررسی کنید که آیا مقادیر هر عبارتی در محدوده var1 تا var2 قرار می گیرد (از جمله این مقادیر):

انتخاب * از محصولی که قیمت آن بین 3000 تا 3500 است.

مشابه عملگر NOT BETWEEN، عملگر NOT IN وجود دارد.

نام ستون های مشخص شده در عبارت SELECT را می توان تغییر نام داد. برای این کار از کلمه کلیدی AS استفاده می شود که البته می توان آن را حذف کرد زیرا به طور ضمنی به آن اشاره شده است. مثلا درخواست کنید

SELECT Type AS model، Type_id AS num FROM محصول که در آن Type_id =3 است

باز خواهد گشت (نام مستعار باید بدون نقل قول نوشته شود):

عملگر LIKE برای مقایسه یک رشته با یک الگو طراحی شده است:

SELECT * از tbl که در آن col_name مانند "abc" است

این پرس و جو فقط آن دسته از رکوردهایی را برمی گرداند که حاوی مقدار رشته abc در ستون col_name هستند.

نمونه مجاز است از دو کاراکتر عام استفاده کند: "_" و "%". اولی جایگزین یک کاراکتر دلخواه در قالب می شود و دومی جایگزین دنباله ای از کاراکترهای دلخواه می شود. بنابراین، "abc%" با هر رشته ای که با abc شروع می شود، "abc_" با یک رشته 4 کاراکتری که با abc شروع می شود، "%z" با هر رشته ای که با z ختم می شود مطابقت دارد، و در نهایت، "%z%" - دنباله هایی از کاراکترهای حاوی z.

شما می توانید تمام رکوردهای جدول Product را که در آن مقدار Type با حرف "a" شروع می شود، به صورت زیر پیدا کنید:

انتخاب * از محصول که در آن نوع LIKE "a%";

ترازو کامیون

اگر رشته جستجو حاوی یک کاراکتر عام باشد، باید کاراکتر فرار را در عبارت ESCAPE مشخص کنید. این کاراکتر کنترل باید در الگو قبل از کاراکتر عام استفاده شود، که نشان می‌دهد کاراکتر عام باید به عنوان یک کاراکتر معمولی در نظر گرفته شود. به عنوان مثال، اگر بخواهید همه مقادیر را در فیلدی که حاوی کاراکتر "_" است جستجو کنید، الگوی "%_%" منجر به بازگشت همه رکوردهای جدول می شود. در این مورد، الگو باید به صورت زیر نوشته شود:

"%|_%" ESCAPE "|"

برای بررسی مقدار مطابقت با رشته "20%" می توانید از عملگر زیر استفاده کنید:

مانند "20#%" ESCAPE "#"

عملگر IS NULL به شما اجازه می دهد تا عدم وجود (حضور) یک مقدار NULL را در فیلدهای یک جدول بررسی کنید. استفاده از عملگرهای مقایسه معمولی در این موارد ممکن است نتایج نادرستی ایجاد کند زیرا مقایسه با NULL منجر به ناشناخته می شود. بنابراین، شرایط انتخاب باید به شکل زیر باشد:

جایی که col_name NULL است، به جای Where col_name=NULL.

نتیجه انتخاب پیش‌فرض رکوردها را به همان ترتیبی که در پایگاه داده ذخیره می‌شوند برمی‌گرداند. اگر می خواهید رکوردها را بر اساس یکی از ستون ها مرتب کنید، باید از عبارت ORDER BY و به دنبال آن نام آن ستون استفاده کنید:

SELECT * FROM tbl ORDER BY col_name.

این کوئری رکوردها را به ترتیب صعودی مقدار مشخصه col_name برمی گرداند.

همچنین می توانید رکوردها را بر اساس چندین ستون مرتب کنید. برای انجام این کار، نام آنها باید پس از ORDER BY که با کاما از هم جدا شده اند مشخص شود:

SELECT * FROM tbl ORDER BY col_name1، col_name2.

رکوردها بر اساس فیلد col_name1 مرتب خواهند شد. اگر چندین رکورد با مقدار منطبق در ستون col_name1 وجود داشته باشد، آنها بر اساس فیلد col_name2 مرتب می شوند.

اگر می خواهید رکوردها را به ترتیب معکوس مرتب کنید (مثلاً نزولی بر اساس تاریخ)، باید ORDER BY col_name DESC را مشخص کنید.

برای مرتب سازی مستقیم، کلمه کلیدی ASC وجود دارد که به عنوان مقدار پیش فرض پذیرفته می شود.

اگر نتیجه نمونه شامل صدها یا هزاران رکورد باشد، خروجی و پردازش آنها زمان قابل توجهی می برد.

بنابراین، اطلاعات اغلب به صفحات تقسیم می شود و به صورت قسمتی به کاربر ارائه می شود. صفحه بندی با استفاده از کلمه کلیدی حد و به دنبال آن تعداد ورودی ها برای نمایش استفاده می شود. کوئری زیر 10 رکورد اول را بازیابی می کند و همزمان در فیلد col_name1 به عقب مرتب می شود:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10

برای بازیابی 10 رکورد بعدی، از کلمه کلیدی limit با دو مقدار استفاده کنید: اولی موقعیتی را که نتیجه باید از آن چاپ شود و دومی تعداد رکوردهای بازیابی را مشخص می کند:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10,10

برای بازیابی 10 رکورد بعدی، باید از ساختار LIMIT 20، 10 استفاده کنید.

در این فصل ...

  • SQL چیست
  • تصورات غلط SQL
  • نگاهی به استانداردهای مختلف SQL
  • مقدمه ای بر دستورات استاندارد SQL و کلمات رزرو شده
  • نمایش اعداد، نمادها، تاریخ ها، زمان ها و سایر انواع داده ها
  • مقادیر و محدودیت های تعریف نشده
  • استفاده از SQL در سیستم کلاینت/سرور
  • SQL در وب

SQLیک زبان منعطف است که می تواند به روش های مختلف استفاده شود. این رایج ترین ابزاری است که برای برقراری ارتباط با پایگاه داده رابطه ای استفاده می شود. در این فصل، من توضیح خواهم داد که SQL چیست و چیست، به ویژه اینکه SQL چگونه با سایر انواع زبان های کامپیوتری متفاوت است. سپس با دستورات و انواع داده هایی که SQL استاندارد پشتیبانی می کند آشنا می شوید. در ضمن مفاهیم پایه ای مانند مقادیر تعریف نشدهو محدودیت های. در نهایت، یک نمای کلی از نحوه تناسب SQL در محیط کلاینت/سرور و همچنین اینترنت و اینترانت سازمان ها ارائه خواهد شد.

SQL چیست و چیست؟

اولین چیزی که در مورد SQL باید فهمید این است که a نیست رویه ایمانند FORTRAN، Basic، C، COBOL، Pascal و Java. برای حل یک مشکل با استفاده از یکی از این زبان‌های رویه‌ای، باید رویه‌ای بنویسید که عملیات مشخص شده را یکی پس از دیگری انجام می‌دهد تا کار تکمیل شود. رویه ممکن است یک دنباله خطی باشد یا شامل انشعاب باشد، اما در هر صورت برنامه نویس ترتیب اجرا را مشخص می کند.

به عبارت دیگر، SQL است غیر رویه ایزبان. برای استفاده از آن برای حل یک مشکل، به SQL بگویید، دقیقا چه چیزیبه آن احتیاج داری انگار که از چراغ علاءالدین با جن صحبت می کنی. و در عین حال نیازی به گفتن نیست چگونهآنچه را که می خواهید به دست آورید سیستم مدیریت پایگاه داده (DBMS) تصمیم خواهد گرفت که چگونه درخواست شما را به بهترین نحو انجام دهد.

خوب. من فقط گفتم که SQL یک زبان رویه ای نیست. در اصل، این درست است. با این حال، با توجه به اینکه میلیون‌ها برنامه‌نویس در اطراف (و ممکن است شما یکی از آنها باشید) به حل مشکلات به صورت رویه‌ای عادت کرده‌اند، در سال‌های اخیر فشار زیادی برای افزودن برخی قابلیت‌های رویه‌ای به SQL وارد شده است. بنابراین، نسخه جدید مشخصات SQL، SQL:2003، اکنون شامل چنین ابزارهایی است زبان رویه ایمانند بلوک‌های BEGIN، دستورات IF شرطی، توابع و رویه‌ها. با استفاده از این ابزارهای جدید، برنامه ها را می توان در یک سرور ذخیره کرد تا برای بسیاری از کاربران قابل استفاده مجدد باشد.

برای نشان دادن منظورم وقتی گفتم «به سیستم دقیقاً چه چیزی نیاز دارید بگویید»، فرض کنید یک جدول EMPLOYEE با داده‌های کارمند دارید و می‌خواهید همه ردیف‌هایی را از آن انتخاب کنید که با همه کارمندان ارشد مطابقت دارند. کارگران ارشد را می توان هر فردی بالای 40 سال یا بیش از 60000 دلار در سال تعریف کرد. انتخاب مورد نیاز را می توان با استفاده از پرس و جو زیر انجام داد:

انتخاب * از کارمندی که در آن سن > 40 یا حقوق > 60000;

این عبارت از جدول EMPLOYEE همه سطرهایی را انتخاب می کند که در آنها یا مقدار ستون AGE (سن) بیشتر از 40 است یا مقدار ستون حقوق و دستمزد بیشتر از 60000 است. SQL خودش می داند که چگونه اطلاعات را انتخاب کند. موتور پایگاه داده پایگاه داده را بررسی می کند و خودش تصمیم می گیرد که کوئری چگونه باید اجرا شود. تنها کاری که باید انجام دهید این است که مشخص کنید به چه داده هایی نیاز دارید.

یاد آوردن:
پرس و جو سوالی است که از پایگاه داده می پرسید. اگر هر یک از داده های آن با شرایط درخواست شما مطابقت داشته باشد، SQL آن را به شما ارسال می کند
.

پیاده سازی های مدرن SQL فاقد بسیاری از ساختارهای برنامه نویسی ساده ای هستند که برای اکثر زبان های دیگر اساسی هستند. در برنامه های کاربردی برای زندگی روزمرهمعمولاً حداقل برخی از این ساختارها مورد نیاز است، بنابراین SQL در واقع ضروری است زیر زبانداده ها. حتی با اضافاتی که در SQL به همراه استاندارد SQL ظاهر شد: 1999 و پسوندهای اضافی، که در SQL:2003 اضافه شده است، برای ایجاد یک برنامه کامل همچنان باید از یکی از زبان های برنامه نویسی مانند C به همراه SQL استفاده کنید.

به یکی از روش های زیر می توانید اطلاعات را از پایگاه داده انتخاب کنید.

  • با استفاده از یک درخواست غیر قابل برنامه ریزی یک بار از کنسول کامپیوتر، وارد کردن دستور SQLو خواندن نتایج اجرای آن بر روی صفحه نمایش. کنسول یک اصطلاح سنتی برای سخت افزار رایانه است که کار صفحه کلید و صفحه نمایش موجود در رایانه های شخصی مدرن را انجام می دهد. پرس و جوهای کنسول زمانی مفید هستند که به پاسخ سریع نیاز دارید درخواست خاص. برای ارضای برخی نیازهای فعلی، ممکن است به داده هایی از پایگاه داده نیاز داشته باشید که قبلاً هرگز مورد نیاز نبوده است. ممکن است دیگر هرگز به آنها نیاز نداشته باشید، اما اکنون به آنها نیاز دارید. پرس و جوی SQL مناسب را از صفحه کلید وارد کنید و پس از مدتی نتیجه روی صفحه نمایش شما ظاهر می شود.
  • با استفاده از برنامه ای که اطلاعات را از یک پایگاه داده بازیابی می کند و سپس گزارشی را بر اساس این داده ها ایجاد می کند که روی صفحه نمایش داده می شود یا چاپ می شود. از SQL نیز می توان به این روش استفاده کرد. یک پرس و جو پیچیده SQL که ممکن است در آینده مفید باشد را می توان مستقیماً در برنامه قرار داد. این به شما امکان می دهد در آینده از آن استفاده مجدد کنید. بنابراین، فرمول پرس و جو یک بار اجرا می شود. فصل 15 نحوه درج کد SQL را در برنامه های نوشته شده به زبان دیگر پوشش می دهد.

زبان پرس و جو ساختاریافته یا SQLیک زبان برنامه نویسی اعلامی برای استفاده در شبه پایگاه های داده رابطه ایداده ها. بسیاری از ویژگی‌های اصلی SQL از حساب چندگانه گرفته شده‌اند، اما الحاقات اخیر به SQL شامل جبر رابطه‌ای بیشتر و بیشتر می‌شود.
SQL در ابتدا توسط IBM ایجاد شد، اما بسیاری از فروشندگان گویش های خود را توسعه داده اند. این استاندارد توسط مؤسسه استاندارد ملی آمریکا (ANSI) در سال 1986 و ISO در سال 1987 به تصویب رسید. در استاندارد زبان برنامه نویسی SQL ANSI بیان کرد که تلفظ رسمی SQL "es qu el" است. با این حال، بسیاری از متخصصان پایگاه داده از تلفظ "عامیانه" "Sequel" استفاده کردند که نشان دهنده نام اصلی زبان، Sequel است که بعداً به دلیل تضاد علامت تجاری و نام با IBM تغییر یافت. برنامه نویسی برای مبتدیان.
زبان برنامه نویسی SQLدر سال 1992 بازنگری شد و این نسخه با نام SQL-92 شناخته می شود. سپس سال 1999 دوباره مورد بازنگری قرار گرفت و به SQL:1999 (AKA SQL3) تبدیل شد. برنامه نویسی برای آدمک ها SQL 1999 از اشیایی پشتیبانی می‌کند که قبلاً در نسخه‌های دیگر پشتیبانی نمی‌شدند، اما تا اواخر سال 2001، تنها چند سیستم مدیریت پایگاه داده از پیاده‌سازی SQL پشتیبانی می‌کردند: SQL 1999.
SQL اگرچه به عنوان ANSI و ISO تعریف می شود، اما دارای تغییرات و پسوندهای زیادی است که اکثر آنها ویژگی های خاص خود را دارند، مانند پیاده سازی Oracle Corporation "PL/SQL" یا Sybase و پیاده سازی Microsoft به نام "Transact-SQL" که می تواند گیج کننده باشد. کسانی که با اصول برنامه نویسی آشنا هستند همچنین غیرمعمول نیست که پیاده‌سازی‌های تجاری پشتیبانی از ویژگی‌های اصلی استاندارد، مانند انواع داده‌ها مانند تاریخ و زمان را حذف کنند و برخی از انواع خود را ترجیح می‌دهند. در نتیجه، برخلاف ANSI C یا ANSI Fortran که معمولاً می‌توانند بدون تغییرات ساختاری عمده از یک پلتفرم به پلتفرم دیگر منتقل شوند، پرس‌وجوهای زبان برنامه‌نویسی SQL به ندرت می‌توانند بین آنها پورت شوند. سیستم های مختلفپایگاه های داده بدون تغییرات قابل توجه اکثر افراد در زمینه پایگاه داده معتقدند که این عدم سازگاری عمدی است تا اطمینان حاصل شود که هر توسعه دهنده ای سیستم خودمدیریت پایگاه داده و لینک خریدار به یک پایگاه داده خاص.
همانطور که از نام آن پیداست، زبان برنامه نویسی SQL برای اهداف خاص و محدود طراحی شده است - پرس و جو از داده های موجود در یک پایگاه داده رابطه ای. به این ترتیب، این مجموعه ای از دستورالعمل های زبان برنامه نویسی برای ایجاد نمونه های داده است، به جای یک زبان رویه ای مانند C یا BASIC، که برای حل طیف وسیع تری از مسائل طراحی شده اند. پسوندهای زبانی مانند "PL/SQL" برای حل این محدودیت با افزودن عناصر رویه ای به SQL و در عین حال حفظ مزایای SQL طراحی شده اند. روش دیگر این است که دستورات زبان برنامه نویسی رویه ای را در پرس و جوهای SQL جاسازی کنیم و با پایگاه داده تعامل داشته باشیم. به عنوان مثال، اوراکل و دیگران پشتیبانی می کنند زبان جاوادر پایگاه داده، در حالی که PostgreSQL به شما امکان می دهد توابع را در Perl، Tcl یا C بنویسید.
یک شوخی در مورد SQL: "SQL نه ساختار یافته است و نه یک زبان." نکته شوخی این است که SQL یک زبان تورینگ نیست. .

* از T را انتخاب کنید
C1 C2
1 آ
2 ب
C1 C2
1 آ
2 ب
C1 را از T انتخاب کنید
C1
1
2
C1 C2
1 آ
2 ب
* از T را انتخاب کنید که C1=1 است
C1 C2
1 آ

با توجه به جدول T، درخواست را انتخاب کنید* از T همه عناصر تمام ردیف‌های جدول را نمایش می‌دهد.
از همان جدول، کوئری Select C1 از T عناصر ستون C1 تمام سطرهای جدول را نمایش می دهد.
از همان جدول، پرس و جو Select * از T که در آن C1=1 همه عناصر تمام سطرها را نشان می دهد که مقدار ستون C1 "1" است.

کلمات کلیدی SQL

کلمات SQL به چند گروه تقسیم می شوند.

اولی است زبان دستکاری داده یا DML(زبان مدیریت داده). DML زیرمجموعه ای از زبانی است که برای پرس و جو از پایگاه داده و افزودن، به روز رسانی و حذف داده ها استفاده می شود.

  • SELECT یکی از متداول ترین دستورات DML است که به کاربر اجازه می دهد تا یک پرس و جو را به عنوان شرح مجموعه ای از نتیجه مورد نظر مشخص کند. پرس و جو مشخص نمی کند که نتایج چگونه باید مرتب شوند - ترجمه پرس و جو به فرمی که می تواند در پایگاه داده اجرا شود، وظیفه سیستم پایگاه داده، به طور خاص تر بهینه ساز پرس و جو است.
  • INSERT برای افزودن ردیف (مجموعه رسمی) برای استفاده می شود جدول موجود.
  • UPDATE برای تغییر مقادیر داده ها در یک ردیف جدول موجود استفاده می شود.
  • DELETE ردیف های موجود را مشخص می کند که از جدول حذف می شوند.

سه نفر دیگر کلید واژه هاخوب، می توان گفت که آنها در گروه DML قرار می گیرند:

  • BEGIN WORK (یا شروع معامله، بسته به گویش SQL) را می توان برای علامت گذاری شروع یک تراکنش پایگاه داده استفاده کرد که یا همه را کامل می کند یا اصلاً اجرا نمی شود.
  • COMMIT بیان می کند که تمام تغییرات داده های ایجاد شده پس از انجام عملیات ذخیره می شوند.
  • ROLLBACK مشخص می‌کند که تمام تغییرات داده‌ها پس از آخرین commit یا rollback باید از بین بروند، تا جایی که در پایگاه داده به عنوان "بازگشت" ثبت شده است.

COMMIT و ROLLBACK در زمینه هایی مانند کنترل تراکنش ها و قفل کردن استفاده می شود. هر دو دستورالعمل تمام تراکنش‌های جاری (مجموعه‌های عملیات روی پایگاه داده) را تکمیل می‌کنند و تمام قفل‌های تغییر داده‌ها را در جداول حذف می‌کنند. وجود یا عدم وجود یک BEGIN WORK یا عبارت مشابه به پیاده سازی SQL خاص بستگی دارد.

دسته دوم از کلمات کلیدی متعلق به گروه است زبان تعریف داده یا DDL (زبان تعریف داده). DDLبه کاربر اجازه می دهد تا جداول جدید و عناصر مرتبط با آنها را تعریف کند. اکثر پایگاه های تجاری داده های SQLافزونه های خود را در DDL دارند که امکان کنترل غیر استاندارد، اما معمولاً حیاتی را فراهم می کند عناصر مهمسیستم خاص
نکات اصلی DDL دستورات ایجاد و حذف هستند.

  • CREATE اشیاء (مانند جداول) را که در پایگاه داده ایجاد می شوند را مشخص می کند.
  • DROP مشخص می کند که کدام اشیاء موجود در پایگاه داده معمولاً به طور دائم حذف خواهند شد.
  • برخی از سیستم های پایگاه داده نیز از دستور ALTER پشتیبانی می کنند که به کاربر امکان تغییر را می دهد شی موجودبه روش های مختلف - برای مثال، به این ترتیب می توانید ستون ها را به جدول موجود اضافه کنید.

سومین گروه از کلمات کلیدی SQL هستند زبان کنترل داده یا DCL (زبان کنترل داده). DCLمسئولیت حقوق دسترسی به داده ها را بر عهده دارد و به کاربر اجازه می دهد تا کنترل کند چه کسی برای مشاهده یا دستکاری داده ها در پایگاه داده دسترسی دارد. در اینجا دو کلمه کلیدی اصلی وجود دارد:

  • GRANT - به کاربر اجازه می دهد تا عملیات را انجام دهد
  • Revoke - توانایی کاربر برای انجام عملیات را حذف یا محدود می کند.

سیستم های پایگاه داده با استفاده از SQL

  • InterBase
  • MySQL
  • اوراکل
  • PostgreSQL
  • SQL Server

چگونه یک متخصص توسعه وب سایت شویم و شروع به کسب درآمد کنیم؟ دوره های ویدیویی ارزان با مقدمه مقدماتی.

SQL LANGUAGE: DATA MANIPULATION

در این سخنرانی ...

· هدف زبان پرس و جو ساختار (SQL) و نقش ویژه آن هنگام کار با پایگاه های داده.

· تاریخچه پیدایش و توسعه زبان SQL.

· نوشتن عبارات SQL.

· بازیابی اطلاعات از پایگاه های داده با استفاده از عبارت SELECT.

· ساخت دستورات SQL که با ویژگی های زیر مشخص می شود:

· استفاده از ساختار WHERE برای انتخاب ردیف هایی که برآورده می شوند شرایط مختلف;

· مرتب سازی نتایج پرس و جو با استفاده از ساختار ORDER BY.

· استفاده از توابع تجمع SQL.

· گروه بندی داده های انتخاب شده با استفاده از ساختار GROUP BY.

· استفاده از سوالات فرعی.

· استفاده از اتصالات جدول.

· کاربرد عملیات با مجموعه ها (UNION، INTERSECT، EXCEPT).

· ایجاد تغییرات در پایگاه داده با استفاده از دستورات INSERT، UPDATE و DELETE.

یکی از زبان‌هایی که در نتیجه توسعه مدل داده‌های رابطه‌ای پدید آمد، SQL است که اکنون بسیار گسترده شده و در واقع به زبان استاندارد پایگاه‌های داده رابطه‌ای تبدیل شده است. استاندارد زبان SQL توسط موسسه استاندارد ملی ایالات متحده (ANSI) در سال 1986 منتشر شد و در سال 1987 سازمان بین المللی استاندارد (ISO) این استاندارد را به عنوان یک استاندارد بین المللی پذیرفت. در حال حاضر، زبان SQL توسط صدها DBMS از انواع مختلف پشتیبانی می‌شود که برای انواع مختلفی از پلتفرم‌های محاسباتی، اعم از کامپیوترهای شخصیو به مین فریم ختم می شود.

این سخنرانی از تعریف ISO از SQL استفاده می کند.

مقدمه ای بر SQL

در این قسمت به هدف زبان SQL می پردازیم، با تاریخچه آن آشنا می شویم و دلایل محبوبیت امروزی آن را تحلیل می کنیم. پراهمیتبرای برنامه های پایگاه داده

هدف زبان SQL

هر زبانی که برای کار با پایگاه های داده طراحی شده است باید قابلیت های زیر را در اختیار کاربر قرار دهد:

· ایجاد پایگاه های داده و جداول با شرح کامل ساختار آنها.



· انجام عملیات دستکاری داده های اولیه، مانند درج، اصلاح و حذف داده ها از جداول.

· انجام پرس و جوهای ساده و پیچیده.

علاوه بر این، زبان پایگاه داده باید تمامی مشکلات فوق را با کمترین تلاش کاربر برطرف کند و ساختار و نحو دستورات آن باید کاملاً ساده و یادگیری آسان باشد.

و بالاخره زبان باید جهانی باشد، یعنی. برخی از استانداردهای شناخته شده را برآورده می کند، که امکان استفاده از ساختار دستوری و دستوری یکسان را هنگام انتقال از یک DBMS به DBMS دیگر فراهم می کند. استاندارد مدرنزبان SQL تقریباً همه این الزامات را برآورده می کند.

SQL نمونه ای از زبان تبدیل داده یا زبانی است که برای کار با جداول طراحی شده است تا داده های ورودی را به فرم خروجی مورد نظر تبدیل کند. زبان SQL که توسط استاندارد ISO تعریف شده است، دارای دو جزء اصلی است:

· زبان تعریف داده (DDL)، طراحی شده برای تعریف ساختارهای پایگاه داده و کنترل دسترسی به داده ها.

· زبان دستکاری داده ها (DML)، طراحی شده برای بازیابی و به روز رسانی داده ها.

قبل از ظهور استاندارد SQL3، SQL فقط شامل دستوراتی برای تعریف و دستکاری داده ها بود. هیچ دستوری برای کنترل پیشرفت محاسبات نداشت. به عبارت دیگر، این زبان دارای IF ... THEN ...ELSE, GO TO, DO ... WHILE و هر دستور دیگری که برای کنترل حرکت طراحی شده است را ندارد. فرآیند محاسباتی. چنین مشکلاتی باید حل می شد به صورت برنامه ای، با استفاده از زبان های برنامه نویسی یا کنترل کار، یا به صورت تعاملی، در نتیجه اقدامات انجام شده توسط خود کاربر. با توجه به این ناقص بودن، از منظر سازماندهی فرآیند محاسباتی، زبان SQL به دو صورت قابل استفاده بود. اولین ارائه شده است کار تعاملی، که شامل وارد کردن عبارات SQL منفرد توسط کاربر از ترمینال است. مورد دوم قرار دادن دستورات SQL در برنامه های زبان رویه ای بود.

مزایای زبان SQL3، تعریف رسمیکه در سال 1999 تصویب شد:

· یادگیری زبان SQL نسبتاً آسان است.

· این یک زبان غیر رویه ای است، بنابراین باید مشخص کند که چه اطلاعاتی باید به دست آید، نه اینکه چگونه می توان آن را به دست آورد. به عبارت دیگر، زبان SQL نیازی به تعیین روش های دسترسی به داده ها ندارد.

· مثل خیلی ها زبان های مدرن SQL از یک فرمت رایگان برای نوشتن عبارات پشتیبانی می کند. یعنی وقتی وارد می شوید عناصر منفرداپراتورها با موقعیت های ثابت روی صفحه ارتباط ندارند.

· ساختار فرمان توسط مجموعه ای از کلمات کلیدی که کلمات معمولی انگلیسی هستند، مانند CREATE TABLE - Create a table، INSERT - Insert، SELECT - Select مشخص می شود.

مثلا:

CREATE TABLE [Sales] ( (S)، [Object name] VARCHAR(15)، [هزینه] DECIMAL(7،2));

INSERT INTO INTO [Object] VALUES ("SG16"، "Brown"، 8300);

SELECT، [نام شی]، [هزینه]؛

از [فروش]

WHERE [هزینه] > 10000;

· زبان SQL می تواند توسط طیف وسیعی از کاربران از جمله مدیران پایگاه داده (DBAs)، پرسنل مدیریت شرکت، برنامه نویسان کاربردیو خیلی های دیگر کاربران نهاییدسته بندی های مختلف

در حال حاضر وجود دارد استانداردهای بین المللی، به طور رسمی آن را به عنوان یک زبان استاندارد برای ایجاد و دستکاری پایگاه های داده رابطه ای تعریف می کند که در واقع همینطور است.

تاریخچه زبان SQL

تاریخچه مدل داده های رابطه ای و به طور غیرمستقیم زبان SQL در سال 1970 با انتشار مقاله ای اساسی توسط E. F. Codd که در آن زمان در آزمایشگاه تحقیقاتی IBM در سن خوزه کار می کرد، آغاز شد. در سال 1974، دی. چمبرلین، که در همان آزمایشگاه کار می کرد، تعریفی از یک زبان به نام "زبان پرس و جو انگلیسی ساختاریافته" یا SEQUEL منتشر کرد. نسخه اصلاح شده این زبان، SEQUEL/2، در سال 1976 منتشر شد. متعاقباً به دلایل قانونی باید نام آن به SQL تغییر می کرد - اختصار SEQUEL قبلاً توسط زبان شناسان استفاده می شد. اما تا به امروز، بسیاری از مردم هنوز مخفف SQL را به عنوان "Sequel" تلفظ می کنند، اگرچه رسما توصیه می شود که به عنوان "es-qu-el" خوانده شود.

در سال 1976، IBM یک نمونه اولیه DBMS بر اساس زبان SEQUEL/2 به نام "System R" منتشر کرد. هدف از این کارآزمایی آزمایش امکان سنجی اجرای مدل رابطه ای بود. از دیگر جنبه های مثبت، مهمترین نتیجه این پروژه را می توان توسعه خود زبان SQL دانست، البته ریشه این زبان به زبان SQUARE (تعیین پرس و جو به عنوان عبارات منطقی) که پیشین پروژه System R. زبان SQUARE به عنوان یک ابزار تحقیقاتی برای پیاده سازی جبر رابطه ای از طریق عبارات ساخته شده به زبان انگلیسی توسعه یافته است.

در اواخر دهه 1970، شرکتی که اکنون به اوراکل تبدیل شده است، منتشر شد Oracle DBMS. شاید این اولین پیاده سازی تجاری یک DBMS رابطه ای باشد که با استفاده از زبان SQL ساخته شده است.

کمی بعد، INGRES DBMS با استفاده از زبان پرس و جو QUEL ظاهر شد.

این زبان ساختارمندتر از SQL بود، اما معنایی آن کمتر به معمولی نزدیک بود زبان انگلیسی. بعدها، زمانی که SQL به عنوان زبان استاندارد برای پایگاه های داده رابطه ای پذیرفته شد، DBMS INGRES به طور کامل برای استفاده از آن تبدیل شد. در سال 1981، IBM اولین DBMS رابطه ای تجاری خود را به نام SQL/DS (برای محیط DOS/VSE) منتشر کرد. در سال 1982 نسخه ای از این سیستم برای محیط VM/CMS و در سال 1983 - برای محیط MVS اما با نام DB2 منتشر شد.

در سال 1982، مؤسسه استانداردهای ملی ایالات متحده (ANSI) کار بر روی زبان پایگاه داده رابطه (RDL) را آغاز کرد که توسط اسناد مفهومی دریافت شده از شرکت IBM هدایت می شد. در سال 1983، سازمان بین المللی استاندارد (ISO) در این کار مشارکت کرد. تلاش های مشترک هر دو سازمان با انتشار استاندارد زبان SQL به اوج خود رسید. نام RDL در سال 1984 کنار گذاشته شد و زبان پیش نویس مجدداً طراحی شد تا به پیاده سازی های موجود زبان SQL نزدیک شود.

نسخه اصلی استاندارد که در سال 1987 توسط ISO منتشر شد، موجی از انتقادات را برانگیخت. به طور خاص، Date، یک محقق مشهور در این زمینه، اشاره کرد که استاندارد توابع حیاتی، از جمله کنترل‌های یکپارچگی ارجاعی، و برخی از عملگرهای رابطه‌ای را حذف می‌کند.

علاوه بر این، او به افزونگی بیش از حد زبان اشاره کرد - همان درخواست را می توان در چندین مورد نوشت گزینه های مختلف. بیشتر انتقادات منصفانه شناخته شد و اصلاحات لازم در استاندارد قبل از انتشار انجام شد. با این حال، تصمیم گرفته شد که انتشار هرچه سریعتر استاندارد مهمتر است تا بتواند نقش خود را ایفا کند مبنای مشترک، که در آن هم خود زبان و هم پیاده‌سازی‌های آن می‌توانند بیشتر توسعه یابند، نه اینکه منتظر بمانند تا تمام کارکردهایی که متخصصان مختلف برای چنین زبانی اجباری می‌دانند تعریف و توافق شود.

در سال 1989، ISO اصلاحیه ای را در استاندارد منتشر کرد که توابع یکپارچگی داده ها را تعریف می کرد. در سال 1992، اولین نسخه اصلاح شده اساسی استاندارد ISO، که گاهی اوقات SQL2 یا SQL-92 نامیده می شود، منتشر شد. اگرچه برخی از توابع برای اولین بار در این استاندارد تعریف شده اند، بسیاری از آنها قبلاً به طور کامل یا جزئی در یک یا چند پیاده سازی تجاری از زبان SQL پیاده سازی شده اند.

و نسخه بعدی استاندارد، که معمولا SQL3 نامیده می شود، تنها در سال 1999 منتشر شد. این نسخه شامل وجوه اضافیپشتیبانی از توابع مدیریت داده شی گرا

توابعی که توسط توسعه دهندگان پیاده سازی های تجاری به استاندارد زبان اضافه می شوند، پسوند نامیده می شوند. به عنوان مثال، استاندارد زبان SQL شش نوع مختلف داده را تعریف می کند که می توانند در پایگاه های داده ذخیره شوند. در بسیاری از پیاده سازی ها، این لیست با پسوندهای مختلف تکمیل می شود. به هر اجرای یک زبان، گویش گفته می شود. هیچ دو گویش کاملاً یکسان وجود ندارد و در حال حاضر هیچ گویشی وجود ندارد که به طور کامل با استاندارد ISO مطابقت داشته باشد.

علاوه بر این، همانطور که توسعه دهندگان پایگاه داده عملکردهای جدیدی را به سیستم های خود اضافه می کنند، آنها به طور مداوم گویش های SQL خود را گسترش می دهند و باعث می شوند که گویش های فردی بیشتر و بیشتر از یکدیگر متفاوت شوند. با این حال، هسته اصلی زبان SQL کمابیش در تمام پیاده سازی ها استاندارد شده است.

اگرچه مفاهیم اولیه زبان SQL توسط IBM توسعه داده شد، اهمیت آن به زودی توسعه دهندگان دیگر را بر آن داشت تا پیاده سازی های خود را ایجاد کنند. در حال حاضر، به معنای واقعی کلمه صدها محصول در بازار موجود است که با استفاده از زبان SQL ساخته شده اند، و ما دائماً در مورد انتشار نسخه های جدیدتر و بیشتر می شنویم.

قابلیت زبان SQL

پایه ای عملکردزبان های SQL در زیر آورده شده است.

تعریف داده هااین تابع SQL توصیفی از ساختار و سازمان داده پشتیبانی شده است روابط رابطه ای(جدول). اپراتورهایی برای ایجاد پایگاه داده، ایجاد جداول و دسترسی به داده ها برای پیاده سازی آن در نظر گرفته شده اند.

ایجاد پایگاه داده. برای ایجاد پایه جدیدداده، از عملگر CREATE DATABASE استفاده می شود. ساختار عملگر نام را مشخص می کند پایه ایجاد کردداده ها.

ایجاد جداولجدول پایه با استفاده از دستور CREATE TABLE ایجاد می شود. این عبارت نام فیلدها، انواع داده برای آنها و طول (برای برخی از انواع داده) را مشخص می کند. SQL از انواع داده های زیر استفاده می کند:

INTEGER - عدد صحیح؛

CHAR - مقدار کاراکتر؛

VARCHAR - مقدار کاراکتر، فقط کاراکترهای غیر خالی ذخیره می شوند.

اعشاری - عدد اعشاری;

FLOAT – عدد ممیز شناور؛

دقت مضاعف - ممیز شناور با دقت دوگانه.

DATETIME - تاریخ و زمان؛

BOOL - مقدار بولی.

دستور ایجاد جدول محدودیت‌هایی را بر روی مقادیر ستون و جدول مشخص می‌کند. محدودیت های احتمالیدر جدول نشان داده شده است. 4.8

جدول 4.8 محدودیت در داده های تعریف شده

برای یک مدل داده رابطه ای، تعیین یک کلید خارجی (FOREIGNKEY) ضروری است. هنگام اعلام کلیدهای خارجی، باید محدودیت های مناسبی را برای ستون اعمال کنید، به عنوان مثال، NOT NULL.

در یک دستور SQL، CHECK به محدودیت های معنایی اشاره می کند که یکپارچگی داده ها را تضمین می کند، مانند محدود کردن مجموعه. ارزش های قابل قبولیک ستون خاص

شما نمی توانید از دستور create table بیش از یک بار در یک جدول استفاده کنید. اگر پس از ایجاد آن، نادرستی در تعریف آن کشف شد، می توان با استفاده از عبارت ALTER TABLE تغییرات را ایجاد کرد. این عبارت برای تغییر ساختار یک جدول موجود طراحی شده است: شما می توانید یک فیلد را به یک جدول موجود حذف یا اضافه کنید.

دستکاری داده. SQL به کاربر یا برنامه کاربردی اجازه می دهد تا محتوای یک پایگاه داده را با درج داده های جدید، حذف یا اصلاح داده های موجود تغییر دهد.

درج داده های جدیدرویه ای برای افزودن ردیف ها به پایگاه داده است و با استفاده از دستور INSERT انجام می شود.

اصلاح داده هاشامل تغییرات مقادیر در یک یا چند ستون از جدول است و با استفاده از دستور UPDATE انجام می شود. مثال:

مقدار تنظیم = مقدار + 1000.00

WHERE مقدار>0

حذف ردیف هااز یک جدول با استفاده از عبارت DELETE. نحو عملگر به صورت زیر است:

از جدول

بند WHERE اختیاری است، اما اگر شامل نشود، تمام ورودی های جدول حذف خواهند شد. استفاده از دستور SELECT با نحوی مشابه عبارت DELETE برای بررسی اینکه کدام رکوردها حذف می شوند مفید است.

تضمین یکپارچگی داده هازبان SQL به شما این امکان را می دهد که محدودیت های یکپارچگی نسبتاً پیچیده ای را تعریف کنید که رضایت از آنها برای تمام تغییرات پایگاه داده بررسی می شود. نظارت بر نتایج تراکنش، خطاهای پردازش و هماهنگی کار موازیبا یک پایگاه داده از چندین برنامه یا کاربر توسط بیانیه های COMMIT (تکمیل موفقیت آمیز تراکنش فعلی و شروع تراکنش جدید را ثبت می کند) و ROLLBACK (نیاز به بازگشت - بازیابی خودکاروضعیت پایگاه داده در ابتدای معامله)

نمونه گیری داده ها- یکی از توابع ضروریپایگاه داده ای که عبارت SELECT با آن مطابقت دارد. نمونه ای از استفاده از عملگر در بخش قبل مورد بحث قرار گرفت.

در SQL، می توانید دنباله های تودرتو از پرس و جوها (عنوان های فرعی) ایجاد کنید. وجود داشته باشد انواع خاصیپرس و جوهایی که با استفاده از پرس و جوهای فرعی بهتر پیاده سازی می شوند. این پرس و جوها شامل چک های به اصطلاح وجود هستند. بیایید فرض کنیم می خواهید اطلاعاتی در مورد دانش آموزانی که نمره هفت نمره ندارند به دست آورید. اگر یک مجموعه خالی برگردانده شود، این به معنای تنها یک چیز است - هر دانش آموز دارد، حداقل، یکی از این ارزیابی ها.

جداول پیوند دادن. دستورات SQL به شما امکان می دهد داده ها را از بیش از یک جدول بازیابی کنید. یکی از راه‌های انجام این کار، پیوند جداول با استفاده از یک فیلد مشترک است.

که در عبارت SELECTباید محدودیتی برای تطبیق مقادیر یک ستون خاص (فیلد) وجود داشته باشد. سپس فقط آن ردیف هایی که در آن مقادیر وجود دارد ستون داده شدهمطابقت دادن نام ستون فقط همراه با نام جدول نشان داده شده است. در غیر این صورت بیانیه مبهم خواهد بود.

می‌توانید از انواع دیگر پیوند جدول استفاده کنید: عملگر INTER JOIN (اتصال داخلی) تضمین می‌کند که مجموعه رکوردهای حاصل حاوی مقادیر منطبق در فیلدهای مرتبط است. اتصالات خارجی(OUTER JOIN) به شما امکان می دهد تمام ردیف های یک جدول و ردیف های مربوطه را از جدول دیگر در نتیجه پرس و جو قرار دهید.

کنترل دسترسی SQL همگام سازی پردازش پایگاه داده توسط برنامه های کاربردی مختلف را تضمین می کند و از داده ها در برابر دسترسی غیرمجاز محافظت می کند.

دسترسی به داده ها در یک محیط چند کاربره با استفاده از دستورات GRANT و REVOKE کنترل می شود. در هر عبارت لازم است که کاربر، شی (جدول، نمای) که مجوزها در رابطه با آن تنظیم شده اند و خود مجوزها مشخص شود. به عنوان مثال، عبارت GRANT به کاربر X این امکان را می دهد که داده ها را از جدول PRODUCT بازیابی کند:

GRANT SELECT در مورد محصول به X

بیانیه REVOKE همه مجوزهای قبلاً اعطا شده را لغو می کند.

تعبیه SQL در برنامه های کاربردی. برنامه های کاربردی واقعیمعمولاً به زبان‌های دیگری نوشته می‌شود که کد SQL را تولید می‌کنند و آن را به عنوان متن ASCII به DBMS منتقل می‌کنند.

استاندارد IBM برای محصولات SQL استفاده از زبان داخلی SQL را تنظیم می کند. هنگام نوشتن یک برنامه کاربردی، متن آن ترکیبی از دستورات زبان برنامه نویسی اصلی (مثلاً C، Pascal، Cobol، Fortran، Assembler) و دستورات SQL با یک پیشوند خاص است. ExecSQL. ساختار عبارات SQL گسترش یافته است تا متغیرهای زبان میزبان را در یک ساختار SQL جای دهد.



پردازنده SQL نوع برنامه را مطابق با الزامات کامپایلر زبان برنامه نویسی اصلی تغییر می دهد. وظیفه کامپایلر ترجمه (ترجمه) یک برنامه از زبان برنامه نویسی مبدأ به زبانی نزدیک به زبان ماشین است. پس از تدوین برنامه کاربردی(برنامه) یک ماژول جداگانه است.

گویش های SQL

DBMS های رابطه ای مدرن از گویش های زبان SQL برای توصیف و دستکاری داده ها استفاده می کنند. زیرمجموعه ای از زبان SQL که به شما امکان ایجاد و توصیف یک پایگاه داده را می دهد DDL (زبان تعریف داده ها) نامیده می شود.

در ابتدا زبان SQL SEQUEL (زبان پرس و جوی ساختاریافته انگلیسی)، سپس SEQUEL/2 و سپس به سادگی SQL نام داشت. امروزه SQL استاندارد بالفعل برای DBMS های رابطه ای است.

اولین استاندارد زبان در سال 1989 ظاهر شد - SQL-89 و تقریباً توسط تمام DBMS های رابطه ای تجاری پشتیبانی می شد. ماهیت کلی داشت و قابل تفسیر وسیع بود. از مزایای SQL-89 می توان به استانداردسازی نحو و معنای اپراتورها برای نمونه برداری و دستکاری داده ها و همچنین تثبیت ابزار برای محدود کردن یکپارچگی پایگاه داده در نظر گرفت. با این حال، بخش مهمی مانند دستکاری طرحواره پایگاه داده را از دست داده بود. ناقص بودن استاندارد SQL-89 منجر به ظهور در سال 1992 شد. نسخه بعدیزبان SQL.

SQL2 (یا SQL-92) تقریباً تمام مسائل ضروری را پوشش می دهد: دستکاری طرحواره پایگاه داده، مدیریت تراکنش و جلسه، پشتیبانی از معماری مشتری-سرور یا ابزارهای توسعه برنامه.

گام بعدیتوسعه زبان است گزینه SQL 3. این نسخه از زبان با مکانیزم ماشه، تعریف نوع داده دلخواه، و پسوند شی تکمیل می شود.

در حال حاضر سه سطح زبان وجود دارد: مبتدی، متوسط ​​و کامل. بسیاری از سازندگان از DBMS خود استفاده می کنند پیاده سازی های خود SQL بر اساس حداقل سطح ورودیاستاندارد ANSI مربوطه، و حاوی برخی از پسوندهای خاص برای یک DBMS خاص است. روی میز 4.9 نمونه هایی از گویش های SQL را ارائه می دهد.

جدول 4.9 گویش های SQL

DBMS زبان پرس و جو
سیستم R DBMS SQL
DB2 SQL
دسترسی داشته باشید SQL
SYBASE SQL Anywhere Watcom-SQL
سرور SYBASE SQL Transact_SQL
SQL من SQL
اوراکل PL/SQL

پایگاه داده های شی گرا از زبان پرس و جو شیء OQL (زبان پرس و جو شیء) استفاده می کنند. زبان OQL بر اساس دستور SELECT زبان SQL2 بود و توانایی هدایت یک پرس و جو را به یک شی یا مجموعه ای از اشیاء و همچنین توانایی فراخوانی متدها در یک پرس و جو را اضافه کرد.

سازگاری بسیاری از گویش های SQL مورد استفاده، سازگاری DBMS را تعیین می کند. بنابراین، SYBASE SQL Anywhere DBMS تا حد امکان برای یک DBMS از این کلاس با SYBASE SQL Server DBMS سازگار است. یکی از جنبه‌های این سازگاری، پشتیبانی در SYBASE SQL در هر جایی از گویش‌هایی از زبان SQL است. Transact-SQL. این گویش در SYBASE SQL Server استفاده می شود و می تواند در SYBASE SQL Anywhere همراه با گویش بومی SQL استفاده شود - Watcom-SQL.

کنترل سوالات

1. چگونه می توان یک DBMS را طبقه بندی کرد؟

2. چه مدل های پایگاه داده وجود دارد؟

3. عناصر اصلی مدل های اطلاعاتی کدامند؟

4. چه نوع روابطی بین موجودیت ها وجود دارد؟

5. نمودارهای ER چیست و چه کاربردی دارند؟

6. روال عادی سازی جدول به شما اجازه انجام چه کاری را می دهد؟

7. زبان و را نام ببرید نرم افزار DBMS؟

8. چه نوع DBMS MS Access است؟

9. اشیاء اصلی DBMS MS Access چیست؟

10. عملگرهای اصلی SQL برای چه مواردی استفاده می شوند؟

بهترین مقالات در این زمینه