Правильно ли составлена схема для магазина?
В целом правильно, но если уж затеваться с хранением адресов, то тогда в заказе должна быть ссылка на id адреса. иначе просто нет смысла. В целом для такой примитивной схемы отдельное хранение адресов выглядит неадекватным, я бы просто писал адрес в заказ. 
То же самое про телефоны. Просто писать в таблицу юзеров. 
Не хватает емейла. Смс на каждый чих рассылать дорого. 

В таблице заказов очень сильно не хватает поля status. Ну и связанной таблицы с историей статусов. 
Отдельно хранить дату и время - это глупость. Есть тип datetime
discount - это ОЧЕНЬ отдельная тема. Но по крайней мере скидка должна размазываться по товарам. Если клиент при выкупе откажется от одного, то как пересчитывать цену? 
В целом стоит в заказе дублировать основную инфу по товарам. Потому что её надо показывать в истории заказов, а товара может уже не быть в базе. В том числе цену до скидки и со скидкой. 

Непонятно, что за таблица store.
В целом правильно, но если уж затеваться с хранением адресов, то тогда в заказе должна быть ссылка на id адреса. иначе просто нет смысла. В целом для такой примитивной схемы отдельное хранение адресов выглядит неадекватным, я бы просто писал адрес в заказ. 
То же самое про телефоны. Просто писать в таблицу юзеров. 
Не хватает емейла. Смс на каждый чих рассылать дорого. 

В таблице заказов очень сильно не хватает поля status. Ну и связанной таблицы с историей статусов. 
Отдельно хранить дату и время - это глупость. Есть тип datetime
discount - это ОЧЕНЬ отдельная тема. Но по крайней мере скидка должна размазываться по товарам. Если клиент при выкупе откажется от одного, то как пересчитывать цену? 
В целом стоит в заказе дублировать основную инфу по товарам. Потому что её надо показывать в истории заказов, а товара может уже не быть в базе. В том числе цену до скидки и со скидкой. 

Непонятно, что за таблица store.