Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [MYSQL] Consigli generali realizzazione database classified

    Salve a tutti,

    volevo avviare un progetto che prevede la realizazzione di un sito di annunci e avevo da chiedere a voi utenti esperti un po' di consigli prima di fare delle immense cavolate e ritrovarmi a metà dell'opera con un database altamente inefficiente.

    Prevedevo di sviluppare il progetto in due parti: la prima un semplice sito di annunci che non richiede registrazione. Quindi l'utente arriva e posta il suo annuncio. Inoltre volevo aggiungere una mappa dell'Italia, devo ancora vedere se implementare qualcosa con google maps a marker, o mettere la classica mappa rollover strausata da chiunque. In questo caso immagino che il punto in cui si debba cerca di ottimizzare il DB sia nella gestione degli annunci, non so da dove iniziare mi affido totalmente a voi

    E questo è per mettere online il sito, e vedere come gira

    In secondo luogo prevedo di realizzare un sistema di autenticazione, più features, magari delle pagine riservate per i negozi ecc [99 su 100 tornerò a rompervi le scatole quando verrà il momento] U.u

    Alla fine la domanda è: come mi conviene realizzare il database? Come motore per gestirlo cosa conviene?[innoDB?] Mi affido totalmente a voi (vi passerei un link di un sito a cui mi vorrei ispirare come gestione del tutto, ma credo sia contro regolamento .-.)

    Grazie in anticipo
    Ultima modifica di Deathlok92; 06-05-2014 a 19:22

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    La domanda quale sarebbe?

    se è opportuno il DB? risposta : ovviamente si

    quale engine usare? risposta : dipende da tanti fattori... vuoi usare foreign key, transazioni eccetera? allora InnoDB altrimenti MyISAM o altri ...

  3. #3
    La domanda è: visto che so poco niente di database, o meglio so niente di ottimizzazione di database, volevo sapere come mi conviene implementarlo proprio a livello di tabelle.

    Cerco di spiegarmi, per esempio la logica mi dice che per un sito di annunci servono almeno 2 tabelle: 1 contenente le categorie, e 1 contenente i singoli annunci. Adesso io non so come mi conviene fare per ottimizzare il tutto, soprattutto in vista dei futuri ampliamenti, che saranno:

    1) Implementazione di regioni, province, e comuni
    2) Integrazione google maps con marker degli annunci
    3) sistema di login per gli utenti
    4) Aggiungere un database che permette all'utente di avere suggerimenti quando inserisce un oggetto. Per esempio se l'oggetto è nel database vengono mostrate le specifiche, magari il prezzo attuale di mercato ecc

    L'ideale per me sarebbe avere la struttura base del database da cui partire a sviluppare il sito.

    Fosse un sito con poche query, ammetto mi interesserebbe poco, ma essendo un sito che potrebbe raggiungere parecchie query vorrei fare le cose il meglio possibile

    Ancora grazie!

  4. #4
    ciao,
    per indicarti quali tabelle creare e come dovremmo avere a disposizione un qualcosa dove c'e scritto quello che vuoi realizzare (un documento di requisiti)

    Io sinceramente con delle informazioni buttate a caso non mi sento di suggerirti che tabelle creare , potrei avere dei pareri personali ma non e' detto che siano affidabili.

    Quindi la prima cosa che ti consiglio di fare e' : scrivere chiaramente tutti i requisiti che vuoi vengano soddisfatti dal tuo lavoro, a quel punto si puo provare a darti dei consigli.
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    Allora, ci provo a fare un bel elenco.. a questo punto faccio direttamente la struttura del sito completo, come voglio che sia a lavori finiti.

    1) Sistema di Login per gli utenti (ogni utente può inserire alcuni dati quali, luogo(regione->provincia->comune->CAP sarebbe carino se inserendo il comune o il cap venissero compilati in automatico gli altri campi, se no pensavo al tipico sistema a dropdown) email, nome, cognome, cellulare ecc..)

    2) Inserzioni, essendo un sito di annunci, puntavo ad avere due implementazioni: I)L'utente pubblica un annuncio non essendo loggato. II) l'utente pubblica l'annuncio da loggato, quindi si possono recuperare i dati che ha inserito nel suo profilo. Inoltre se loggato l'annuncio dovrebbe essere linkato a lui in modo da poter effettuare ricerche per utente.

    3) Annunci a pagamento, volendo anche dare la possibilità ai negozi di inserire annunci, vorrei che le imprese debbano pagare per inserire annunci, ovviamente avranno dei bonus quali annunci in evidenza, e magari una pagina totalmente dedicata a loro.

    4)Essendo un sito molto specifico, tratterà solo un settore, quello informatico, volevo implementare anche un database che da consigli all'utente. Per esempio: l'utente inserisce "Intel" e gli vengono mostrati tutti i prodotti intel con le loro specifiche.

    5) Integrazione con google maps, volevo anche che quando un utente pubblica un annuncio venga segnato con un marker su una mappa in google maps... ammetto che non so se ci sia la necissità di implementare un database per questo.

    6) Un sistema di ricerca degli annunci

    Vi lascio il link del sito a cui vorrei ispirarmi: http://mercatinomusicale.it

    Se vi sentite di consigliare altre aggiunte fate pure, il mio obiettivo è avere un sito efficiente, minimale e semplice da usare

    Ancora grazie!

    PS: era questo che intendevi con "documento di requisiti"?

  6. #6
    da quello che leggo direi che dovresti creare ALMENO le seguenti tabelle:
    UTENTE : tabella contenente i dati sull'utente (username,pasword,nome ,cognome)
    ANNUNCIO: tabella contenete i vari annunci
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  7. #7
    Si ma per esempio, nell'ipotesi che ho tre tabelle: utenti, annunci e luogo(stato, regione, provincia, comune, CAP).

    Come le collego tra loro? Mi conviene non creare la tabella luogo e inserire direttamente i dati nella tabella dell'utente? Oppure la tabella luogo mi serve comunque se devo dare l'opzione all'utente di scegliere il luogo da un dropdown?

    Mi conviene fare dei join quando le devo consultare, o è conveniente in termini di prestazioni evitarli e avere quindi della ridondanza?

    Ancora grazie ^^

  8. #8
    dunque, per rispettare i principi di normalizzazione direi che e' opportuno creare tabella Utente e Luogo e assegnare che ad esempio un Utente abita in un solo Luogo, nello stesso Luogo vivono piu' Utenti.

    A questo punto relazioni le 2 entita' con una chiave esterna. In sostanza nella tabella Utente metti il riferimento alla tabella Luogo.

    Per recuperare i dati devi necessariamente mettere in Join le 2 tabelle.

    Mettere tutto in un unica tabella ti evita di fare Join ma, nella progettazione di database e' opportuno Normalizzare le tabelle.

    Quando poi progetterai un data warehouse sara' opportuno mettere tutto insieme... ma questo e' un altro discorso
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.