Как проектировать БД для сложной админки (mysql)?
Крайне советую почитать "Базы данных: Учебник для высших учебных заведении" Авторы: Хомоненко А.Д., Цыганков В.М., Мальцев М.Г.
Читаем раздел про проектирование БД.
Ответы на вопросы:
1. Это нормально. Не нужно объединять в одну табличку разные справочники =)
2. Для истории заказа заведите номер версии заказа. Работайте всегда с последней (актуальной) версией заказа.