Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    67

    [MYSQL] Impostare database utenti

    Ciao a tutti,

    mi sto avventurando nella creazione di un database per la gestione degli uetnti su un sito web e vorrei sapere se secondo voi questa impostazione è corretta

    Tabella 'users'
    -email utente
    -password utente (criptata)
    -id univoco di tot cifre come primary key
    -un campo per ogni servizio disponibile settato a null se il servizio non è settato

    Fino a qui nessun problema: in questo sito gli utenti avranno a disposizione la possibilità di collegarsi a dei servizi, chiamiamoli service1, service2 e service3.

    Per ognuno di questi servizi ho bisogno di salvare un numero di informazioni differenti e avevo pensato di fare così:

    Creo una tabella per ogni servizio con un campo user_id identico a quello salvato nella tabella users più tutti i campi necessari.

    In teoria un utente può impostare più volte un servizio quindi mi potrei trovare più volte lo stesso user_id ma con gli altr campi diversi. Questo mi impedisci di creare una primary key su user_id giusto?

    Come mi consigliate di fare? Utilizzare un'altr tipo di indice? Inoltre l'impostazione del database vi sembra corretta?

  2. #2
    Ti suggerisco una tabella di anagrafica servizi e una che lega lo userID con l'ID del servizio che ha scelto.
    Se ci possono essere però coppie user/servizio duplicate, devi trovare un discriminante, come il timestamp in cui ha scelto il servizio.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    67
    Originariamente inviato da IcarusDream
    Ti suggerisco una tabella di anagrafica servizi e una che lega lo userID con l'ID del servizio che ha scelto.
    Se ci possono essere però coppie user/servizio duplicate, devi trovare un discriminante, come il timestamp in cui ha scelto il servizio.
    Faccio un esempio:

    utente: pippo
    pass: topolino
    Id: 0000001
    mail: pippo@mail.com
    servizio1: attivo
    servizio2: null
    serizio3: attivo

    Allora il servizio 1 può avere una sola corrispondenza per utente e sarà così:
    user_id: 0000001
    consumer key: sdas
    consumer secret: uuhf
    token: jdhweu
    token secret:uhufwe
    email_servizio: email legata al servizio

    Mentre il servizio tre può avere più di un'istanza per utente però sicuramente almeno 1 dei campi del servizio deve essere diverso altrimenti segnalo all'utente che è stato già creato.

    Però se ho per esempio 3 campi: host user e password
    in un caso posso avere lo stesso host e user differente mentre in un altro stesso user e host differente

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    non ha capito un granchè, ma ti stai complicando la vita.
    Codifica-in-stringa l'elenco dei servizi, e fine dei problemi

    (...)
    SERVIZIATTIVI = 'servizio1;servizio3;servizio12;'

    l'effetto collaterale negativo è che dovrai usare una ricerca like '%%' sui servizi (il che implica una full-scan).
    Può essere bene o male a seconda del numero degli utenti; per casi "impegnativi" puoi usare un engine specifico

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    67
    Originariamente inviato da franzauker
    non ha capito un granchè, ma ti stai complicando la vita.
    Codifica-in-stringa l'elenco dei servizi, e fine dei problemi

    (...)
    SERVIZIATTIVI = 'servizio1;servizio3;servizio12;'

    l'effetto collaterale negativo è che dovrai usare una ricerca like '%%' sui servizi (il che implica una full-scan).
    Può essere bene o male a seconda del numero degli utenti; per casi "impegnativi" puoi usare un engine specifico
    il problema non è la lista dei servizi attivi ma che n utente può avere anche 2000 servizi di tipo 3 attivi.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da paglia_s
    il problema non è la lista dei servizi attivi ma che n utente può avere anche 2000 servizi di tipo 3 attivi.
    e la cosa ti turba?
    Devi stabilire, a priori, che tipo di interrogazioni vuoi fare, e la specifica frequenza.

    Una codifica semplice e lenta può andare benissimo, se hai pochi utenti, o devi fare poche verifiche dei servizi cui sono iscritti.

    Oppure no, se hai centinaia di migliaia di utenti

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.