• User

    Consigli per creare database

    Salve a tutti, dovrei creare un database per una chat.
    Nella chat ci saranno varie "Rooms" ogni Rooms avrà un determinato numero di "posti".
    Secondo voi sarebbe più efficiente fare un database con 2 tabelle:
    Una di nome:Room
    con i seguenti campi:

    ID
    Numero_posti_della_room
    Nome_room

    ed un'altra tabella:

    Chat:

    con i seguenti campi:

    ID ( indica la room)
    Numero_posto (indica il numero del posto)
    Posto_occupato ( indica se il posto è occupato o meno)
    Utente ( indica l'utente "seduto" a quel posto)
    Messaggio ( il mex dell'utente)

    Oppure sarebbe più ordinato creare 2 tabelle PER OGNI ROOM , una con le informazioni generali della room ed un'altra con:

    Numero_posto
    Posto_occupato ( indica se il posto è occupato o meno)
    Utente ( indica l'utente "seduto" a quel posto)
    Messaggio ( il mex dell'utente)


  • ModSenior

    Ciao lorenzo211,

    a mio avviso sono sufficienti 2 tabelle globali. Ma di norma un utente non dovrebbe inserire più messaggi in una chat? Quindi ti serve una terza tabella.


  • User

    No praticamente inserendo un messaggio il precedente si cancella , è strano lo so 😄

    Ma 2 tabelle globali non creerebbero confusione? Oppure un rallentamento nelle query se queste fossero troppe?


  • ModSenior

    Di che numeri stiamo parlando circa?


  • User

    Beh non ne ho idea, ma mettiamo che arrivino a circa 2000 utenti attivi ? ( sono un povero illuso lo so :rollo:)


  • ModSenior

    2000 record in una tabella non sono praticamente nulla, il database sarà piuttosto piccolo con la struttura da te proposta.
    Ora ovviamente per tenere quei numeri non basta un hosting da 50€ annui essendoci continui update(Supponiamo che ogni utente scriva di continuo ogni 3 secondi senza stare fermo a guardare), sicuramente dietro ci vuole ben altro.
    Non vedo comunque una cessità tale che possa spingerti ad adottare una struttura differente.


  • ModSenior

    2000 record in una tabella non sono praticamente nulla, il database sarà piuttosto piccolo con la struttura da te proposta.
    Ora ovviamente per tenere quei numeri non basta un hosting da 50? annui essendoci continui update(Supponiamo che ogni utente scriva di continuo ogni 3 secondi senza stare fermo a guardare), sicuramente dietro ci vuole ben altro.
    Non vedo comunque una cessità tale che possa spingerti ad adottare una struttura differente.


  • User

    Ok, grazie mille.Un 'ultima cosa:
    Se volessi sperimentare questo servizio -chat potrebbe starci su altervista? Quante persone potrebbero stare online contemporaneamente?
    Altrimenti che hosting mi consigli?
    Grazie mille!


  • ModSenior

    Su un hosting gratuito non credo proprio ti facciano tenere un carico di questo genere.
    Ora dipende tu da quanti utenti parti realmente, puoi anche valutare un cloud hosting che ti permette di scalare le risorse quando vi è la necessità, anche perchè sicuramente di notte in chat ci sarà poca gente mentre avrai momenti con picchi piuttosto elevati e un cloud potrebbe a mio avviso risultare una scelta migliore.
    Ovviamente non stiamo parlando di hosting da 10€, anche perchè le aspettative mi sembrano piuttosto ambiziose...


  • ModSenior

    Su un hosting gratuito non credo proprio ti facciano tenere un carico di questo genere.
    Ora dipende tu da quanti utenti parti realmente, puoi anche valutare un cloud hosting che ti permette di scalare le risorse quando vi è la necessità, anche perchè sicuramente di notte in chat ci sarà poca gente mentre avrai momenti con picchi piuttosto elevati e un cloud potrebbe a mio avviso risultare una scelta migliore.
    Ovviamente non stiamo parlando di hosting da 10?, anche perchè le aspettative mi sembrano piuttosto ambiziose...


  • User

    Si, ma siccome non vorrei spendere molto per un "esperimento", non c'è qualcosa di gratuito oppure del "tipo" prova per tot giorni?(povero illuso di nuovo).
    Quindi su altervista è proprio escluso? Anche per 10 -15 utenti?


  • ModSenior

    In prova non credo proprio troverai niente, se è solo un esperimento fatto senza nulla dietro allora puoi metterlo pure su altervista.
    Tieni presente che comunque devi pensare ad ottimizzarti adeguatamente gli script per tenere il carico del server il più basso possibile, visto che come tipo di script non è sicuramente dei più leggeri.


  • User

    Ok grazie mille per gli utili consigli 😉


  • User Newbie

    Ciao, Mi chiamo Nicola
    Ho letto la discussione riguardo le chat e codici vari ….
    Il mio problema non è esattamente quello di creare una webchat
    ma è quello di creare un database per una web chat.
    Un DB in sql per gestire un programma di chat. …. Es.:

    1 . Registrazione e accesso (solo accesso quando già registrato)
    2. informazioni dell’ utente
    3. lista amici (aggiunti da “preferiti/amici”)
    4. chi ha visitato il profilo dell’utente
    5. messaggi ricevuti offline e online (casella messaggi)
    6. cronologia messaggi (live in chat) … cronologia di quando scritto
    Dall’utente e da chi gli sta scrivendo con data e ora.

    Forse non va neppure progettato in questo modo … altrimenti quale potrebbe essere
    Una struttura adatta ad una web chat ?
    Quante tabelle / campi / etc… etc … ?

    P.s.:
    sto portando a termine una web chat, ma credo che sia una lavorone inutile …. L’ho scritto in c#
    e credo che non sia il linguaggio più adatto ma non vorrei buttare quanto fatto fin’ora.

    Grazie, Nicola.