Proje: Okul Database · Hub: Okul Database — Tables

users Tablosu

D2C kullanıcılar (veliler, adaylar) + B2B portal kullanıcıları. Aynı tablo her iki tipi barındırır.


Tam Kolon Listesi

KolonTipNullableDefaultAçıklama
idincrements (uint)NOPK
namevarchar(255)YES''(FULLTEXT INDEX — 2026-02-10)
first_namevarchar(255)YESNULL
last_namevarchar(255)YESNULL
emailvarchar(255)NO''(UNIQUE INDEX)
usernamevarchar(255)YESNULL(UNIQUE INDEX)
passwordvarchar(60)NO''Bcrypt hash
customer_idunsignedIntYESNULLcustomers.id — B2B firmaya bağlıysa
facebook_idbigIntYESNULLFacebook OAuth ID
google_idvarcharYESNULLGoogle OAuth ID (2025-12 eklendi)
user_type_idunsignedIntYESNULLusers_types.id
user_group_typevarchar(50)YESNULLGrup tipi
is_activeenum(‘0’,‘1’)NO'1'1=Aktif, 0=Pasif
created_withvarchar(255)NO'register'Kayıt yöntemi
person_idintYESNULLpersons.id
is_memberenum(‘0’,‘1’)NO'1'1=Üye, 0=Değil
remember_tokenvarchar(100)YESNULLLaravel auth token
unsubscribeenum(‘0’,‘1’)NO'0'E-posta abonelik iptali
last_activitydateTimeYESNULLSon aktivite zamanı
created_attimestampNOCURRENT_TIMESTAMP
updated_attimestampYESNULL
deleted_attimestampYESNULLSoft delete

Indexes

IndexTipKolonlar
PRIMARYPKid
users_email_uniqueUNIQUEemail
users_username_uniqueUNIQUEusername
users_name_fulltextFULLTEXTname
users_customer_id_foreignINDEXcustomer_id
users_user_type_id_foreignINDEXuser_type_id
users_deleted_at_indexINDEXdeleted_at

User Types (user_type_id)

IDNameTypeIs Admin
1Super Adminadmin1
2Adminadmin1
3Editoradmin1
4Öğrenciuser0
5Öğretmenuser0
6Veliuser0
7Mezunuser0
8Okul Yöneticisicustomer0

D2C vs B2B Ayrımı

users.customer_id IS NULL     → Pure D2C (veli, aday)
users.customer_id IS NOT NULL → B2B firmaya bağlı kullanıcı

users.user_type_id IN (1,2,3) → Admin/Editor — sistemin iç kullanıcısı
users.user_type_id IN (4,5,6,7) → D2C kullanıcı
users.user_type_id = 8        → Okul yöneticisi (customer user)

Bağlantılı Tablolar

users ←→ user_details     (1:1 — genişletilmiş profil)
users ←  leads            (1:N — user_id = atanan temsilci)
users ←  school_offers    (1:N — formu dolduran)
users ←  user_favorites   (1:N — favori okullar)
users ←  user_logs        (1:N — aktivite logu)
users ←→ customer_users   (N:M via customer_users — B2B bağlantısı)
users ←  user_session_hash (2026-04-09 eklendi)
users ←  coupon_user       (kupon ataması)

Analiz Filtreleri

-- Sadece D2C veliler
SELECT * FROM users
WHERE user_type_id = 6   -- Veli
  AND customer_id IS NULL
  AND deleted_at IS NULL
  AND is_active = '1';
 
-- B2B portal kullanıcıları (tüm firmalar)
SELECT u.*, c.name as firma
FROM users u
JOIN customers c ON c.id = u.customer_id
WHERE u.customer_id IS NOT NULL
  AND u.deleted_at IS NULL;
 
-- Kayıt yöntemi dağılımı
SELECT created_with, COUNT(*) as sayi
FROM users
WHERE deleted_at IS NULL
GROUP BY created_with;