Как правильно реализовать структуру таблицы заказов?
Если вы предусматриваете возможность одновременной покупки нескольких модификаций одного товара (а это правильно), то, конечно, нужно предусмотреть поле, в которое сохранять  значения модификации. 
Цену товара не забывайте сверять при окончательном оформлении заказа и дальнейшем его (возможно) редактировании. Если посетитель купил майку за 100 рублей, то лучше его будет уведомить в том случае, если во время оформления заказа её стоимость изменится.
Коментарии и статусы заказа лучше сохранять в отдельных таблицах, дабы можно было прослеживать историю изменений.
Вот отличный пример от Opencart, нагуглил по запросу: opencart db scheme
Если так продолжать то вот Magento, Prestashop