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

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

الدرس 3 من 20

الهدف

بنهاية الدرس عندك 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)

محتاج مساعدة؟ راسلنا على mj@shakesbeard.net