folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Mesajlaşma Tablosu Dizaynı Nasıl Olmalıdır? [SQL]



Mesajlaşma Tablosu Dizaynı Nasıl Olmalıdır? [SQL]

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    Merhaba,

     

    Site içinde üyeler kendi aralarında mesajlaşması için yapılan ideal tablo yapısı nasıldır sizce? Bu tabloda 2 tane önemli durum var. 1 numaralı mesajı örnek gösterelim. 

    Üye: Ali

    Üye: Fatma

    Ali, fatmaya mesaj gönderdi ID numarası 1. ToOkunmaDurum 0 olarak ve fatma sisteme giriş yaptığında 1 numaralı mesajı okunmamış olarak BOLD görecek. Ve okuyunca mesajı 1 numaralı mesaj ToOkunmaDurum 1 olacak ve okundu.

    Sonra Ali bu mesajı sildi diyelim, ama fatma kalması gerekiyor. Haliyle ToSilindiDurum 1 olacak.

    Tabi her select yaptığımızda hangi üye ise Silindi=0 olarak yapmamız lazım.

     

     

    Karıştırdım mı sanki biraz? Sesli düşünmek istedim burda biraz ben. Eklemek / Düzenlemek istediğiniz yer var mı?

     

    create table dbo.Mesaj(

    MesajID int identity(1,1)primary key,

    ToID int, //Üye

    FromID int,  //Üye

    ToOkunmaDurum bit,  //0 okunmamış, 1 okunmuş 

    FromOkunmaDurum bit,

    ToSilmeDurum bit,

    FromSilmeDurum bit,

    Baslik varchar(90),

    Mesaj varchar(3000),

    IP varchar(15),

    Tarih datetime

    )

    2. Tabloda detaylar tutulacak.

    Bu tabloya değer yazıldığında mesaj tablosundaki okunma durumunu 0 yapacakki yeni mesaj geldiği belli olsun.

     

    create table dbo.Detay

    (

    DetayID int identity(1,1)primary key,

    MesajID int,

    FromID int,

    ToID int,

    Mesaj varchar(3000)

    )

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    tamam zaten sen yapmışsın kafanda karışmamış iyi olmuş tablo yapısı.

    Nerde sıkıntı çektin ki zaten böyle olur.

    Sadece biraz optimizasyon istersen veri tabanına onu kasabilirsin.

    Altmesaj id yapabilirsin tasarıma göre...

    yani biri mesaj attı ona cevap geldi öyle while ile sistemde yukarıdan aşşa çektirirsin.

     

    Tabiki sen var olan mesajı çekip üzerine update de yapabilirsin bu fantezine kalmış bir durum.


    Php for SEO nun ardından Php for Gcode (CNC)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    SnipeTR bunu yazdı:
    -----------------------------

    tamam zaten sen yapmışsın kafanda karışmamış iyi olmuş tablo yapısı.

    Nerde sıkıntı çektin ki zaten böyle olur.

    Sadece biraz optimizasyon istersen veri tabanına onu kasabilirsin.

    Altmesaj id yapabilirsin tasarıma göre...

    yani biri mesaj attı ona cevap geldi öyle while ile sistemde yukarıdan aşşa çektirirsin.

     

    Tabiki sen var olan mesajı çekip üzerine update de yapabilirsin bu fantezine kalmış bir durum.


    -----------------------------

     

    Her işlemde "Mesaj" tablosundaki durumları update etmek daha mantıklı sanki. Ona göre okundu okunmadu durumlarını ordan çözeriz. 

    Bu işlemde select ve update başrolde.

    Şurda biraz karıştırmıştım ama konuyu açarken yazdığımda aklımda kafamda oturdu iyice :)

    Üye mesaj sayfasına girdiğinde FromID mi yoksa ToID'ye göre mi where koyacam?

Toplam Hit: 1384 Toplam Mesaj: 3