Domanda

Dato che so che ci sono un sacco di esperti progettisti di base del database qui, ho deciso di fare questa domanda su StackOverflow.

sto sviluppando un sito web la cui principale preoccupazione è per indicizzare ogni prodotto che è disponibile nel mondo reale, come le macchine fotografiche digitali, stampanti, frigoriferi, e così via. Come sappiamo, ogni prodotto ha le proprie specifiche. Ad esempio, una macchina fotografica digitale ha il suo peso, lente, la velocità dell'otturatore, ecc Ogni specifica ha un tipo. Per esempio, il prezzo (lo vedo come uno spec) è un numero.

Credo che il modo più standard è quello di creare qualsiasi specifiche sono necessarie per un prodotto indicato con il suo tipo e assegnarlo al prodotto. Quindi, per ogni prezzo del prodotto separato deve essere creato e il numero del tipo deve essere impostato su di esso.

Quindi, ecco la mia domanda, è possibile avere un tavolo per specifiche con tutte le specifiche in esso così per esempio PREZZO con il tipo di numero è stato creato prima e solo bisogno di cercare il prezzo nella tabella e assegnarlo a il prodotto. Il problema di questo metodo è che non vedo un buon modo per evitare che l'utente crea voci duplicate. Egli deve essere in grado di trovare le specifiche di cui ha bisogno (se è stato aggiunto prima), e voglio anche che sappia che la specifica che trova è in realtà è quello di cui aveva bisogno, dal momento che ci possono essere alcune specifiche con lo stesso nome, ma tipo e uso differente. Se lui non lo trova, egli crearla.

Tutte le idee?

---------------------------- UPDATE ------------------ ----------

La mia domanda non riguarda la flessibilità db. Credo che nella seconda utenti metodo rovinare la spec tavolo up! Si creerà mille voci duplicate e anche io credo che non si trovano le loro specifiche adeguate.

È stato utile?

Soluzione

Il mio modello di dati basa sia sulle vostre esigenze:

Tavolo SPECIFICATIONS

  • SPECIFICATION_ID, pk
  • SPECIFICATION_DESCRIPTION

Questo permette di avere numerose specifiche, senza che sia collegata a un elemento.

Tavolo ITEM_SPECIFICATION_XREF

  • ITEM_ID, PK, FK ITEMS tabella
  • SPECIFICATION_ID, PK, FK SPECIFICATIONS tabella
  • VALUE, pk

I vantaggi:

  1. Fare la chiave primaria di essere un composito assicura l'insieme dei valori sarà unico per tutto il tavolo. Benedizione o maledizione, un elemento con una data specifica potrebbero hanno valori 0,99 e 1,00 -. Questi sarebbero validi
  2. Questa configurazione consente una specifica per essere associato con 0+ oggetti.

Altri suggerimenti

Ho appena finito di rispondere Dinamica Tabella Generation che discute un problema simile. Date un'occhiata alla modello di osservazione . Se si sostituisce "osservazione" da "specifiche" e "soggetto" con "prodotto" si possono trovare questo modello utile -. non sarà necessario Relazione e Rep_mm_Obs tabelle

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top