Ben de emreyuce'ye katılıyorum. Kullanıcılar ve Talepler tablolarını ayırmak iş mantığı açısından da verimli olacaktır. (talepler tablosundaki durum alanı için tinyint yerine enum da kullanılabilir)
Kod:
CREATE TABLE kullanicilar (
Kullanici_Id int(10) unsigned NOT NULL auto_increment,
Kullanici_Adi varchar(16) NOT NULL,
PRIMARY KEY (Kullanici_Id)
);
CREATE TABLE talepler (
Talep_Eden_Id int(10) unsigned NOT NULL,
Talep_Goren_Id int(10) unsigned NOT NULL,
Durum tinyint(1) NOT NULL,
PRIMARY KEY (Talep_Eden_Id,Talep_Goren_Id)
);
talepler tablosundaki Durum alanı talebin hangi aşamada olduğunu bildirir. Yeni talep, kabul edildi, reddedildi vb.
Bu tablo sayesinde bir kullanıcıya gelen talepleri, bir kullanıcının yaptığı talepleri, taleplerin kimlere yapıldığı, kimlerden geldiği ve durumları gibi bir çok bilgiye kolayca ulaşabilirsiniz. Bu tip bir tablo hem gereksiz
veri kalabalığını engellediği gibi isterseniz geriye dönük istatistiksel
veri de sunabilir.