کوئری چیست؟ معرفی برخی از کوئری های مهم دیتابیس
مقاله

کوئری چیست؟ معرفی برخی از کوئری های مهم دیتابیس

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

Structured Query Language) SQL) زبان استاندارد مدیریت دیتابیس می باشد و سایر زبان ها مانند AQL ,Datalog و DMX برای ارتباط آسان تر با دیتابیس استفاده می شوند. توجه نمایید که SQL با MYSQL تفاوت دارد، مورد اول زبان کوئری نوشتن می باشد ولی MYSQL نرم افزاری است که از این زبان استفاده می کند.

در این مقاله تلاش شده است که نحوه کار کوئری شرح داده شود تا مفهوم آن را بهتر درک کنید. همچنین چند مثال از کوئری ها و نحوه نوشتن آنها در پایگاه داده توضیح داده می شود.

تصویر(1)

یک کوئری چطور کار می کند؟

فرض کنید می خواهید یک قهوه اسپرسو از کافی شاپ سفارش دهید. زمانی که وارد کافی شاپ می شوید از گارسون یا صاحب کافه سوال می کنید که " آیا اسپرسو دارید ؟"، ایشان با شنیدن سوال متوجه خواسته شما شده و در نهایت سفارش را برایتان آماده می کند.

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

یک کوئری می تواند به صورت Select یا اکشن کوئری، حتی ترکیبی از هر دو نوع باشد. کوئری های "Select"، داده ها را از دیتابیس استخراج می کنند. اکشن کوئری ها، برای اعمال تغییراتی مانند درج، حذف یا ویرایش داده ها استفاده شده و در واقع عملی را انجام می دهند. کاربران حرفه ای می توانند از دستورات کوئری برای کار های مختلف برنامه نویسی از ایجاد کاربران و تعیین سطح دسترسی گرفته تا تغییر url سایت های وردپرسی در mysql، استفاده کنند.

در ادامه برخی از رایج ترین توابع و دستورات کوئری مطرح شده است:

  • SELECT: برای استخراج داده ها از پایگاه داده مورد استفاده قرار می گیرد و یکی از محبوب ترین دستورات محسوب می شود زیرا تقریبا هر درخواست با یک کوئری SELECT شروع می شود.
  • AND: این دستور ترکیب داده ها از یک یا چند جدول را انجام می دهد.
  • CREATE TABLE: با این دستور می توانید جداول مختلفی ایجاد نمایید و برای هر ستون یک نام مشخص کنید.
  • ORDER BY: این دستور، داده ها را به صورت عددی یا بر اساس حروف الفبا مرتب می کند.
  • SUM: داده های یک ستون خاص را جمع می کند.
  • UPDATE: با استفاده از این دستور می توانید ردیف های موجود در یک جدول را اصلاح کنید.
  • INSERT: با این دستور می توانید یک ردیف یا داده جدید به جدول اضافه نمایید.
  • WHERE:  توسط این دستور می توانید داده ها را فیلتر کرده و مقادیر را بر اساس شرط معینی بدست آورید.

برای اعمال تغییرات بیشتر می توانید دستورات فوق را با هم ترکیب کنید، مثلا کوئری SELECT را با دستورات دیگری مانند AND یا SUM برای جمع کردن داده ها استفاده کنید. علاوه بر استفاده از زبان کوئری روش های دیگری نیز برای درخواست اطلاعات وجود دارد که عبارت اند از: 

  • استفاده از پارامتر های موجود 

نرم افزار های پایگاه داده به صورت پیشفرض دارای پارامتر هایی هستند که کاربران می توانند در صورت نیاز از آنها استفاده کنند. 

  • نمونه کوئری ها (QBE)

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

  • نصب پلاگین های دیتابیس

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

علاوه بر پایگاه داده ها، موتور های جستجو نیز می توانند اطلاعات را جستجو و بازیابی کنند. با این حال عبارت کوئری در این دو متفاوت است. Web search query به کلمات کلیدی که کاربران در موتور های جستجو تایپ می کنند اشاره می کند. در صورتی که کوئری های پایگاه داده با هدف درخواست اطلاعات اجرا می شوند.

حتما تا به اینجا اصول اولیه کوئری ها را درک کرده اید. در ادامه چند اصطلاح استاندارد که در زمان اجرای کوئری با آنها مواجه می شوید، بررسی خواهد شد.

  • Query string: این رشته ها بخشی از آدرس صفحه یا url هستند که برای ارسال درخواست از وب به پایگاه داده استفاده می شوند.
  • Query parameters: عناصری که در انتهای url برای مشخص کردن یک کوئری خاص در دیتابیس استفاده می شود.
  •  Query containment: در برخی مواقع ممکن است یک کوئری در کوئری دیگری وجود داشته یا به اصطلاح کوئری ها تودرتو  نوشته شده باشند. معمولا این مورد حالتی است که داده های کوئری دوم به صورت مستقل در جدول دیگری ذخیره شده باشند.

زبان کوئری

انتخاب پایگاه داده و زبان کوئری بسیار مهم است. علاوه بر SQL نوع دیگری از دیتابیس به نام NOSQL نیز وجود دارد. تفاوت اصلی بین این دو در ساختار آنها است.

دیتابیس های SQL، رابطه ای هستند و دارای طرح های از پیش تعریف شده ای هستند که شما را  مجبور به استفاده از ساختار داده ای خود می کنند. اما پایگاه داده NOSQL غیر رابطه ای بوده و دارای اسکیمای پویا برای داده های بدون ساختار است. از این گذشته SQL و NOSQL آپشن های اجرایی را ارائه می دهند. پایگاه داده SQL یک گزینه بسیار مناسب برای ساختار داده سازگار با ACID است. 

ACID به یک مفهوم در علم کامپیوتر گفته می شود که از چهار قسمت Atomicity (یکپارچگی) - Consistency (همخوانی) - Isolation (انزوا) و Durability (پایایی) تشکیل شده است، می توان گفت پایگاه داده ای که شامل این چهار بخش باشد با ACID  سازگار  می باشد. 

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

تصویر(2)

مثال هایی از کوئری ها

در ابتدا مزایای اصلی استفاده از کوئری ها نام برده می شود:

  • قابلیت بدست آوردن داده های چندین جدول به صورت همزمان
  • امکان فیلتر رکورد ها در صورتی که شامل یک فیلد خاص و معیار های خاصی باشد
  • انجام مدیریت داده ها و محاسبات

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

 نام جدول: Participant

ID

Name

Gender

Age

Occupation

1

امیر

مرد

17

دانش آموز

2

جواد

مرد

26

بی کار

3

سعید

مرد

34

دبیر

4

لیلا

زن

34

بی کار

فرض کنید میخواهید فقط ستون های Name و Occupation را از جدول فوق انتخاب کنید. در مثال زیر به صورت یک کوئری SQL به شما نشان داده می شود که چگونه تنها ستون های Name و Occupation را از یک جدول انتخاب نمایید:

SELECT Name, Occupation FROM Participant

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

Name

Occupation

امیر

دانش آموز

لیلا

بی کار

سعید

دبیر

جواد

بی کار

برای انتخاب داده های دیگر، نیاز است متغیر ها را متناسب با نوع داده ای که می خواهید، تغییر دهید.

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

DELETE FROM Participant WHERE Occupation = ”بیکار”

بعد از اجرای موفق این کوئری، خروجی جدول نهایی به این شکل خواهد بود:

ID

Name

Gender

Age

Occupation

1

امیر

مرد

17

دانش آموز

3

سعید

مرد

34

دبیر

درج یک ردیف جدید در جدول

کوئری INSERT INTO داده ها را از طریق  MySQLi  و PHP Data Object در دیتابیس  MySQL درج می کند. در مثال زیر نحوه استفاده از کوئری برای درج یک ردیف جدید به جدول نظرسنجی نشان داده شده است. دو روش مختلف برای ترکیب این دستور SQL وجود دارد. اگر تنها به برخی از فیلد ها مقادیر جدید اضافه می کنید، باید همه عناصر را مشخص کنید. پس دستور به این شکل خواهد بود:

INSERT INTO `table_name` ‘column1’,’column2’,’column3’, ...)VALUES (‘value1’,’value2’,’value3’, ...);

در نظر داشته باشید که به جای عبارت ‘column’ باید نام ستون و به جای عبارت ‘value’ در مثال فوق باید مقداری که به ستون مد نظر افزوده شود را درج نمایید. اما اگر قصد دارید مقادیر جدید را به تمام ستون های موجود اضافه نمایید از دستور زیر استفاده کنید:

INSERT INTO `table_name` VALUES (‘value1’,’value2’,’value3’, ...);

تغییر مقادیر موجود در جدول

از کوئری UPDATE برای تغییر مقادیر موجود در جدول استفاده می شود و برای تعیین ردیف هایی که باید آپدیت شوند از کوئری WHERE استفاده کنید. در مثال زیر قرار است شغل "سعید" از "دبیر" به "مدیر مدرسه" تغییر کند پس کوئری SQL به این شکل خواهد بود:

UPDATE Participant SET ‘مدیر مدرسه’= ‘دبیر’ WHERE ID = ‘3’

بعد از اجرای کوئری، ردیف 3 بروز رسانی شده و خروجی به شکل زیر خواهد بود:

ID

Name

Gender

Age

Occupation

1

امیر

مرد

17

دانش آموز

2

جواد

مرد

26

بی کار

3

سعید

مرد

34

مدیر مدرسه

4

لیلا

زن

34

بی کار

نتیجه گیری

یک کوئری می تواند به صورت select کوئری یا اکشن کوئری باشد. select کوئری برای انتخاب بخشی از دیتا بوده و اکشن کوئری ها، داده های موجود را تغییر می دهند. همچنین یک کوئری می تواند با ترکیب هر دو عمل برای انجام کار های متنوع تر، بعنوان مثال بررسی، درج، ویرایش یا حذف داده و همچنین محاسبه و ترکیب داده ها از جداول متعدد استفاده شود.

کوئری های پایگاه داده نشان می دهند که تغییرات داده ها نباید کار پیچیده ای باشد. اکثر زبان های کوئری، بصری هستند و با درک برخی از قوانین اساسی، یادگیری آنها چندان دشوار نیست. افرادی که با کد نویسی میانه خوبی ندارند می توانند از افزونه های پایگاه داده یا نمونه کوئری ها استفاده کنند.

اشتراک گذاری:

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *