Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    aiuto con logica tabella mysql

    ciao a tutti

    ho una tabella prodotti così composta

    id_prodotto | descrizione

    E' corretto avere un collegamento di questo tipo:

    id_cliente | id_prodotto | nome_cliente

    1, "1,2,3" , "mario rossi"
    2, "2,5", "franco verdi"
    3, "1,5", "luigi vola"


  2. #2

    Re: aiuto con logica tabella mysql

    Originariamente inviato da henry78
    ciao a tutti

    ho una tabella prodotti così composta

    id_prodotto | descrizione

    E' corretto avere un collegamento di questo tipo:

    id_cliente | id_prodotto | nome_cliente

    1, "1,2,3" , "mario rossi"
    2, "2,5", "franco verdi"
    3, "1,5", "luigi vola"

    Mamma mia che brutta cosa

    Un cliente può avere più prodotti ed un prodotto può essere associato a più clienti (relazione N a N)

    Clienti:
    id_cliente | nome_cliente

    1, Mario Rossi
    2, Carlo Bianchi
    ...


    Prodotti:
    id_prodotto | descrizione

    1, Maglietta
    2, Pantalone
    3, Guanti
    ...


    Clienti_Prodotti:
    id_cliente | id_prodotto

    1, 1
    1, 3
    2, 2
    ...
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    hai ragione, poteva essere un modo per rendere più leggibili le tabelle...

  4. #4
    Originariamente inviato da henry78
    hai ragione, poteva essere un modo per rendere più leggibili le tabelle...
    Si, ma inserire più valori separati da virgola in un campo del DB non sta nè in cielo nè in terra. Ovviamente si può fare, ma va contro qualsiasi regola. Inoltre ti complica enormemente le cose in fase di recupero dei dati. Se fai le cose come andrebbero fatte alla fine ti bastano semplici query per recuperare i dati piuttosto che query multiple e cicli vari.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da satifal
    Si, ma inserire più valori separati da virgola in un campo del DB non sta nè in cielo nè in terra. Ovviamente si può fare, ma va contro qualsiasi regola. Inoltre ti complica enormemente le cose in fase di recupero dei dati. Se fai le cose come andrebbero fatte alla fine ti bastano semplici query per recuperare i dati piuttosto che query multiple e cicli vari.
    hai ragione, ma l'esempio nel mio caso reale è molto diverso dalla tabella cliente e prodotti.

    In realtà i "prodotti" sono sempre gli stessi 5 e non variano mai. Cmq hai ragione, le regole dell'integrità referenziale non lo permettono.

    Grazie!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.