شروع کار با دیتابیس‌های رابطه‌ای و SQL

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

مدیریت جدولدیتابیس رابطه‌ایاصول SQL,

~4 دقیقه مطالعه · آخرین به‌روزرسانی ۱۶ شهریور ۱۴۰۵

یک دیتابیس رابطه‌ای واقعاً چیست

یک Relational Database (دیتابیس رابطه‌ای) داده را در Tables (جداول) سازمان‌دهی می‌کند، که هرکدام از ردیف‌ها و ستون‌ها تشکیل شده‌اند، جایی که هر ردیف یک رکورد را نشان می‌دهد و هر ستون یک ویژگی از آن رکورد را. این ساختار جدولی، که دهه‌ها پیش رسمی‌سازی شد، همچنان رایج‌ترین روش ذخیره داده ساختاریافته باقی می‌ماند چون روابط بین انواع مختلف داده را صریح و قابل‌پرس‌وجو می‌کند.

مثال جدول: customers
| customer_id | name        | email               |
|-------------|-------------|---------------------|
| 1           | Alice Smith | [email protected]   |
| 2           | Bob Jones   | [email protected]      |

یک Relational Database Management System (RDBMS) نرم‌افزاری است که این جداول را ذخیره می‌کند و اجازه می‌دهد کاربران با آن‌ها تعامل داشته باشند — مثال‌های رایج شامل PostgreSQL، MySQL، و SQLite هستند. کاربران تقریباً کاملاً از طریق SQL (Structured Query Language)، یک زبان تخصصی برای بازیابی و دستکاری داده ساختاریافته، با یک RDBMS تعامل می‌کنند.

نوشتن اولین کوئری SQL

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

SELECT name, email
FROM customers
WHERE customer_id = 1;

این کوئری به‌طور طبیعی خوانده می‌شود: ستون‌های name و email را انتخاب کن، از جدول customers، جایی که customer_id برابر ۱ باشد. هدف طراحی SQL اعلانی‌بودن است — کوئری آنچه داده مورد نیاز است را توصیف می‌کند، نه رویه گام‌به‌گام برای یافتن آن، و اجازه می‌دهد موتور دیتابیس کارآمدترین روش برای واقعاً بازیابی آن را تعیین کند.

بلوک‌های سازنده اصلی یک کوئری SQL

فراتر از یک `SELECT` ساده، تعداد کمی بند اکثریت قریب‌به‌اتفاق نیازهای روزمره بازیابی داده را مدیریت می‌کنند.

  • WHERE ردیف‌ها را بر اساس یک شرط فیلتر می‌کند، و فقط ردیف‌هایی که آن را برآورده می‌کنند برمی‌گرداند.
  • ORDER BY ردیف‌های بازگردانده‌شده را بر اساس یک یا چند ستون، صعودی یا نزولی، مرتب می‌کند.
  • LIMIT تعداد ردیف‌های بازگردانده‌شده را محدود می‌کند، که برای پیش‌نمایش نتایج بزرگ مفید است.
  • GROUP BY ردیف‌های اشتراک‌گذارنده یک مقدار مشترک را گروه‌بندی می‌کند، که معمولاً با یک تابع تجمیعی ترکیب می‌شود.
SELECT city, COUNT(*) AS customer_count
FROM customers
GROUP BY city
ORDER BY customer_count DESC
LIMIT 5;

این کوئری تعداد مشتریان به‌ازای هر شهر را می‌شمارد، شهرها را بر اساس آن تعداد از بالاترین به پایین‌ترین مرتب می‌کند، و فقط ۵ تای اول را برمی‌گرداند — الگویی بسیار رایج در وظایف گزارش‌گیری و تحلیل.

مدیریت جداول: ساخت ساختار

پیش از اینکه هر داده‌ای بتواند ذخیره شود، ساختار یک جدول باید با استفاده از CREATE TABLE تعریف شود، که نام و Data Type (نوع داده) هر ستون را مشخص می‌کند — نوع مقداری که آن ستون نگه خواهد داشت، مانند متن، اعداد صحیح، یا تاریخ‌ها.

CREATE TABLE customers (
    customer_id INTEGER PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100)
);

تعیین PRIMARY KEY مشخص می‌کند customer_id ستونی است که هر ردیف را به‌طور یکتا شناسایی می‌کند — هیچ دو ردیفی نمی‌توانند همان مقدار را داشته باشند، و این ستون نمی‌تواند خالی بماند. NOT NULL به‌طور مشابه نیاز دارد یک ستون همیشه یک مقدار داشته باشد، و از رکوردهای ناقص جلوگیری می‌کند.

مدیریت داده: درج، به‌روزرسانی، و حذف

وقتی یک جدول وجود دارد، سه عبارت تغییر محتوایش را مدیریت می‌کنند.

-- افزودن یک ردیف جدید
INSERT INTO customers (customer_id, name, email)
VALUES (3, 'Carol White', '[email protected]');

-- تغییر یک ردیف موجود
UPDATE customers
SET email = '[email protected]'
WHERE customer_id = 1;

-- حذف یک ردیف
DELETE FROM customers
WHERE customer_id = 2;

هرکدام از این عبارات معمولاً یک بند WHERE برای هدف‌گذاری ردیف‌های خاص شامل می‌شوند؛ حذف آن از یک UPDATE یا DELETE تغییر را روی هر ردیف در جدول اعمال می‌کرد، یک اشتباه رایج و پرهزینه که ارزش دقت خاص را دارد.

چرا این اصول اهمیت دارند

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

نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

مروری بر طراحی دیتابیس: اهداف، فرآیند، و مراحل کلیدی

ادامه

اتصال جداول: JOIN ها و SQL ضروری بیشتر

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

ادامه

نرمال‌سازی دیتابیس و توضیح کامل ۷ لایه آن

نرمال‌سازی (Normalization) فرآیندی است برای سازماندهی جداول دیتابیس رابطه‌ای به منظور کاهش تکرار داده‌ها، جلوگیری از ناهنجاری‌های درج، به‌روزرسانی و حذف، و بهبود یکپارچگی داده‌ها. این فرآیند بر اساس قوانین تدریجی به نام Normal Forms (NF) انجام می‌شود. در این مقاله به‌طور مفصل ۷ لایه نرمال‌سازی (از ۱NF تا ۶NF و DKNF) همراه با مثال‌های عملی توضیح داده شده است.

ادامه

تئوری مجموعه‌ها در دیتابیس‌های رابطه‌ای

تئوری مجموعه‌ها (Set Theory) پایه و اساس مدل رابطه‌ای دیتابیس است. مفاهیمی مانند اجتماع، اشتراک، تفاضل و ضرب دکارتی مستقیماً در زبان SQL پیاده‌سازی شده‌اند. درک این مفاهیم به مهندسان دیتابیس کمک می‌کند تا کوئری‌های پیچیده، بهینه و منطقی بنویسند. در این مقاله به‌طور کامل رابطه تئوری مجموعه‌ها با دیتابیس‌های رابطه‌ای، عملیات اصلی و مثال‌های عملی در SQL توضیح داده شده است.

ادامه

دیتابیس‌های رابطه‌ای چیست؟ بررسی کامل Relational Database و کاربردهای آن

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

ادامه