بخش اول: ورود به جهان قدرتمند PostgreSQL
بخش دوم: جادوی جستجو و کوئری‌نویسی
بخش سوم: بهینه‌سازی و ساختارهای پیشرفته
بخش چهارم: امنیت، پشتیبانی، عملکرد و نگه‌داری
کارگاه‌ها و مثال‌های کاربردی

محتوای ویدئویی: تعریف ساختار منطقی جداول و آشنایی با نحوه ذخیره فیزیکی داده‌ها

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


🚀 بخش اول: راه‌اندازی PostgreSQL با Docker

در آغاز جلسه، PostgreSQL را در محیطی ایزوله با استفاده از Docker راه‌اندازی کردیم.
این روش ضمن سهولت در نصب و اجرا، امکان ایجاد محیطی استاندارد، تکرارپذیر و قابل‌حذف را برای تست و توسعه فراهم می‌کند – بدون آنکه اثری روی سیستم اصلی باقی بماند.


🧱 بخش دوم: مروری بر DDL و مفاهیم پایه SQL

در این بخش به زبان SQL و دسته‌بندی آن پرداختیم (DDL, DML, DQL, DCL…)
و با دستورات DDL آشنا شدیم که ساختار پایگاه داده را تعریف می‌کنند:
ایجاد و حذف Database، Schema، Table، Sequence و بررسی ارتباط میان این اجزاء.
هدف، درک معماری منطقی PostgreSQL و نحوه‌ی سازمان‌دهی اشیای آن بود.


🧬 بخش سوم: انواع داده در PostgreSQL

PostgreSQL از نظر تنوع در Data Typeها یکی از غنی‌ترین سیستم‌هاست.
در این بخش با داده‌های عددی، متنی، زمانی و همچنین ساختارهای پیشرفته آشنا شدیم:

  • JSON / JSONB برای داده‌های نیمه‌ساخت‌یافته
  • ARRAY برای نگهداری چند مقدار در یک ستون
  • HStore برای کلید-مقدارهای سبک
  • و UUID برای تولید شناسه‌های جهانی یکتا (در نسخه ۱۸، پشتیبانی از UUIDv7 بهینه‌تر از همیشه است)

همچنین دیدیم که داده‌های بزرگ (Large Objects) – مانند متن‌ها یا باینری‌ها – در سیستم ذخیره‌سازی جداگانه‌ای به نام TOAST نگهداری می‌شوند.


🧩 بخش چهارم: ساخت نوع داده‌ی دلخواه (User-Defined Types)

در ادامه، بررسی کردیم که PostgreSQL فقط به داده‌های از پیش‌تعریف‌شده محدود نیست.
می‌توانیم نوع داده‌ی سفارشی خود را تعریف کنیم و حتی با کمک PL/pgSQL رفتار آن را مشخص کنیم – مثلاً نحوه‌ی مقایسه یا تبدیل داده.
این قابلیت، PostgreSQL را به بستری توسعه‌پذیر برای تحلیل داده و طراحی سیستم‌های خاص تبدیل می‌کند.


🔢 بخش پنجم: تفاوت بین Serial، Sequence و Identity

در این بخش یاد گرفتیم که برای ایجاد مقادیر افزایشی (Auto Increment) سه رویکرد وجود دارد:

نوعویژگیتوضیح
Sequenceقابل کنترل و اشتراکیشیء مستقل برای تولید دنباله‌ی عددی
Serial / BigSerialغیر استاندارد اما رایجمیان‌بری برای ساخت ستون همراه با Sequence داخلی
Identityاستاندارد SQLدارای دو حالت BY DEFAULT و ALWAYS برای کنترل نحوه‌ی تولید مقدار

درک تفاوت این سه روش برای طراحی کلیدهای اصلی و داده‌های ترتیبی بسیار حیاتی است.


🛡️ بخش ششم: نگهبانان یکپارچگی داده‌ها – Constraints

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

  • PRIMARY KEY برای شناسه‌ی یکتا
  • FOREIGN KEY برای ارتباط بین جداول
  • UNIQUE برای جلوگیری از تکرار
  • CHECK برای اعتبارسنجی شرطی
  • NOT NULL برای اجباری بودن مقدار

Constraints باعث می‌شوند قواعد کسب‌وکار در خود دیتابیس پیاده‌سازی شوند، نه فقط در لایه‌ی نرم‌افزار — که منجر به داده‌های قابل اعتمادتر و کدهای ساده‌تر می‌شود.


🧠 بخش هفتم: بررسی متادیتا و ساختار داخلی جداول

در این قسمت، وارد دنیای درونی PostgreSQL شدیم و با جداول سیستمی مانند:
pg_class, pg_type, pg_attribute, pg_namespace
آشنا شدیم. این جداول همان متادیتای سیستم هستند و اطلاعات کاملی از ساختار دیتابیس در خود نگه می‌دارند.


⚙️ بخش هشتم: ساختار Page و مفهوم CTID

در پایان، لایه‌ی فیزیکی ذخیره‌سازی داده را بررسی کردیم:
هر جدول از Pageهایی با اندازه‌ی ۸KB تشکیل شده است.
با مفهوم CTID آشنا شدیم که مکان دقیق هر ردیف در فایل فیزیکی را مشخص می‌کند و نقش مهمی در عملکرد UPDATE، Vacuum و HOT Update دارد.


🎯 هدف نهایی این جلسه

در این جلسه از سطح دستورات SQL فراتر رفتیم و درک کردیم که PostgreSQL چگونه داده‌ها را در سطوح منطقی و فیزیکی سازمان‌دهی می‌کند.
درک این مفاهیم برای هر مهندس داده یا DBA حیاتی است – چون تنها با شناخت ساختار درونی است که می‌توانیم پایگاه داده‌ای بهینه، قابل‌اطمینان و مقیاس‌پذیر طراحی کنیم.


🎥 فیلم این جلسه که به ساختار منطقی و فیزیکی پایگاه داده‌ها در PostgreSQL می‌پردازد، در ادامه قابل مشاهده است.

فروشگاه
جستجو
دوره ها

لطفا کلمات کلیدی را وارد کنید