Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    [MySQL] Consiglio per salvataggio dati similari

    Buon pomeriggio a tutti!
    Avrei necessità di un consiglio...

    Ho un db costituito cosi (semplicisticamente)

    tbl_utenti => idUtente - nomeUtente

    tbl_subutenti => idSubUtente - idUtente (da tbl_utenti) - nomeUtente

    tbl_transazione => idTransazione - idUtente (inteso come chi ha fatto la transazione)

    Come notate quindi i subutenti sono "figli" di utenti, e tutti posso generare transazioni.

    Ora non posso salvare nella tabella transazione il semplice id, sia di un utente o di un subutente, perchè potrebbero esistere id uguali tra due tabelle diverse.

    O aggiungo due campi a tbl_transazione (idUtente e idSubUtente) ed in base al fatto se è un utente o un subutente salvo nella colonna giusta... oppure? Come risolvereste questa cosa? (oltre allo scrivere direttamente lo username del (sub)utente, che quello è unico, sicuramente, però mi piacerebbe tenere traccia degli ID cosi poi da poter entrarre con JOIN)...

    Grazie!

  2. #2
    Non ho capito... i subutenti non sono gli stessi utenti di tbl_utenti ma altri utenti?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Faccio un esempio:

    UTENTI
    codice:
    idUtente           Utente
    1                     Carrozzeria S.r.l.
    2                     Meccanica S.p.A.
    SUB-UTENTI
    codice:
    idSubutente       idUtente           Utente
    1                      1                      Mario
    2                      1                      Giovanni
    3                      2                      Rossella
    TRANSAZIONI
    codice:
    idTransazione      Transazione           Utente 
    1                      riparazione alfa        1
    2                      fattura clio              3
    3                      sportello polo           1
    4                      motore ferrari           2
    Come vedi, Mario e Giovanni fanno parte della Carrozzeria e Rossella è "la segretaria" di Meccanica.

    L'Alfa e la Polo sarebbero state riparate da Mario (e non dalla Carrozzeria!, quell'uno è riferito a Mario come idSubUtente e non alla Carrozzeria), Rossella avrebbe emesso la fattura della Clio ma........ il motore ferrari è stato riparato dalla Meccanica S.p.A. (è possibile che le transazioni vengano fatte anche da un utente e non solo da un subutente) mentre usando inner join solo sui sub sarebbe uscito che il motore l'ha riparato il nostro Giovanni...


  4. #4
    Capito. Dipende: se vuoi che esca scritto che l'ha riparata Mario ma non a quale azienda appartiene allora basta aggiungere una colonna "Tipo" che indica se è una persona o un'azienda, altrimenti devi aggiungere le due colonne idUtente e idSubUtente, delle quali quest'ultima sarà vuota se è indicata solo l'azienda.

    PS: son proprio bruttini i nomi delle tabelle e delle colonne

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    E allora niente, creo le due colonne aggiuntive......

    si concordo con te, ovviamente il db è diverso, era un esempio giusto x far capire "velocemente"

  6. #6
    Originariamente inviato da webtemplum
    si concordo con te, ovviamente il db è diverso, era un esempio giusto x far capire "velocemente"
    infatti non si è capito molto

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.