tuco7 ha scritto:
La tua tabella Materiali corrisponde alla tabella BOM in cui si definiscono quantità e codici;
Circa... Raccoglie tutte le informazioni per creare una Bill Of Materials (BOMs). Vi sarà un campo dedicato al codice che identifica il padre e a questo verrà correlato il componente per crearla:
Id_Materiali CodiceBOM Componente Quantita
1 ABBC A 1
2 ABBC B 2
3 ABBC C 1
4 DEE D 1
5 DEE E 2
6 ABDE A 1
7 ABDE B 1
8 ABDE D 1
9 ABDE E 1
tuco7 ha scritto:
la tabella distinte basi rappresenta il catalogo di tutti i codici;
No, quella è la tabella Articoli, che rifacendoci all'esempio di prima:
Id_Articolo Codice Descrizione
1 A Articolo A
2 B Articolo B
3 C Articolo C
4 D Articolo D
5 E Articolo E
6 ABBC Articolo ABBC
7 DEE Articolo DEE
8 ABDE Articolo ABD
La tabella [Distinte Basi], la puoi relazionare 1-1 con questa ed aggiungere tutte le informazioni relative alla distinta. Data la natura della relazione, puoi operare con la sola tabella Articoli, ma dipende da quante informazioni relative alla sola distinta base vuoi organizzare. Se son poche va bene una tabella, altrimenti meglio dividerle. Soprattutto se poi effettuerai molte query su quelle informazioni. Avrai degli indici dedicati che agevoleranno le interrogazioni verso un set di dati più limitato, migliorando l'efficienza.
tuco7 ha scritto:
Scusami ancora per la mia "noob-ietà", ma dovrei quindi creare una tabella diversa per ogni BOM (ossia Materiali)?
Questa domanda equivale a blasfemia... Assolutamente no. La tabella sarà una sola e la tua BOM sarà un report ottenuto da una query parametrizzata, ad esempio
SELECT Componente, Quantita
FROM Materiali
WHERE CodiceBOM = @CodiceBOMCheStoCercando
Nel momento in cui valorizzi il parametro ad esempio a "DDE" ed esegui la query, il risultato sarà:
Componente Quantita
D 1
E 2