شبكة تعلم مع ناو

ما نوع البيانات المناسب لعمود أدوار المستخدمين في SQL؟

لعمود قيمه من قائمة محددة مسبقًا، مثل الأدوار، يناسب النوع ENUM:

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  role ENUM('admin', 'superAdmin', 'author', 'subscriber') DEFAULT 'subscriber'
);

قاعدة البيانات ترفض أي قيمة خارج القائمة، فتمنع أخطاء مثل 'Admin ' أو 'autor'.

متى لا أستخدم ENUM؟

إذا كانت الأدوار تتغير كثيرًا، أو تحتاج معلومات إضافية لكل دور (مثل الصلاحيات)، فالأفضل جدول أدوار منفصل يُربط بالمستخدم:

CREATE TABLE roles (id INT PRIMARY KEY, name VARCHAR(50));
-- users.role_id INT

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.