Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    58

    gestione prodotti eterogenei

    Salve a tutti,

    ci ritroviamo di fronte ad un problema di organizzazione logica del nostro db che stiamo cercando di ristrutturare e normalizzare per l'utilizzo in un applicativo gestionale.

    Attualmente siamo ancorati ad una situazione nella quale ciascuna tipologia di prodotto risiede in una tabella. I prodotti sono tutti eterogenei tra di loro, quindi non c'è possibilità di accorparli in un'unica tabella prodotto. Quando un cliente acquista un prodotto, nella tabella "acquisti" viene scritto esplicitamente in un campo a quale tabella si riferisce il prodotto.

    La nostra necessità è poi quella di visualizzare ogni record di "acquisti" insieme ai dati specifici del prodotto acquistato e del cliente che ha effettuato l'acquisto.

    Quindi ci servirebbe una join tra acquisti, cliente e la tabella del prodotto acquistato (che però cambia in base al tipo di prodotto acquistato!!)

    Come possiamo ottenere questo risultato senza "porcate"?

    Grazie a tutti

    Francesco

  2. #2
    Ciao,

    potresti fare una tabella PRODOTTO e creare una gerarchia IS-A con tutti i prodotti specifici.

    Nella tab Prodotto metti gli attributi comuni del prodotto e nelle Enita dei Prodotti specifici metti gli attributi specifici.

    La tabella Prodotto la metti in relazione con la tabella Acquisto.

    Prodotto e prodottoSpecifico sono relazionate come segue : nei "figli" vi sono le chiavi esterne verso il "padre".

    A quel punto la query principale ti joina Acquisto e Prodotto. Tirando fuori l'idProdotto.

    Tale id va joinato con gli id dei figli che sono foreign key.
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

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.