Ciao a tutti, ho deciso di scrivere questo post per avere una vostra opinione, ho bisogno di confrontare la mia idea con quella di qualcun'altro
So che vi annoierà leggere, però ve lo chiedo per favore
Allora, io ho implementato una base di dati in Oracle inerente alla vendita di libri online, prima però ho sviluppato un diagramma delle classi. Ho ideato tante versioni prima di arrivare a questa che ora vi allego (non è completo questo diagramma, ho tagliato solo la parte su cui sono dubbiosa in modo che venisse più grande e più leggibile).
I miei dubbi sono:
- la presenza del Carrello e Composizione_carrello è corretta? inizialmente non l'avevo messo perchè ritenevo che "il carrello" fosse legato più alla grafica, ma poi andando a realizzare dei trigger mi sono resa conto che mi serviva un appoggio da dove partissero tutte le info degli ordini e così li ho messi. Voi che ne pensate? A me personalmente non piace lì come sta, è proprio bruttina, forse sbaglio "posto", che dite??
- altri dubbi legati a queste classi:
Ordine(codice, cliente_id, importo_tot, data)
Composizione_Ordine(codice_ord, libro_id, quantità, prezzo)
Carrello(codice_ord, cliente_id, data, completo)
Composizione_carrello(codice_ord, libro_id, num_copie)
Idea: il cliente mette nel carrello gli articoli scelti, alla fine dell'operazione decide se procedere all'ordine indicando che il carrello è completo. Quando il carrello è completo, esso viene trasformato in ordine. In pratica un trigger che quando completo è settato a Si, inserisce una riga in Composizione_Ordine e Ordine, poi cancella le righe in Carrello e Composizione_carrello--->DUBBIO: cancellare le corrispondenti righe in carrello e composizione_carrello è corretto??trattare questa tabella come un appoggio è giusto???
Fatto in questo modo codice è chiave primaria di Ordine, quindi sarà chiave eserna (codice_ord) sia in Composizione_ordine, sia in Carrello e sia in Composizione_carrello, ma se ragiono il codice_op viene settato in Composizione_carrelloe poi arriva in Ordine --->DUBBIO: è quindi l'inverso??ossia codice è sì chiave primaria di Ordine, ma è chiave esterna di Composizione_carrello??? Qui mi inceppo proprio
grazieee mille a chi avrà la pazienza di aiutarmi![]()