🎬 آموزش SQL – قسمت اول: مفاهیم پایه
سلام به همه دوستان عزیز 🙌
خیلی خوشحالم که با اولین قسمت آموزش SQL همراه من هستید. در این سری آموزشها قراره از پایه و قدم به قدم وارد دنیای پایگاه دادهها و زبان SQL بشیم و یاد بگیریم چطور میشه با دادهها مثل یک حرفهای کار کرد.
شاید از خودتون بپرسید: اصلاً پایگاه داده چی هست و چرا باید یادش بگیریم؟ SQL چه کاربردی تو زندگی واقعی یا کار ما داره؟ بذارید با یک مثال ساده شروع کنیم.
🗂️ پایگاه داده چیست؟
تصور کنید شما مدیر یک فروشگاه هستید. هر روز مشتریها میان، خرید میکنن و شما باید اطلاعاتی مثل نام مشتری، شماره تماس، محصولی که خریدن و مبلغ پرداختی رو جایی ثبت کنید. اگر بخواید این اطلاعات رو روی کاغذ یا توی چندتا فایل اکسل پراکنده ذخیره کنید، بعد از مدتی پیدا کردن یک داده خاص خیلی سخت میشه.
حالا اینجا پایگاه داده به کمک ما میاد. پایگاه داده (Database) در واقع یک سیستم منظم برای ذخیرهسازی و مدیریت اطلاعاته. دادهها داخل پایگاه داده بهطور ساختارمند نگهداری میشن و شما میتونید خیلی راحت بهشون دسترسی پیدا کنید، اونا رو تغییر بدید یا حتی گزارشهای پیشرفته بگیرید.
به زبان ساده:
- پایگاه داده مثل یک دفترچه یادداشت خیلی بزرگه.
- اما بر خلاف دفترچههای معمولی، اینجا دادهها سازمانیافته و قابل جستجو هستن.
- میتونید هزاران یا حتی میلیونها رکورد رو ذخیره کنید و در عرض چند ثانیه پیدا کنید.
📊 جدول، ستون و رکورد
برای اینکه اطلاعات داخل پایگاه داده منظم باشه، معمولاً به صورت جدول (Table) ذخیره میشه. جدولها رو میتونید شبیه فایلهای اکسل در نظر بگیرید که شامل سطرها و ستونها هستن.
- ستون (Column): هر ستون یک ویژگی یا خصوصیت رو نشون میده. مثلاً در جدول کاربران، ستونها میتونن “نام”، “سن” و “ایمیل” باشن.
- رکورد (Row یا Record): هر سطر جدول یک داده کامل رو نشون میده. مثلاً یک کاربر با نام “علی”، سن “۲۵” و ایمیل ali@example.com.
📌 مثال جدول کاربران:
اینجا:
- ستونها:
id, name, age, email - رکوردها: هر ردیف شامل اطلاعات یک کاربره.
🔑 کلید اصلی (Primary Key)
یکی از نکات مهم توی طراحی جدول، داشتن یک ستون منحصربهفرده. این ستون باعث میشه بتونیم هر رکورد رو بدون اشتباه شناسایی کنیم. به این ستون میگیم کلید اصلی (Primary Key).
ویژگیهای کلید اصلی:
- مقدارش باید منحصر به فرد (Unique) باشه.
- نمیتونه خالی (
NULL) باشه. - هر جدول فقط یک کلید اصلی داره.
📌 در مثال بالا، ستون id کلید اصلی جدوله.
🔗 کلید خارجی (Foreign Key)
گاهی لازمه بین جدولها ارتباط برقرار کنیم. مثلاً یک کاربر ممکنه چندتا سفارش ثبت کرده باشه. برای اینکه بفهمیم هر سفارش مربوط به کدوم کاربره، از کلید خارجی (Foreign Key) استفاده میکنیم.
کلید خارجی ستونی در یک جدول هست که به کلید اصلی جدول دیگه اشاره میکنه.
📌 مثال جدول سفارشها:
| order_id | user_id | product |
|---|
| 101 | 1 | لپتاپ |
| 102 | 2 | گوشی |
| 103 | 1 | موس |
- اینجا
order_id کلید اصلی جدوله. - ستون
user_id کلید خارجی هست چون به جدول کاربران (Users) و ستون id اشاره میکنه.
به کمک همین ارتباط میتونیم بفهمیم سفارش شماره ۱۰۱ مربوط به کاربر شماره ۱ (علی) هست.
🗂️ انواع دادهها (Data Types)
هر ستون در جدول باید نوع داده مشخصی داشته باشه. این موضوع خیلی مهمه، چون تعیین میکنه چه چیزی میتونیم داخل اون ستون ذخیره کنیم.
🔹 دادههای عددی (Numeric)
- INT: عدد صحیح (مثلاً 25، -100)
- BIGINT: عدد صحیح خیلی بزرگ
- DECIMAL(10,2): عدد اعشاری دقیق (مثلاً 12345.67)
- FLOAT/DOUBLE: عدد اعشاری تقریبی
🔹 دادههای متنی (String)
- CHAR(n): متن با طول ثابت
- VARCHAR(n): متن با طول متغیر
- TEXT: متن بلند
🔹 دادههای تاریخ و زمان
- DATE: تاریخ (YYYY-MM-DD)
- TIME: زمان (HH:MM:SS)
- DATETIME: تاریخ و زمان با هم
🔹 دادههای منطقی
- BOOLEAN: درست (TRUE) یا غلط (FALSE)
🔹 دادههای خاص
- BLOB: فایلهای باینری مثل عکس یا ویدئو
- JSON: دادههای ساختاریافته به صورت JSON
👨💻 اولین دستور SQL (CREATE TABLE)
حالا وقتشه اولین دستور SQL خودمون رو ببینیم. با استفاده از دستور CREATE TABLE میتونیم یک جدول جدید بسازیم.
📌 مثال:
CREATE TABLE Users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
balance DECIMAL(10,2),
register_date DATE,
is_active BOOLEAN
);
این دستور یک جدول به اسم Users میسازه که شامل این ستونهاست:
id: شماره کاربر (کلید اصلی)name: نام کاربر (متن تا ۵۰ کاراکتر)age: سن (عدد صحیح)balance: موجودی حساب (عدد اعشاری با دو رقم اعشار)register_date: تاریخ ثبتنام (نوع DATE)is_active: وضعیت فعال بودن (نوع BOOLEAN)
این دستور نمونهای از یک SQL Statement از نوع DDL هست.
📌 تفاوت اصطلاحات: کد، اسکریپت یا دستور؟
خیلیها میپرسن این چیزایی که مینویسیم کدن یا اسکریپت یا دستور؟
- Statement (دستور): هر بخش مستقل مثل همین
CREATE TABLE. - Script (اسکریپت): مجموعهای از چند دستور SQL داخل یک فایل.
- Code (کد): اصطلاح کلی برای همه.
پس این مثالی که زدیم یک SQL Statement هست.
🏁 جمعبندی
تا اینجا یاد گرفتیم:
- پایگاه داده چیه و چه کاربردی داره.
- جدول، ستون و رکورد چطور عمل میکنن.
- کلید اصلی و کلید خارجی برای چی استفاده میشن.
- انواع دادهها در SQL.
- اولین دستور مهم یعنی
CREATE TABLE.
اینها مقدمات کار با SQL بودن. از قسمت بعدی وارد دستورات پایه مثل INSERT و SELECT میشیم تا بتونیم دادهها رو وارد کنیم و بخونیم.