予約システムのDB設計について
解決したいこと
個人開発で予約システムを設計しており、
アカウント登録なしでも予約を行えるような設計にしたいと考えています。
予約テーブルにユーザーID(null許可)を持たせ、、
アカウント登録者 → 予約テーブルのユーザーIDにそのままユーザーIDを入れる
非アカウント登録者 → 予約テーブルのユーザーIDにはnullを入れる
上記のようなイメージの設計を考えましたが、外部キーとなるIDにnullが入ってしまうのはNGになると思うので、こうした場合のベストプラクティスをご教示いただけないでしょうか。
あらゆる世の中の予約サイトのDBはどのような設計になっているのでしょうか。
経験が浅く、お力添えください。よろしくお願いします。