📚 فصل ۳: آشنایی با SQL و نقش آن در پایگاه داده‌ها

""

بخش ۱: مقدمه – وقتی با پایگاه داده آشنا شدیم، حالا وقت فرمان دادن است

در فصل‌های قبل فهمیدیم پایگاه داده چیست و اینکه دو نوع اصلی رابطه‌ای و غیررابطه‌ای دارد.
حالا وقتش رسیده درباره زبان SQL حرف بزنیم؛ زبانی که تقریباً موتور اصلی کار با پایگاه داده‌های رابطه‌ای است.

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


بخش ۲: تعریف SQL

SQL مخفف Structured Query Language است.
ترجمه تحت‌اللفظی: «زبان ساختاریافته پرس‌وجو».

📌 تعریف ساده:
SQL زبانی است که با آن می‌توانیم:

  • ایجاد کنیم (Create)
  • بخوانیم (Read)
  • به‌روزرسانی کنیم (Update)
  • حذف کنیم (Delete)
  • یا به اختصار CRUD روی داده‌ها انجام بدهیم.

مثال ساده از یک کوئری SQL

فرض کن یک جدول Customers داری:

IDNameCity
1علیتهران
2سارامشهد
3مهدیشیراز

حالا اگر بخواهیم همه مشتریان شهر تهران را ببینیم:

SELECT * FROM Customers WHERE City = 'تهران';

این کوئری یعنی:

  • SELECT → انتخاب کن
  • * → همه ستون‌ها
  • FROM Customers → از جدول Customers
  • WHERE City = ‘تهران’ → فقط رکوردهایی که شهرشان تهران است.

بخش ۳: چرا یادگیری SQL مهم است؟

۱. تقریباً همه پایگاه داده‌های رابطه‌ای از SQL پشتیبانی می‌کنند.
۲. حتی بسیاری از پایگاه داده‌های غیررابطه‌ای دستوراتی شبیه SQL دارند.
۳. SQL استاندارد بین‌المللی است و یکبار یادگیری آن می‌تواند سال‌ها به درد بخورد.

📌 نکته جالب: SQL از دهه ۱۹۷۰ تا امروز همچنان محبوب است و یادگیری آن سرمایه‌گذاری بلندمدت است.


بخش ۴: ساختار کلی یک کوئری SQL

معمولاً یک دستور SQL از چند بخش تشکیل می‌شود:

  1. کلمه کلیدی اصلی (مثل SELECT، INSERT، UPDATE، DELETE)
  2. نام جدول
  3. شرط‌ها (WHERE)
  4. مرتب‌سازی (ORDER BY)
  5. گروه‌بندی (GROUP BY)
  6. محدود کردن تعداد نتایج (TOP / LIMIT)

مثال:

SELECT Name, City
FROM Customers
WHERE City = 'مشهد'
ORDER BY Name ASC;

بخش ۵: دسته‌بندی دستورات SQL

دستورات SQL به ۴ گروه اصلی تقسیم می‌شوند:

۵-۱. DDL – Data Definition Language

برای تعریف و ساختار پایگاه داده:

  • CREATE → ایجاد جدول یا پایگاه داده
  • ALTER → تغییر ساختار
  • DROP → حذف جدول یا پایگاه داده

مثال:

CREATE TABLE Products (
    ProductID INT PRIMARY KEY,
    ProductName NVARCHAR(50),
    Price DECIMAL(10,2)
);

۵-۲. DML – Data Manipulation Language

برای کار با داده‌ها:

  • SELECT → خواندن داده‌ها
  • INSERT → اضافه کردن رکورد
  • UPDATE → تغییر رکورد
  • DELETE → حذف رکورد

مثال:

INSERT INTO Products (ProductID, ProductName, Price)
VALUES (1, 'لپ‌تاپ', 25000000);

۵-۳. DCL – Data Control Language

برای مدیریت مجوزها:

  • GRANT → دادن دسترسی
  • REVOKE → گرفتن دسترسی

۵-۴. TCL – Transaction Control Language

برای کنترل تراکنش‌ها:

  • BEGIN TRANSACTION
  • COMMIT
  • ROLLBACK

بخش ۶: SQL در SQL Server

SQL Server زبان SQL را با کمی تفاوت و امکانات بیشتر پیاده‌سازی کرده است که به آن T-SQL (Transact-SQL) می‌گویند.

📌 T-SQL علاوه بر دستورات SQL دارای:

  • توابع داخلی بیشتر
  • امکان تعریف متغیر
  • کنترل شرطی (IF, CASE)
  • حلقه‌ها (WHILE)

مثال T-SQL:

DECLARE @CityName NVARCHAR(20) = 'تهران';
SELECT * FROM Customers WHERE City = @CityName;

بخش ۷: نقش SQL در مدیریت پایگاه داده

SQL مثل یک ابزار چندکاره است:

  • 📥 ورود اطلاعات → تا کاربر بتواند داده‌های جدید وارد کند.
  • 🔍 جستجو و گزارش‌گیری → فیلتر کردن داده‌ها بر اساس شرایط مختلف.
  • 🔄 به‌روزرسانی دسته‌ای → اصلاح هزاران رکورد در چند ثانیه.
  • 🗑 پاک کردن دقیق → حذف رکوردها با کمترین خطا.

بخش ۸: مزایا و محدودیت‌های SQL

مزایا:

  1. استاندارد جهانی
  2. قابلیت مدیریت داده‌های پیچیده
  3. امنیت بالا
  4. مستقل از سیستم‌عامل

محدودیت‌ها:

  1. نیاز به طراحی خوب پایگاه داده
  2. برای داده‌های بسیار غیرساختاریافته ایده‌آل نیست

بخش ۹: اشتباهات رایج مبتدی‌ها

  1. استفاده از SELECT * به‌جای انتخاب ستون‌های لازم → کندی و مصرف منابع بیشتر.
  2. فراموش کردن شرط WHERE در DELETE یا UPDATE → حذف یا تغییر همه رکوردها.
  3. عدم استفاده از Indexها → افت سرعت جستجو.

بخش ۱۰: تمرین‌های عملی

📌 تمرین ۱:

  • یک جدول Employees با ستون‌های (ID, Name, Position, Salary) بساز.
  • داده‌های ۳ کارمند را اضافه کن.
  • همه کارمندانی که حقوقشان بالای ۱۰ میلیون است را انتخاب کن.

📌 تمرین ۲:

  • نام شهر همه مشتریانی که از جدول Customers داری را بدون تکرار بگیر.
  • مشتریان را بر اساس شهرشان گروه‌بندی کن.

بخش ۱۱: جمع‌بندی فصل ۳

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

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

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