Visualizzazione dei risultati da 1 a 4 su 4

Discussione: consiglio struttura db

  1. #1

    consiglio struttura db

    'sera a todos, secondo voi, al fine di una ricerca, sarebbe meglio la prima o la seconda struttura?

    codice:
    Tabella A (prodotti):
     - id (autoincrement)
     - titolo (varchar)
    
    Tabella B (utenti):
     - id (autoincrement)
     - nome (varchar)
     - idA (text con elenco variabile di id, es. 1;5;7;12;50; ecc.)
    codice:
    Tabella A (prodotti):
     - id (autoincrement)
     - titolo (varchar)
     - idB (text con elenco variabile di id, es. 1;5;7;12;50; ecc.)
    
    Tabella B (utenti):
     - id (autoincrement)
     - nome (varchar)
    La ricerca sarebbe nel senso che ad ogni accesso l'utente si deve ritrovare in un box l'elenco dei prodotti a lui assegnati, quindi nel primo caso sarebbe:
    SELECT * FROM tabellaA WHERE id='$arr['0'] OR id='$arr['1'] OR id='$arr['2'] OR ecc.
    dove $arr è un array creato in precedenza che contiene tutti gli id presenti nel campo idA della tabella B

    nel secondo caso sarebbe:
    SELECT * FROM tabellaA WHERE idB='%$mioid;%'
    dove $mioid sarebbe l'id dell'utente in questione che è memorizzato nel campo idB dei prodotti a lui assegnati.

    Quindi la domanda finale è: è meglio una serie di OR o una ricerca con il carattere jolly % ??

    tnx


    Ciaooooooo!!!!!!!!!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746

    Re: consiglio struttura db

    Personalmente preferirei la seguente struttura:

    codice:
    Tabella A (prodotti):
     - id_prodotto (autoincrement)
     - titolo (varchar)
    
    Tabella B (utenti):
     - id_utente (autoincrement)
     - nome (varchar)
    
    Tabella C (prodotti_assegnati)
    - id_assegnazione (autoincrement)
    - id_prodotto
    - id_utente
    Errare humanum est, perseverare ovest

  3. #3
    io direi tre tabelle:

    la prima ci metti gli utenti
    la seconda gli articoli
    la terza la fai con 2 colonne (idutente, idarticolo), in pratica una tabella di cross
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  4. #4
    Azz! Perchè non ci avevo pensato?
    Bene bene, sicuramente è molto meglio di quelle che ho proposto io!
    Grazie!


    Ciaoo!!!!!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

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.