Files

9.8 KiB
Raw Blame History

مشخصات درس‌نامه: داده و دیتابیس چیست (Database Fundamentals)

  • شناسه در سیلابس: L7.2
  • فصل: فصل ۷: داده و بک‌اند (Ch 7)
  • نوع محتوا: 📘 درس‌نامه متنی
  • زمان تقریبی مطالعه: ۱۲ دقیقه
  • پیش‌نیازهای مستقیم: L7.1 (اهداف فصل هفتم)

۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)

دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:

  • درک کند (Understand): پایگاه داده (Database) چیست و استعاره «اکسل ابرقدرت و بدون کرش» چگونه ماهیت جداول، سطرها و ستون‌ها را تبیین می‌کند.
  • درک کند (Understand): مفاهیم ساختاری جدول: ستون (Column)، سطر یا رکورد (Row/Record)، کلید اصلی (Primary Key)، و انواع داده (Data Types: متن، عدد، تاریخ، بولین) را توضیح دهد.
  • تحلیل/ارزیابی کند (Evaluate): تفاوت پایگاه‌های داده رابطه‌ای (SQL نظیر PostgreSQL) را با پایگاه‌های داده سندرومحور (NoSQL) مقایسه کرده و چرایی برتری PostgreSQL را درک کند.
  • به‌کار ببندد (Apply): ساختار دو جدول اصلی پروژه محوری (جدول projects و جدول site_settings) را روی کاغذ یا بوم معماری داده رسم و فیلدهای آن‌ها را مشخص کند.

۲. محدوده و مرزهای محتوا (Scope & Boundaries)

آنچه باید پوشش داده شود (In-Scope):

  1. استعاره فایل اکسل ابرقدرت (Superpowered Excel):
    • پایگاه داده در ساده‌ترین تعریف، مانند یک دفترچه اکسل بسیار سریع، امن و آنلاین است که میلیون‌ها کاربر می‌توانند هم‌زمان و بدون کرش کردن، اطلاعات را در آن بخوانند یا ذخیره کنند.
  2. کالبدشکافی ارکان پایگاه داده:
    • جدول (Table): یک برگه اختصاصی برای یک موجودیت مشخص (مثل جدول پروژه‌ها یا جدول کاربران).
    • ستون یا فیلد (Column / Field): یک ویژگی مشخص از موجودیت (مثل ستون عنوان، ستون عکس، ستون تاریخ ایجاد).
    • سطر یا رکورد (Row / Record): یک نمونه واقعی ثبت‌شده در جدول (مثلاً سطر مربوط به پروژه «دستیار عادات هوشمند»).
    • کلید اصلی (Primary Key): کد ملی یا شناسه یکتای هر سطر که هیچ دو سطری نمی‌توانند شناسه مشابه داشته باشند (معرفی شناسه جهانی UUID).
  3. انواع داده‌های پرکاربرد در دیتابیس:
    • text / varchar: برای رشته‌های متنی (عنوان، توضیحات).
    • boolean: برای فیلدهای دوحالته درست/غلط (مثل فیلد featured برای پروژه‌های ویژه).
    • timestamp: برای تاریخ و ساعت ایجاد (created_at).
    • text[] (آرایه متنی): برای ذخیره تگ‌های تکنولوژی (['React', 'Next.js']).
  4. تفاوت SQL در برابر NoSQL:
    • دیتابیس‌های رابطه‌ای (SQL): ساختار منظم، جدول‌بندی مهندسی، داده‌های یکدست و امن (چرا PostgreSQL پادشاه دیتابیس‌های جهان است؟).
    • دیتابیس‌های NoSQL: ذخیره آزاد اسناد به شکل JSON.
  5. نقشه داده‌های پروژه محوری (پورتفولیوی پویا):
    • جدول ۱ (projects): فیلدهای id (UUID), title, description, image_url, tags, live_url, github_url, created_at.
    • جدول ۲ (site_settings): فیلدهای id, site_title, meta_description, og_image_url, author_name, bio.
  6. کال‌اوت‌های Quera:
    • <details class="violet">: چرا شناسه‌های تصادفی و طولانی (UUID) در وب مدرن بر شناسه‌های عددی ساده (1, 2, 3) ارجحیت دارند؟
    • <details class="red">: تله انتخاب نوع داده اشتباه؛ ذخیره کردن تاریخ یا اعداد در قالب متن خام (text) و مصیبت‌های بعدی در جستجو و مرتب‌سازی.

آنچه نباید وارد آن شویم (Out-of-Scope):

  • نوشتن کوئری‌های پیچیده SQL با دستورات JOINهای چندگانه تو در تو.
  • ثبت‌نام و ساخت عملی پروژه در داشبورد Supabase (درس‌های ۷.۴ و ۷.۵).

۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)

اصطلاح انگلیسی معادل فارسی مصوب توضیح یک‌خطی ساده
Relational Database (RDBMS) پایگاه داده رابطه‌ای سیستمی برای ذخیره و سازماندهی داده‌ها در قالب جداول دارای سطر و ستون منظم
Primary Key (PK) کلید اصلی فیلد منحصربه‌فردی که هویت یکتا و تمایز قطعی هر سطر در جدول را تضمین می‌کند
UUID (Universally Unique ID) شناسه جهانی یکتا رشته متنی تصادفی و ۳۶ کاراکتری که احتمال تکرار آن در کل جهان نزدیک به صفر است
Data Types انواع داده فرمت‌های معین برای مقادیر مجاز هر ستون (نظیر متن، عدد، تاریخ و منطقی)
PostgreSQL پستگرس‌کیو‌ال پیشرفته‌ترین، پایدارترین و محبوب‌ترین موتور پایگاه داده متن‌باز رابطه‌ای در جهان

۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)

راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ images/ قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:

  1. تصویر کاور درس: images/cover.png
    • موضوع: کاور مدرن با تم تیره و یک استوانه بلورین دیتابیس با طبقه‌های نوری منظم سطرها و ستون‌های داده که در فضا شناور است.
  2. استعاره اکسل در برابر پایگاه داده: images/excel-vs-database-analogy.png
    • موضوع: تصویر مقایسه‌ای: شیت ساده اکسل در برابر پایگاه داده رابطه‌ای با هزاران رکورد سریع و ایمن.
  3. آناتومی یک جدول پایگاه داده: images/database-table-anatomy.png
    • موضوع: اینفوگرافیک برچسب‌گذاری‌شده جدول: ستون‌ها، ردیف‌ها، کلید اصلی UUID و نوع داده هر ستون.
  4. مقایسه ساختار SQL و NoSQL: images/sql-vs-nosql-comparison.png
    • موضوع: دیاگرام مقایسه جداول ساخت‌یافته رابطه‌ای PostgreSQL در برابر اسناد انعطاف‌پذیر JSON.
  5. نقشه جداول پورتفولیوی پویا: images/portfolio-tables-schema.png
    • موضوع: تصویر شماتیک دو جدول projects و site_settings با نام ستون‌ها و انواع داده مجاز.

۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (README.md)

  1. تیتر اصلی: # داده و دیتابیس چیست: راز ماندگاری اطلاعات در دنیای دیجیتال
  2. مقدمه: چرا بدون پایگاه داده، بهترین وب‌سایت‌ها با بستن تب مرورگر همه چیز را فراموش می‌کنند؟
  3. جدول کاور درس
  4. استعاره فایل اکسل ابرقدرت: کالبدشکافی مفهوم پایگاه داده به زبان ساده.
  5. چهار رکن اساسی هر دیتابیس:
    • جدول (Table)، ستون (Column)، سطر (Row) و کلید اصلی (Primary Key).
  6. باکس نکته Quera (<details class="violet">): چرا در پروژه‌های نوین از شناسه UUID استفاده می‌کنیم؟
  7. انواع داده‌های پرکاربرد: متن، عدد، تاریخ و بولین: جلوگیری از خطاهای رایج.
  8. پایگاه‌های داده رابطه‌ای (SQL) در برابر NoSQL: چرا PostgreSQL انتخاب استاندارد است؟
  9. طراحی نقشه داده‌های پورتفولیوی پویا: کالبدشکافی جداول پروژه‌ها و تنظیمات سئو.
  10. باکس هشدار Quera (<details class="red">): عواقب انتخاب اشتباه نوع داده ستون‌ها.
  11. جمع‌بندی درس‌نامه: تسلط بر مفاهیم بنیادین داده و ورود به شاهراه ارتباطی فرانت‌اند با بک‌اند (APIها).

۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)

  • مفاهیم جدول، سطر، ستون و کلید اصلی با زبان ملموس و روان شرح داده شده باشند.
  • انواع داده‌های اصلی به همراه دلیل نیاز به نوع‌های معین تدریس شوند.
  • ساختار جداول پروژه پورتفولیو (projects و site_settings) در متن مشخص گردند.
  • تفاوت SQL و NoSQL با تاکید بر جایگاه PostgreSQL تبیین شده باشد.