Skip to main content

user_roles

Bu tablo sistem içindeki genel rol sözlüğünü taşır.

Rol bilgisini her kullanıcı satırında serbest string olarak taşımak yerine normalize biçimde ayrı bir sözlük tablosu olarak tutmak daha doğrudur. Bu tablo tek bir sorumluluk üstlenir: hangi rol kodları sistemde tanımlanmıştır, her rolün genel açıklaması nedir. Kullanıcı ile rol arasındaki ilişki FK ile kurulan users.role_id sütunu üzerinden yapılır. Böylece aynı rol birden fazla kullanıcıya atanabilir. Kısaca: sistem içinde hangi rol tipi vardır, her rol ne anlama gelir sorusunun cevabı bu tabloda yer alır.

Rol kodları ürün ailelerine göre namespace mantığı ile ayrılır:

ID AralığıSegmentKullanım
0-9SistemPlatform çekirdeği ve sistem yetkileri
10-19BayiKanal / bayi organizasyonu rolleri
20-29ÇiftçiMaraba ürün ailesi rolleri
30-39KurumsalQapu kurumsal / devlet kanalı rolleri

Bu tablo yalnız rol sözlüğünü tutmuş. Belirli bir rol taşıyan kullanıcıların hangileri olduğu burada tutulmaz (o users tablosundadır). Bir rolün belirli bir cihazda ne yapabileceği burada tanımlanmaz (o authority_permissions tablosundadır). Kısaca: hangi kullanıcı hangi rol, bir role ait kullanıcılar kimler sorusunun cevabı burada değildir.

Kolonlar

KolonTipNullKısıtlarAnlamı
idinthayırPK, AUTO INCREMENTRol anahtarı
namevarchar(100)hayırUNIQUERol kodu/adı
descriptionvarchar(255)evet-Rol açıklaması

Örnek Kayıtlar

{
"id": 1,
"name": "system_admin",
"description": "Platform çekirdeğinde tam yönetim yetkisi olan sistem yöneticisi."
}

Özet: Sistem segmenti için en üst yetkili yönetim rolü.