ユーザ情報に購入履歴が、入ってるのは間違いです、ごめんなさい。
購入履歴は別テーブルにするつもり。

仕事で使うとかではないです。
DBを使ったプログラムの経験が殆ど無いので、練習で作りたいのです。
商品テーブルに在庫情報を持ったらいけないとか、知りませんでした。勉強になります。

と、仕入れテーブルと出荷テーブルから在庫数を導き出すのでしょうか?

そうするとテーブルは

ユーザ情報(マスタ)
メールアドレス,名前,生年月日,性別,住所,電話番号

商品情報(マスタ)
商品ID,商品名,価格,商品画像,商品説明,メーカ名

商品仕入れ(トラン)
仕入れ元,商品ID,入荷数

出荷(購入履歴と同一)(トラン)
商品ID,購入者メールアドレス,出荷個数,出荷年月日

って感じで問題ないでしょうか。