前提・実現したいこと
飲食店向けの会員の顧客管理システムを作成しています。
データーベース設計(MySQL)で、困っているので相談に乗ってください。
データベース設計初心者ですので、そもそも根本からして間違っている可能性があり
自信が持てていないので、間違っている箇所を指摘、若しくはあっている場合の肯定も嬉しく思います。
よろしくお願いいたします。
以下のように、店舗,顧客マスタがあります。
storesテーブル
|id |name |tel |
|int|varchar(255)|varchar(11)|
|1 |東京店 |0300000000 |
|2 |大阪店 |0300000001 |
|3 |名古屋店 |0300000002 |
customersテーブル
|id |name |store_id|tel |
|int|varchar(255)|int |varchar(11)|
|1 |田中太郎 |1 |0300000003|
|2 |田中花子 |1 |08000000001|
|3 |田中二郎 |2 |08000000002|
|4 |田中三郎 |2 |0300000004|
|5 |田中四郎 |3 |0300000005|
上記のように、簡単な店舗マスタ,顧客マスタテーブルがあるとします。
店舗ごとに顧客データとして、独自の項目を設けられるようにしたいのです。
例えば、東京店では顧客の誕生日を登録できるようにしたいが、他の店舗では必要ない。
大阪店では、顧客の身長を登録したいが、他の店舗では必要ない。
という具合です。後々各店舗が好きに登録情報を追加,削除できるような柔軟性の高いシステムを作りたいと考えています。
考えついた方法
customsテーブル
|id |store_id|name |
|int|int |varchar(255)|
|1 |1 |誕生日 |
|2 |2 |身長 |
custom_dataテーブル
|id |customer_id|custom_id|value|
|int|int |int | ??? |
|1 |2 |1 |2018/06/21|
|2 |4 |2 |173.5cm|
上記のような方法を無理やり考えたのですが、あまりこのやり方が美しいとは思えませんし、
custom_dataテーブルのvalueカラムのデータ型をどうした物かと困ってしまいます。
なにかよい方法はありませんでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。