Bildirimler Sistemi gibi Facebook

2 Cevap php

Ben kullanıcı (Eklendi Resim / Eklendi Video / Yorumlananlar vs ...) onun arkadaşları arasında son faaliyetleri ile bildirilir PHP / MySQL bildirim modülü gibi bir yüz kitap geliştiriyorum. Ne veritabanı açısından bu modülü tasarlamak için en iyi yaklaşımdır. O (fotoğraf demek) her bir faaliyet için ayrı bir tablo var gerekmez. Ya da tek bir tablo yeterlidir.

Ve, ne iyi mantıktır. O 50 arkadaş, 50 kayıtları olan, yani eğer bir kullanıcı, bu etkinlik tüm arkadaşı kimlikleri ile tabloya eklenebilir, bir eylem gerçekleştiren her bir seçenektir. Ne zaman kullanıcı giriş php komut dosyası gerekli Bu şekilde, sadece tablo taramak. Bir kullanıcı giriş, bir dizi ve onun arkadaşları, mağaza tarama zaman ikinci seçenek Arkadaşım herhangi bir faaliyet yapmış olmadığını her arkadaş için bildirim tablosunu tarayın.

Thanks in advance, Hari

2 Cevap

Görünümünde bir normalleşme noktadan itibaren ben bir temel tablo var diyelim ve tablolar arasında bir IS-A ilişkisi (böylece "ayrı tablolar" olurdu) uygulamak istiyorum. Görünümünde bir pragmatik ve performans odaklı noktadan itibaren ben daha iyi hepsi için tek bir tablo kullanabilirsiniz ve type ya da benzer bir şey gibi bir sütun var derim.

Your first logic example doesn't make sense. What if the guy logs in, gets the 50 records and promptly adds another friend? No information for that guy... Thus, I'd go with your second suggestion.

Endeks bir kimliği ile tüm faaliyetler. Ardından 'Bakanlar' tüm kimlikleri ile kullanıcı tabloda bir rekor sütun var. Kullanıcı faaliyetleri (arkadaşları tarafından çapraz kontrol et Bakanlar 'sütununda ayrıca sadece aktivitelerin) değil zaten' ve bunları kullanıcıya gösterilecek olan günlükleri her zaman kontrol edin.