در دومین جلسه از دورهی پستگرس کاربردی، از سطح دستورات معمول SQL به لایههای عمیقتر PostgreSQL سفر میکنیم — جایی که دادهها واقعاً زندگی میکنند.
در این جلسه، با تمرینهای عملی و مثالهای واقعی، درک خواهیم کرد که دادهها در PostgreSQL چگونه تعریف، تولید، ذخیره و مدیریت میشوند.
در آغاز جلسه، PostgreSQL را در محیطی ایزوله و قابلحمل با استفاده از Docker راهاندازی میکنیم. این روش نهتنها راهاندازی سریع را ممکن میسازد، بلکه برای مهندسان داده محیطی استاندارد و تکرارپذیر فراهم میکند.
در این بخش، نگاهی دقیقتر به دستورات DDL (Data Definition Language) خواهیم داشت:
هدف این بخش، درک معماری لایهی منطقی PostgreSQL و نحوهی سازماندهی اشیای مختلف در آن است.
PostgreSQL از نظر تنوع و انعطاف در Data Types یکی از قدرتمندترین سیستمهای پایگاه داده است.
در این بخش، علاوه بر مرور انواع استاندارد (عددی، متنی، زمانی)، با دادههای پیشرفتهتر آشنا میشویم:
در ادامه یاد میگیریم چگونه میتوان نوع دادهی جدیدی متناسب با نیازهای خاص تعریف کرد — مثلاً نوعی برای نگهداری ساختار عددی یا زمانی خاص.
با استفاده از زبان PL/pgSQL، رفتار این نوع دادهها را میتوان با توابع سفارشی کنترل کرد؛ برای مثال تعریف اینکه داده چگونه با سایر مقادیر مقایسه شود یا در عملیات ریاضی چه رفتاری داشته باشد.
این ویژگی PostgreSQL را از یک پایگاه داده سنتی به یک پلتفرم قابل توسعهی دادهمحور تبدیل میکند.
در این بخش به بررسی دقیق یکی از پرکاربردترین مفاهیم در طراحی جداول میپردازیم — شمارهگذاری خودکار (Auto Increment):
GENERATED ALWAYS AS IDENTITY: سیستم همیشه مقدار را تولید میکند.GENERATED BY DEFAULT AS IDENTITY: کاربر میتواند مقدار دلخواه درج کند.در این بخش یاد میگیریم کدام گزینه در چه شرایطی کارایی و پایداری بهتری دارد.
در این قسمت با نگاهی به جداول سیستمی PostgreSQL مانند pg_class, pg_type, pg_attribute, و pg_namespace درک میکنیم که هر جدول، ستون یا نوع داده در واقع رکوردی در متادیتای سیستم است.
با تحلیل این جداول، یاد میگیریم چگونه PostgreSQL موجودیتها و ساختار داده را در سطح داخلی خود مدیریت و ثبت میکند.
در پایان جلسه، به سطح فیزیکی ذخیرهسازی داده میرویم:
در این جلسه، از سطح طراحی و تعریف داده به درون معماری و رفتار واقعی PostgreSQL وارد میشویم.
شرکتکنندگان در پایان این جلسه درک خواهند کرد که PostgreSQL چگونه دادهها را در سطوح منطقی و فیزیکی مدیریت میکند، و چرا شناخت این لایهها برای طراحی بهینه، نگهداری و تحلیل عملکرد پایگاه داده حیاتی است.