Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [database] struttura tabelle, domanda

    ho questo quesito da provi

    soluzione 1

    ho 10 tabelle prodotti (tabella ortaggi,tabella cereali ecc..), n utenti

    n utenti devono prendere informazioni da queste 10 tabelle prodotti quindi fare 10 tabelle con id,id_utente,id_prodotto ognuna riferita alla tabella prodotti (ortaggi, cereali) e quindi avere un numero discreto di record

    tabella ortaggi
    id_ortaggi,nome_ortaggi

    tabella cereali
    id_cereali,nome_cereali

    ecc.

    tabella ortaggi utente
    id,id_ortaggi,id_utente

    tabella cereali utente
    id,id_cereali,id_utente
    -------------------------------------

    soluzione 2

    fare 1 tabella con tutti i prodotti dentro ma ovviamente divisi da un campo categoria per distinguere tutti gli ortaggi dai cereali e così via...
    fare una tabella con id,id_utente,id_prodotto e relazionare l'utente al tipo di prodotto tramite l'quest'ultima tabella.

    tabella prodotti
    id_prodotti,nome_prodotti,categoria_prodotti

    tabella prodotti utente
    id,id_prodotti,id_utente

    ora vi chiedo

    quale delle due soluzioni sarebbe migliore o ce ne sono altre (sicuramente si)?

    ipotizziamo che ci sia parecchio trafiico e utenti collegati per aggiornare la loro lista prodotti.

  2. #2
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    ma esattamente che caspio devi fare?

    se ogni utente deve poter essere collegato a x prodotti, io farei

    utenti
    id - nome - ecc...

    prodotti
    id - tipo - nome - ecc...

    collegamenti (acquisti?)
    id - idutente - idprodotto - ecc...

    se poi lavori su foreign key magari...
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  3. #3
    volevo sapere da chi ha più esperienza di me se è meglio la prima o la seconda soluzione,nel mio piccolo ho fatto come dici te però mi chiedevo se ci fossero altre strade tutto qui!!!

    mettiamo nell'esempio che il tutto è anche multilingue!!!

    ho letto altri commenti in merito era solo un mia domanda.

  4. #4
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da roberto1982
    volevo sapere da chi ha più esperienza di me se è meglio la prima o la seconda soluzione,nel mio piccolo ho fatto come dici te però mi chiedevo se ci fossero altre strade tutto qui!!!

    mettiamo nell'esempio che il tutto è anche multilingue!!!

    ho letto altri commenti in merito era solo un mia domanda.
    si ma io mica ti ho detto che il mio metodo è il migliore, semplicemente è da molto che lo uso e mi sono sempre trovato bene!

    se ci sono altre idee meglio, così valutiamo più soluzioni
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  5. #5
    infatti parliamo nel forum propio per questo

  6. #6
    la soluzione 2 è sicuramente, secondo me, la più sensata

    ovviamente devi strutturare bene le chiavi altrimenti scoppia tutto se hai un carico grosso (centinaia di migliaia di righe)

  7. #7
    facendo così

    tabella prodotti
    id_prodotti(chiave primaria),nome_prodotti,categoria_prodotti

    tabella prodotti utente
    id(chiave primaria),id_prodotti,id_utente

    mettendo le chiavi primarie in questa maniera risolverebbe il problema dell' eventuale "esplosione" ?!?

  8. #8
    la tabella dei prodotti utenti non necessità l'id ... puoi benissimo mettere una chiave primaria su tutte e due le colonne e poi una chiave normale singola sulla seconda questo perché se effettui una ricerca su entrambe le colonne o solo sulla prima viene usata la primary key se cerchi SOLO sulla seconda colonna viene usato l'indice normale perché l'indice primario non può essere usato

    quindi ti conviene impostare come prima colonna della chiave primaria quella che ti servirà di puù (ad es per effettuare statistiche sui prodotti per dire)

  9. #9
    Grazie per le risposte,

    puoi benissimo mettere una chiave primaria su tutte e due le colonne e poi una chiave normale singola sulla seconda questo perché se effettui una ricerca su entrambe le colonne o solo sulla prima viene usata la primary key se cerchi SOLO sulla seconda colonna viene usato l'indice normale perché l'indice primario non può essere usato
    tabella prodotti utente
    id_prodotti(primary)(index),
    id_utente(primary)

    se ho ben capito!!!

  10. #10
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da roberto1982
    Grazie per le risposte,



    tabella prodotti utente
    id_prodotti(primary)(index),
    id_utente(primary)

    se ho ben capito!!!
    ma l'index non deve essere unico?
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

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.