تخطَّ إلى المحتوى

الـ Database: كيف تخزّن البيانات

الدرس 3 من 20 3 دقايق قراءة

الهدف

بنهاية الدرس عندك Neon database تشتغل، Prisma schema معرّف، وصف بيانات واحد دخّلته عبر Prisma Studio — بدون لمس لغة الاستعلامات (SQL).

ليش هذا الحين؟

ترى كل app حقيقي يحتاج مكان يحفظ البيانات. بدون database، كل restart تخسر كل شي. المشكلة إن أغلب المؤسسين يسمعون كلمة "database" ويحسبون إنها معقدة. بصراحة، الخيار الصح (Postgres + Prisma + Neon) يوفّر عليك ثلاثة أرباع القرارات الصعبة من البداية.

الفكرة

قاعدة بيانات علائقية (Relational database)، مثل Postgres: البيانات تعيش في جداول — أعمدة وصفوف، مثل Excel بس أقوى بوايد. الجداول ترتبط ببعض عبر مفاتيح أجنبية (foreign keys). هالنموذج موجود من الـ 70s وما راح يختفي.

ليش Postgres تحديدا؟ SQL هي اللغة المشتركة بين كل المطورين. Postgres مجاني ومفتوح المصدر ويشتغل في كل مكان. Neon تعطيك Postgres serverless مجانا — ما تحتاج تشغّل سيرفر بنفسك.

ليش Prisma؟ بدل ما تكتب SQL خام (وتغلط فيه)، تكتب schema بلغة TypeScript-like، و Prisma يترجمه لـ SQL. تضمن type safety — ما تقدر تدخّل string في column نوعه Int.

المفاهيم الأساسية:

  • جدول (Table) = نوع كيان (Users، Posts، Orders)
  • صف (Row) = سجل واحد (مستخدم واحد)
  • عمود (Column) = خاصية (name، email، createdAt)
  • المفتاح الأساسي (Primary key) = معرّف فريد لكل صف (عادة id)
  • Foreign key = رابط لصف في جدول ثاني (userId في جدول Posts يشير لـ Users)