Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Struttura database

  1. #1
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187

    Struttura database

    Ciao a tutti,
    ho deciso di creare un progetto ex novo dato che il DB utilizzato è strutturato male.
    Ora io devo gestire CATEGORIE - SOTTOCATEGORIE - MARCHE - PRODOTTI

    Quindi la tabella CATEGORIE l'ho pensata così:
    - idcategoria (chiave primaria contatore)
    - categoria (campo testo)

    Tabella SOTTOCATEGORIE:
    - idsottocategoria (chiave primaria contatore)
    - sottocategoria (campo testo)
    - idcategoria (numerico)

    Tabella MARCHE:
    - idmarca (chiave primaria contatore)
    - idcategoria (numerico) ???
    - idsottocategoria (numerico) ???
    - marca (campo testo)

    Qui già ho un primo dubbio dato che avrei l'esigenza di associare le marche a più categorie e sottocategorie, ma in questo modo l'idmarca a che serve se poi ripeto le marche?
    Non so se sono stata chiara... :master:

  2. #2
    L'id_marca è la PK della tabella, quindi è giusto che ci sia.
    Per quanto riguarda i "???" messi accanto alle voci, puoi toglierli, va bene che siano di tipo numerico!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ad occhio direi che le marche si associano ai prodotti e non alle categorie e sottocategorie.
    Quindi lascerei la tabella "marche" così:

    Tabella MARCHE:
    - idmarca (chiave primaria contatore)
    - marca (campo testo)

    e la tabella prodotti
    - idprodotto (chiave primaria contatore)
    - idcategoria (numerico)
    - idsottocategoria (numerico)
    - idmarca (numerico)
    - varie&eventuali

    l'idsottocategoria non è detto che occorra... dipende.

    Roby

  4. #4
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Ciao grazie per la risposta.
    Io devo fare una pagina di ricerca con delle select dinamiche che funzionano in questo modo:
    Ho un menù a discesa con la categoria, uno con la sottocategoria, uno con la marca e un camo testo dove inserire eventuali parole chiave.

    Ora ad esempio selezionando la categoria VISUAL automaticamente il menù a discesa sottocategoria mi deve visualizzare solo le sottocategorie collegate alla categoria VISUAL (mettiamo che le sottocategorie sono MONITOR LCD e MONITOR CRT), a sua volta il menù a discesa marca mi deve visualizzare solo le marche che hanno come riferimento la categoria VISUAL e almeno una delle due sottocategorie.

    Quindi poi mi si presenta il problema alla tabella MARCHE in quanto ad esempio ACER non costruisce solo monitor ma anche altri prodotti che stanno in altre CATEGORIE e SOTTOCATEGORIE...

    Per questo che poi mi nasce il problema che non riesco a strutturare bene il Database... come posso fare per dare una logica alle tabelle?

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi fare una tabella intermedia in cui leghi le sottocategorie alle marche.

    Roby

  6. #6
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Ossia? Fammi un esempio... :master:

  7. #7
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Allora questa tabella intermedia ha la funzione di mantenere l'univocità nella tabella MARCHE associando l'id della marca alla sottocategoria giusto? :master:
    Ma in termini pratici mi puoi fare un esempio della struttura della tabella? :master:

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    rel_sottocategorie_marche
    - idsottocategoria (numerico)
    - idmarca (numerico)

    In questo modo inserirai tante volte l'id della marca in base al numero di sottocategorie alle quali può essere relazionata.
    Quindi quando scegli una sottocategoria può tirar fuori le sole marche ad essa associate.

    Roby

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.