Consiglio architettura db mysql

Salve a tutti,

sto mettendo le basi per un sito di annunci ed utilizzo php/mysql.

L'annuncio che l'utente andrą ad inserire dovrą appartenere ad una categoria e quindi se ad esempio verrą inserita una auto i campi nella tabella mysql saranno diversi da quelli utilizzati ad esempio per inserire un appartamento.

Voi come procedereste? vi espongo le due soluzioni da me gią precedentemente utilizzate per siti pił modesti.

1. un unica tabella che contiene gli annunci (record) che ovviamente avra dei campi vuoti a seconda di che tipo di annuncio andrą inserito; ad esempio se verrą inserita un'auto il campo dei metri quadrati di superficie inerente agli appartamenti sarą vuoto e viceversa se verrą inserito un appartamento il campo della marca e modello delle auto saranno vuoti. Do' per scontato che la tabella sarą in ogni caso referenziata a tutte le altre tabelle che contengono i dati, ad esempio le marche ed i modelli, i tipi di carburante, le tipologie di appartamenti, ecc....

2. una tabella per ogni categoria, secondo me risulta pił scomodo quando si invia una query per visualizzare tutte le categorie assieme.

A voi la parola. Illuminatemi.

Alessandro.

inviato 4 anni fa
alegasale
modificato 4 anni fa
X 0 X

La seconda soluzione di gran lunga perchč si risparmia in logica, si risparmia in risorse e quando dovrai visualizzare tutte le categorie ti basterą selezionare tutto dalle tabelle Auto, Appartamento ecc...

risposto 4 anni fa
zeropingas
Considerando che per ogni annuncio potrebbero esserci 4/6 immagini, con una tabella sola per tutte le categorie è più semplice relazionare i record con le relative immagini; mentre se avessi più tabelle potrei avere degli ID non univoci.  Però rivalutando quanto mi hai detto, se creo una tabella immagini per ogni tabella categoria forse sarebbe più ordinato il sistema...alegasale 4 anni fa
X 0 X

Un annuncio bene o male ha gli stessi campi, quel che cambiano sono le ettichette dei vari campi. A parer mio non ha senso creare una tabella per ogni categoria. Pittosto cercherei di creare una tabella base che contiene i campi comuni. Eventualmente creare una seconda tabella da collegare alla prima in modo da inserire i valori del tipo chiave->valore per un determinato annuncio.

In un sito di annunci vedrei bene l'utilizzo di un database NoSql. Chissą che ne pensano gli sviluppatori esperti.

risposto 4 anni fa
Mario Santagiuliana
Non avevo pensato all'idea. Anche se ormai con mysql vado abbastanza a scheggia, con un pò di studio si potrebbe valutare l'utilizzo di Cassandra, lo usa anche facebook. Attendiamo gli esperti per ulteriori informazioni.alegasale 4 anni fa
Forse meglio è il mix fra database Sql e NoSql, il NoSql per salvare informazioni varie di ogni singolo annuncio ma che non sono ben caratterizzabili in una tabella definita in un database sql.Mario Santagiuliana 4 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda

Domande simili