ユーザーがイベントの座席を予約できるようにするページを作成しています。
- 1人のユーザーは1席しか予約できません
- ユーザーは、最初にスポットを購入した後、ログイン時に座席が選択されていません
- ユーザーテーブルから何も失うことなく、シートテーブルをクリアできる必要があります(もちろん、割り当てられたシートを除く)。
私は2つのテーブルを作成しましたが、mySQLはかなり新しいので、これが正しく行われたかどうかを確認したいと思いました。
- メンバーテーブル:
- user_id int(8)nullではないauto_increment
- user_name varchar(30)null以外
- user_pass varchar(255)nullではない
- seat_ID smallint(6)はいNULL
- 座席テーブル
- seat_ID smallint(6)auto_incrementなし
- user_id smallint(6)はいNULL
- seat_status tinyint(4)はいNULL
- seat_status tinyint(4)はいNULL
2つのFK参照を作成しました:
ALTER TABLE seats
ADD CONSTRAINT FK_seats
FOREIGN KEY (user_id) REFERENCES members(user_id)
ON UPDATE CASCADE
ON DELETE CASCADE;
ALTER TABLE seats
ADD CONSTRAINT FK_seats
FOREIGN KEY (seat_ID) REFERENCES members(seat_ID)
ON UPDATE CASCADE
ON DELETE CASCADE;
私は正しい方向に進んでいますか?この設定でまともな最終製品に進むことができますか?提案/改善?データベース構造の品質が低いため、数週間で最初からやり直したくありません。