Sto cercando di progettare un sistema di notifica simile a Facebook e ho raggiunto un po 'di un muro di mattoni. Il mio requisito è di essere in grado di supportare un numero infinito di tipi di notifica che possono avere diversi tipi di metadati richiesti per essere resi.Schema di database per sistema di notifica simile a Facebook
sto pensando che io progettare lo schema come segue:
**Notification**
Id (int)
TypeId (int)
RecipientId (int)
SenderId (int)
SendDateTime (DateTime)
Read (bool)
MessageData (...Blob?)
Deleted (bool)
**NotificationType**
Id
Name
Description
voglio davvero cercare di evitare di memorizzare le stringhe HTML nel mio database, però, anche io non sono particolarmente appassionato di memorizzazione blob sia .
È possibile che possa fare una ricerca nella tabella NotificationType e fare riferimento a un'altra tabella che memorizza dati specifici per quel tipo, tuttavia, ciò significherebbe che ogni volta che ho creato un nuovo tipo di notifica avrei bisogno di creare un nuovo tavolo. Credo che anch'io mi troverei nel mondo di dover scrivere SQL dinamico per ottenere i dati.
Qualcuno ha qualche suggerimento per me?
Sto lavorando a questo stesso problema. Ho una struttura simile a te, ma sono andato con la rotta html. Nella colonna della descrizione, ho qualcosa come . Quindi interrogo la notifica tramite user_id e utilizzo JavaScript per popolare il messaggio in base agli ID span. –
@mcottingham Ho a che fare con lo stesso tipo di problema, ho pensato di fare qualcosa di simile solo memorizzandolo come XML, ma non sembra giusto ... Vorrei poter dare un'occhiata per vedere come FB ha fatto .. – formatc