
Originariamente inviata da
MySQL
Non duplicare "ordine" e "carrello", è solo una duplicazione inutile.
Crea un "documento" con un campo che marca "tipodocumento" (ordine, carrello, magari anche DDT e fattura), e magari anche un flag di stato del tipo carrello_non_confermato;carrello_confermato;ordine ;ordine_non_confermato;ordine_checkout;ddt;spedito ;fatturato;pagato blablabla
Questo rende pressochè immediato fare ricerche tra i documenti, avanzarli di stato, fare statistiche etc (quanti ordini non confermati ci sono?)
Anche facile fare un archivio storico dove spostarli, basta copiare tutti i campi senza pietà.
cliente_id va evidentemente denormalizzato, cioè devi tenere tutti i dati del cliente (nome, cognome ma soprattutto contatti e dati di spedizione), perchè se un cliente ti cambia l'indirizzo, tutti i vecchi documenti "magicamente" prenderebbero il nuovo dato, e questo è male per questa tipologia di dati
per il resto non so, l'immagine è minuscola e poco definita